@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
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { task } from '../../core/utils/event-utils';
|
|
7
|
+
import { RADIO_CONSTANTS } from './radio-constants';
|
|
8
|
+
export class RadioFoundation {
|
|
9
|
+
constructor(_adapter) {
|
|
10
|
+
this._adapter = _adapter;
|
|
11
|
+
// State
|
|
12
|
+
this._checked = false;
|
|
13
|
+
this._defaultChecked = false;
|
|
14
|
+
this._value = 'on';
|
|
15
|
+
this._disabled = false;
|
|
16
|
+
this._required = false;
|
|
17
|
+
this._readonly = false;
|
|
18
|
+
this._dense = false;
|
|
19
|
+
this._labelPosition = 'end';
|
|
20
|
+
this._focusListener = () => this._handleFocus();
|
|
21
|
+
this._blurListener = () => this._handleBlur();
|
|
22
|
+
this._clickListener = (evt) => this._handleClick(evt);
|
|
23
|
+
this._keydownListener = (evt) => this._handleKeydown(evt);
|
|
24
|
+
this._keyupListener = (evt) => this._handleKeyup(evt);
|
|
25
|
+
}
|
|
26
|
+
initialize() {
|
|
27
|
+
this._adapter.addHostListener('focus', this._focusListener);
|
|
28
|
+
this._adapter.addHostListener('blur', this._blurListener);
|
|
29
|
+
this._adapter.addHostListener('click', this._clickListener);
|
|
30
|
+
this._adapter.addHostListener('keydown', this._keydownListener);
|
|
31
|
+
this._adapter.addHostListener('keyup', this._keyupListener);
|
|
32
|
+
}
|
|
33
|
+
// Public methods
|
|
34
|
+
tryCheck() {
|
|
35
|
+
this._checked = true;
|
|
36
|
+
if (!this._dispatchEvents()) {
|
|
37
|
+
this._checked = false;
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
this._adapter.setChecked(this._checked, this._value);
|
|
41
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
// Event handlers
|
|
45
|
+
_handleFocus() {
|
|
46
|
+
if (!this._checked) {
|
|
47
|
+
this._adapter.setUncheckedRadioGroupFocus('focus');
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
_handleBlur() {
|
|
51
|
+
if (!this._checked) {
|
|
52
|
+
this._adapter.setUncheckedRadioGroupFocus('blur');
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
_handleClick(evt) {
|
|
56
|
+
this._activate(evt);
|
|
57
|
+
}
|
|
58
|
+
_handleKeydown(evt) {
|
|
59
|
+
switch (evt.key) {
|
|
60
|
+
case 'ArrowRight':
|
|
61
|
+
case 'ArrowDown':
|
|
62
|
+
evt.preventDefault();
|
|
63
|
+
this._adapter.focusNext();
|
|
64
|
+
break;
|
|
65
|
+
case 'ArrowLeft':
|
|
66
|
+
case 'ArrowUp':
|
|
67
|
+
evt.preventDefault();
|
|
68
|
+
this._adapter.focusPrevious();
|
|
69
|
+
break;
|
|
70
|
+
case ' ':
|
|
71
|
+
// Prevent the spacebar from scrolling the page
|
|
72
|
+
evt.preventDefault();
|
|
73
|
+
break;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
_handleKeyup(evt) {
|
|
77
|
+
if (evt.key === ' ') {
|
|
78
|
+
this._activate(evt);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Checks the radio button if it is not disabled or readonly. Exits early if the activating
|
|
83
|
+
* event is cancelled.
|
|
84
|
+
*/
|
|
85
|
+
async _activate(evt) {
|
|
86
|
+
if (this._checked || this._disabled || this._readonly) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
// Wait a task to allow the event to propagate to user code.
|
|
90
|
+
await task();
|
|
91
|
+
if (evt.defaultPrevented) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
this._checked = true;
|
|
95
|
+
if (!this._dispatchEvents()) {
|
|
96
|
+
this._checked = false;
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this._adapter.setChecked(this._checked, this._value);
|
|
100
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Dispatches change and input events.
|
|
104
|
+
*
|
|
105
|
+
* @returns {boolean} - Returns true if neither event was cancelled.
|
|
106
|
+
*/
|
|
107
|
+
_dispatchEvents() {
|
|
108
|
+
// Emit both change and input events per the spec.
|
|
109
|
+
const changeEvent = new Event(RADIO_CONSTANTS.events.CHANGE, { bubbles: true, cancelable: true });
|
|
110
|
+
const inputEvent = new Event(RADIO_CONSTANTS.events.INPUT, { bubbles: true, cancelable: true, composed: true });
|
|
111
|
+
this._adapter.dispatchHostEvent(new Event(RADIO_CONSTANTS.events.CHANGE, { bubbles: true, cancelable: true }));
|
|
112
|
+
this._adapter.dispatchHostEvent(new Event(RADIO_CONSTANTS.events.INPUT, { bubbles: true, cancelable: true, composed: true }));
|
|
113
|
+
return !(changeEvent.defaultPrevented || inputEvent.defaultPrevented);
|
|
114
|
+
}
|
|
115
|
+
get checked() {
|
|
116
|
+
return this._checked;
|
|
117
|
+
}
|
|
118
|
+
set checked(value) {
|
|
119
|
+
if (this._checked !== value) {
|
|
120
|
+
this._checked = value;
|
|
121
|
+
this._adapter.setChecked(this._checked, this._value);
|
|
122
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.CHECKED, this._checked);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
get defaultChecked() {
|
|
126
|
+
return this._defaultChecked;
|
|
127
|
+
}
|
|
128
|
+
set defaultChecked(value) {
|
|
129
|
+
if (this._defaultChecked !== value) {
|
|
130
|
+
this._defaultChecked = value;
|
|
131
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DEFAULT_CHECKED, this._defaultChecked);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
get value() {
|
|
135
|
+
return this._value;
|
|
136
|
+
}
|
|
137
|
+
set value(value) {
|
|
138
|
+
if (this._value !== value) {
|
|
139
|
+
this._value = value;
|
|
140
|
+
this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.VALUE, this._value);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
get disabled() {
|
|
144
|
+
return this._disabled;
|
|
145
|
+
}
|
|
146
|
+
set disabled(value) {
|
|
147
|
+
if (this._disabled !== value) {
|
|
148
|
+
this._disabled = value;
|
|
149
|
+
// Attempt to set disabled, restore if unsuccessful
|
|
150
|
+
if (this._adapter.trySetDisabled(this._disabled)) {
|
|
151
|
+
this._adapter.disableStateLayer(this._disabled || this._readonly);
|
|
152
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DISABLED, this._disabled);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
this._disabled = !this._disabled;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
get required() {
|
|
160
|
+
return this._required;
|
|
161
|
+
}
|
|
162
|
+
set required(value) {
|
|
163
|
+
if (this._required !== value) {
|
|
164
|
+
this._required = value;
|
|
165
|
+
this._adapter.setRequired(this._required);
|
|
166
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.REQUIRED, this._required);
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
get readonly() {
|
|
170
|
+
return this._readonly;
|
|
171
|
+
}
|
|
172
|
+
set readonly(value) {
|
|
173
|
+
if (this._readonly !== value) {
|
|
174
|
+
this._readonly = value;
|
|
175
|
+
this._adapter.setReadonly(this._readonly);
|
|
176
|
+
this._adapter.disableStateLayer(this._disabled || this._readonly);
|
|
177
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.READONLY, this._readonly);
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
get dense() {
|
|
181
|
+
return this._dense;
|
|
182
|
+
}
|
|
183
|
+
set dense(value) {
|
|
184
|
+
if (this._dense !== value) {
|
|
185
|
+
this._dense = value;
|
|
186
|
+
this._adapter.toggleHostAttribute(RADIO_CONSTANTS.attributes.DENSE, this._dense);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
get labelPosition() {
|
|
190
|
+
return this._labelPosition;
|
|
191
|
+
}
|
|
192
|
+
set labelPosition(value) {
|
|
193
|
+
if (this._labelPosition !== value) {
|
|
194
|
+
this._labelPosition = value;
|
|
195
|
+
this._adapter.setLabelPosition(this._labelPosition);
|
|
196
|
+
this._adapter.setHostAttribute(RADIO_CONSTANTS.attributes.LABEL_POSITION, this._labelPosition);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { getFormState, getFormValue } from '../../constants';
|
|
7
|
+
import { BaseComponent, IWithElementInternals, IWithFocusable, IWithFormAssociation, IWithLabelAwareness } from '../../core/base';
|
|
8
|
+
import { FormValue } from '../../core/utils/form-utils';
|
|
9
|
+
import { RadioLabelPosition, RadioState, tryCheck } from './radio-constants';
|
|
10
|
+
export interface IRadioComponent extends IWithFormAssociation, IWithFocusable, IWithLabelAwareness, IWithElementInternals {
|
|
11
|
+
checked: boolean;
|
|
12
|
+
defaultChecked: boolean;
|
|
13
|
+
required: boolean;
|
|
14
|
+
dense: boolean;
|
|
15
|
+
labelPosition: RadioLabelPosition;
|
|
16
|
+
}
|
|
17
|
+
declare global {
|
|
18
|
+
interface HTMLElementTagNameMap {
|
|
19
|
+
'forge-radio': IRadioComponent;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
declare const BaseRadioClass: import("../../constants").AbstractConstructor<import("../../core/base").WithFormAssociationContract> & import("../../constants").AbstractConstructor<import("../../core/base").WithLabelAwarenessContract> & import("../../constants").AbstractConstructor<import("../../core/base").WithFocusableContract> & import("../../constants").AbstractConstructor<import("../../core/base").WithElementInternalsContract> & typeof BaseComponent;
|
|
23
|
+
/**
|
|
24
|
+
* @tag forge-radio
|
|
25
|
+
*
|
|
26
|
+
* @summary The Forge Radio component is used to create a form input where only one out of a set of
|
|
27
|
+
* values should be selected.
|
|
28
|
+
*
|
|
29
|
+
* @property {boolean} checked - Indicates whether the radio button is checked.
|
|
30
|
+
* @property {boolean} defaultChecked - Indicates whether the radio button is checked by default.
|
|
31
|
+
* @property {string} value - The value of the radio button when submitted.
|
|
32
|
+
* @property {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.
|
|
33
|
+
* @property {boolean} disabled - Indicates whether the radio button is disabled.
|
|
34
|
+
* @property {boolean} required - Indicates whether the radio button is required.
|
|
35
|
+
* @property {boolean} readonly - Indicates whether the radio button is read-only.
|
|
36
|
+
* @property {RadioLabelPosition} labelPosition - The position of the radio button's label.
|
|
37
|
+
*
|
|
38
|
+
* @attribute {boolean} checked - Indicates whether the radio button is checked.
|
|
39
|
+
* @attribute {boolean} default-checked - Indicates whether the radio button is checked by default.
|
|
40
|
+
* @attribute {string} value - The value of the radio button when submitted.
|
|
41
|
+
* @attribute {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.
|
|
42
|
+
* @attribute {boolean} disabled - Indicates whether the radio button is disabled.
|
|
43
|
+
* @attribute {boolean} required - Indicates whether the radio button is required.
|
|
44
|
+
* @attribute {boolean} readonly - Indicates whether the radio button is read-only.
|
|
45
|
+
* @attribute {RadioLabelPosition} label-position - The position of the radio button's label.
|
|
46
|
+
*
|
|
47
|
+
* @cssproperty --forge-radio-primary-color - The primary color of the radio button when checked.
|
|
48
|
+
* @cssproperty --forge-radio-inactive-color - The color of the radio button when unchecked.
|
|
49
|
+
* @cssproperty --forge-radio-size - The size of the radio button in the inline and block directions.
|
|
50
|
+
* @cssproperty --forge-radio-width - The width of the radio button.
|
|
51
|
+
* @cssproperty --forge-radio-height - The height of the radio button.
|
|
52
|
+
* @cssproperty --forge-radio-border-width - The width of the radio button's border.
|
|
53
|
+
* @cssproperty --forge-radio-unchecked-border-color - The color of the radio button's border when unchecked.
|
|
54
|
+
* @cssproperty --forge-radio-checked-border-color - The color of the radio button's border when checked.
|
|
55
|
+
* @cssproperty --forge-radio-background - The background of the radio button.
|
|
56
|
+
* @cssproperty --forge-radio-shape - The shape of the radio button.
|
|
57
|
+
* @cssproperty --forge-radio-mark-size - The size of the radio button's mark in the inline and block directions.
|
|
58
|
+
* @cssproperty --forge-radio-mark-width - The width of the radio button's mark.
|
|
59
|
+
* @cssproperty --forge-radio-mark-height - The height of the radio button's mark.
|
|
60
|
+
* @cssproperty --forge-radio-mark-unchecked-color - The color of the radio button's mark when unchecked.
|
|
61
|
+
* @cssproperty --forge-radio-mark-checked-color - The color of the radio button's mark when checked.
|
|
62
|
+
* @cssproperty --forge-radio-mark-unchecked-background - The background of the radio button's mark when unchecked.
|
|
63
|
+
* @cssproperty --forge-radio-mark-checked-background - The background of the radio button's mark when checked.
|
|
64
|
+
* @cssproperty --forge-radio-gap - The gap between the radio button and its label.
|
|
65
|
+
* @cssproperty --forge-radio-justify - The alignment of the radio button and its label in the inline direction.
|
|
66
|
+
* @cssproperty --forge-radio-direction - The direction of the radio button and its label.
|
|
67
|
+
* @cssproperty --forge-radio-state-layer-size - The size of the radio button's state layer in the inline and block directions.
|
|
68
|
+
* @cssproperty --forge-radio-state-layer-width - The width of the radio button's state layer.
|
|
69
|
+
* @cssproperty --forge-radio-state-layer-height - The height of the radio button's state layer.
|
|
70
|
+
* @cssproperty --forge-radio-state-layer-unchecked-color - The color of the radio button's state layer when unchecked.
|
|
71
|
+
* @cssproperty --forge-radio-state-layer-checked-color - The color of the radio button's state layer when checked.
|
|
72
|
+
* @cssproperty --forge-radio-state-layer-shape - The shape of the radio button's state layer.
|
|
73
|
+
* @cssproperty --forge-radio-state-layer-dense-size - The size of the radio button's state layer when dense.
|
|
74
|
+
* @cssproperty --forge-radio-state-layer-dense-width - The width of the radio button's state layer when dense.
|
|
75
|
+
* @cssproperty --forge-radio-state-layer-dense-height - The height of the radio button's state layer when dense.
|
|
76
|
+
* @cssproperty --forge-radio-disabled-opacity - The opacity of the radio button when disabled.
|
|
77
|
+
* @cssproperty --forge-radio-animation-duration - The duration of the radio button's animations.
|
|
78
|
+
* @cssproperty --forge-radio-animation-timing-function - The timing function of the radio button's animations.
|
|
79
|
+
* @cssproperty --forge-radio-animation-delay - The delay of the radio button's animations.
|
|
80
|
+
*
|
|
81
|
+
* @csspart radio - Styles the radio's root element.
|
|
82
|
+
* @csspart background - Styles the border and background of the radio.
|
|
83
|
+
* @csspart focus-indicator - Styles the focus indicator of the radio.
|
|
84
|
+
* @csspart state-layer - Styles the state layer of the radio.
|
|
85
|
+
*
|
|
86
|
+
* @slot - This is a default/unnamed slot for the label text.
|
|
87
|
+
*/
|
|
88
|
+
export declare class RadioComponent extends BaseRadioClass implements IRadioComponent {
|
|
89
|
+
static get observedAttributes(): string[];
|
|
90
|
+
private _foundation;
|
|
91
|
+
constructor();
|
|
92
|
+
connectedCallback(): void;
|
|
93
|
+
attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
|
|
94
|
+
[getFormValue](): FormValue | null;
|
|
95
|
+
[getFormState](): RadioState;
|
|
96
|
+
formResetCallback(): void;
|
|
97
|
+
formStateRestoreCallback(state: RadioState): void;
|
|
98
|
+
labelClickedCallback(): void;
|
|
99
|
+
labelChangedCallback(value: string | null): void;
|
|
100
|
+
checked: boolean;
|
|
101
|
+
defaultChecked: boolean;
|
|
102
|
+
value: string;
|
|
103
|
+
dense: boolean;
|
|
104
|
+
disabled: boolean;
|
|
105
|
+
required: boolean;
|
|
106
|
+
readonly: boolean;
|
|
107
|
+
labelPosition: RadioLabelPosition;
|
|
108
|
+
[tryCheck](): boolean;
|
|
109
|
+
}
|
|
110
|
+
export {};
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { __decorate } from "tslib";
|
|
7
|
+
import { CustomElement, FoundationProperty, attachShadowTemplate, coerceBoolean } from '@tylertech/forge-core';
|
|
8
|
+
import { getFormState, getFormValue, inputType, internals, setDefaultAria } from '../../constants';
|
|
9
|
+
import { BaseComponent, WithElementInternals, WithFocusable, WithFormAssociation, WithLabelAwareness } from '../../core/base';
|
|
10
|
+
import { FocusIndicatorComponent } from '../../focus-indicator';
|
|
11
|
+
import { StateLayerComponent } from '../../state-layer';
|
|
12
|
+
import { RadioGroupManager } from '../core/radio-group-manager';
|
|
13
|
+
import { RadioAdapter } from './radio-adapter';
|
|
14
|
+
import { RADIO_CONSTANTS, tryCheck } from './radio-constants';
|
|
15
|
+
import { RadioFoundation } from './radio-foundation';
|
|
16
|
+
const template = '<template><div id=\"radio\" class=\"forge-radio\" part=\"radio\"><div id=\"container\" class=\"container\" aria-hidden=\"true\"><div id=\"background\" class=\"background\" part=\"background\"></div><forge-focus-indicator target=\":host\" part=\"focus-indicator\"></forge-focus-indicator><forge-state-layer exportparts=\"surface:state-layer\"></forge-state-layer></div><span id=\"label\" class=\"label\" for=\"input\" part=\"label\"><slot></slot></span></div></template>';
|
|
17
|
+
const style = ':host{display:inline-block}:host([hidden]){display:none}:host(:focus){outline:0}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, space-between);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-state-layer-state-layer-unchecked-color, var(--_state-layer-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms)}.forge-radio{--_radio-primary-color:var(--forge-radio-primary-color, var(--forge-theme-tertiary, #3d5afe));--_radio-inactive-color:var(--forge-radio-inactive-color, var(--forge-theme-surface-container-high, #9e9e9e));--_radio-size:var(--forge-radio-size, 20px);--_radio-mark-size:var(--forge-radio-mark-size, 12px);--_radio-state-layer-size:var(--forge-radio-state-layer-size, 40px);--_radio-state-layer-dense-size:var(--forge-radio-state-layer-dense-size, 24px);--_radio-width:var(--forge-radio-width, var(--_radio-size));--_radio-height:var(--forge-radio-height, var(--_radio-size));--_radio-border-width:var(--forge-radio-border-width, var(--forge-border-medium, 2px));--_radio-unchecked-border-color:var(--forge-radio-unchecked-border-color, var(--_radio-inactive-color));--_radio-checked-border-color:var(--forge-radio-checked-border-color, var(--_radio-primary-color));--_radio-background:var(--forge-radio-background, transparent);--_radio-shape:var(--forge-radio-shape, var(--forge-shape-round, 50%));--_radio-mark-width:var(--forge-radio-mark-width, var(--_radio-mark-size));--_radio-mark-height:var(--forge-radio-mark-height, var(--_radio-mark-size));--_radio-mark-unchecked-color:var(--forge-radio-mark-unchecked-color, var(--_radio-inactive-color));--_radio-mark-checked-color:var(--forge-radio-mark-checked-color, var(--_radio-primary-color));--_radio-mark-unchecked-background:var(--forge-radio-mark-unchecked-background, transparent);--_radio-mark-checked-background:var(--forge-radio-mark-checked-background, transparent);--_radio-gap:var(--forge-radio-gap, 0);--_radio-justify:var(--forge-radio-justify, space-between);--_radio-direction:var(--forge-radio-direction, initial);--_radio-state-layer-width:var(--forge-radio-state-layer-width, var(--_radio-state-layer-size));--_radio-state-layer-height:var(--forge-radio-state-layer-height, var(--_radio-state-layer-size));--_radio-state-layer-unchecked-color:var(--forge-state-layer-state-layer-unchecked-color, var(--_state-layer-color));--_radio-state-layer-checked-color:var(--forge-radio-state-layer-checked-color, var(--_radio-primary-color));--_radio-state-layer-shape:var(--forge-radio-state-layer-shape, var(--_radio-shape));--_radio-state-layer-dense-width:var(--forge-radio-state-layer-dense-width, var(--_radio-state-layer-dense-size));--_radio-state-layer-dense-height:var(--forge-radio-state-layer-dense-height, var(--_radio-state-layer-dense-size));--_radio-disabled-opacity:var(--forge-radio-disabled-opacity, 0.38);--_radio-animation-duration:var(--forge-radio-animation-duration, var(--forge-animation-duration-short4, 200ms));--_radio-animation-timing-function:var(--forge-radio-animation-timing-function, var(--forge-animation-easing-decelerate, cubic-bezier(0, 0, 0, 1)));--_radio-animation-delay:var(--forge-radio-animation-delay, 0ms);position:relative;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:var(--_radio-direction);flex-shrink:0;-webkit-box-align:center;align-items:center;-webkit-box-pack:var(--_radio-justify);justify-content:var(--_radio-justify);gap:var(--_radio-gap);display:-webkit-box;display:flex}.forge-radio .container{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;border-radius:var(--_radio-shape);inline-size:var(--_radio-state-layer-width);block-size:var(--_radio-state-layer-height);cursor:pointer}.forge-radio .background{position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;display:-webkit-box;display:flex;overflow:hidden;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:border-color;transition-property:border-color;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:var(--_radio-shape);border-width:var(--_radio-border-width);border-style:solid;border-color:var(--_radio-unchecked-border-color);inline-size:var(--_radio-width);block-size:var(--_radio-height);background:var(--_radio-background)}.forge-radio .background::after{content:\"\";position:absolute;contain:strict;-webkit-transition-duration:var(--_radio-animation-duration);transition-duration:var(--_radio-animation-duration);-webkit-transition-delay:var(--_radio-animation-delay);transition-delay:var(--_radio-animation-delay);-webkit-transition-timing-function:var(--_radio-animation-timing-function);transition-timing-function:var(--_radio-animation-timing-function);-webkit-transition-property:inline-size,block-size,border-color;transition-property:inline-size,block-size,border-color;border-radius:var(--_radio-shape);border-width:calc(var(--_radio-mark-height)/ 2) calc(var(--_radio-mark-width)/ 2);border-color:var(--_radio-mark-unchecked-color);border-style:solid;inline-size:calc(var(--_radio-width) - 2 * var(--_radio-border-width));block-size:calc(var(--_radio-height) - 2 * var(--_radio-border-width));background:var(--_radio-mark-unchecked-background)}.forge-radio .label{-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);cursor:default}.forge-radio .label:empty{display:none}:host([checked]) .forge-radio .background{border-color:var(--_radio-checked-border-color)}:host([checked]) .forge-radio .background::after{border-color:var(--_radio-mark-checked-color);inline-size:0px;block-size:0px;background:var(--_radio-mark-checked-background)}:host([checked]) forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-checked-color)}:host([dense]) .forge-radio .container{inline-size:var(--_radio-state-layer-dense-width);block-size:var(--_radio-state-layer-dense-height)}:host([disabled]) .forge-radio{opacity:var(--_radio-disabled-opacity)}:host([disabled]) .forge-radio .container{cursor:not-allowed}:host([readonly]) .forge-radio .container{cursor:not-allowed}forge-focus-indicator{--forge-focus-indicator-color:var(--_radio-primary-color);--forge-focus-indicator-outward-offset:0px;--forge-focus-indicator-shape:var(--_radio-state-layer-shape)}forge-state-layer{--forge-state-layer-color:var(--_radio-state-layer-unchecked-color)}';
|
|
18
|
+
const BaseRadioClass = WithFormAssociation(WithLabelAwareness(WithFocusable(WithElementInternals(BaseComponent, RADIO_CONSTANTS.observedAriaAttributes))));
|
|
19
|
+
/**
|
|
20
|
+
* @tag forge-radio
|
|
21
|
+
*
|
|
22
|
+
* @summary The Forge Radio component is used to create a form input where only one out of a set of
|
|
23
|
+
* values should be selected.
|
|
24
|
+
*
|
|
25
|
+
* @property {boolean} checked - Indicates whether the radio button is checked.
|
|
26
|
+
* @property {boolean} defaultChecked - Indicates whether the radio button is checked by default.
|
|
27
|
+
* @property {string} value - The value of the radio button when submitted.
|
|
28
|
+
* @property {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.
|
|
29
|
+
* @property {boolean} disabled - Indicates whether the radio button is disabled.
|
|
30
|
+
* @property {boolean} required - Indicates whether the radio button is required.
|
|
31
|
+
* @property {boolean} readonly - Indicates whether the radio button is read-only.
|
|
32
|
+
* @property {RadioLabelPosition} labelPosition - The position of the radio button's label.
|
|
33
|
+
*
|
|
34
|
+
* @attribute {boolean} checked - Indicates whether the radio button is checked.
|
|
35
|
+
* @attribute {boolean} default-checked - Indicates whether the radio button is checked by default.
|
|
36
|
+
* @attribute {string} value - The value of the radio button when submitted.
|
|
37
|
+
* @attribute {boolean} dense - Indicates whether the radio button should be displayed in a dense layout.
|
|
38
|
+
* @attribute {boolean} disabled - Indicates whether the radio button is disabled.
|
|
39
|
+
* @attribute {boolean} required - Indicates whether the radio button is required.
|
|
40
|
+
* @attribute {boolean} readonly - Indicates whether the radio button is read-only.
|
|
41
|
+
* @attribute {RadioLabelPosition} label-position - The position of the radio button's label.
|
|
42
|
+
*
|
|
43
|
+
* @cssproperty --forge-radio-primary-color - The primary color of the radio button when checked.
|
|
44
|
+
* @cssproperty --forge-radio-inactive-color - The color of the radio button when unchecked.
|
|
45
|
+
* @cssproperty --forge-radio-size - The size of the radio button in the inline and block directions.
|
|
46
|
+
* @cssproperty --forge-radio-width - The width of the radio button.
|
|
47
|
+
* @cssproperty --forge-radio-height - The height of the radio button.
|
|
48
|
+
* @cssproperty --forge-radio-border-width - The width of the radio button's border.
|
|
49
|
+
* @cssproperty --forge-radio-unchecked-border-color - The color of the radio button's border when unchecked.
|
|
50
|
+
* @cssproperty --forge-radio-checked-border-color - The color of the radio button's border when checked.
|
|
51
|
+
* @cssproperty --forge-radio-background - The background of the radio button.
|
|
52
|
+
* @cssproperty --forge-radio-shape - The shape of the radio button.
|
|
53
|
+
* @cssproperty --forge-radio-mark-size - The size of the radio button's mark in the inline and block directions.
|
|
54
|
+
* @cssproperty --forge-radio-mark-width - The width of the radio button's mark.
|
|
55
|
+
* @cssproperty --forge-radio-mark-height - The height of the radio button's mark.
|
|
56
|
+
* @cssproperty --forge-radio-mark-unchecked-color - The color of the radio button's mark when unchecked.
|
|
57
|
+
* @cssproperty --forge-radio-mark-checked-color - The color of the radio button's mark when checked.
|
|
58
|
+
* @cssproperty --forge-radio-mark-unchecked-background - The background of the radio button's mark when unchecked.
|
|
59
|
+
* @cssproperty --forge-radio-mark-checked-background - The background of the radio button's mark when checked.
|
|
60
|
+
* @cssproperty --forge-radio-gap - The gap between the radio button and its label.
|
|
61
|
+
* @cssproperty --forge-radio-justify - The alignment of the radio button and its label in the inline direction.
|
|
62
|
+
* @cssproperty --forge-radio-direction - The direction of the radio button and its label.
|
|
63
|
+
* @cssproperty --forge-radio-state-layer-size - The size of the radio button's state layer in the inline and block directions.
|
|
64
|
+
* @cssproperty --forge-radio-state-layer-width - The width of the radio button's state layer.
|
|
65
|
+
* @cssproperty --forge-radio-state-layer-height - The height of the radio button's state layer.
|
|
66
|
+
* @cssproperty --forge-radio-state-layer-unchecked-color - The color of the radio button's state layer when unchecked.
|
|
67
|
+
* @cssproperty --forge-radio-state-layer-checked-color - The color of the radio button's state layer when checked.
|
|
68
|
+
* @cssproperty --forge-radio-state-layer-shape - The shape of the radio button's state layer.
|
|
69
|
+
* @cssproperty --forge-radio-state-layer-dense-size - The size of the radio button's state layer when dense.
|
|
70
|
+
* @cssproperty --forge-radio-state-layer-dense-width - The width of the radio button's state layer when dense.
|
|
71
|
+
* @cssproperty --forge-radio-state-layer-dense-height - The height of the radio button's state layer when dense.
|
|
72
|
+
* @cssproperty --forge-radio-disabled-opacity - The opacity of the radio button when disabled.
|
|
73
|
+
* @cssproperty --forge-radio-animation-duration - The duration of the radio button's animations.
|
|
74
|
+
* @cssproperty --forge-radio-animation-timing-function - The timing function of the radio button's animations.
|
|
75
|
+
* @cssproperty --forge-radio-animation-delay - The delay of the radio button's animations.
|
|
76
|
+
*
|
|
77
|
+
* @csspart radio - Styles the radio's root element.
|
|
78
|
+
* @csspart background - Styles the border and background of the radio.
|
|
79
|
+
* @csspart focus-indicator - Styles the focus indicator of the radio.
|
|
80
|
+
* @csspart state-layer - Styles the state layer of the radio.
|
|
81
|
+
*
|
|
82
|
+
* @slot - This is a default/unnamed slot for the label text.
|
|
83
|
+
*/
|
|
84
|
+
let RadioComponent = class RadioComponent extends BaseRadioClass {
|
|
85
|
+
static get observedAttributes() {
|
|
86
|
+
return [
|
|
87
|
+
RADIO_CONSTANTS.attributes.CHECKED,
|
|
88
|
+
RADIO_CONSTANTS.attributes.DEFAULT_CHECKED,
|
|
89
|
+
RADIO_CONSTANTS.attributes.VALUE,
|
|
90
|
+
RADIO_CONSTANTS.attributes.DENSE,
|
|
91
|
+
RADIO_CONSTANTS.attributes.DISABLED,
|
|
92
|
+
RADIO_CONSTANTS.attributes.REQUIRED,
|
|
93
|
+
RADIO_CONSTANTS.attributes.READONLY,
|
|
94
|
+
RADIO_CONSTANTS.attributes.LABEL_POSITION,
|
|
95
|
+
RADIO_CONSTANTS.attributes.TABINDEX,
|
|
96
|
+
...RADIO_CONSTANTS.observedAriaAttributes
|
|
97
|
+
];
|
|
98
|
+
}
|
|
99
|
+
constructor() {
|
|
100
|
+
super();
|
|
101
|
+
attachShadowTemplate(this, template, style);
|
|
102
|
+
this[inputType] = 'radio';
|
|
103
|
+
this._foundation = new RadioFoundation(new RadioAdapter(this));
|
|
104
|
+
}
|
|
105
|
+
connectedCallback() {
|
|
106
|
+
super.connectedCallback();
|
|
107
|
+
this[setDefaultAria]({
|
|
108
|
+
role: 'radio',
|
|
109
|
+
ariaChecked: this.checked ? 'true' : 'false',
|
|
110
|
+
ariaDisabled: this.disabled ? 'true' : 'false',
|
|
111
|
+
ariaInvalid: this[internals].validity.valid ? 'false' : 'true',
|
|
112
|
+
ariaRequired: this.required ? 'true' : 'false'
|
|
113
|
+
});
|
|
114
|
+
this._foundation.initialize();
|
|
115
|
+
}
|
|
116
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
117
|
+
switch (name) {
|
|
118
|
+
case RADIO_CONSTANTS.attributes.CHECKED:
|
|
119
|
+
this._foundation.checked = coerceBoolean(newValue);
|
|
120
|
+
break;
|
|
121
|
+
case RADIO_CONSTANTS.attributes.DEFAULT_CHECKED:
|
|
122
|
+
this._foundation.defaultChecked = coerceBoolean(newValue);
|
|
123
|
+
break;
|
|
124
|
+
case RADIO_CONSTANTS.attributes.VALUE:
|
|
125
|
+
this.value = newValue;
|
|
126
|
+
break;
|
|
127
|
+
case RADIO_CONSTANTS.attributes.DENSE:
|
|
128
|
+
this.dense = coerceBoolean(newValue);
|
|
129
|
+
break;
|
|
130
|
+
case RADIO_CONSTANTS.attributes.DISABLED:
|
|
131
|
+
this.disabled = coerceBoolean(newValue);
|
|
132
|
+
break;
|
|
133
|
+
case RADIO_CONSTANTS.attributes.REQUIRED:
|
|
134
|
+
this.required = coerceBoolean(newValue);
|
|
135
|
+
break;
|
|
136
|
+
case RADIO_CONSTANTS.attributes.READONLY:
|
|
137
|
+
this.readonly = coerceBoolean(newValue);
|
|
138
|
+
break;
|
|
139
|
+
case RADIO_CONSTANTS.attributes.LABEL_POSITION:
|
|
140
|
+
this.labelPosition = newValue;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
super.attributeChangedCallback(name, oldValue, newValue);
|
|
144
|
+
}
|
|
145
|
+
[getFormValue]() {
|
|
146
|
+
return this.checked ? this.value : null;
|
|
147
|
+
}
|
|
148
|
+
[getFormState]() {
|
|
149
|
+
return this.checked ? 'checked' : 'unchecked';
|
|
150
|
+
}
|
|
151
|
+
formResetCallback() {
|
|
152
|
+
RadioGroupManager.requestRadioGroupReset(this);
|
|
153
|
+
}
|
|
154
|
+
formStateRestoreCallback(state) {
|
|
155
|
+
this.checked = state === 'checked';
|
|
156
|
+
}
|
|
157
|
+
labelClickedCallback() {
|
|
158
|
+
this.click();
|
|
159
|
+
}
|
|
160
|
+
labelChangedCallback(value) {
|
|
161
|
+
this[setDefaultAria]({
|
|
162
|
+
ariaLabel: value !== null && value !== void 0 ? value : undefined
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
[tryCheck]() {
|
|
166
|
+
return this._foundation.tryCheck();
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
__decorate([
|
|
170
|
+
FoundationProperty()
|
|
171
|
+
], RadioComponent.prototype, "checked", void 0);
|
|
172
|
+
__decorate([
|
|
173
|
+
FoundationProperty()
|
|
174
|
+
], RadioComponent.prototype, "defaultChecked", void 0);
|
|
175
|
+
__decorate([
|
|
176
|
+
FoundationProperty()
|
|
177
|
+
], RadioComponent.prototype, "value", void 0);
|
|
178
|
+
__decorate([
|
|
179
|
+
FoundationProperty()
|
|
180
|
+
], RadioComponent.prototype, "dense", void 0);
|
|
181
|
+
__decorate([
|
|
182
|
+
FoundationProperty()
|
|
183
|
+
], RadioComponent.prototype, "disabled", void 0);
|
|
184
|
+
__decorate([
|
|
185
|
+
FoundationProperty()
|
|
186
|
+
], RadioComponent.prototype, "required", void 0);
|
|
187
|
+
__decorate([
|
|
188
|
+
FoundationProperty()
|
|
189
|
+
], RadioComponent.prototype, "readonly", void 0);
|
|
190
|
+
__decorate([
|
|
191
|
+
FoundationProperty()
|
|
192
|
+
], RadioComponent.prototype, "labelPosition", void 0);
|
|
193
|
+
RadioComponent = __decorate([
|
|
194
|
+
CustomElement({
|
|
195
|
+
name: RADIO_CONSTANTS.elementName,
|
|
196
|
+
dependencies: [
|
|
197
|
+
FocusIndicatorComponent,
|
|
198
|
+
StateLayerComponent
|
|
199
|
+
]
|
|
200
|
+
})
|
|
201
|
+
], RadioComponent);
|
|
202
|
+
export { RadioComponent };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export * from './radio-group-adapter';
|
|
7
|
+
export * from './radio-group-constants';
|
|
8
|
+
export * from './radio-group-foundation';
|
|
9
|
+
export * from './radio-group';
|
|
10
|
+
export declare function defineRadioGroupComponent(): void;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { defineCustomElement } from '@tylertech/forge-core';
|
|
7
|
+
import { RadioGroupComponent } from './radio-group';
|
|
8
|
+
export * from './radio-group-adapter';
|
|
9
|
+
export * from './radio-group-constants';
|
|
10
|
+
export * from './radio-group-foundation';
|
|
11
|
+
export * from './radio-group';
|
|
12
|
+
export function defineRadioGroupComponent() {
|
|
13
|
+
defineCustomElement(RadioGroupComponent);
|
|
14
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseAdapter, IBaseAdapter } from '../../core/base/';
|
|
7
|
+
import { LabelComponent } from '../../label';
|
|
8
|
+
import { IRadioGroupComponent } from './radio-group';
|
|
9
|
+
export interface IRadioGroupAdapter extends IBaseAdapter {
|
|
10
|
+
attachLabel(label: LabelComponent): void;
|
|
11
|
+
setDisabled(value: boolean): void;
|
|
12
|
+
}
|
|
13
|
+
export declare class RadioGroupAdapter extends BaseAdapter<IRadioGroupComponent> implements IRadioGroupAdapter {
|
|
14
|
+
constructor(component: IRadioGroupComponent);
|
|
15
|
+
attachLabel(label: LabelComponent): void;
|
|
16
|
+
setDisabled(value: boolean): void;
|
|
17
|
+
private _disableRadios;
|
|
18
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { setDefaultAria } from '../../constants';
|
|
7
|
+
import { BaseAdapter } from '../../core/base/';
|
|
8
|
+
import { RADIO_CONSTANTS } from '../radio/radio-constants';
|
|
9
|
+
export class RadioGroupAdapter extends BaseAdapter {
|
|
10
|
+
constructor(component) {
|
|
11
|
+
super(component);
|
|
12
|
+
}
|
|
13
|
+
attachLabel(label) {
|
|
14
|
+
label.static = true;
|
|
15
|
+
label.forElement = this._component;
|
|
16
|
+
}
|
|
17
|
+
setDisabled(value) {
|
|
18
|
+
this._component[setDefaultAria]({
|
|
19
|
+
ariaDisabled: value ? 'true' : null
|
|
20
|
+
}, { overwrite: true });
|
|
21
|
+
this._disableRadios(value);
|
|
22
|
+
}
|
|
23
|
+
_disableRadios(value) {
|
|
24
|
+
this._component.querySelectorAll(RADIO_CONSTANTS.elementName).forEach(radio => {
|
|
25
|
+
radio.disabled = value;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ARIAAttribute } from '../../core/utils/a11y-utils';
|
|
7
|
+
export declare const RADIO_GROUP_CONSTANTS: {
|
|
8
|
+
elementName: "forge-radio-group";
|
|
9
|
+
attributes: {
|
|
10
|
+
DISABLED: string;
|
|
11
|
+
};
|
|
12
|
+
observedAriaAttributes: ARIAAttribute[];
|
|
13
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { COMPONENT_NAME_PREFIX } from '../../constants';
|
|
7
|
+
import { supportsElementInternalsAria } from '../../core/utils/feature-detection';
|
|
8
|
+
const elementName = `${COMPONENT_NAME_PREFIX}radio-group`;
|
|
9
|
+
const attributes = {
|
|
10
|
+
DISABLED: 'disabled'
|
|
11
|
+
};
|
|
12
|
+
const observedAriaAttributes = supportsElementInternalsAria()
|
|
13
|
+
? []
|
|
14
|
+
: ['role', 'aria-disabled', 'aria-label'];
|
|
15
|
+
export const RADIO_GROUP_CONSTANTS = {
|
|
16
|
+
elementName,
|
|
17
|
+
attributes,
|
|
18
|
+
observedAriaAttributes
|
|
19
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { ICustomElementFoundation } from '@tylertech/forge-core';
|
|
7
|
+
import { IRadioGroupAdapter } from './radio-group-adapter';
|
|
8
|
+
export interface IRadioGroupFoundation extends ICustomElementFoundation {
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare class RadioGroupFoundation implements IRadioGroupFoundation {
|
|
12
|
+
private _adapter;
|
|
13
|
+
private _disabled;
|
|
14
|
+
private readonly _labelConnectedListener;
|
|
15
|
+
constructor(_adapter: IRadioGroupAdapter);
|
|
16
|
+
initialize(): void;
|
|
17
|
+
private _handleLabelConnected;
|
|
18
|
+
get disabled(): boolean;
|
|
19
|
+
set disabled(value: boolean);
|
|
20
|
+
}
|