@tylertech/forge 3.0.0-next.14 → 3.0.0-next.15
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 +8607 -3358
- 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.3KEXRSB5.js +7 -0
- package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.3KEXRSB5.js.map} +1 -1
- package/dist/esm/chunks/chunk.3TKTJ3BY.js +7 -0
- package/dist/esm/chunks/chunk.3TKTJ3BY.js.map +7 -0
- package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.42YDA5FH.js} +2 -2
- package/dist/esm/chunks/chunk.447QNYAZ.js +7 -0
- package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.447QNYAZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.4IMRT2B3.js +7 -0
- package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.4IMRT2B3.js.map} +1 -1
- package/dist/esm/chunks/chunk.4JDJ33IU.js +7 -0
- package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.4JDJ33IU.js.map} +1 -1
- package/dist/esm/chunks/chunk.4QCGBFLU.js +7 -0
- package/dist/esm/chunks/{chunk.J2KHTGSB.js.map → chunk.4QCGBFLU.js.map} +1 -1
- package/dist/esm/chunks/chunk.4XN2WGMP.js +7 -0
- package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4XN2WGMP.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.5EGEZ4IY.js} +2 -2
- package/dist/esm/chunks/chunk.5FCUOZSU.js +7 -0
- package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.5FCUOZSU.js.map} +1 -1
- package/dist/esm/chunks/chunk.5KYKGNGY.js +7 -0
- package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.5KYKGNGY.js.map} +1 -1
- package/dist/esm/chunks/chunk.5QZPUOGG.js +7 -0
- package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.5QZPUOGG.js.map} +1 -1
- package/dist/esm/chunks/chunk.5ZMM75CJ.js +7 -0
- package/dist/esm/chunks/{chunk.MZZJY5NX.js.map → chunk.5ZMM75CJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.6FUXTHO6.js +7 -0
- package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.6FUXTHO6.js.map} +1 -1
- package/dist/esm/chunks/chunk.6ORVPXNN.js +7 -0
- package/dist/esm/chunks/{chunk.4QDN5PM6.js.map → chunk.6ORVPXNN.js.map} +1 -1
- package/dist/esm/chunks/chunk.6ZJIHOIG.js +7 -0
- package/dist/esm/chunks/chunk.6ZJIHOIG.js.map +7 -0
- package/dist/esm/chunks/chunk.7LOMI6J3.js +7 -0
- package/dist/esm/chunks/chunk.7PVVZC7P.js +7 -0
- package/dist/esm/chunks/chunk.7PVVZC7P.js.map +7 -0
- package/dist/esm/chunks/chunk.AEO2X5OZ.js +7 -0
- package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.AEO2X5OZ.js.map} +1 -1
- package/dist/esm/chunks/chunk.AIPDMLJD.js +7 -0
- package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.AIPDMLJD.js.map} +1 -1
- package/dist/esm/chunks/chunk.APFDK6YA.js +7 -0
- package/dist/esm/chunks/{chunk.2YDKRTKP.js.map → chunk.APFDK6YA.js.map} +1 -1
- package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.AR6YUJUH.js} +2 -2
- package/dist/esm/chunks/chunk.AVRBHXDT.js +177 -0
- package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.AVRBHXDT.js.map} +1 -1
- package/dist/esm/chunks/chunk.BAQYPAUM.js +7 -0
- package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.BC7WB5RG.js} +2 -2
- package/dist/esm/chunks/chunk.BIVQ4GTK.js +7 -0
- package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.BIVQ4GTK.js.map} +2 -2
- package/dist/esm/chunks/chunk.BJD6BKGC.js +31 -0
- package/dist/esm/chunks/chunk.BJD6BKGC.js.map +7 -0
- package/dist/esm/chunks/chunk.BS73Y6IN.js +7 -0
- package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.BS73Y6IN.js.map} +1 -1
- package/dist/esm/chunks/chunk.BTWJPE4Y.js +7 -0
- package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.BTWJPE4Y.js.map} +1 -1
- package/dist/esm/chunks/chunk.BWGDZUJV.js +12 -0
- package/dist/esm/chunks/chunk.BWGDZUJV.js.map +7 -0
- 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.CBY7M4X6.js +7 -0
- package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.CBY7M4X6.js.map} +1 -1
- package/dist/esm/chunks/chunk.DLBAZD5X.js +7 -0
- package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.DLBAZD5X.js.map} +1 -1
- package/dist/esm/chunks/chunk.DTWXICOY.js +7 -0
- package/dist/esm/chunks/{chunk.2GJ54C3Q.js.map → chunk.DTWXICOY.js.map} +1 -1
- package/dist/esm/chunks/{chunk.VD5ZL5ZN.js → chunk.EMCY55MX.js} +2 -2
- package/dist/esm/chunks/chunk.ESQWFHCF.js +7 -0
- package/dist/esm/chunks/{chunk.Q5Z6F3PI.js.map → chunk.ESQWFHCF.js.map} +1 -1
- 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.FJ5VNWYK.js +7 -0
- package/dist/esm/chunks/{chunk.XNCBGWE4.js.map → chunk.FJ5VNWYK.js.map} +1 -1
- package/dist/esm/chunks/chunk.FJRCWWE2.js +7 -0
- package/dist/esm/chunks/chunk.FJRCWWE2.js.map +7 -0
- package/dist/esm/chunks/chunk.FQUZWINF.js +7 -0
- package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.FQUZWINF.js.map} +1 -1
- package/dist/esm/chunks/chunk.FSILMO6U.js +7 -0
- package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.FSILMO6U.js.map} +1 -1
- package/dist/esm/chunks/chunk.FXGY5IVK.js +7 -0
- package/dist/esm/chunks/chunk.FXGY5IVK.js.map +7 -0
- package/dist/esm/chunks/chunk.G67LO74A.js +7 -0
- package/dist/esm/chunks/chunk.G67LO74A.js.map +7 -0
- package/dist/esm/chunks/chunk.GGQL3OZB.js +7 -0
- package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.GGQL3OZB.js.map} +1 -1
- 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.I7OY43HW.js +7 -0
- package/dist/esm/chunks/{chunk.KFDYMENL.js.map → chunk.I7OY43HW.js.map} +1 -1
- package/dist/esm/chunks/{chunk.E3GVKR4E.js → chunk.I7X25KEB.js} +2 -2
- package/dist/esm/chunks/chunk.ICIGXLJW.js +7 -0
- package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.ICIGXLJW.js.map} +1 -1
- package/dist/esm/chunks/chunk.IHIKIZIT.js +7 -0
- package/dist/esm/chunks/chunk.ILUXZNGY.js +7 -0
- package/dist/esm/chunks/{chunk.SNF35Y6C.js.map → chunk.ILUXZNGY.js.map} +1 -1
- package/dist/esm/chunks/chunk.JEZR25US.js +7 -0
- package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.JEZR25US.js.map} +1 -1
- package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.JHELTQKA.js} +2 -2
- package/dist/esm/chunks/{chunk.UWZWXNTW.js → chunk.JPI4XCQL.js} +2 -2
- package/dist/esm/chunks/chunk.JRSFCVYQ.js +7 -0
- package/dist/esm/chunks/{chunk.WQGPIOL6.js.map → chunk.JRSFCVYQ.js.map} +1 -1
- package/dist/esm/chunks/chunk.JZ27GPZJ.js +7 -0
- package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.JZ27GPZJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.K3TJMIKD.js +7 -0
- package/dist/esm/chunks/{chunk.LCNR2RPT.js.map → chunk.K3TJMIKD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.KDJZN6EW.js} +2 -2
- package/dist/esm/chunks/chunk.KGHABAFA.js +7 -0
- package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.KGHABAFA.js.map} +1 -1
- package/dist/esm/chunks/chunk.KR4BNI6X.js +7 -0
- package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KR4BNI6X.js.map} +1 -1
- package/dist/esm/chunks/chunk.KUNIEX72.js +7 -0
- package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.KUNIEX72.js.map} +1 -1
- package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.KWBYYSH3.js} +2 -2
- package/dist/esm/chunks/chunk.L27ANAIL.js +7 -0
- package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.L27ANAIL.js.map} +1 -1
- package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.L45HXBDS.js} +2 -2
- package/dist/esm/chunks/chunk.L4UXWCVD.js +7 -0
- package/dist/esm/chunks/{chunk.5H4G6BWX.js.map → chunk.L4UXWCVD.js.map} +1 -1
- package/dist/esm/chunks/chunk.LK6QHLW2.js +7 -0
- package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.LK6QHLW2.js.map} +1 -1
- package/dist/esm/chunks/chunk.LYZXJYTW.js +7 -0
- package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.LYZXJYTW.js.map} +1 -1
- package/dist/esm/chunks/chunk.LZ2YQYJA.js +7 -0
- package/dist/esm/chunks/chunk.LZ2YQYJA.js.map +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.NZKIFXBU.js → chunk.MHH26REX.js} +2 -2
- package/dist/esm/chunks/chunk.MROUV35N.js +7 -0
- package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.MROUV35N.js.map} +1 -1
- package/dist/esm/chunks/chunk.MTSWCXTY.js +7 -0
- package/dist/esm/chunks/chunk.NBLL7VAA.js +7 -0
- package/dist/esm/chunks/chunk.NM7FJISF.js +7 -0
- package/dist/esm/chunks/chunk.NM7FJISF.js.map +7 -0
- package/dist/esm/chunks/chunk.NVR6KN2B.js +7 -0
- package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.NVR6KN2B.js.map} +1 -1
- package/dist/esm/chunks/chunk.O6F4U4VY.js +7 -0
- package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.O6F4U4VY.js.map} +1 -1
- package/dist/esm/chunks/chunk.O6MGA3XK.js +7 -0
- package/dist/esm/chunks/chunk.ONII3BV3.js +7 -0
- package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.ONII3BV3.js.map} +1 -1
- package/dist/esm/chunks/chunk.OTUEB7SD.js +7 -0
- package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.OTUEB7SD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
- package/dist/esm/chunks/chunk.PMSCH6VK.js +7 -0
- package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.PMSCH6VK.js.map} +1 -1
- package/dist/esm/chunks/chunk.PRJHBUU2.js +7 -0
- package/dist/esm/chunks/chunk.PRJHBUU2.js.map +7 -0
- package/dist/esm/chunks/chunk.Q2Q626DG.js +7 -0
- package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.Q2Q626DG.js.map} +1 -1
- package/dist/esm/chunks/chunk.Q4YL47ZL.js +7 -0
- package/dist/esm/chunks/{chunk.IVUK3W34.js.map → chunk.Q4YL47ZL.js.map} +1 -1
- package/dist/esm/chunks/chunk.Q54DACHS.js +7 -0
- package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.Q54DACHS.js.map} +1 -1
- package/dist/esm/chunks/chunk.Q74SG6BV.js +7 -0
- package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.Q74SG6BV.js.map} +1 -1
- package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
- package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
- package/dist/esm/chunks/chunk.QGMWM7IT.js +7 -0
- package/dist/esm/chunks/{chunk.CNRFOWHY.js.map → chunk.QGMWM7IT.js.map} +1 -1
- package/dist/esm/chunks/chunk.RCPUTZON.js +7 -0
- package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.RCPUTZON.js.map} +1 -1
- package/dist/esm/chunks/chunk.SBKKBQDX.js +7 -0
- package/dist/esm/chunks/{chunk.6Y45DLA6.js.map → chunk.SBKKBQDX.js.map} +1 -1
- package/dist/esm/chunks/chunk.SVVF632P.js +7 -0
- package/dist/esm/chunks/chunk.SVVF632P.js.map +7 -0
- package/dist/esm/chunks/chunk.T4J66YX5.js +7 -0
- package/dist/esm/chunks/chunk.T4J66YX5.js.map +7 -0
- package/dist/esm/chunks/chunk.THNCYT3E.js +7 -0
- package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.THNCYT3E.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.TSUAFZGY.js +7 -0
- package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.TSUAFZGY.js.map} +1 -1
- package/dist/esm/chunks/chunk.U42I3PGF.js +7 -0
- package/dist/esm/chunks/chunk.U42I3PGF.js.map +7 -0
- package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.U7S4DJTU.js} +2 -2
- package/dist/esm/chunks/chunk.UOEJCU6R.js +7 -0
- package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.UOEJCU6R.js.map} +1 -1
- package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.URKQICJD.js} +2 -2
- package/dist/esm/chunks/chunk.VG452D3L.js +7 -0
- package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.VG452D3L.js.map} +1 -1
- package/dist/esm/chunks/chunk.VQPSP4HV.js +7 -0
- package/dist/esm/chunks/{chunk.LSNAGIIH.js.map → chunk.VQPSP4HV.js.map} +1 -1
- package/dist/esm/chunks/chunk.W7BP2DDU.js +7 -0
- package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.W7BP2DDU.js.map} +1 -1
- package/dist/esm/chunks/chunk.WARVAVAW.js +7 -0
- package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.WARVAVAW.js.map} +1 -1
- package/dist/esm/chunks/chunk.WEHQUUXJ.js +7 -0
- package/dist/esm/chunks/{chunk.GT3VPSXY.js.map → chunk.WEHQUUXJ.js.map} +1 -1
- package/dist/esm/chunks/chunk.WJCZJ6XD.js +7 -0
- package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.WJCZJ6XD.js.map} +1 -1
- package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.WMP2OLMG.js} +2 -2
- package/dist/esm/chunks/chunk.X3QZY7V4.js +7 -0
- package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.X3QZY7V4.js.map} +1 -1
- package/dist/esm/chunks/chunk.XQLQ73NG.js +7 -0
- package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.XQLQ73NG.js.map} +1 -1
- package/dist/esm/chunks/chunk.Y4ZS3A6F.js +7 -0
- package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.Y4ZS3A6F.js.map} +1 -1
- package/dist/esm/chunks/chunk.YA5OQD37.js +7 -0
- package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.YA5OQD37.js.map} +1 -1
- package/dist/esm/chunks/chunk.YMSX4F3J.js +7 -0
- package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.YMSX4F3J.js.map} +1 -1
- package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
- package/dist/esm/chunks/chunk.Z37CZMMR.js +7 -0
- package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.Z37CZMMR.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZIRA4PYV.js +7 -0
- package/dist/esm/chunks/chunk.ZIRA4PYV.js.map +7 -0
- package/dist/esm/chunks/chunk.ZT7U7WOX.js +7 -0
- package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.ZT7U7WOX.js.map} +1 -1
- package/dist/esm/chunks/{chunk.FB6ZLH6P.js → chunk.ZX3CGET2.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/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/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/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/esm/app-bar/app-bar/app-bar.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/button/base/base-button-adapter.d.ts +0 -2
- package/esm/button/base/base-button-adapter.js +13 -4
- package/esm/button/base/base-button-foundation.js +8 -10
- package/esm/button/base/base-button.d.ts +7 -5
- package/esm/button/base/base-button.js +5 -2
- 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 +9 -1
- package/esm/constants.d.ts +14 -2
- package/esm/constants.js +11 -0
- package/esm/core/base/base-adapter.d.ts +4 -0
- package/esm/core/base/base-adapter.js +6 -0
- package/esm/core/base/base-component.d.ts +4 -0
- package/esm/core/base/base-element-internals-component.d.ts +41 -0
- package/esm/core/base/base-element-internals-component.js +47 -0
- package/esm/core/base/base-focusable-component.d.ts +11 -14
- package/esm/core/base/base-focusable-component.js +14 -15
- package/esm/core/base/base-form-associated-component.d.ts +122 -0
- package/esm/core/base/base-form-associated-component.js +71 -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-label-aware-component.d.ts +33 -0
- package/esm/core/base/base-label-aware-component.js +17 -0
- 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/index.d.ts +4 -0
- package/esm/core/base/index.js +4 -0
- package/esm/core/utils/a11y-utils.d.ts +156 -0
- package/esm/core/utils/a11y-utils.js +223 -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 +8 -0
- package/esm/core/utils/feature-detection.js +12 -0
- package/esm/core/utils/form-utils.d.ts +24 -0
- package/{dist/esm/chunks/chunk.U6FJJGO3.js → esm/core/utils/form-utils.js} +1 -1
- 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/reflect-utils.d.ts +1 -1
- package/esm/core/utils/reflect-utils.js +2 -2
- 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/index.d.ts +4 -4
- package/esm/index.js +29 -28
- package/esm/label/label-adapter.d.ts +2 -0
- package/esm/label/label-adapter.js +5 -2
- package/esm/label/label-aware.js +2 -1
- package/esm/label/label-constants.d.ts +6 -2
- package/esm/label/label-constants.js +12 -5
- 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/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/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 +3 -0
- 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 +81 -0
- package/esm/radio/radio/radio-component-delegate.d.ts +5 -0
- package/esm/radio/radio/radio-component-delegate.js +6 -0
- package/esm/radio/radio/radio-constants.d.ts +39 -0
- package/esm/radio/radio/radio-constants.js +53 -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 +110 -0
- package/esm/radio/radio/radio.js +202 -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 +28 -0
- package/esm/radio/radio-group/radio-group-constants.d.ts +13 -0
- package/esm/radio/radio-group/radio-group-constants.js +19 -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 +44 -0
- package/esm/radio/radio-group/radio-group.js +81 -0
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/package.json +1 -1
- package/styles/app-bar/app-bar/_core.scss +4 -0
- package/styles/app-bar/app-bar/app-bar.scss +15 -1
- package/styles/app-bar/search/_configuration.scss +10 -0
- package/styles/app-bar/search/_core.scss +73 -0
- package/styles/app-bar/search/_token-utils.scss +30 -0
- package/styles/app-bar/search/app-bar-search.scss +51 -4
- package/styles/app-bar/search/index.scss +8 -0
- package/styles/button/button.scss +9 -0
- package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
- package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
- package/styles/label/_core.scss +2 -5
- package/styles/label/label.scss +1 -5
- package/styles/radio/index.scss +6 -0
- package/styles/radio/radio/_configuration.scss +10 -0
- package/styles/radio/radio/_core.scss +123 -0
- package/styles/radio/radio/_token-utils.scss +30 -0
- package/styles/radio/radio/index.scss +8 -0
- package/styles/radio/radio/radio.scss +102 -0
- package/styles/switch/_core.scss +6 -0
- package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
- package/dist/esm/chunks/chunk.2YDKRTKP.js +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.3UO6S3IK.js +0 -7
- package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
- package/dist/esm/chunks/chunk.4B5IOZAT.js +0 -7
- package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
- package/dist/esm/chunks/chunk.5H4G6BWX.js +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.6Q3SV2R2.js +0 -7
- package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
- package/dist/esm/chunks/chunk.7ABZUBTT.js +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.7DHDFH5L.js +0 -7
- package/dist/esm/chunks/chunk.7PP6QHOM.js +0 -7
- package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
- package/dist/esm/chunks/chunk.7W2UWAZX.js +0 -7
- package/dist/esm/chunks/chunk.A72W7RW7.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.B46Q3AFP.js +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.BMQYEYCT.js +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.DTKFE7YB.js +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.F2EBSV5Z.js +0 -7
- package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
- package/dist/esm/chunks/chunk.FQSL747N.js +0 -7
- package/dist/esm/chunks/chunk.G2BNY5QQ.js +0 -7
- package/dist/esm/chunks/chunk.GS72TBUD.js +0 -7
- package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
- package/dist/esm/chunks/chunk.GWJ4QCSW.js +0 -7
- package/dist/esm/chunks/chunk.H7GW57Q6.js +0 -7
- package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
- package/dist/esm/chunks/chunk.IEB5KRFQ.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.IW7HALLT.js +0 -7
- package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
- package/dist/esm/chunks/chunk.J3B5CWKT.js +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.KLPF4CNX.js +0 -7
- package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
- package/dist/esm/chunks/chunk.L4Y4RO5O.js +0 -7
- package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
- package/dist/esm/chunks/chunk.LMIKNDBS.js +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.LUIKMPQR.js +0 -7
- package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
- package/dist/esm/chunks/chunk.LXX3YZYS.js +0 -7
- package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
- package/dist/esm/chunks/chunk.NG6UZ4OL.js +0 -7
- package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
- package/dist/esm/chunks/chunk.OED5UCYT.js +0 -7
- package/dist/esm/chunks/chunk.OUACQISE.js +0 -7
- package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
- package/dist/esm/chunks/chunk.P7LC3YYW.js +0 -7
- package/dist/esm/chunks/chunk.PK7R6WDF.js +0 -7
- package/dist/esm/chunks/chunk.PQQVUUHU.js +0 -7
- package/dist/esm/chunks/chunk.PSTGTQVK.js +0 -7
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
- package/dist/esm/chunks/chunk.QFY23EWU.js +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.RYNQDXFA.js +0 -7
- package/dist/esm/chunks/chunk.RZZBM3AW.js +0 -7
- package/dist/esm/chunks/chunk.SNF35Y6C.js +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.THWSN3X4.js +0 -7
- package/dist/esm/chunks/chunk.TLFCQSJN.js +0 -7
- package/dist/esm/chunks/chunk.TZFUKJ24.js +0 -177
- package/dist/esm/chunks/chunk.U5WMRBSC.js +0 -7
- package/dist/esm/chunks/chunk.URCJO73M.js +0 -7
- package/dist/esm/chunks/chunk.VDZ7HBKM.js +0 -7
- package/dist/esm/chunks/chunk.W324TWF2.js +0 -7
- package/dist/esm/chunks/chunk.WQGPIOL6.js +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.YKZ25J6B.js +0 -7
- package/dist/esm/chunks/chunk.Z2RB75TN.js +0 -7
- package/dist/esm/chunks/chunk.Z7PBGV4K.js +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/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/styles/app-bar/search/_mixins.scss +0 -238
- package/styles/app-bar/search/_variables.scss +0 -18
- package/styles/radio/_mixins.scss +0 -309
- package/styles/radio/_radio-theme.scss +0 -314
- package/styles/radio/radio.scss +0 -19
- /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.42YDA5FH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.5EGEZ4IY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.7LOMI6J3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.AR6YUJUH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.BAQYPAUM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.BC7WB5RG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.EMCY55MX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.E3GVKR4E.js.map → chunk.I7X25KEB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.IHIKIZIT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.JHELTQKA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UWZWXNTW.js.map → chunk.JPI4XCQL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.KDJZN6EW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.KWBYYSH3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.L45HXBDS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.MHH26REX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.MTSWCXTY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.NBLL7VAA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.O6MGA3XK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.U7S4DJTU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.URKQICJD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.WMP2OLMG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FB6ZLH6P.js.map → chunk.ZX3CGET2.js.map} +0 -0
- /package/dist/esm/{chunks/chunk.U6FJJGO3.js.map → radio/radio-group/index.js.map} +0 -0
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/card/card-constants.ts", "../../src/card/card.ts", "../../src/card/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}card`;\n\nconst attributes = {\n RAISED: 'raised'\n};\n\nconst classes = {\n RAISED: 'forge-card--raised'\n};\n\nconst selectors = {\n ROOT: '.forge-card'\n};\n\nexport const CARD_CONSTANTS = {\n elementName,\n attributes,\n classes,\n selectors\n};\n", "import { CustomElement, attachShadowTemplate, coerceBoolean, getShadowElement, toggleAttribute, toggleClass } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core/base/base-component';\n\nimport { CARD_CONSTANTS } from './card-constants';\n\nconst template = '<template><div class=\\\"forge-card\\\" part=\\\"root\\\"><slot></slot></div></template>';\nconst styles = '.forge-card{background-color:#fff;background-color:var(--mdc-theme-surface,#fff);border-radius:4px;border-radius:var(--mdc-shape-medium,4px);border-width:1px;border-style:solid;border-color:#e0e0e0;height:100%;height:var(--forge-card-height,100%);width:100%;width:var(--forge-card-width,100%);padding:16px;padding:var(--forge-card-padding,16px);overflow:hidden;overflow:var(--forge-card-overflow,hidden);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);-webkit-box-sizing:border-box;box-sizing:border-box}.forge-card--raised{-webkit-box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);box-shadow:0 2px 1px -1px rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 1px 3px 0 rgba(0,0,0,.12);border:none}:host{display:block}:host([hidden]){display:none}';\n\nexport interface ICardComponent extends IBaseComponent {\n raised: boolean;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-card': ICardComponent;\n }\n}\n\n/**\n * @tag forge-card\n * \n * @summary Cards are used to group related information and actions about a single subject.\n * \n * @property {boolean} raised - Whether the card has elevation or not.\n * \n * @attribute {boolean} raised - Whether the card has an raised or not.\n * \n * @cssproperty --forge-card-height - The height of the card.\n * @cssproperty --forge-card-width - The width of the card.\n * @cssproperty --forge-card-padding - The padding of the card.\n * @cssproperty --forge-card-overflow - The overflow of the card.\n * \n * @csspart root - The components' internal root container element.\n */\n@CustomElement({\n name: CARD_CONSTANTS.elementName\n})\nexport class CardComponent extends BaseComponent implements ICardComponent {\n public static get observedAttributes(): string[] {\n return [\n CARD_CONSTANTS.attributes.RAISED\n ];\n }\n\n private _rootElement: HTMLElement;\n private _raised = false;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._rootElement = getShadowElement(this, CARD_CONSTANTS.selectors.ROOT);\n }\n\n public connectedCallback(): void {\n this._applyRaised();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case CARD_CONSTANTS.attributes.RAISED:\n this.raised = coerceBoolean(newValue);\n break;\n }\n }\n\n private _applyRaised(): void {\n toggleClass(this._rootElement, this._raised, CARD_CONSTANTS.classes.RAISED);\n }\n\n /** Gets/sets whether the card is elevated or not. */\n public get raised(): boolean {\n return this._raised;\n }\n public set raised(value: boolean) {\n value = Boolean(value);\n if (this._raised !== value) {\n this._raised = value;\n this._applyRaised();\n toggleAttribute(this, this._raised, CARD_CONSTANTS.attributes.RAISED, String(!!this._raised));\n }\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { CardComponent } from './card';\n\nexport * from './card-constants';\nexport * from './card';\n\nexport function defineCardComponent(): void {\n defineCustomElement(CardComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "4QAEA,IAAMA,EAA2C,GAAGC,QAE9CC,EAAa,CACjB,OAAQ,QACV,EAEMC,EAAU,CACd,OAAQ,oBACV,EAEMC,EAAY,CAChB,KAAM,aACR,EAEaC,EAAiB,CAC5B,YAAAL,EACA,WAAAE,EACA,QAAAC,EACA,UAAAC,CACF,EChBA,IAAME,EAAW,+EACXC,EAAS,gzBA+BFC,EAAN,cAA4BC,CAAwC,CAUzE,aAAc,CACZ,MAAM,EAHR,KAAQ,QAAU,GAIhBC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,aAAeI,EAAiB,KAAMC,EAAe,UAAU,IAAI,CAC1E,CAbA,WAAkB,oBAA+B,CAC/C,MAAO,CACLA,EAAe,WAAW,MAC5B,CACF,CAWO,mBAA0B,CAC/B,KAAK,aAAa,CACpB,CAEO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAe,WAAW,OAC7B,KAAK,OAASI,EAAcD,CAAQ,EACpC,KACJ,CACF,CAEQ,cAAqB,CAC3BE,EAAY,KAAK,aAAc,KAAK,QAASL,EAAe,QAAQ,MAAM,CAC5E,CAGA,IAAW,QAAkB,CAC3B,OAAO,KAAK,OACd,CACA,IAAW,OAAOM,EAAgB,CAChCA,EAAQ,EAAQA,EACZ,KAAK,UAAYA,IACnB,KAAK,QAAUA,EACf,KAAK,aAAa,EAClBC,EAAgB,KAAM,KAAK,QAASP,EAAe,WAAW,OAAQ,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,EAEhG,CACF,EA5CaJ,EAANY,EAAA,CAHNC,EAAc,CACb,KAAMT,EAAe,WACvB,CAAC,GACYJ,GC9BN,SAASc,GAA4B,CAC1CC,EAAoBC,CAAa,CACnC",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "classes", "selectors", "CARD_CONSTANTS", "template", "styles", "CardComponent", "BaseComponent", "attachShadowTemplate", "getShadowElement", "CARD_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "toggleClass", "value", "toggleAttribute", "__decorateClass", "CustomElement", "defineCardComponent", "defineCustomElement", "CardComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as v}from"./chunk.G67LO74A.js";import{a as D}from"./chunk.FQUZWINF.js";import{a as H}from"./chunk.APFDK6YA.js";import{b as x}from"./chunk.FJRCWWE2.js";import{a as M}from"./chunk.I7OY43HW.js";import{c as k}from"./chunk.BX4AQRHB.js";import{a as S,d as O}from"./chunk.BJD6BKGC.js";import{b as I}from"./chunk.SVVF632P.js";import{a as _}from"./chunk.3TKTJ3BY.js";import{a as l}from"./chunk.NVUMRW44.js";import{a as h}from"./chunk.T4J66YX5.js";import{a as g,h as A,k as c}from"./chunk.6ZJIHOIG.js";import{a as b,e as u,f as N,k as f}from"./chunk.TPXXHX5J.js";import{v as y}from"./chunk.HZUQXCOQ.js";import{k as p}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var R=d=>typeof d.labelChangedCallback=="function";var E=class extends _{constructor(t){super(t)}attachLabel(t){t.static=!0,t.forElement=this._component}setDisabled(t){this._component[c]({ariaDisabled:t?"true":null},{overwrite:!0}),this._disableRadios(t)}_disableRadios(t){this._component.querySelectorAll(v.elementName).forEach(e=>{e.disabled=t})}};var B=`${g}radio-group`,F={DISABLED:"disabled"},G=I()?[]:["role","aria-disabled","aria-label"],m={elementName:B,attributes:F,observedAriaAttributes:G};var L=class{constructor(t){this._adapter=t;this._disabled=!1;this._labelConnectedListener=e=>this._handleLabelConnected(e)}initialize(){this._adapter.addHostListener(i.events.CONNECTED,this._labelConnectedListener)}_handleLabelConnected(t){t.stopPropagation(),this._adapter.attachLabel(t.target)}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.setDisabled(t),this._adapter.toggleHostAttribute(m.attributes.DISABLED,t))}};var z="<template><slot></slot></template>",P=O(S(f,m.observedAriaAttributes)),s=class extends P{constructor(){super();u(this,z),this._foundation=new L(new E(this))}get form(){return this[A].form}get labels(){return this[A].labels}get name(){var e;return(e=this.getAttribute("name"))!=null?e:""}set name(e){y(this,!!e,"name",e)}static get observedAttributes(){return[m.attributes.DISABLED]}connectedCallback(){this[c]({role:"radiogroup",ariaDisabled:this.disabled?"true":null}),this._foundation.initialize()}attributeChangedCallback(e,a,o){switch(e){case m.attributes.DISABLED:this.disabled=p(o);break}super.attributeChangedCallback(e,a,o)}formDisabledCallback(e){this.disabled=e}labelChangedCallback(e){this[c]({ariaLabel:e!=null?e:null})}};s.formAssociated=!0,n([l()],s.prototype,"disabled",2),s=n([h({name:m.elementName})],s);function ve(){b(s)}var w=`${g}label`,W={FOR:"for",DYNAMIC:"dynamic",STATIC:"static",LEGEND:"legend"},U={SLOT:"slot"},Y={CONNECTED:`${w}-connected`},$=[x.elementName,D.elementName,M.elementName,v.elementName,H.elementName],i={elementName:w,selectors:U,attributes:W,events:Y,labelableChildSelectors:$};var C=class extends _{constructor(e){super(e);this._targetElement=null;this._slotElement=N(e,i.selectors.SLOT)}destroy(){var e;(e=this._targetElement)==null||e.labelChangedCallback(null),this._targetElement=null}hasTargetElement(){return!!this._targetElement}getTargetElement(){return this._targetElement}setTargetElement(e){if(e&&this._checkLabelAwareness(e)){this._targetElement=e;return}this._targetElement=null}trySetTarget(e){this._targetElement=this._locateTargetElement(e)}clickTarget(){var e,a;(a=(e=this._targetElement)==null?void 0:e.labelClickedCallback)==null||a.call(e)}updateTargetLabel(){var a;let e=this._component.innerText.trim();(a=this._targetElement)==null||a.labelChangedCallback(e)}addSlotChangeListener(e){this._slotElement.addEventListener("slotchange",e)}removerSlotChangeListener(e){this._slotElement.removeEventListener("slotchange",e)}addMutationObserver(e){this._mutationObserver=new MutationObserver(e),this._mutationObserver.observe(this._component,{subtree:!0,characterData:!0,childList:!0}),e([],this._mutationObserver)}removeMutationObserver(){var e;(e=this._mutationObserver)==null||e.disconnect(),this._mutationObserver=void 0}_checkLabelAwareness(e){return R(e)?!0:(console.warn("Label target element is not label aware.",e),!1)}_locateTargetElement(e){let a;if(e)a=this._component.getRootNode().querySelector(`#${e}`);else{let o=i.labelableChildSelectors.join(",");a=this._component.querySelector(o)}return a&&!this._checkLabelAwareness(a)?null:a}};var T=class{constructor(t){this._adapter=t;this._dynamic=!1;this._static=!1;this._legend=!1;this._isConnected=!1;this._clickListener=e=>this._handleClick(e),this._slotChangeListener=()=>this._handleSlotChange(),this._mutationCallback=()=>this._handleMutation()}initialize(){this._legend?this._initializeAsLegend():this._initializeAsLabel()}disconnect(){this._disconnect(),this._adapter.destroy()}update(){this._adapter.updateTargetLabel()}async _initializeAsLegend(){await k(),this._adapter.emitHostEvent(i.events.CONNECTED)}async _initializeAsLabel(){var t;this._adapter.addSlotChangeListener(this._slotChangeListener),this._adapter.trySetTarget((t=this._for)!=null?t:null),this._adapter.hasTargetElement()&&this._connect()}_handleClick(t){let e=this._adapter.getTargetElement();t.target===e||e!=null&&e.contains(t.target)||this._adapter.clickTarget()}_handleSlotChange(){!this._for&&!this._forElement&&(this._adapter.trySetTarget(null),this._tryConnect())}_handleMutation(){this._adapter.updateTargetLabel()}_connect(){this._static||this._adapter.addHostListener("click",this._clickListener),this._adapter.updateTargetLabel(),this._dynamic&&this._adapter.addMutationObserver(this._mutationCallback),this._isConnected=!0}_disconnect(){this._adapter.removeHostListener("click",this._clickListener),this._adapter.removeMutationObserver(),this._isConnected=!1}_tryConnect(){this._adapter.hasTargetElement()?this._isConnected||this._connect():this._disconnect()}get for(){return this._for}set for(t){var e,a;this._for!==t&&(this._for=t,this._adapter.toggleHostAttribute(i.attributes.FOR,!!this.for,(e=this.for)!=null?e:void 0),this._adapter.trySetTarget((a=this._for)!=null?a:null),this._tryConnect())}get forElement(){return this._forElement}set forElement(t){var e;this._forElement!==t&&(this._forElement=t,this._adapter.setTargetElement((e=this._forElement)!=null?e:null),this._tryConnect())}get dynamic(){return this._dynamic}set dynamic(t){this._dynamic!==t&&(this._dynamic=t,this._adapter.toggleHostAttribute(i.attributes.DYNAMIC,this._dynamic),this._dynamic?this._adapter.hasTargetElement()&&this._adapter.addMutationObserver(this._mutationCallback):this._adapter.removeMutationObserver())}get static(){return this._static}set static(t){if(this._static!==t){if(this._static=t,this._adapter.toggleHostAttribute(i.attributes.STATIC,this._static),!this._isConnected)return;this._static?this._adapter.removeHostListener("click",this._clickListener):this._adapter.addHostListener("click",this._clickListener)}}get legend(){return this._legend}set legend(t){var e;if(this._legend!==t){if(this._legend=t,this._adapter.toggleHostAttribute(i.attributes.LEGEND,this._legend),this._legend){this._adapter.removerSlotChangeListener(this._slotChangeListener),this._adapter.emitHostEvent(i.events.CONNECTED);return}this._adapter.addSlotChangeListener(this._slotChangeListener),this._adapter.trySetTarget((e=this._for)!=null?e:null),this._adapter.hasTargetElement()&&this._connect()}}};var q="<template><slot></slot></template>",X=':host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);display:inline-block;cursor:default}:host([hidden]){display:none}',r=class extends f{constructor(){super();u(this,q,X),this._foundation=new T(new C(this))}static get observedAttributes(){return[i.attributes.FOR,i.attributes.DYNAMIC,i.attributes.STATIC,i.attributes.LEGEND]}connectedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(e,a,o){switch(e){case i.attributes.FOR:this.for=o;break;case i.attributes.DYNAMIC:this.dynamic=p(o);break;case i.attributes.STATIC:this.static=p(o);break;case i.attributes.LEGEND:this.legend=p(o);break}}update(){this._foundation.update()}};n([l()],r.prototype,"for",2),n([l()],r.prototype,"forElement",2),n([l()],r.prototype,"dynamic",2),n([l()],r.prototype,"static",2),n([l()],r.prototype,"legend",2),r=n([h({name:i.elementName})],r);function tt(){b(r)}export{E as a,m as b,R as c,i as d,C as e,T as f,r as g,tt as h,L as i,s as j,ve as k};
|
|
7
|
+
//# sourceMappingURL=chunk.LZ2YQYJA.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/label/label-aware.ts", "../../src/radio/radio-group/radio-group-adapter.ts", "../../src/radio/radio-group/radio-group-constants.ts", "../../src/radio/radio-group/radio-group-foundation.ts", "../../src/radio/radio-group/radio-group.ts", "../../src/radio/radio-group/index.ts", "../../src/label/label-constants.ts", "../../src/label/label-adapter.ts", "../../src/label/label-foundation.ts", "../../src/label/label.ts", "../../src/label/index.ts"],
|
|
4
|
+
"sourcesContent": ["// TODO: move everything here to the base-label-aware-component file\n\nexport interface ILabelAware {\n labelClickedCallback(): void;\n labelChangedCallback(value: string | null): void;\n}\n\n/**\n * Determines if an object is label aware.\n * @param obj - The object to check.\n * @returns True if the object is label aware, false otherwise.\n */\nexport const isLabelAware = (obj: any): obj is ILabelAware => {\n return typeof obj.labelChangedCallback === 'function';\n};\n", "import { setDefaultAria } from '../../constants';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/';\nimport { LabelComponent } from '../../label';\nimport { RADIO_CONSTANTS } from '../radio/radio-constants';\nimport { IRadioGroupComponent } from './radio-group';\n\nexport interface IRadioGroupAdapter extends IBaseAdapter {\n attachLabel(label: LabelComponent): void;\n setDisabled(value: boolean): void;\n}\n\nexport class RadioGroupAdapter extends BaseAdapter<IRadioGroupComponent> implements IRadioGroupAdapter {\n constructor(component: IRadioGroupComponent) {\n super(component);\n }\n\n public attachLabel(label: LabelComponent): void {\n label.static = true;\n label.forElement = this._component;\n }\n\n public setDisabled(value: boolean): void {\n this._component[setDefaultAria]({\n ariaDisabled: value ? 'true' : null\n }, { overwrite: true });\n this._disableRadios(value);\n }\n\n private _disableRadios(value: boolean): void {\n this._component.querySelectorAll(RADIO_CONSTANTS.elementName).forEach(radio => {\n radio.disabled = value;\n });\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\nimport { ARIAAttribute } from '../../core/utils/a11y-utils';\nimport { supportsElementInternalsAria } from '../../core/utils/feature-detection';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}radio-group`;\n\nconst attributes = {\n DISABLED: 'disabled'\n};\n\nconst observedAriaAttributes: ARIAAttribute[] = supportsElementInternalsAria()\n ? []\n : ['role', 'aria-disabled', 'aria-label'];\n\nexport const RADIO_GROUP_CONSTANTS = {\n elementName,\n attributes,\n observedAriaAttributes\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { LABEL_CONSTANTS, LabelComponent } from '../../label';\nimport { IRadioGroupAdapter } from './radio-group-adapter';\nimport { RADIO_GROUP_CONSTANTS } from './radio-group-constants';\n\nexport interface IRadioGroupFoundation extends ICustomElementFoundation {\n disabled: boolean;\n}\n\nexport class RadioGroupFoundation implements IRadioGroupFoundation {\n private _disabled = false;\n\n private readonly _labelConnectedListener: EventListener;\n\n constructor(private _adapter: IRadioGroupAdapter) {\n this._labelConnectedListener = (evt: Event) => this._handleLabelConnected(evt);\n }\n\n public initialize(): void {\n this._adapter.addHostListener(LABEL_CONSTANTS.events.CONNECTED, this._labelConnectedListener);\n }\n\n private _handleLabelConnected(evt: Event): void {\n // Stop the label from being seen by any ancestor elements that might try to connect to it\n evt.stopPropagation();\n this._adapter.attachLabel(evt.target as LabelComponent);\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(value);\n this._adapter.toggleHostAttribute(RADIO_GROUP_CONSTANTS.attributes.DISABLED, value);\n }\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean, toggleAttribute } from '@tylertech/forge-core';\nimport { internals, setDefaultAria } from '../../constants';\nimport { BaseComponent, IWithElementInternals, IWithLabelAwareness, WithElementInternals, WithLabelAwareness } from '../../core/base';\nimport { RadioGroupAdapter } from './radio-group-adapter';\nimport { RADIO_GROUP_CONSTANTS } from './radio-group-constants';\nimport { RadioGroupFoundation } from './radio-group-foundation';\n\nconst template = '<template><slot></slot></template>';\n\nexport interface IRadioGroupComponent extends IWithLabelAwareness, IWithElementInternals {\n readonly form: HTMLFormElement | null;\n readonly labels: NodeList;\n name: string;\n disabled: boolean;\n formDisabledCallback(disabled: boolean): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-radio-group': IRadioGroupComponent;\n }\n}\n\nconst BaseRadioGroupClass = WithLabelAwareness(WithElementInternals(BaseComponent, RADIO_GROUP_CONSTANTS.observedAriaAttributes));\n\n/**\n * @tag forge-radio-group\n * \n * @summary The Forge Radio Group component groups a set of radio buttons together.\n * \n * @property {boolean} disabled - Whether or not the radio group is disabled.\n * \n * @attribute {boolean} disabled - Whether or not the radio group is disabled.\n */\n@CustomElement({\n name: RADIO_GROUP_CONSTANTS.elementName\n})\nexport class RadioGroupComponent extends BaseRadioGroupClass implements IRadioGroupComponent {\n public static readonly formAssociated = true;\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get labels(): NodeList {\n return this[internals].labels;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(value: string) {\n toggleAttribute(this, !!value, 'name', value);\n }\n\n public static get observedAttributes(): string[] {\n return [\n RADIO_GROUP_CONSTANTS.attributes.DISABLED\n ];\n }\n\n private _foundation: RadioGroupFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template);\n this._foundation = new RadioGroupFoundation(new RadioGroupAdapter(this));\n }\n\n public connectedCallback(): void {\n this[setDefaultAria]({\n role: 'radiogroup',\n ariaDisabled: this.disabled ? 'true' : null\n });\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case RADIO_GROUP_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public formDisabledCallback(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n public labelChangedCallback(value: string | null): void {\n this[setDefaultAria]({\n ariaLabel: value ?? null\n });\n }\n\n @FoundationProperty()\n public declare disabled: boolean;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { RadioGroupComponent } from './radio-group';\n\nexport * from './radio-group-adapter';\nexport * from './radio-group-constants';\nexport * from './radio-group-foundation';\nexport * from './radio-group';\n\nexport function defineRadioGroupComponent(): void {\n defineCustomElement(RadioGroupComponent);\n}\n", "import { BUTTON_CONSTANTS } from '../button';\nimport { CHECKBOX_CONSTANTS } from '../checkbox';\nimport { COMPONENT_NAME_PREFIX } from '../constants';\nimport { ICON_BUTTON_CONSTANTS } from '../icon-button';\nimport { RADIO_CONSTANTS } from '../radio';\nimport { SWITCH_CONSTANTS } from '../switch';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}label`;\n\nconst attributes = {\n FOR: 'for',\n DYNAMIC: 'dynamic',\n STATIC: 'static',\n LEGEND: 'legend'\n};\n\nconst selectors = {\n SLOT: 'slot'\n};\n\nconst events = {\n CONNECTED: `${elementName}-connected`\n};\n\nconst labelableChildSelectors = [\n BUTTON_CONSTANTS.elementName,\n CHECKBOX_CONSTANTS.elementName,\n ICON_BUTTON_CONSTANTS.elementName,\n RADIO_CONSTANTS.elementName,\n SWITCH_CONSTANTS.elementName\n];\n\nexport const LABEL_CONSTANTS = {\n elementName,\n selectors,\n attributes,\n events,\n labelableChildSelectors\n};\n", "import { getShadowElement } from '@tylertech/forge-core';\nimport { BaseAdapter, IBaseAdapter } from '../core';\nimport { ILabelComponent } from './label';\nimport { ILabelAware, isLabelAware } from './label-aware';\nimport { LABEL_CONSTANTS } from './label-constants';\n\nexport interface ILabelAdapter extends IBaseAdapter {\n destroy(): void;\n hasTargetElement(): boolean;\n getTargetElement(): HTMLElement | null;\n setTargetElement(el: HTMLElement | null): void;\n trySetTarget(value: string | null): void;\n clickTarget(): void;\n updateTargetLabel(): void;\n addSlotChangeListener(callback: EventListener): void;\n removerSlotChangeListener(callback: EventListener): void;\n addMutationObserver(callback: MutationCallback): void;\n removeMutationObserver(): void;\n}\n\nexport class LabelAdapter extends BaseAdapter<ILabelComponent> implements ILabelAdapter {\n private _slotElement: HTMLElement;\n private _targetElement: ILabelAware & HTMLElement | null = null;\n private _mutationObserver?: MutationObserver;\n\n constructor(component: ILabelComponent) {\n super(component);\n this._slotElement = getShadowElement(component, LABEL_CONSTANTS.selectors.SLOT);\n }\n\n public destroy(): void {\n this._targetElement?.labelChangedCallback(null);\n this._targetElement = null;\n }\n\n public hasTargetElement(): boolean {\n return !!this._targetElement;\n }\n\n public getTargetElement(): HTMLElement | null {\n return this._targetElement;\n }\n\n public setTargetElement(el: HTMLElement | null): void {\n if (el && this._checkLabelAwareness(el)) {\n this._targetElement = el;\n return;\n }\n this._targetElement = null;\n }\n\n public trySetTarget(value: string | null): void {\n this._targetElement = this._locateTargetElement(value);\n }\n\n /**\n * Calls the target's `labelClickedCallback`.\n */\n public clickTarget(): void {\n this._targetElement?.labelClickedCallback?.();\n }\n\n /**\n * Computes the text content of the label then passes it to the target's `labelChangedCallback`.\n */\n public updateTargetLabel(): void {\n const value = this._component.innerText.trim();\n this._targetElement?.labelChangedCallback(value);\n }\n\n public addSlotChangeListener(callback: EventListener): void {\n this._slotElement.addEventListener('slotchange', callback);\n }\n\n public removerSlotChangeListener(callback: EventListener): void {\n this._slotElement.removeEventListener('slotchange', callback);\n }\n\n public addMutationObserver(callback: MutationCallback): void {\n this._mutationObserver = new MutationObserver(callback);\n this._mutationObserver.observe(this._component, {\n subtree: true,\n characterData: true,\n childList: true\n });\n\n // Run the callback once to capture the current state of the label\n callback([], this._mutationObserver);\n };\n\n public removeMutationObserver(): void {\n this._mutationObserver?.disconnect();\n this._mutationObserver = undefined;\n }\n\n /**\n * Returns `true` if the provided element is label aware, `false` otherwise. If `false` a warning\n * is logged to the console.\n */\n private _checkLabelAwareness(el: HTMLElement): el is (ILabelAware & HTMLElement) {\n if (!isLabelAware(el)) {\n console.warn('Label target element is not label aware.', el);\n return false;\n }\n return true;\n }\n\n /**\n * Returns a label aware element queried from the provided id or a child element of the\n * component or `null` if none exists.\n */\n private _locateTargetElement(id: string | null): ILabelAware & HTMLElement | null {\n let targetEl: HTMLElement | null;\n\n if (id) {\n const rootNode = this._component.getRootNode() as Document | ShadowRoot;\n targetEl = rootNode.querySelector(`#${id}`);\n } else {\n // Used for nested elements within the label component\n const selector = LABEL_CONSTANTS.labelableChildSelectors.join(',');\n targetEl = this._component.querySelector(selector);\n }\n\n if (targetEl && !this._checkLabelAwareness(targetEl)) {\n return null;\n }\n\n return targetEl;\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { task } from '../core/utils/event-utils';\nimport { ILabelAdapter } from './label-adapter';\nimport { LABEL_CONSTANTS } from './label-constants';\n\nexport interface ILabelFoundation extends ICustomElementFoundation {\n for: string | null | undefined;\n forElement: HTMLElement | null | undefined;\n dynamic: boolean;\n static: boolean;\n legend: boolean;\n disconnect(): void;\n update(): void;\n}\n\nexport class LabelFoundation implements ILabelFoundation {\n // State\n private _for: string | null | undefined;\n private _forElement: HTMLElement | null | undefined;\n private _dynamic = false;\n private _static = false;\n private _legend = false;\n private _isConnected = false;\n\n // Listeners\n private readonly _clickListener: EventListener;\n private readonly _slotChangeListener: EventListener;\n private readonly _mutationCallback: MutationCallback;\n\n constructor(private _adapter: ILabelAdapter) {\n this._clickListener = (evt: PointerEvent) => this._handleClick(evt);\n this._slotChangeListener = () => this._handleSlotChange();\n this._mutationCallback = () => this._handleMutation();\n }\n\n public initialize(): void {\n if (this._legend) {\n this._initializeAsLegend();\n } else {\n this._initializeAsLabel();\n }\n }\n\n public disconnect(): void {\n this._disconnect();\n this._adapter.destroy();\n }\n\n public update(): void {\n this._adapter.updateTargetLabel();\n }\n\n /**\n * Emit an event to give ancestor elements a chance to connect\n */\n private async _initializeAsLegend(): Promise<void> {\n // Give ancestor elements a chance to connect to the DOM\n await task();\n this._adapter.emitHostEvent(LABEL_CONSTANTS.events.CONNECTED);\n }\n\n /**\n * Search for child or id-targetted elements to connect to\n */\n private async _initializeAsLabel(): Promise<void> {\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n this._adapter.trySetTarget(this._for ?? null);\n if (this._adapter.hasTargetElement()) {\n this._connect();\n }\n }\n\n private _handleClick(evt: PointerEvent): void {\n // Prevent duplicate clicks from a nested target element or if the event originates\n // from within the target element\n const targetEl = this._adapter.getTargetElement();\n if (evt.target === targetEl || targetEl?.contains(evt.target as Node)) {\n return;\n }\n this._adapter.clickTarget();\n }\n\n private _handleSlotChange(): void {\n if (!this._for && !this._forElement) {\n this._adapter.trySetTarget(null);\n this._tryConnect();\n }\n }\n\n private _handleMutation(): void {\n this._adapter.updateTargetLabel();\n }\n\n private _connect(): void {\n if (!this._static) {\n this._adapter.addHostListener('click', this._clickListener);\n }\n this._adapter.updateTargetLabel();\n if (this._dynamic) {\n this._adapter.addMutationObserver(this._mutationCallback);\n }\n this._isConnected = true;\n }\n\n private _disconnect(): void {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.removeMutationObserver();\n this._isConnected = false;\n }\n\n private _tryConnect(): void {\n if (!this._adapter.hasTargetElement()) {\n this._disconnect();\n } else if (!this._isConnected) {\n this._connect();\n }\n }\n\n public get for(): string | null | undefined {\n return this._for;\n }\n public set for(value: string | null | undefined) {\n if (this._for !== value) {\n this._for = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.FOR, !!this.for, this.for ?? undefined);\n this._adapter.trySetTarget(this._for ?? null);\n this._tryConnect();\n }\n }\n\n public get forElement(): HTMLElement | null | undefined {\n return this._forElement;\n }\n public set forElement(value: HTMLElement | null | undefined) {\n if (this._forElement !== value) {\n this._forElement = value;\n this._adapter.setTargetElement(this._forElement ?? null);\n this._tryConnect();\n }\n }\n\n public get dynamic(): boolean {\n return this._dynamic;\n }\n public set dynamic(value: boolean) {\n if (this._dynamic !== value) {\n this._dynamic = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.DYNAMIC, this._dynamic);\n\n if (!this._dynamic) {\n this._adapter.removeMutationObserver();\n } else if (this._adapter.hasTargetElement()) {\n this._adapter.addMutationObserver(this._mutationCallback);\n }\n }\n }\n\n public get static(): boolean {\n return this._static;\n }\n public set static(value: boolean) {\n if (this._static !== value) {\n this._static = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.STATIC, this._static);\n\n // The click listener is only added if the label is connected\n if (!this._isConnected) {\n return;\n }\n\n if (this._static) {\n this._adapter.removeHostListener('click', this._clickListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n }\n }\n }\n\n public get legend(): boolean {\n return this._legend;\n }\n public set legend(value: boolean) {\n if (this._legend !== value) {\n this._legend = value;\n this._adapter.toggleHostAttribute(LABEL_CONSTANTS.attributes.LEGEND, this._legend);\n\n if (this._legend) {\n this._adapter.removerSlotChangeListener(this._slotChangeListener);\n this._adapter.emitHostEvent(LABEL_CONSTANTS.events.CONNECTED);\n return;\n }\n\n this._adapter.addSlotChangeListener(this._slotChangeListener);\n this._adapter.trySetTarget(this._for ?? null);\n if (this._adapter.hasTargetElement()) {\n this._connect();\n }\n }\n }\n}\n", "import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';\nimport { BaseComponent, IBaseComponent } from '../core';\nimport { LabelAdapter } from './label-adapter';\nimport { LABEL_CONSTANTS } from './label-constants';\nimport { LabelFoundation } from './label-foundation';\n\nconst template = '<template><slot></slot></template>';\nconst style = ':host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-label-font-family, var(--forge-typography-font-family, \\\"Roboto\\\", sans-serif));font-size:var(--forge-typography-label-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-font-size-scale, .75)));font-weight:var(--forge-typography-label-font-weight,400);line-height:var(--forge-typography-label-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-label-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-label-letter-spacing, .0357142857em);text-transform:var(--forge-typography-label-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-label-text-decoration,inherit);text-decoration:var(--forge-typography-label-text-decoration,inherit);display:inline-block;cursor:default}:host([hidden]){display:none}';\n\nexport interface ILabelComponent extends IBaseComponent {\n for: string | null | undefined;\n forElement: HTMLElement | null | undefined;\n dynamic: boolean;\n static: boolean;\n legend: boolean;\n update(): void;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-label': ILabelComponent;\n }\n}\n\n/**\n * @tag forge-label\n * \n * @summary The Forge Label component is used to associate a text label with a compatible Forge\n * component.\n * \n * @property {string | null | undefined} for - The id of the associated element.\n * @property {HTMLElement | null | undefined} forElement - The associated element.\n * @property {boolean} dynamic - Propagates changes in the label's text content to the associated element.\n * @property {boolean} static - Removes click handling from the label.\n * @property {boolean} legend - Whether or not the label should be associated with an ancestor element.\n * \n * @attribute {string} for - The id of the associated form component.\n * @attribute {boolean} dynamic - Propagates changes in the label's text content to the associated element.\n * @attribute {boolean} static - Removes click handling from the label.\n * @attribute {boolean} legend - Whether or not the label should be associated with an ancestor element.\n * \n * @method update - Updates the targetted element with the label's current text content.\n * \n * @csspart label - Styles the label's root element.\n */\n@CustomElement({\n name: LABEL_CONSTANTS.elementName\n})\nexport class LabelComponent extends BaseComponent implements ILabelComponent {\n public static get observedAttributes(): string[] {\n return [\n LABEL_CONSTANTS.attributes.FOR,\n LABEL_CONSTANTS.attributes.DYNAMIC,\n LABEL_CONSTANTS.attributes.STATIC,\n LABEL_CONSTANTS.attributes.LEGEND\n ];\n }\n\n private _foundation: LabelFoundation;\n\n constructor() {\n super();\n attachShadowTemplate(this, template, style);\n this._foundation = new LabelFoundation(new LabelAdapter(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 LABEL_CONSTANTS.attributes.FOR:\n this.for = newValue;\n break;\n case LABEL_CONSTANTS.attributes.DYNAMIC:\n this.dynamic = coerceBoolean(newValue);\n break;\n case LABEL_CONSTANTS.attributes.STATIC:\n this.static = coerceBoolean(newValue);\n break;\n case LABEL_CONSTANTS.attributes.LEGEND:\n this.legend = coerceBoolean(newValue);\n break;\n }\n }\n\n @FoundationProperty()\n public for: string | null | undefined;\n\n @FoundationProperty()\n public forElement: HTMLElement | null | undefined;\n\n @FoundationProperty()\n public dynamic: boolean;\n\n @FoundationProperty()\n public static: boolean;\n\n @FoundationProperty()\n public legend: boolean;\n\n /**\n * Updates the targetted element with the label's current text content.\n */\n public update(): void {\n this._foundation.update();\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { LabelComponent } from './label';\n\nexport * from './label-adapter';\nexport * from './label-constants';\nexport * from './label-foundation';\nexport * from './label';\nexport * from './label-aware';\n\nexport function defineLabelComponent(): void {\n defineCustomElement(LabelComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isLabelAware", "obj", "RadioGroupAdapter", "BaseAdapter", "component", "label", "value", "setDefaultAria", "RADIO_CONSTANTS", "radio", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "observedAriaAttributes", "supportsElementInternalsAria", "RADIO_GROUP_CONSTANTS", "RadioGroupFoundation", "_adapter", "evt", "LABEL_CONSTANTS", "value", "RADIO_GROUP_CONSTANTS", "template", "BaseRadioGroupClass", "WithLabelAwareness", "WithElementInternals", "BaseComponent", "RADIO_GROUP_CONSTANTS", "RadioGroupComponent", "attachShadowTemplate", "RadioGroupFoundation", "RadioGroupAdapter", "internals", "_a", "value", "toggleAttribute", "setDefaultAria", "name", "oldValue", "newValue", "coerceBoolean", "isDisabled", "__decorateClass", "FoundationProperty", "CustomElement", "defineRadioGroupComponent", "defineCustomElement", "RadioGroupComponent", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "selectors", "events", "labelableChildSelectors", "BUTTON_CONSTANTS", "CHECKBOX_CONSTANTS", "ICON_BUTTON_CONSTANTS", "RADIO_CONSTANTS", "SWITCH_CONSTANTS", "LABEL_CONSTANTS", "LabelAdapter", "BaseAdapter", "component", "getShadowElement", "LABEL_CONSTANTS", "_a", "el", "value", "_b", "callback", "isLabelAware", "id", "targetEl", "selector", "LabelFoundation", "_adapter", "evt", "task", "LABEL_CONSTANTS", "_a", "targetEl", "value", "_b", "template", "style", "LabelComponent", "BaseComponent", "attachShadowTemplate", "LabelFoundation", "LabelAdapter", "LABEL_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineLabelComponent", "defineCustomElement", "LabelComponent"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/core/base/base-form-component.ts"],
|
|
4
|
+
"sourcesContent": ["import { internals } from '../../constants';\nimport { BaseComponent, IBaseComponent } from './base-component';\n\nexport interface IBaseFormComponent<T = string> extends IBaseComponent {\n value: T;\n disabled: boolean;\n readonly: boolean;\n name: string;\n\n readonly form: HTMLFormElement | null;\n readonly labels: NodeList;\n readonly [internals]: ElementInternals;\n\n formResetCallback(): void;\n formStateRestoreCallback(state: unknown, reason: 'restore' | 'autocomplete'): void;\n formDisabledCallback(isDisabled: boolean): void;\n}\n\n/**\n * Any form associated Custom HTML element.\n */\nexport abstract class BaseFormComponent<T = string> extends BaseComponent implements IBaseFormComponent<T> {\n public static formAssociated = true;\n\n public abstract value: T;\n public abstract disabled: boolean;\n public abstract readonly: boolean;\n public abstract name: string;\n\n public abstract get form(): HTMLFormElement | null;\n public abstract get labels(): NodeList;\n public abstract get [internals](): ElementInternals;\n\n public abstract formResetCallback(): void;\n public abstract formStateRestoreCallback(state: unknown, reason: 'restore' | 'autocomplete'): void;\n public abstract formDisabledCallback(isDisabled: boolean): void;\n}\n"],
|
|
5
|
+
"mappings": "wCAqBO,IAAeA,EAAf,cAAqDC,CAA+C,CAe3G,EAfsBD,EACN,eAAiB",
|
|
6
|
+
"names": ["BaseFormComponent", "BaseComponent"]
|
|
7
|
+
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as t}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as t}from"./chunk.42YDA5FH.js";import{a as r}from"./chunk.NVUMRW44.js";import{k as l}from"./chunk.TPXXHX5J.js";import{k as p,l as s}from"./chunk.J2M2MXP2.js";import{d as o}from"./chunk.M3QDAYD2.js";var e=class extends l{constructor(){super()}attributeChangedCallback(a,u,i){switch(a){case t.attributes.POPUP_CLASSES:this.popupClasses=i;break;case t.attributes.OPTION_LIMIT:this.optionLimit=s(i);break;case t.attributes.OBSERVE_SCROLL:this.observeScroll=p(i);break;case t.attributes.OBSERVE_SCROLL_THRESHOLD:this.observeScrollThreshold=s(i);break;case t.attributes.SYNC_POPUP_WIDTH:this.syncPopupWidth=p(i);break;case t.attributes.CONSTRAIN_POPUP_WIDTH:this.constrainPopupWidth=p(i);break;case t.attributes.WRAP_OPTION_TEXT:this.wrapOptionText=p(i);break}}};o([r()],e.prototype,"popupClasses",2),o([r()],e.prototype,"popupHeaderBuilder",2),o([r()],e.prototype,"popupFooterBuilder",2),o([r()],e.prototype,"syncPopupWidth",2),o([r()],e.prototype,"optionLimit",2),o([r()],e.prototype,"observeScroll",2),o([r()],e.prototype,"observeScrollThreshold",2),o([r()],e.prototype,"constrainPopupWidth",2),o([r()],e.prototype,"wrapOptionText",2);export{e as a};
|
|
7
|
+
//# sourceMappingURL=chunk.MHH26REX.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as b}from"./chunk.3TKTJ3BY.js";import{a as s}from"./chunk.NVUMRW44.js";import{a as d}from"./chunk.T4J66YX5.js";import{a as _}from"./chunk.6ZJIHOIG.js";import{a as I,k as g}from"./chunk.TPXXHX5J.js";import{k as p}from"./chunk.J2M2MXP2.js";import{d as n}from"./chunk.M3QDAYD2.js";var a=class extends b{constructor(t){super(t)}};var u=`${_}option`,h={DISABLED:"disabled",DIVIDER:"divider",LABEL:"label",SECONDARY_LABEL:"secondary-label",LEADING_ICON_CLASS:"leading-icon-class",LEADING_ICON_TYPE:"leading-icon-type",LEADING_ICON:"leading-icon",OPTION_CLASS:"option-class",TRAILING_ICON_CLASS:"trailing-icon-class",TRAILING_ICON_TYPE:"trailing-icon-type",TRAILING_ICON:"trailing-icon",VALUE:"value"},C={VALUE_CHANGE:`${u}-value-change`},i={elementName:u,attributes:h,events:C};var l=class{constructor(t){this._adapter=t;this._disabled=!1;this._divider=!1;this._optionClass=[]}get value(){return this._value}set value(t){this._value!==t&&(this._value=t,this._adapter.emitHostEvent(i.events.VALUE_CHANGE,this._value))}get label(){return this._label}set label(t){this._label!==t&&(this._label=t,this._adapter.toggleHostAttribute(i.attributes.LABEL,!!this._label,this._label))}get secondaryLabel(){return this._secondaryLabel}set secondaryLabel(t){this._secondaryLabel!==t&&(this._secondaryLabel=t,this._adapter.toggleHostAttribute(i.attributes.SECONDARY_LABEL,!!this._secondaryLabel,this._secondaryLabel))}get disabled(){return this._disabled}set disabled(t){this._disabled!==t&&(this._disabled=t,this._adapter.toggleHostAttribute(i.attributes.DISABLED,this._disabled))}get divider(){return this._divider}set divider(t){this._divider!==t&&(this._divider=t,this._adapter.toggleHostAttribute(i.attributes.DIVIDER,this._divider))}get optionClass(){return this._optionClass}set optionClass(t){t?typeof t=="string"&&(t=t.split(" ")):t=[],t=t.filter(o=>o&&!/\s+/.test(o)),this._optionClass.toString()!==t.toString()&&(this._optionClass=t,this._adapter.toggleHostAttribute(i.attributes.OPTION_CLASS,this._optionClass&&!!this._optionClass.length,this._optionClass.join(" ")))}get leadingIcon(){return this._leadingIcon}set leadingIcon(t){this._leadingIcon!==t&&(this._leadingIcon=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON,!!this._leadingIcon,this._leadingIcon))}get leadingIconClass(){return this._leadingIconClass}set leadingIconClass(t){this._leadingIconClass!==t&&(this._leadingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_CLASS,!!this._leadingIconClass,this._leadingIconClass))}get leadingIconType(){return this._leadingIconType}set leadingIconType(t){this._leadingIconType!==t&&(this._leadingIconType=t,this._adapter.toggleHostAttribute(i.attributes.LEADING_ICON_TYPE,!!this._leadingIconType,this._leadingIconType))}get leadingIconComponentProps(){return this._leadingIconComponentProps}set leadingIconComponentProps(t){this._leadingIconComponentProps!==t&&(this._leadingIconComponentProps=t)}get trailingIcon(){return this._trailingIcon}set trailingIcon(t){this._trailingIcon!==t&&(this._trailingIcon=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON,!!this._trailingIcon,this._trailingIcon))}get trailingIconClass(){return this._trailingIconClass}set trailingIconClass(t){this._trailingIconClass!==t&&(this._trailingIconClass=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_CLASS,!!this._trailingIconClass,this._trailingIconClass))}get trailingIconType(){return this._trailingIconType}set trailingIconType(t){this._trailingIconType!==t&&(this._trailingIconType=t,this._adapter.toggleHostAttribute(i.attributes.TRAILING_ICON_TYPE,!!this._trailingIconType,this._trailingIconType))}get trailingIconComponentProps(){return this._trailingIconComponentProps}set trailingIconComponentProps(t){this._trailingIconComponentProps!==t&&(this._trailingIconComponentProps=t)}get leadingBuilder(){return this._leadingBuilder}set leadingBuilder(t){this._leadingBuilder!==t&&(this._leadingBuilder=t)}get trailingBuilder(){return this._trailingBuilder}set trailingBuilder(t){this._trailingBuilder!==t&&(this._trailingBuilder=t)}};var e=class extends g{constructor(){super();this._foundation=new l(new a(this))}static get observedAttributes(){return[i.attributes.VALUE,i.attributes.LABEL,i.attributes.SECONDARY_LABEL,i.attributes.DISABLED,i.attributes.DIVIDER,i.attributes.OPTION_CLASS,i.attributes.LEADING_ICON,i.attributes.LEADING_ICON_CLASS,i.attributes.LEADING_ICON_TYPE,i.attributes.TRAILING_ICON,i.attributes.TRAILING_ICON_CLASS,i.attributes.TRAILING_ICON_TYPE]}initializedCallback(){this.hasAttribute("role")||this.setAttribute("role","option")}attributeChangedCallback(o,L,r){switch(o){case i.attributes.VALUE:this.value=r;break;case i.attributes.LABEL:this.label=r;break;case i.attributes.SECONDARY_LABEL:this.secondaryLabel=r;break;case i.attributes.DISABLED:this.disabled=p(r);break;case i.attributes.DIVIDER:this.divider=this.hasAttribute(i.attributes.DIVIDER);break;case i.attributes.OPTION_CLASS:this.optionClass=r;break;case i.attributes.LEADING_ICON:this.leadingIcon=r;break;case i.attributes.LEADING_ICON_CLASS:this.leadingIconClass=r;break;case i.attributes.LEADING_ICON_TYPE:this.leadingIconType=r;break;case i.attributes.TRAILING_ICON:this.trailingIcon=r;break;case i.attributes.TRAILING_ICON_CLASS:this.trailingIconClass=r;break;case i.attributes.TRAILING_ICON_TYPE:this.trailingIconType=r;break}}};n([s()],e.prototype,"value",2),n([s()],e.prototype,"label",2),n([s()],e.prototype,"secondaryLabel",2),n([s()],e.prototype,"disabled",2),n([s()],e.prototype,"divider",2),n([s()],e.prototype,"optionClass",2),n([s()],e.prototype,"leadingIcon",2),n([s()],e.prototype,"leadingIconClass",2),n([s()],e.prototype,"leadingIconType",2),n([s()],e.prototype,"leadingIconComponentProps",2),n([s()],e.prototype,"trailingIcon",2),n([s()],e.prototype,"trailingIconClass",2),n([s()],e.prototype,"trailingIconType",2),n([s()],e.prototype,"trailingIconComponentProps",2),n([s()],e.prototype,"leadingBuilder",2),n([s()],e.prototype,"trailingBuilder",2),e=n([d({name:i.elementName})],e);function k(){I(e)}export{a,i as b,l as c,e as d,k as e};
|
|
7
|
+
//# sourceMappingURL=chunk.MROUV35N.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/option/option-adapter.ts", "../../src/select/option/option-constants.ts", "../../src/select/option/option-foundation.ts", "../../src/select/option/option.ts", "../../src/select/option/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { IOptionComponent } from './option';\n\nexport interface IOptionAdapter extends IBaseAdapter {\n setHostAttribute(name: string, value: string): void;\n removeHostAttribute(name: string): void;\n}\n\n/**\n * The DOM adapter behind the `<forge-option>` element.\n */\nexport class OptionAdapter extends BaseAdapter<IOptionComponent> {\n constructor(component: IOptionComponent) {\n super(component);\n }\n}\n", "import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}option`;\n\nconst attributes = {\n DISABLED: 'disabled',\n DIVIDER: 'divider',\n LABEL: 'label',\n SECONDARY_LABEL: 'secondary-label',\n LEADING_ICON_CLASS: 'leading-icon-class',\n LEADING_ICON_TYPE: 'leading-icon-type',\n LEADING_ICON: 'leading-icon',\n OPTION_CLASS: 'option-class',\n TRAILING_ICON_CLASS: 'trailing-icon-class',\n TRAILING_ICON_TYPE: 'trailing-icon-type',\n TRAILING_ICON: 'trailing-icon',\n VALUE: 'value'\n};\n\nconst events = {\n VALUE_CHANGE: `${elementName}-value-change`\n};\n\nexport const OPTION_CONSTANTS = {\n elementName,\n attributes,\n events\n};\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { IIconComponent } from '../../icon';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { IOptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\n\nexport interface IOptionFoundation extends ICustomElementFoundation, Required<IBaseListDropdownOption> {}\n\n/** The foundation class behind the `<forge-option>` element. */\nexport class OptionFoundation implements IOptionFoundation {\n private _value: any;\n private _label: string;\n private _secondaryLabel: string;\n private _disabled = false;\n private _divider = false;\n private _optionClass: string[] = [];\n private _leadingIcon: string;\n private _leadingIconClass: string;\n private _leadingIconType: ListDropdownIconType;\n private _leadingIconComponentProps: Partial<IIconComponent>;\n private _trailingIcon: string;\n private _trailingIconClass: string;\n private _trailingIconType: ListDropdownIconType;\n private _trailingIconComponentProps: Partial<IIconComponent>;\n private _leadingBuilder: () => HTMLElement;\n private _trailingBuilder: () => HTMLElement;\n\n constructor(private _adapter: IOptionAdapter) {}\n\n /** Gets/sets the value of this option. */\n public get value(): any {\n return this._value;\n }\n public set value(value: any) {\n if (this._value !== value) {\n this._value = value;\n this._adapter.emitHostEvent(OPTION_CONSTANTS.events.VALUE_CHANGE, this._value);\n }\n }\n\n /** Gets/sets the label of this option. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LABEL, !!this._label, this._label);\n }\n }\n\n /** Gets/sets the secondary label of this option. */\n public get secondaryLabel(): string {\n return this._secondaryLabel;\n }\n public set secondaryLabel(value: string) {\n if (this._secondaryLabel !== value) {\n this._secondaryLabel = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.SECONDARY_LABEL, !!this._secondaryLabel, this._secondaryLabel);\n }\n }\n\n /** Gets/sets the disabled status of this option. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.DISABLED, this._disabled);\n }\n }\n\n /** Gets/sets the whether this option is a divider. */\n public get divider(): boolean {\n return this._divider;\n }\n public set divider(value: boolean) {\n if (this._divider !== value) {\n this._divider = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.DIVIDER, this._divider);\n }\n }\n\n /** Gets/sets the classes of this option. */\n public get optionClass(): string | string[] {\n return this._optionClass;\n }\n public set optionClass(value: string | string[]) {\n if (!value) {\n value = [];\n } else if (typeof value === 'string') {\n value = value.split(' ');\n }\n\n value = value.filter(v => v && !/\\s+/.test(v));\n\n if (this._optionClass.toString() !== value.toString()) {\n this._optionClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.OPTION_CLASS, this._optionClass && !!this._optionClass.length, this._optionClass.join(' '));\n }\n }\n\n /** Gets/sets the leading icon of this option. */\n public get leadingIcon(): string {\n return this._leadingIcon;\n }\n public set leadingIcon(value: string) {\n if (this._leadingIcon !== value) {\n this._leadingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON, !!this._leadingIcon, this._leadingIcon);\n }\n }\n\n /** Gets/sets the leading icon class of this option. */\n public get leadingIconClass(): string {\n return this._leadingIconClass;\n }\n public set leadingIconClass(value: string) {\n if (this._leadingIconClass !== value) {\n this._leadingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS, !!this._leadingIconClass, this._leadingIconClass);\n }\n }\n\n /** Gets/sets the leading icon type of this option. */\n public get leadingIconType(): ListDropdownIconType {\n return this._leadingIconType;\n }\n public set leadingIconType(value: ListDropdownIconType) {\n if (this._leadingIconType !== value) {\n this._leadingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE, !!this._leadingIconType, this._leadingIconType);\n }\n }\n\n /** Gets/sets the props on the leading icon component. */\n public get leadingIconComponentProps(): Partial<IIconComponent> {\n return this._leadingIconComponentProps;\n }\n public set leadingIconComponentProps(value: Partial<IIconComponent>) {\n if (this._leadingIconComponentProps !== value) {\n this._leadingIconComponentProps = value;\n }\n }\n\n /** Gets/sets the trailing icon of this option. */\n public get trailingIcon(): string {\n return this._trailingIcon;\n }\n public set trailingIcon(value: string) {\n if (this._trailingIcon !== value) {\n this._trailingIcon = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON, !!this._trailingIcon, this._trailingIcon);\n }\n }\n\n /** Gets/sets the trailing icon class of this option. */\n public get trailingIconClass(): string {\n return this._trailingIconClass;\n }\n public set trailingIconClass(value: string) {\n if (this._trailingIconClass !== value) {\n this._trailingIconClass = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS, !!this._trailingIconClass, this._trailingIconClass);\n }\n }\n\n /** Gets/sets the trailing icon type of this option. */\n public get trailingIconType(): ListDropdownIconType {\n return this._trailingIconType;\n }\n public set trailingIconType(value: ListDropdownIconType) {\n if (this._trailingIconType !== value) {\n this._trailingIconType = value;\n this._adapter.toggleHostAttribute(OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE, !!this._trailingIconType, this._trailingIconType);\n }\n }\n\n /** Gets/sets the props on the trailing icon component. */\n public get trailingIconComponentProps(): Partial<IIconComponent> {\n return this._trailingIconComponentProps;\n }\n public set trailingIconComponentProps(value: Partial<IIconComponent>) {\n if (this._trailingIconComponentProps !== value) {\n this._trailingIconComponentProps = value;\n }\n }\n\n /** Gets/sets the leading builder of this option. */\n public get leadingBuilder(): (() => HTMLElement) {\n return this._leadingBuilder;\n }\n public set leadingBuilder(value: (() => HTMLElement)) {\n if (this._leadingBuilder !== value) {\n this._leadingBuilder = value;\n }\n }\n\n /** Gets/sets the trailing builder of this option. */\n public get trailingBuilder(): (() => HTMLElement) {\n return this._trailingBuilder;\n }\n public set trailingBuilder(value: (() => HTMLElement)) {\n if (this._trailingBuilder !== value) {\n this._trailingBuilder = value;\n }\n }\n}\n", "import { coerceBoolean, CustomElement, FoundationProperty, ICustomElement } from '@tylertech/forge-core';\nimport { IIconComponent } from '../../icon';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { IBaseListDropdownOption, ListDropdownIconType } from '../../list-dropdown/list-dropdown-constants';\nimport { OptionAdapter } from './option-adapter';\nimport { OPTION_CONSTANTS } from './option-constants';\nimport { OptionFoundation } from './option-foundation';\n\nexport interface IOptionComponent extends ICustomElement, Required<IBaseListDropdownOption> {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-option': IOptionComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-option>` element.\n * \n * @tag forge-option\n */\n@CustomElement({\n name: OPTION_CONSTANTS.elementName\n})\nexport class OptionComponent extends BaseComponent implements IOptionComponent {\n public static get observedAttributes(): string[] {\n return [\n OPTION_CONSTANTS.attributes.VALUE,\n OPTION_CONSTANTS.attributes.LABEL,\n OPTION_CONSTANTS.attributes.SECONDARY_LABEL,\n OPTION_CONSTANTS.attributes.DISABLED,\n OPTION_CONSTANTS.attributes.DIVIDER,\n OPTION_CONSTANTS.attributes.OPTION_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON,\n OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE,\n OPTION_CONSTANTS.attributes.TRAILING_ICON,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS,\n OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE\n ];\n }\n\n private _foundation: OptionFoundation;\n\n constructor() {\n super();\n this._foundation = new OptionFoundation(new OptionAdapter(this));\n }\n\n public initializedCallback(): void {\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'option');\n }\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case OPTION_CONSTANTS.attributes.VALUE:\n this.value = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n case OPTION_CONSTANTS.attributes.SECONDARY_LABEL:\n this.secondaryLabel = newValue;\n break;\n case OPTION_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case OPTION_CONSTANTS.attributes.DIVIDER:\n this.divider = this.hasAttribute(OPTION_CONSTANTS.attributes.DIVIDER);\n break;\n case OPTION_CONSTANTS.attributes.OPTION_CLASS:\n this.optionClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON:\n this.leadingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_CLASS:\n this.leadingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.LEADING_ICON_TYPE:\n this.leadingIconType = newValue as ListDropdownIconType;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON:\n this.trailingIcon = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_CLASS:\n this.trailingIconClass = newValue;\n break;\n case OPTION_CONSTANTS.attributes.TRAILING_ICON_TYPE:\n this.trailingIconType = newValue as ListDropdownIconType;\n break;\n }\n }\n\n /** Gets/sets the value of this option. */\n @FoundationProperty()\n public declare value: any;\n\n /** Gets/sets the label of this option. */\n @FoundationProperty()\n public declare label: string;\n\n /** Gets/sets the secondary label of this option. */\n @FoundationProperty()\n public declare secondaryLabel: string;\n\n /** Gets/sets the disabled status of this option. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets the whether this option is a divider. */\n @FoundationProperty()\n public declare divider: boolean;\n\n /** Gets/sets the classes of this option. */\n @FoundationProperty()\n public declare optionClass: string | string[];\n\n /** Gets/sets the leading icon of this option. */\n @FoundationProperty()\n public declare leadingIcon: string;\n\n /** Gets/sets the leading icon class of this option. */\n @FoundationProperty()\n public declare leadingIconClass: string;\n\n /** Gets/sets the leading icon type of this option. */\n @FoundationProperty()\n public declare leadingIconType: ListDropdownIconType;\n\n /** Gets/sets properties on leading icon component. */\n @FoundationProperty()\n public declare leadingIconComponentProps: Partial<IIconComponent>;\n\n /** Gets/sets the trailing icon of this option. */\n @FoundationProperty()\n public declare trailingIcon: string;\n\n /** Gets/sets the trailing icon class of this option. */\n @FoundationProperty()\n public declare trailingIconClass: string;\n\n /** Gets/sets the trailing icon type of this option. */\n @FoundationProperty()\n public declare trailingIconType: ListDropdownIconType;\n\n /** Gets/sets properties on trailing icon component. */\n @FoundationProperty()\n public declare trailingIconComponentProps: Partial<IIconComponent>;\n\n /** Gets/sets the leading builder of this option. */\n @FoundationProperty()\n public declare leadingBuilder: () => HTMLElement;\n\n /** Gets/sets the trailing builder of this option. */\n @FoundationProperty()\n public declare trailingBuilder: () => HTMLElement;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { OptionComponent } from './option';\n\nexport * from './option-adapter';\nexport * from './option-constants';\nexport * from './option-foundation';\nexport * from './option';\n\nexport function defineOptionComponent(): void {\n defineCustomElement(OptionComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["OptionAdapter", "BaseAdapter", "component", "elementName", "COMPONENT_NAME_PREFIX", "attributes", "events", "OPTION_CONSTANTS", "OptionFoundation", "_adapter", "value", "OPTION_CONSTANTS", "v", "OptionComponent", "BaseComponent", "OptionFoundation", "OptionAdapter", "OPTION_CONSTANTS", "name", "oldValue", "newValue", "coerceBoolean", "__decorateClass", "FoundationProperty", "CustomElement", "defineOptionComponent", "defineCustomElement", "OptionComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as P}from"./chunk.VG452D3L.js";import{c as d}from"./chunk.EWT2PBEP.js";import{d as k}from"./chunk.AIPDMLJD.js";import{k as y,n as I}from"./chunk.QG5EYBS3.js";import{b as T,d as L}from"./chunk.BJD6BKGC.js";import{a as A}from"./chunk.SVVF632P.js";import{a as O}from"./chunk.RCPUTZON.js";import{a as E}from"./chunk.3TKTJ3BY.js";import{a}from"./chunk.NVUMRW44.js";import{h as l,j as _}from"./chunk.6ZJIHOIG.js";import{f as h,k as v}from"./chunk.TPXXHX5J.js";import{v as u}from"./chunk.HZUQXCOQ.js";import{k as p}from"./chunk.J2M2MXP2.js";import{a as g,d as s}from"./chunk.M3QDAYD2.js";var S={TYPE:"type",DISABLED:"disabled",POPOVER_ICON:"popover-icon",ANCHOR:"anchor",HREF:"href",TARGET:"target",DOWNLOAD:"download",REL:"rel",DENSE:"dense",TABINDEX:"tabindex"},C=g({},S),w={ROOT:"forge-button",POPOVER_ICON:"forge-button__popover-icon"},F={ROOT:"[part=root]",END_SLOT:"slot[name=end]"},r={observedAttributes:S,attributes:C,selectors:F,classes:w};var N=L(T(v)),n=class extends N{constructor(){super();k.define(d),this[l]=this.attachInternals()}connectedCallback(){super.connectedCallback(),this._foundation.initialize()}attributeChangedCallback(t,i,o){switch(t){case r.observedAttributes.TYPE:this.type=o;break;case r.observedAttributes.DISABLED:this.disabled=p(o);break;case r.observedAttributes.POPOVER_ICON:this.popoverIcon=p(o);break;case r.observedAttributes.ANCHOR:this.anchor=p(o);break;case r.observedAttributes.HREF:this.href=o;break;case r.observedAttributes.TARGET:this.target=o;break;case r.observedAttributes.DOWNLOAD:this.download=o;break;case r.observedAttributes.REL:this.rel=o;break;case r.observedAttributes.DENSE:this.dense=p(o);break}super.attributeChangedCallback(t,i,o)}labelClickedCallback(){this._foundation.click({animateStateLayer:!0})}labelChangedCallback(t){this._foundation.proxyLabel(t)}get form(){return this[l].form}get name(){var t;return(t=this.getAttribute("name"))!=null?t:""}set name(t){this.setAttribute("name",t)}get value(){var t;return(t=this.getAttribute("value"))!=null?t:""}set value(t){this.setAttribute("value",t)}click(){this._foundation.click({animateStateLayer:!0})}focus(t){this._foundation.focus(t)}};l,n.formAssociated=!0,s([a()],n.prototype,"type",2),s([a()],n.prototype,"disabled",2),s([a()],n.prototype,"popoverIcon",2),s([a()],n.prototype,"anchor",2),s([a()],n.prototype,"href",2),s([a()],n.prototype,"target",2),s([a()],n.prototype,"download",2),s([a()],n.prototype,"rel",2),s([a()],n.prototype,"dense",2);var B=class{constructor(e){this._adapter=e;this._type="button";this._disabled=!1;this._popoverIcon=!1;this._anchor=!1;this._href="";this._target="";this._download="";this._rel="";this._dense=!1;this._clickListener=t=>this._onClick(t),this._keydownListener=t=>this._onKeydown(t),this._anchorFocusListener=()=>this._adapter.focusHost(),this._adapter.addHostListener("keydown",this._keydownListener)}initialize(){this._adapter.initialize(),this._anchor?this._adapter.addAnchorEventListener("focus",this._anchorFocusListener):this._adapter.addHostListener("click",this._clickListener)}click({animateStateLayer:e=!1}={}){this._disabled||(this._anchor?this._adapter.clickAnchor():this._adapter.clickHost(),e&&this._adapter.animateStateLayer())}focus(e){this._adapter.focusHost(e),e!=null&&e.focusVisible&&this._adapter.forceFocusVisible()}proxyLabel(e){this._adapter.proxyLabel(e)}async _onClick(e){let t=this._type==="submit"||this._type==="reset";!t&&this._adapter.hasPopoverTarget()&&this._adapter.managePopover()||(await new Promise(i=>setTimeout(i)),!(e.defaultPrevented||this._disabled)&&t&&this._adapter.clickFormButton(this._type))}async _onKeydown(e){if(e.key===" "&&!this._anchor){e.preventDefault(),this.click();return}await new Promise(t=>setTimeout(t)),!(e.defaultPrevented||this._disabled)&&e.key==="Enter"&&(this._anchor?this._adapter.clickAnchor():this.click())}_toggleAnchor(){this._anchor?(this._adapter.initializeAnchor(),this._manageAnchorListeners(),this.disabled=!1):(this._adapter.removeAnchor(),this._manageAnchorListeners())}_manageAnchorListeners(){this._anchor?(this._adapter.removeHostListener("click",this._clickListener),this._adapter.addAnchorEventListener("focus",this._anchorFocusListener)):(this._adapter.addHostListener("click",this._clickListener),this._adapter.removeAnchorEventListener("focus",this._anchorFocusListener))}get type(){return this._type}set type(e){this._type!==e&&(this._type=e,this._adapter.setHostAttribute(r.attributes.TYPE,e))}get disabled(){return this._disabled}set disabled(e){e=!!e,this._disabled!==e&&(this._anchor&&(e=!1),this._disabled=e,this._adapter.setDisabled(this._disabled),this._adapter.toggleHostAttribute(r.attributes.DISABLED,e))}get popoverIcon(){return this._popoverIcon}set popoverIcon(e){e=!!e,this._popoverIcon!==e&&(this._popoverIcon=e,this._adapter.toggleDefaultPopoverIcon(this._popoverIcon),this._adapter.toggleHostAttribute(r.attributes.POPOVER_ICON,e))}get anchor(){return this._anchor}set anchor(e){e=!!e,this._anchor!==e&&(this._anchor=e,this._toggleAnchor(),this._adapter.toggleHostAttribute(r.attributes.ANCHOR,e))}get href(){return this._href}set href(e){e=(e!=null?e:"").trim(),this._href!==e&&(this._href=e,this.anchor=this._href.length>0,this._anchor&&this._adapter.setAnchorProperty("href",this._href),this._adapter.toggleHostAttribute(r.attributes.HREF,!!this._href,this._href))}get target(){return this._target}set target(e){this._target!==e&&(this._target=e!=null?e:"_self",this._adapter.setAnchorProperty("target",e),this._adapter.toggleHostAttribute(r.attributes.TARGET,!!this._target,this._target))}get download(){return this._download}set download(e){this._download!==e&&(this._download=e,this._adapter.setAnchorProperty("download",this._download),this._adapter.toggleHostAttribute(r.attributes.DOWNLOAD,!!this._download,this._download))}get rel(){return this._rel}set rel(e){this._rel!==e&&(this._rel=e,this._adapter.setAnchorProperty("rel",this._rel),this._adapter.toggleHostAttribute(r.attributes.REL,!!this._rel,this._rel))}get dense(){return this._dense}set dense(e){e=!!e,this._dense!==e&&(this._dense=e,this._adapter.toggleHostAttribute(r.attributes.DENSE,e))}};var H=class extends E{constructor(t){super(t);this._rootElement=h(this._component,r.selectors.ROOT),this._focusIndicatorElement=h(this._component,P.elementName),this._stateLayerElement=h(this._component,O.elementName),this._endSlotElement=h(this._component,r.selectors.END_SLOT)}initialize(){this._applyHostSemantics()}initializeAnchor(){this._anchorElement=this._createAnchorRootElement(),this._rootElement.insertAdjacentElement("afterend",this._anchorElement),this._applyHostSemantics()}removeAnchor(){var t;(t=this._anchorElement)==null||t.remove(),this._anchorElement=void 0,this._applyHostSemantics()}setAnchorProperty(t,i){this._anchorElement&&(this._anchorElement[t]=i)}setDisabled(t){if(this._anchorElement){this.hasHostAttribute("aria-disabled")&&this.removeHostAttribute("aria-disabled"),this._focusIndicatorElement.isConnected||this._rootElement.append(this._focusIndicatorElement),this._stateLayerElement.isConnected||(this._stateLayerElement.disabled&&(this._stateLayerElement.disabled=!1),this._rootElement.append(this._stateLayerElement));return}t?(this._focusIndicatorElement.remove(),this._stateLayerElement.remove()):this._rootElement.append(this._focusIndicatorElement,this._stateLayerElement),this._component[_]=!t,u(this._component,t,"aria-disabled","true")}clickAnchor(){var t;(t=this._anchorElement)==null||t.click()}clickHost(){HTMLElement.prototype.click.call(this._component)}forceFocusVisible(){this._focusIndicatorElement.active=!0}clickFormButton(t){var i;if(this._component.form)if(t==="submit"){this._component[l].setFormValue(this._component.value);let o=document.createElement("button");o.type=t,I(this._component,o,y),this._component.form.addEventListener("submit",c=>{Object.defineProperty(c,"submitter",{configurable:!0,enumerable:!0,get:()=>this._component})},{capture:!0,once:!0}),this._component.insertAdjacentElement("afterend",o),o.click(),o.remove()}else t==="reset"&&((i=this._component.form)==null||i.reset())}addAnchorEventListener(t,i){this._rootElement.addEventListener(t,i)}removeAnchorEventListener(t,i){this._rootElement.removeEventListener(t,i)}hasPopoverTarget(){return this._component.hasAttribute("popovertarget")||!!this._component.popoverTargetElement}managePopover(){if(this._component.form||!this.hasPopoverTarget()||!A())return!1;let t=this._locatePopoverTargetElement();if(!t)return!1;let i=this._component.getAttribute("popovertargetaction")||"toggle",o=t.matches(":popover-open");switch(i){case"show":return o||t.showPopover(),!0;case"hide":return o&&t.hidePopover(),!1;case"toggle":default:let c=t.togglePopover();if(c&&t.popover!=="manual"){let f=m=>{m.stopPropagation(),t.matches(":popover-open")&&t.hidePopover()};this._component.addEventListener("click",f,{capture:!0,once:!0}),t.addEventListener("beforetoggle",async()=>{await new Promise(m=>setTimeout(m)),this._component.removeEventListener("click",f,{capture:!0})},{once:!0})}return c}}toggleDefaultPopoverIcon(t){if(t){if(!this._endSlotElement.querySelector("forge-icon")){let o=document.createElement("forge-icon");o.classList.add(r.classes.POPOVER_ICON),o.name=d.name,this._endSlotElement.append(o)}}else{let i=this._endSlotElement.querySelector("forge-icon");i==null||i.remove()}}animateStateLayer(){var t;this._stateLayerElement.disabled||(t=this._stateLayerElement)==null||t.playAnimation()}proxyLabel(t){var o;this._labelAwareText=t!=null?t:void 0;let i=this._component.hasAttribute("aria-label")||!!this._labelAwareText;u(this._component,i,"aria-label",(o=this._component.getAttribute("aria-label"))!=null?o:this._labelAwareText)}_locatePopoverTargetElement(){var i;let t=(i=this._component.popoverTargetElement)!=null?i:null;if(!t){let o=this._component.ownerDocument.getRootNode();if(!o)return null;let c=this._component.getAttribute("popovertarget");t=o.querySelector(`#${c}`)}return t}_applyHostSemantics(){let t=this._component.getAttribute("role");(!t||["button","link"].includes(t))&&(this._component.role=this._anchorElement?"link":"button"),this._component[_]=!!this._anchorElement||!this._component.disabled}_createAnchorRootElement(){let t=document.createElement("a");return t.setAttribute("aria-hidden","true"),t.tabIndex=-1,this._component.href&&(t.href=this._component.href),this._component.target&&(t.target=this._component.target),this._component.download&&(t.download=this._component.download),this._component.rel&&(t.rel=this._component.rel),t}};export{r as a,n as b,B as c,H as d};
|
|
7
|
+
//# sourceMappingURL=chunk.NM7FJISF.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/button/base/base-button-constants.ts", "../../src/button/base/base-button.ts", "../../src/button/base/base-button-foundation.ts", "../../src/button/base/base-button-adapter.ts"],
|
|
4
|
+
"sourcesContent": ["const observedAttributes = {\n TYPE: 'type',\n DISABLED: 'disabled',\n POPOVER_ICON: 'popover-icon',\n ANCHOR: 'anchor',\n HREF: 'href',\n TARGET: 'target',\n DOWNLOAD: 'download',\n REL: 'rel',\n DENSE: 'dense',\n TABINDEX: 'tabindex'\n};\n\nconst attributes = {\n ...observedAttributes\n};\n\nconst classes = {\n ROOT: 'forge-button',\n POPOVER_ICON: 'forge-button__popover-icon'\n};\n\nconst selectors = {\n ROOT:'[part=root]',\n END_SLOT: 'slot[name=end]'\n};\n\nexport const BASE_BUTTON_CONSTANTS = {\n observedAttributes,\n attributes,\n selectors,\n classes\n};\n\nexport type ButtonType = 'button' | 'submit' | 'reset';\nexport type ButtonTarget = '_blank' | '_self' | '_parent' | '_top';\n\nexport type ButtonClickOptions = { animateStateLayer?: boolean };\n", "import { coerceBoolean, FoundationProperty } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { IconRegistry } from '../../icon/icon-registry';\nimport { WithFocusable, IWithFocusable } from '../../core/base/base-focusable-component';\nimport { BaseComponent } from '../../core/base/base-component';\nimport { ExperimentalFocusOptions, internals } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonType } from './base-button-constants';\nimport { BaseButtonFoundation } from './base-button-foundation';\nimport { WithLabelAwareness, IWithLabelAwareness } from '../../core/base/base-label-aware-component';\n\nexport interface IBaseButton extends IWithFocusable, IWithLabelAwareness {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n name: string;\n value: string;\n dense: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n form: HTMLFormElement | null;\n focus(options?: ExperimentalFocusOptions): void;\n}\n\nconst BaseButtonClass = WithLabelAwareness(WithFocusable(BaseComponent));\n\nexport abstract class BaseButton<T extends BaseButtonFoundation<IBaseButtonAdapter>> extends BaseButtonClass implements IBaseButton {\n public static readonly formAssociated = true;\n\n public [internals]: ElementInternals;\n\n protected abstract _foundation: T;\n\n constructor() {\n super();\n IconRegistry.define(tylIconArrowDropDown);\n this[internals] = this.attachInternals();\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._foundation.initialize();\n }\n\n public override attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case BASE_BUTTON_CONSTANTS.observedAttributes.TYPE:\n this.type = newValue as ButtonType;\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.POPOVER_ICON:\n this.popoverIcon = coerceBoolean(newValue);\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.ANCHOR:\n this.anchor = coerceBoolean(newValue);\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.HREF:\n this.href = newValue;\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.TARGET:\n this.target = newValue;\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DOWNLOAD:\n this.download = newValue;\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.REL:\n this.rel = newValue;\n break;\n case BASE_BUTTON_CONSTANTS.observedAttributes.DENSE:\n this.dense = coerceBoolean(newValue);\n break;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n public labelClickedCallback(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public labelChangedCallback(value: string | null): void {\n this._foundation.proxyLabel(value);\n }\n\n public get form(): HTMLFormElement | null {\n return this[internals].form;\n }\n\n public get name(): string {\n return this.getAttribute('name') ?? '';\n }\n public set name(name: string) {\n this.setAttribute('name', name);\n }\n\n public get value(): string {\n return this.getAttribute('value') ?? '';\n }\n public set value(value: string) {\n this.setAttribute('value', value);\n }\n\n @FoundationProperty()\n public declare type: ButtonType;\n\n @FoundationProperty()\n public declare disabled: boolean;\n\n @FoundationProperty()\n public declare popoverIcon: boolean;\n\n @FoundationProperty()\n public declare anchor: boolean;\n\n @FoundationProperty()\n public declare href: string;\n\n @FoundationProperty()\n public declare target: string;\n\n @FoundationProperty()\n public declare download: string;\n\n @FoundationProperty()\n public declare rel: string;\n\n @FoundationProperty()\n public declare dense: boolean;\n\n public override click(): void {\n this._foundation.click({ animateStateLayer: true });\n }\n\n public override focus(options: ExperimentalFocusOptions): void {\n this._foundation.focus(options);\n }\n}\n", "import { ICustomElementFoundation } from '@tylertech/forge-core';\nimport { ExperimentalFocusOptions } from '../../constants';\nimport { IBaseButtonAdapter } from './base-button-adapter';\nimport { BASE_BUTTON_CONSTANTS, ButtonClickOptions, ButtonType } from './base-button-constants';\n\nexport interface IBaseButtonFoundation extends ICustomElementFoundation {\n type: ButtonType;\n disabled: boolean;\n popoverIcon: boolean;\n anchor: boolean;\n href: string;\n target: string;\n download: string;\n rel: string;\n dense: boolean;\n click(options: ButtonClickOptions): void;\n focus(options?: ExperimentalFocusOptions): void;\n proxyLabel(label: string | null): void;\n}\n\nexport abstract class BaseButtonFoundation<T extends IBaseButtonAdapter> implements IBaseButtonFoundation {\n private _type: ButtonType = 'button'; // We default our buttons to the \"button\" type instead of \"submit\" as that is more common\n private _disabled = false;\n private _popoverIcon = false;\n private _anchor = false;\n private _href = '';\n private _target = '';\n private _download = '';\n private _rel = '';\n private _dense = false;\n\n private _clickListener: EventListener;\n private _keydownListener: EventListener;\n private _anchorFocusListener: EventListener;\n\n constructor(protected _adapter: T) {\n this._clickListener = (evt: MouseEvent) => this._onClick(evt);\n this._keydownListener = (evt: KeyboardEvent) => this._onKeydown(evt);\n this._anchorFocusListener = () => this._adapter.focusHost(); // Always ensure our host is focused when the anchor is focused\n this._adapter.addHostListener('keydown', this._keydownListener);\n }\n\n public initialize(): void {\n this._adapter.initialize();\n\n if (this._anchor) {\n // When we're in anchor mode, we swap to us an `<a>` internally as the root. Since the `<a>`\n // element is interactive by default, we can remove our click listener since the anchor will\n // take over the default interaction handling\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n // When we're in button mode, we need to handle the click event on the host element\n this._adapter.addHostListener('click', this._clickListener);\n }\n }\n\n /**\n * Handles overriding the the `click()` method on the HTMLElement instance\n */\n public click({ animateStateLayer = false }: ButtonClickOptions = {}): void {\n if (this._disabled) {\n return;\n }\n\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this._adapter.clickHost();\n }\n\n if (animateStateLayer) {\n this._adapter.animateStateLayer();\n }\n }\n\n public focus(options?: ExperimentalFocusOptions): void {\n this._adapter.focusHost(options);\n\n if (options?.focusVisible) {\n this._adapter.forceFocusVisible();\n }\n }\n\n public proxyLabel(label: string | null): void {\n this._adapter.proxyLabel(label);\n }\n\n protected async _onClick(evt: MouseEvent): Promise<void> {\n const isFormType = this._type === 'submit' || this._type === 'reset';\n\n // Custom elements do not work with the popover* attributes by default so we need to manually\n // manage the popover functionality for now...\n if (!isFormType && this._adapter.hasPopoverTarget()) {\n const isOpen = this._adapter.managePopover();\n\n // If the popover was opened successfully we can stop here since there is no need to\n // handle any other scenarios\n if (isOpen) {\n return;\n }\n }\n\n // Wait a cycle to allow the click event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n // We allow for our click event to bubble first before we handle it in case the developer\n // wants to prevent the default behavior\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n\n // For button types of submit or reset, we need to manually submit or reset the form\n // since the click event doesn't do that for us with custom elements\n if (isFormType) {\n this._adapter.clickFormButton(this._type);\n }\n }\n\n /**\n * Handle keydown events on the host element to manually trigger click events.\n */\n private async _onKeydown(evt: KeyboardEvent): Promise<void> {\n // Handle the special case for the space key (when not an anchor) to avoid\n // scrolling when triggered\n if (evt.key === ' ' && !this._anchor) {\n evt.preventDefault();\n this.click();\n return;\n }\n\n // Wait a cycle for the keydown event to propagate\n await new Promise<void>(resolve => setTimeout(resolve));\n\n if (evt.defaultPrevented || this._disabled) {\n return;\n }\n \n if (evt.key === 'Enter') {\n if (this._anchor) {\n this._adapter.clickAnchor();\n } else {\n this.click();\n }\n }\n }\n\n private _toggleAnchor(): void {\n if (this._anchor) {\n this._adapter.initializeAnchor();\n this._manageAnchorListeners();\n this.disabled = false; // Anchor elements are always enabled\n } else {\n this._adapter.removeAnchor();\n this._manageAnchorListeners();\n }\n }\n\n private _manageAnchorListeners(): void {\n if (this._anchor) {\n this._adapter.removeHostListener('click', this._clickListener);\n this._adapter.addAnchorEventListener('focus', this._anchorFocusListener);\n } else {\n this._adapter.addHostListener('click', this._clickListener);\n this._adapter.removeAnchorEventListener('focus', this._anchorFocusListener);\n }\n }\n\n public get type(): ButtonType {\n return this._type;\n }\n public set type(type: ButtonType) {\n if (this._type !== type) {\n this._type = type;\n this._adapter.setHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TYPE, type);\n }\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n value = Boolean(value);\n\n if (this._disabled === value) {\n return;\n }\n\n // When we're in anchor mode we need to ensure that the anchor is always enabled\n if (this._anchor) {\n value = false;\n }\n\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DISABLED, value);\n }\n\n public get popoverIcon(): boolean {\n return this._popoverIcon;\n }\n public set popoverIcon(value: boolean) {\n value = Boolean(value);\n if (this._popoverIcon !== value) {\n this._popoverIcon = value;\n this._adapter.toggleDefaultPopoverIcon(this._popoverIcon);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.POPOVER_ICON, value);\n }\n }\n\n /**\n * Anchor properties\n */\n\n public get anchor(): boolean {\n return this._anchor;\n }\n public set anchor(value: boolean) {\n value = Boolean(value);\n if (this._anchor !== value) {\n this._anchor = value;\n this._toggleAnchor();\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.ANCHOR, value);\n }\n }\n\n public get href(): string {\n return this._href;\n }\n public set href(value: string) {\n value = (value ?? '').trim();\n if (this._href !== value) {\n this._href = value;\n this.anchor = this._href.length > 0;\n if (this._anchor) {\n this._adapter.setAnchorProperty('href', this._href);\n }\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.HREF, !!this._href, this._href);\n }\n }\n\n public get target(): string {\n return this._target;\n }\n public set target(value: string) {\n if (this._target !== value) {\n this._target = value ?? '_self';\n this._adapter.setAnchorProperty('target', value);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.TARGET, !!this._target, this._target);\n }\n }\n\n public get download(): string {\n return this._download;\n }\n public set download(value: string) {\n if (this._download !== value) {\n this._download = value;\n this._adapter.setAnchorProperty('download', this._download);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DOWNLOAD, !!this._download, this._download);\n }\n }\n\n public get rel(): string {\n return this._rel;\n }\n public set rel(value: string) {\n if (this._rel !== value) {\n this._rel = value;\n this._adapter.setAnchorProperty('rel', this._rel);\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.REL, !!this._rel, this._rel);\n }\n }\n\n public get dense(): boolean {\n return this._dense;\n }\n public set dense(value: boolean) {\n value = Boolean(value);\n if (this._dense !== value) {\n this._dense = value;\n this._adapter.toggleHostAttribute(BASE_BUTTON_CONSTANTS.attributes.DENSE, value);\n }\n }\n}\n", "import { getShadowElement, toggleAttribute } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown } from '@tylertech/tyler-icons/standard';\nimport { BaseAdapter, IBaseAdapter } from '../../core/base/base-adapter';\nimport { FOCUS_INDICATOR_CONSTANTS, IFocusIndicatorComponent } from '../../focus-indicator';\nimport { IStateLayerComponent, STATE_LAYER_CONSTANTS } from '../../state-layer';\nimport { IBaseButton } from './base-button';\nimport { BASE_BUTTON_CONSTANTS } from './base-button-constants';\nimport { BUTTON_FORM_ATTRIBUTES, cloneAttributes } from '../../core/utils/reflect-utils';\nimport { internals, isFocusable } from '../../constants';\nimport { supportsPopover } from '../../core/utils/feature-detection';\n\n// TODO: remove this augmentation when the TypeScript version is upgraded for latest DOM typings\ntype TempHTMLElementWithPopover = IBaseButton & {\n popoverTargetElement: TempHTMLElementWithPopover | null;\n popover: 'manual' | 'auto';\n showPopover(): void;\n hidePopover(): void;\n togglePopover(): boolean;\n};\n\nexport interface IBaseButtonAdapter extends IBaseAdapter {\n initialize(): void;\n initializeAnchor(): void;\n removeAnchor(): void;\n setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void;\n setDisabled(value: boolean): void;\n clickAnchor(): void;\n clickHost(): void;\n clickFormButton(type: string): void;\n forceFocusVisible(): void;\n addAnchorEventListener(type: string, listener: EventListener): void;\n removeAnchorEventListener(type: string, listener: EventListener): void;\n hasPopoverTarget(): boolean;\n managePopover(): boolean;\n toggleDefaultPopoverIcon(value: boolean): void;\n animateStateLayer(): void;\n proxyLabel(value: string | null): void;\n}\n\nexport abstract class BaseButtonAdapter extends BaseAdapter<IBaseButton> implements IBaseButtonAdapter {\n protected _rootElement: HTMLElement;\n protected _anchorElement: HTMLAnchorElement | undefined;\n protected _focusIndicatorElement: IFocusIndicatorComponent;\n protected _stateLayerElement: IStateLayerComponent;\n protected _endSlotElement: HTMLSlotElement;\n\n private _labelAwareText?: string;\n\n constructor(component: IBaseButton) {\n super(component);\n this._rootElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.ROOT) as HTMLButtonElement;\n this._focusIndicatorElement = getShadowElement(this._component, FOCUS_INDICATOR_CONSTANTS.elementName) as IFocusIndicatorComponent;\n this._stateLayerElement = getShadowElement(this._component, STATE_LAYER_CONSTANTS.elementName) as IStateLayerComponent;\n this._endSlotElement = getShadowElement(this._component, BASE_BUTTON_CONSTANTS.selectors.END_SLOT) as HTMLSlotElement;\n }\n\n public initialize(): void {\n this._applyHostSemantics();\n }\n\n public initializeAnchor(): void {\n this._anchorElement = this._createAnchorRootElement();\n this._rootElement.insertAdjacentElement('afterend', this._anchorElement);\n this._applyHostSemantics();\n }\n\n public removeAnchor(): void {\n this._anchorElement?.remove();\n this._anchorElement = undefined;\n this._applyHostSemantics();\n }\n\n public setAnchorProperty<T extends keyof HTMLAnchorElement>(name: T, value: HTMLAnchorElement[T]): void {\n if (this._anchorElement) {\n this._anchorElement[name] = value;\n }\n }\n\n public setDisabled(value: boolean): void {\n if (this._anchorElement) {\n if (this.hasHostAttribute('aria-disabled')) {\n this.removeHostAttribute('aria-disabled');\n }\n if (!this._focusIndicatorElement.isConnected) {\n this._rootElement.append(this._focusIndicatorElement);\n }\n if (!this._stateLayerElement.isConnected) {\n if (this._stateLayerElement.disabled) {\n this._stateLayerElement.disabled = false;\n }\n this._rootElement.append(this._stateLayerElement);\n }\n return; // Cannot disable an anchor element\n }\n\n if (value) {\n this._focusIndicatorElement.remove();\n this._stateLayerElement.remove();\n } else {\n this._rootElement.append(this._focusIndicatorElement, this._stateLayerElement);\n }\n\n this._component[isFocusable] = !value;\n toggleAttribute(this._component, value, 'aria-disabled', 'true');\n }\n\n public clickAnchor(): void {\n this._anchorElement?.click();\n }\n\n public clickHost(): void {\n // Calling click() on the prototype ensures we don't end up in an infinite\n // recursion since the host overrides the HTMLElement.click() method\n HTMLElement.prototype.click.call(this._component);\n }\n\n public forceFocusVisible(): void {\n this._focusIndicatorElement.active = true;\n }\n\n public clickFormButton(type: string): void {\n if (!this._component.form) {\n return; // Nothing for us to do if there is no form element associated to us\n }\n\n if (type === 'submit') {\n // We need to set the form value to the button value before submitting the form\n this._component[internals].setFormValue(this._component.value);\n\n // We don't use a real <button> since the host is the semantic button, so for\n // the \"submit\" button type we need to create a temporary button and click it\n // to trigger the form submission\n const tempBtn = document.createElement('button');\n tempBtn.type = type;\n cloneAttributes(this._component, tempBtn, BUTTON_FORM_ATTRIBUTES);\n\n // form.requestSubmit(submitter) does not work with form associated custom\n // elements. This patches the dispatched submit event to add the correct `submitter`.\n // See https://github.com/WICG/webcomponents/issues/814\n this._component.form.addEventListener('submit', evt => {\n Object.defineProperty(evt, 'submitter', {\n configurable: true,\n enumerable: true,\n get: () => this._component\n });\n }, { capture: true, once: true });\n\n this._component.insertAdjacentElement('afterend', tempBtn);\n tempBtn.click();\n tempBtn.remove();\n } else if (type === 'reset') {\n this._component.form?.reset();\n }\n }\n\n public addAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.addEventListener(type, listener);\n }\n\n public removeAnchorEventListener(type: string, listener: EventListener): void {\n this._rootElement.removeEventListener(type, listener);\n }\n\n public hasPopoverTarget(): boolean {\n return this._component.hasAttribute('popovertarget') || !!(this._component as TempHTMLElementWithPopover).popoverTargetElement;\n }\n\n /**\n * We are emulating native behavior here since custom elements do not support integrating with the\n * native popover element. This method will attempt to find the popover target element and handle\n * its `popovertargetaction`\n */\n public managePopover(): boolean {\n if (this._component.form || !this.hasPopoverTarget() || !supportsPopover()) {\n return false;\n }\n \n const popoverElement = this._locatePopoverTargetElement();\n if (!popoverElement) {\n return false;\n }\n\n const action = this._component.getAttribute('popovertargetaction') || 'toggle';\n const isPopoverOpen = popoverElement.matches(':popover-open');\n\n switch (action) {\n case 'show':\n if (!isPopoverOpen) {\n popoverElement.showPopover();\n }\n return true;\n case 'hide':\n if (isPopoverOpen) {\n popoverElement.hidePopover();\n }\n return false;\n case 'toggle':\n default:\n const result = popoverElement.togglePopover();\n\n // When the popover is open and is using an \"auto\" popover mode, we need to handle\n // clicking ourselves again to close without re-opening the popover. We do this by\n // adding a click listener to the component that will stop propagation of the event\n // and then remove itself after the first click (or when the popover is closed externally).\n if (result && popoverElement.popover !== 'manual') {\n const listener: EventListener = evt => {\n evt.stopPropagation();\n\n // The popover will already be closed via pointer, but we need to ensure that\n // it closes via keyboard as well so we perform the following check regardless\n if (popoverElement.matches(':popover-open')) {\n popoverElement.hidePopover();\n }\n };\n this._component.addEventListener('click', listener, { capture: true, once: true });\n popoverElement.addEventListener('beforetoggle', async () => {\n await new Promise<void>(resolve => setTimeout(resolve)); // Wait a cycle to allow the click event to propagate first\n this._component.removeEventListener('click', listener, { capture: true });\n }, { once: true });\n }\n\n return result;\n }\n }\n\n public toggleDefaultPopoverIcon(value: boolean): void {\n if (value) {\n // We support a built-in \"popover icon\" for convenience that can be used to indicate that the button will show a popover\n const hasIcon = this._endSlotElement.querySelector('forge-icon');\n if (!hasIcon) {\n const icon = document.createElement('forge-icon');\n icon.classList.add(BASE_BUTTON_CONSTANTS.classes.POPOVER_ICON);\n icon.name = tylIconArrowDropDown.name;\n this._endSlotElement.append(icon);\n }\n } else {\n const icon = this._endSlotElement.querySelector('forge-icon');\n icon?.remove();\n }\n }\n\n public animateStateLayer(): void {\n if (this._stateLayerElement.disabled) {\n return;\n }\n this._stateLayerElement?.playAnimation();\n }\n\n public proxyLabel(value: string | null): void {\n this._labelAwareText = value ?? undefined;\n const hasAriaLabel = this._component.hasAttribute('aria-label') || !!this._labelAwareText;\n toggleAttribute(this._component, hasAriaLabel, 'aria-label', this._component.getAttribute('aria-label') ?? this._labelAwareText);\n }\n\n private _locatePopoverTargetElement(): TempHTMLElementWithPopover | null {\n let popoverElement = (this._component as TempHTMLElementWithPopover).popoverTargetElement ?? null;\n\n if (!popoverElement) {\n const rootNode = this._component.ownerDocument.getRootNode() as Document | ShadowRoot;\n if (!rootNode) {\n return null;\n }\n\n const targetId = this._component.getAttribute('popovertarget');\n popoverElement = rootNode.querySelector(`#${targetId}`);\n }\n\n return popoverElement;\n }\n\n private _applyHostSemantics(): void {\n const role = this._component.getAttribute('role');\n\n // Allow user provided roles to override our default role\n if (!role || ['button', 'link'].includes(role)) {\n // Set default role based on the existence of an anchor element\n this._component.role = this._anchorElement ? 'link' : 'button';\n }\n\n this._component[isFocusable] = !!this._anchorElement || !this._component.disabled;\n }\n\n /**\n * Our anchor element is the interactive element that will be used to trigger the click event when it is present.\n * \n * We use the <a> element as an overlay on top of all content to ensure that it provides the native functionality,\n * while removing it from the accessibility tree and tab order so that it does not interfere with the host semantics.\n */\n private _createAnchorRootElement(): HTMLAnchorElement {\n const a = document.createElement('a');\n a.setAttribute('aria-hidden', 'true');\n a.tabIndex = -1;\n if (this._component.href) {\n a.href = this._component.href;\n }\n if (this._component.target) {\n a.target = this._component.target;\n }\n if (this._component.download) {\n a.download = this._component.download;\n }\n if (this._component.rel) {\n a.rel = this._component.rel;\n }\n return a;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["observedAttributes", "attributes", "__spreadValues", "classes", "selectors", "BASE_BUTTON_CONSTANTS", "BaseButtonClass", "WithLabelAwareness", "WithFocusable", "BaseComponent", "BaseButton", "IconRegistry", "tylIconArrowDropDown", "internals", "name", "oldValue", "newValue", "BASE_BUTTON_CONSTANTS", "coerceBoolean", "value", "_a", "options", "__decorateClass", "FoundationProperty", "BaseButtonFoundation", "_adapter", "evt", "animateStateLayer", "options", "label", "isFormType", "resolve", "type", "BASE_BUTTON_CONSTANTS", "value", "BaseButtonAdapter", "BaseAdapter", "component", "getShadowElement", "BASE_BUTTON_CONSTANTS", "FOCUS_INDICATOR_CONSTANTS", "STATE_LAYER_CONSTANTS", "_a", "name", "value", "isFocusable", "toggleAttribute", "type", "internals", "tempBtn", "cloneAttributes", "BUTTON_FORM_ATTRIBUTES", "evt", "listener", "supportsPopover", "popoverElement", "action", "isPopoverOpen", "result", "resolve", "icon", "tylIconArrowDropDown", "hasAriaLabel", "rootNode", "targetId", "role", "a"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as i,c as s,d as l}from"./chunk.AR6YUJUH.js";import{a}from"./chunk.T4J66YX5.js";import{a as n}from"./chunk.6ZJIHOIG.js";import{a as o,e as t}from"./chunk.TPXXHX5J.js";import{d as e}from"./chunk.M3QDAYD2.js";var c=`${n}drawer`,d={elementName:c};var f='<template><div class="forge-drawer" part="root"><slot name="header"></slot><div class="forge-drawer__content" part="content"><slot></slot></div><slot name="footer"></slot></div></template>',b='.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:"touch";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-drawer__content::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){:host([open]){-webkit-transform:translateZ(0);transform:translateZ(0)}}}',r=class extends l{constructor(){super();t(this,f,b),this._foundation=new s(new i(this))}};r=e([a({name:d.elementName})],r);function z(){o(r)}export{d as a,r as b,z as c};
|
|
7
|
+
//# sourceMappingURL=chunk.NVR6KN2B.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/drawer/drawer/drawer-constants.ts", "../../src/drawer/drawer/drawer.ts", "../../src/drawer/drawer/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}drawer`;\n\nexport const DRAWER_CONSTANTS = {\n elementName\n};\n", "import { CustomElement, attachShadowTemplate } from '@tylertech/forge-core';\nimport { DRAWER_CONSTANTS } from './drawer-constants';\nimport { BaseDrawerAdapter, BaseDrawerComponent, BaseDrawerFoundation, IBaseDrawerComponent } from '../base';\n\nconst template = '<template><div class=\\\"forge-drawer\\\" part=\\\"root\\\"><slot name=\\\"header\\\"></slot><div class=\\\"forge-drawer__content\\\" part=\\\"content\\\"><slot></slot></div><slot name=\\\"footer\\\"></slot></div></template>';\nconst styles = '.forge-drawer{width:256px;width:var(--forge-drawer-width,256px);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);background-color:#fff;background-color:var(--mdc-theme-surface,#fff);height:100%;-webkit-box-sizing:border-box;box-sizing:border-box;display:grid;grid-template-columns:1fr;grid-template-rows:auto 1fr auto;overflow:hidden;-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform;-webkit-transition-duration:250ms;transition-duration:250ms;-webkit-transition-timing-function:cubic-bezier(0.4,0,0.2,1);transition-timing-function:cubic-bezier(0.4,0,0.2,1)}.forge-drawer ::slotted([slot=header]){grid-row:1}.forge-drawer ::slotted([slot=footer]){grid-row:3}.forge-drawer__content{overflow-x:auto;-webkit-overflow-scrolling:\\\"touch\\\";display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;grid-row:2}.forge-drawer__content::-webkit-scrollbar{height:var(--forge-scrollbar-height,16px);width:var(--forge-scrollbar-width,16px)}.forge-drawer__content::-webkit-scrollbar-track{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-track:hover{background-color:var(--forge-scrollbar-track-container-hover,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-corner{background-color:var(--forge-scrollbar-track-container,var(--forge-theme-surface-container-low,#ebebeb))}.forge-drawer__content::-webkit-scrollbar-thumb{height:var(--forge-scrollbar-thumb-min-height,32px);width:var(--forge-scrollbar-thumb-min-width,32px);border-radius:var(--forge-scrollbar-border-radius,var(--forge-shape-full,9999px));border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-color:var(--forge-scrollbar-thumb-container,var(--forge-theme-surface-container-medium,#c2c2c2));background-clip:content-box}.forge-drawer__content::-webkit-scrollbar-thumb:hover{background-color:var(--forge-scrollbar-thumb-container-hover,var(--forge-theme-surface-container-high,#9e9e9e))}.forge-drawer--left{border-right-width:1px;border-right-style:solid}.forge-drawer--right{border-left-width:1px;border-left-style:solid}.forge-drawer--right.forge-drawer--closing{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--right.forge-drawer--closed{-webkit-transform:translateX(100%);transform:translateX(100%);right:0;left:auto;width:0;border:none}.forge-drawer--closing{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;z-index:1;z-index:var(--forge-z-index-surface,1);position:absolute;top:0;right:0;-webkit-transition-duration:.2s;transition-duration:.2s}.forge-drawer--closed{-webkit-transform:translateX(-100%);transform:translateX(-100%);left:0;width:0;border:none}.forge-drawer--no-transition{-webkit-transition:none!important;transition:none!important}:host{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%;overflow:hidden!important}@media not all and (-webkit-min-device-pixel-ratio:0),not all and (min-resolution:0.001dpcm){@supports (-webkit-appearance:none) and (stroke-color:transparent){:host([open]){-webkit-transform:translateZ(0);transform:translateZ(0)}}}';\n\nexport interface IDrawerComponent extends IBaseDrawerComponent {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-drawer': IDrawerComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-drawer-after-open': CustomEvent<void>;\n 'forge-drawer-after-close': CustomEvent<void>;\n }\n}\n\n/**\n * The web component class behind the `<forge-drawer>` custom element.\n * \n * @tag forge-drawer\n */\n@CustomElement({\n name: DRAWER_CONSTANTS.elementName\n})\nexport class DrawerComponent extends BaseDrawerComponent<BaseDrawerFoundation> implements IDrawerComponent {\n protected _foundation: BaseDrawerFoundation;\n \n constructor() {\n super();\n attachShadowTemplate(this, template, styles);\n this._foundation = new BaseDrawerFoundation(new BaseDrawerAdapter(this));\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\nimport { DrawerComponent } from './drawer';\n\nexport * from './drawer-constants';\nexport * from './drawer';\n\nexport function defineDrawerComponent(): void {\n defineCustomElement(DrawerComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "wNAEA,IAAMA,EAA2C,GAAGC,UAEvCC,EAAmB,CAC9B,YAAAF,CACF,ECFA,IAAMG,EAAW,+LACXC,EAAS,gjHAuBFC,EAAN,cAA8BC,CAAsE,CAGzG,aAAc,CACZ,MAAM,EACNC,EAAqB,KAAMJ,EAAUC,CAAM,EAC3C,KAAK,YAAc,IAAII,EAAqB,IAAIC,EAAkB,IAAI,CAAC,CACzE,CACF,EARaJ,EAANK,EAAA,CAHNC,EAAc,CACb,KAAMC,EAAiB,WACzB,CAAC,GACYP,GCtBN,SAASQ,GAA8B,CAC5CC,EAAoBC,CAAe,CACrC",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "DRAWER_CONSTANTS", "template", "styles", "DrawerComponent", "BaseDrawerComponent", "attachShadowTemplate", "BaseDrawerFoundation", "BaseDrawerAdapter", "__decorateClass", "CustomElement", "DRAWER_CONSTANTS", "defineDrawerComponent", "defineCustomElement", "DrawerComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{a as l}from"./chunk.T4J66YX5.js";import{a as p}from"./chunk.6ZJIHOIG.js";import{a as i,k as n}from"./chunk.TPXXHX5J.js";import{d as r}from"./chunk.M3QDAYD2.js";var a=`${p}option-group`,m={LABEL:"label"},o={elementName:a,attributes:m};var e=class extends n{constructor(){super()}static get observedAttributes(){return[o.attributes.LABEL]}attributeChangedCallback(t,c,s){switch(t){case o.attributes.LABEL:this.label=s;break}}get label(){return this._label}set label(t){this._label!==t&&(this._label=t||"",this.setAttribute(o.attributes.LABEL,this._label))}get text(){return this._label}set text(t){this.label=t}};e=r([l({name:o.elementName})],e);function T(){i(e)}export{o as a,e as b,T as c};
|
|
7
|
+
//# sourceMappingURL=chunk.O6F4U4VY.js.map
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/option-group/option-group-constants.ts", "../../src/select/option-group/option-group.ts", "../../src/select/option-group/index.ts"],
|
|
4
4
|
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}option-group`;\n\nconst attributes = {\n LABEL: 'label'\n};\n\nexport const OPTION_GROUP_CONSTANTS = {\n elementName,\n attributes\n};\n", "import { CustomElement } from '@tylertech/forge-core';\nimport { ListDropdownOptionGroupBuilder } from '../../list-dropdown/list-dropdown-constants';\nimport { BaseComponent, IBaseComponent } from '../../core/base/base-component';\nimport { ISelectOption, ISelectOptionGroup } from '../core';\nimport { OPTION_GROUP_CONSTANTS } from './option-group-constants';\n\nexport interface IOptionGroupComponent extends Required<ISelectOptionGroup>, IBaseComponent {\n label: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-option-group': IOptionGroupComponent;\n }\n}\n\n/**\n * The custom element class behind the `<forge-option-group>` element.\n * \n * @tag forge-option-group\n */\n@CustomElement({\n name: OPTION_GROUP_CONSTANTS.elementName\n})\nexport class OptionGroupComponent extends BaseComponent implements IOptionGroupComponent {\n public static get observedAttributes(): string[] {\n return [\n OPTION_GROUP_CONSTANTS.attributes.LABEL\n ];\n }\n\n private _label: string;\n\n constructor() {\n super();\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case OPTION_GROUP_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n break;\n }\n }\n\n /** Gets/sets the label of this option group. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value || '';\n this.setAttribute(OPTION_GROUP_CONSTANTS.attributes.LABEL, this._label);\n }\n }\n\n /** The child options of this group. */\n public declare options: ISelectOption[];\n\n /** The builder function for the group content. */\n public declare builder: ListDropdownOptionGroupBuilder;\n\n /** Gets/sets the optional group value. */\n public declare value: any;\n\n /** The text content for the group. */\n public get text(): string {\n return this._label;\n }\n public set text(value: string) {\n this.label = value;\n }\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { OptionGroupComponent } from './option-group';\n\nexport * from './option-group-constants';\nexport * from './option-group';\n\nexport function defineOptionGroupComponent(): void {\n defineCustomElement(OptionGroupComponent);\n}\n"],
|
|
5
|
-
"mappings": "
|
|
5
|
+
"mappings": "uKAEA,IAAMA,EAA2C,GAAGC,gBAE9CC,EAAa,CACjB,MAAO,OACT,EAEaC,EAAyB,CACpC,YAAAH,EACA,WAAAE,CACF,ECaO,IAAME,EAAN,cAAmCC,CAA+C,CASvF,aAAc,CACZ,MAAM,CACR,CAVA,WAAkB,oBAA+B,CAC/C,MAAO,CACLC,EAAuB,WAAW,KACpC,CACF,CAQO,yBAAyBC,EAAcC,EAAkBC,EAAwB,CACtF,OAAQF,EAAM,CACZ,KAAKD,EAAuB,WAAW,MACrC,KAAK,MAAQG,EACb,KACJ,CACF,CAGA,IAAW,OAAgB,CACzB,OAAO,KAAK,MACd,CACA,IAAW,MAAMC,EAAe,CAC1B,KAAK,SAAWA,IAClB,KAAK,OAASA,GAAS,GACvB,KAAK,aAAaJ,EAAuB,WAAW,MAAO,KAAK,MAAM,EAE1E,CAYA,IAAW,MAAe,CACxB,OAAO,KAAK,MACd,CACA,IAAW,KAAKI,EAAe,CAC7B,KAAK,MAAQA,CACf,CACF,EAhDaN,EAANO,EAAA,CAHNC,EAAc,CACb,KAAMN,EAAuB,WAC/B,CAAC,GACYF,GCjBN,SAASS,GAAmC,CACjDC,EAAoBC,CAAoB,CAC1C",
|
|
6
6
|
"names": ["elementName", "COMPONENT_NAME_PREFIX", "attributes", "OPTION_GROUP_CONSTANTS", "OptionGroupComponent", "BaseComponent", "OPTION_GROUP_CONSTANTS", "name", "oldValue", "newValue", "value", "__decorateClass", "CustomElement", "defineOptionGroupComponent", "defineCustomElement", "OptionGroupComponent"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{d as y}from"./chunk.4JDJ33IU.js";import{b as N}from"./chunk.4XN2WGMP.js";import{d as B}from"./chunk.FJRCWWE2.js";import{a as E}from"./chunk.7LOMI6J3.js";import{l as I}from"./chunk.AIPDMLJD.js";import{a as A}from"./chunk.3TKTJ3BY.js";import{a as o}from"./chunk.NVUMRW44.js";import{a as T}from"./chunk.T4J66YX5.js";import{a as x}from"./chunk.6ZJIHOIG.js";import{a as v,e as b,f as n,k as O}from"./chunk.TPXXHX5J.js";import{d}from"./chunk.HZUQXCOQ.js";import{k as f,l as m}from"./chunk.J2M2MXP2.js";import{a as p,b as g,d as a}from"./chunk.M3QDAYD2.js";var _=`${x}profile-card`,L={FULL_NAME:"full-name",EMAIL:"email",SIGN_OUT:"sign-out",PROFILE:"profile",SIGN_OUT_TEXT:"sign-out-text",PROFILE_TEXT:"profile-text",AVATAR_TEXT:"avatar-text",AVATAR_ICON:"avatar-icon",AVATAR_IMAGE_URL:"avatar-image-url",AVATAR_LETTER_COUNT:"avatar-letter-count"},C={FULL_NAME:".full-name",EMAIL:".email",AVATAR:".avatar > forge-avatar",ACTION_TOOLBAR:"#action-toolbar",PROFILE_BUTTON:"#profile-button",SIGN_OUT_BUTTON:"#sign-out-button"},U={SHOW_SIGN_OUT_BUTTON:!0,SHOW_PROFILE_BUTTON:!1,SIGN_OUT_BUTTON_TEXT:"Sign out",PROFILE_BUTTON_TEXT:"Profile"},P={SIGN_OUT:`${_}-sign-out`,PROFILE:`${_}-profile`},i={elementName:_,attributes:L,selectors:C,defaults:U,events:P};var l=class extends A{constructor(e){super(e);this._fullNameElement=n(e,i.selectors.FULL_NAME),this._emailElement=n(e,i.selectors.EMAIL),this._avatarElement=n(e,i.selectors.AVATAR),this._actionToolbar=n(e,i.selectors.ACTION_TOOLBAR),this._profileButton=n(e,i.selectors.PROFILE_BUTTON),this._signOutButton=n(e,i.selectors.SIGN_OUT_BUTTON)}setFullName(e){this._fullNameElement.textContent=e}setEmail(e){this._emailElement.textContent=e}setAvatarText(e){d(this._avatarElement),this._avatarElement.text=e}setAvatarIcon(e){if(e){let h=new E({props:{name:e}});this._avatarElement.replaceChildren(h.element)}else d(this._avatarElement)}setAvatarImageUrl(e){this._avatarElement.imageUrl=e}setAvatarLetterCount(e){this._avatarElement.letterCount=e}setActionToolbarVisibility(e){e?this._actionToolbar.style.removeProperty("display"):this._actionToolbar.style.display="none"}setProfileButtonVisibility(e){e?this._profileButton.style.removeProperty("display"):this._profileButton.style.display="none"}setSignOutButtonVisibility(e){e?this._signOutButton.style.removeProperty("display"):this._signOutButton.style.display="none"}setSignOutButtonText(e){this._signOutButton.textContent=e}setProfileButtonText(e){this._profileButton.textContent=e}setProfileButtonListener(e){this._profileButton.addEventListener("click",e)}setSignOutButtonListener(e){this._signOutButton.addEventListener("click",e)}requestProfileButtonFocus(e){window.requestAnimationFrame(()=>this._profileButton.focus(e))}requestSignOutButtonFocus(e){window.requestAnimationFrame(()=>this._signOutButton.focus(e))}};var u=class{constructor(t){this._adapter=t;this._showSignOutButton=i.defaults.SHOW_SIGN_OUT_BUTTON;this._showProfileButton=i.defaults.SHOW_PROFILE_BUTTON;this._signOutButtonText=i.defaults.SIGN_OUT_BUTTON_TEXT;this._profileButtonText=i.defaults.PROFILE_BUTTON_TEXT;this._profileListener=e=>this._onProfileButtonClick(e),this._signOutListener=e=>this._onSignOutButtonClick(e)}initialize(){this._adapter.setProfileButtonListener(this._profileListener),this._adapter.setSignOutButtonListener(this._signOutListener)}focus(t){this._showSignOutButton?this._adapter.requestSignOutButtonFocus(g(p({},t),{focusVisible:!0})):this._showProfileButton&&this._adapter.requestProfileButtonFocus(g(p({},t),{focusVisible:!0}))}_setActionVisibility(){let t=this._showSignOutButton||this._showProfileButton;this._adapter.setActionToolbarVisibility(t),this._adapter.setSignOutButtonVisibility(this._showSignOutButton),this._adapter.setProfileButtonVisibility(this._showProfileButton)}_onProfileButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.PROFILE)}_onSignOutButtonClick(t){t.stopPropagation(),this._adapter.emitHostEvent(i.events.SIGN_OUT)}get fullName(){return this._fullName}set fullName(t){this._fullName!==t&&(this._fullName=t!=null?t:"",this._adapter.setFullName(this._fullName),this._avatarText||this._adapter.setAvatarText(this._fullName),this._adapter.toggleHostAttribute(i.attributes.FULL_NAME,!!this._fullName,this._fullName))}get email(){return this._email}set email(t){this._email!==t&&(this._email=t!=null?t:"",this._adapter.setEmail(this._email),this._adapter.toggleHostAttribute(i.attributes.EMAIL,!!this._email,this._email))}get avatarText(){return this._avatarText}set avatarText(t){this._avatarText!==t&&(this._avatarText=t!=null?t:"",this._adapter.setAvatarText(this._avatarText),this._adapter.toggleHostAttribute(i.attributes.AVATAR_TEXT,!!this._avatarText,this._avatarText))}get avatarIcon(){return this._avatarIcon}set avatarIcon(t){this._avatarIcon!==t&&(this._avatarIcon=t!=null?t:"",this._adapter.setAvatarIcon(this._avatarIcon),this._adapter.toggleHostAttribute(i.attributes.AVATAR_ICON,!!this._avatarIcon,this._avatarIcon))}get avatarImageUrl(){return this._avatarImageUrl}set avatarImageUrl(t){this._avatarImageUrl!==t&&(this._avatarImageUrl=t,this._adapter.setAvatarImageUrl(this._avatarImageUrl),this._adapter.toggleHostAttribute(i.attributes.AVATAR_IMAGE_URL,!!this._avatarImageUrl,this._avatarImageUrl))}get avatarLetterCount(){return this._avatarLetterCount}set avatarLetterCount(t){this._avatarLetterCount!==t&&(this._avatarLetterCount=t,this._adapter.setAvatarLetterCount(this._avatarLetterCount),this._adapter.toggleHostAttribute(i.attributes.AVATAR_LETTER_COUNT,!!this._avatarLetterCount,`${this._avatarLetterCount}`))}get signOut(){return this._showSignOutButton}set signOut(t){t=!!t,this._showSignOutButton!==t&&(this._showSignOutButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT,this._showSignOutButton))}get profile(){return this._showProfileButton}set profile(t){t=!!t,this._showProfileButton!==t&&(this._showProfileButton=t,this._setActionVisibility(),this._adapter.toggleHostAttribute(i.attributes.PROFILE,this._showProfileButton))}get signOutText(){return this._signOutButtonText}set signOutText(t){if(this._signOutButtonText!==t){this._signOutButtonText=t||i.defaults.SIGN_OUT_BUTTON_TEXT,this._adapter.setSignOutButtonText(this._signOutButtonText);let e=this._signOutButtonText!==i.defaults.SIGN_OUT_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.SIGN_OUT_TEXT,e,this._signOutButtonText)}}get profileText(){return this._profileButtonText}set profileText(t){if(this._profileButtonText!==t){this._profileButtonText=t||i.defaults.PROFILE_BUTTON_TEXT,this._adapter.setProfileButtonText(this._profileButtonText);let e=t!==i.defaults.PROFILE_BUTTON_TEXT;this._adapter.toggleHostAttribute(i.attributes.PROFILE_TEXT,e,this._profileButtonText)}}};var R='<template><div class="forge-profile-card" part="root"><div class="info-container"><div class="avatar"><forge-avatar part="avatar"></forge-avatar></div><div class="info-text"><div class="full-name" part="name"></div><div class="email" part="email"></div></div></div><slot></slot><forge-toolbar inverted id="action-toolbar"><forge-button variant="outlined" slot="end" style="display: none;" part="profile-button" id="profile-button">Profile</forge-button><forge-button slot="end" part="sign-out-button" id="sign-out-button">Sign out</forge-button></forge-toolbar></div></template>',S=':host{display:block}:host([hidden]){display:none}.forge-profile-card{--_profile-card-min-width:var(--forge-profile-card-min-width, 360px);--_profile-card-shape:var(--forge-profile-card-border-radius, var(--forge-shape-medium, 4px));--_profile-card-avatar-size:var(--forge-profile-card-avatar-size, 56px)}.forge-profile-card{min-width:var(--_profile-card-min-width);border-radius:var(--_profile-card-shape)}@media (max-width:399px){.forge-profile-card{width:100vw;min-width:unset;overflow:auto}}.forge-profile-card .info-container{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding-block:var(--forge-spacing-xsmall,8px);padding-inline:var(--forge-spacing-medium,16px)}.forge-profile-card .avatar{display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;padding:var(--forge-spacing-xsmall,8px);-webkit-margin-end:var(--forge-spacing-medium,16px);margin-inline-end:var(--forge-spacing-medium,16px);--forge-avatar-size:var(--_profile-card-avatar-size)}.forge-profile-card .text{display:-webkit-box;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column}.forge-profile-card .full-name{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-heading2-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-heading2-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-font-size-scale, 1)));font-weight:var(--forge-typography-heading2-font-weight,500);line-height:var(--forge-typography-heading2-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-heading2-line-height-scale, 1.25)));letter-spacing:var(--forge-typography-heading2-letter-spacing, .0125em);text-transform:var(--forge-typography-heading2-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-heading2-text-decoration,inherit);text-decoration:var(--forge-typography-heading2-text-decoration,inherit)}.forge-profile-card .email{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--forge-typography-subheading1-font-family, var(--forge-typography-font-family, "Roboto", sans-serif));font-size:var(--forge-typography-subheading1-font-size, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-font-size-scale, .875)));font-weight:var(--forge-typography-subheading1-font-weight,400);line-height:var(--forge-typography-subheading1-line-height, calc(var(--forge-typography-font-size, 1rem) * var(--forge-typography-subheading1-line-height-scale, 1.125)));letter-spacing:var(--forge-typography-subheading1-letter-spacing, normal);text-transform:var(--forge-typography-subheading1-text-transform,inherit);-webkit-text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);text-decoration:var(--forge-typography-subheading1-text-decoration,inherit);color:var(--forge-theme-text-medium,rgba(0,0,0,.54))}#action-toolbar{--forge-toolbar-padding:8px}#action-toolbar forge-button:not(:last-of-type){-webkit-margin-end:8px;margin-inline-end:8px}',r=class extends O{constructor(){super();b(this,R,S),this._foundation=new u(new l(this))}static get observedAttributes(){return[i.attributes.FULL_NAME,i.attributes.EMAIL,i.attributes.SIGN_OUT,i.attributes.PROFILE,i.attributes.SIGN_OUT_TEXT,i.attributes.PROFILE_TEXT,i.attributes.AVATAR_TEXT,i.attributes.AVATAR_ICON,i.attributes.AVATAR_IMAGE_URL,i.attributes.AVATAR_LETTER_COUNT]}connectedCallback(){this._foundation.initialize()}attributeChangedCallback(e,h,s){switch(e){case i.attributes.FULL_NAME:this.fullName=s;break;case i.attributes.EMAIL:this.email=s;break;case i.attributes.SIGN_OUT:this.signOut=f(s);break;case i.attributes.PROFILE:this.profile=f(s);break;case i.attributes.SIGN_OUT_TEXT:this.signOutText=s;break;case i.attributes.PROFILE_TEXT:this.profileText=s;break;case i.attributes.AVATAR_TEXT:this.avatarText=s;break;case i.attributes.AVATAR_ICON:this.avatarIcon=s;break;case i.attributes.AVATAR_IMAGE_URL:this.avatarImageUrl=s;break;case i.attributes.AVATAR_LETTER_COUNT:this.avatarLetterCount=m(s);break}}focus(e){this._foundation.focus(e)}};a([o()],r.prototype,"fullName",2),a([o()],r.prototype,"email",2),a([o()],r.prototype,"signOut",2),a([o()],r.prototype,"profile",2),a([o()],r.prototype,"signOutText",2),a([o()],r.prototype,"profileText",2),a([o()],r.prototype,"avatarText",2),a([o()],r.prototype,"avatarIcon",2),a([o()],r.prototype,"avatarImageUrl",2),a([o()],r.prototype,"avatarLetterCount",2),r=a([T({name:i.elementName,dependencies:[N,B,I,y]})],r);function st(){v(r)}export{i as a,l as b,u as c,r as d,st as e};
|
|
7
|
+
//# sourceMappingURL=chunk.ONII3BV3.js.map
|