@tylertech/forge 3.0.0-next.14 → 3.0.0-next.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +52540 -39351
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/app-bar/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/avatar/index.js +1 -1
- package/dist/esm/backdrop/index.js +1 -1
- package/dist/esm/badge/index.js +1 -1
- package/dist/esm/banner/index.js +1 -1
- package/dist/esm/bottom-sheet/index.js +1 -1
- package/dist/esm/busy-indicator/index.js +1 -1
- package/dist/esm/button/index.js +1 -1
- package/dist/esm/button-area/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle/index.js +1 -1
- package/dist/esm/button-toggle/button-toggle-group/index.js +1 -1
- package/dist/esm/button-toggle/index.js +1 -1
- package/dist/esm/calendar/calendar-dropdown/index.js +1 -1
- package/dist/esm/calendar/calendar-menu/index.js +1 -1
- package/dist/esm/calendar/index.js +1 -1
- package/dist/esm/card/index.js +1 -1
- package/dist/esm/checkbox/index.js +1 -1
- package/dist/esm/chip-field/index.js +1 -1
- package/dist/esm/chips/chip/index.js +1 -1
- package/dist/esm/chips/chip-set/index.js +1 -1
- package/dist/esm/chips/index.js +1 -1
- package/dist/esm/chunks/chunk.24NQGTNU.js +7 -0
- package/dist/esm/chunks/chunk.24NQGTNU.js.map +7 -0
- package/dist/esm/chunks/{chunk.PSTGTQVK.js → chunk.2JCTFKCR.js} +2 -2
- package/dist/esm/chunks/{chunk.3UO6S3IK.js → chunk.2OZ2HVBZ.js} +2 -2
- package/dist/esm/chunks/{chunk.3UO6S3IK.js.map → chunk.2OZ2HVBZ.js.map} +3 -3
- package/dist/esm/chunks/{chunk.4B5IOZAT.js → chunk.2YE556AM.js} +2 -2
- package/dist/esm/chunks/{chunk.YKZ25J6B.js → chunk.3U6A353B.js} +2 -2
- package/dist/esm/chunks/chunk.3VHQPHQP.js +7 -0
- package/dist/esm/chunks/chunk.3VHQPHQP.js.map +7 -0
- package/dist/esm/chunks/{chunk.LXX3YZYS.js → chunk.436USWLL.js} +2 -2
- package/dist/esm/chunks/{chunk.KLPF4CNX.js → chunk.4GMGQZOW.js} +2 -2
- package/dist/esm/chunks/{chunk.Z7PBGV4K.js → chunk.4JB3SESQ.js} +2 -2
- package/dist/esm/chunks/{chunk.QFY23EWU.js → chunk.4JL5LW5J.js} +2 -2
- package/dist/esm/chunks/chunk.4O6OEUGY.js +7 -0
- package/dist/esm/chunks/{chunk.RDW7Z4W5.js.map → chunk.4O6OEUGY.js.map} +2 -2
- package/dist/esm/chunks/chunk.4OG3OGVO.js +7 -0
- package/dist/esm/chunks/chunk.4OG3OGVO.js.map +7 -0
- package/dist/esm/chunks/chunk.4QOXI2GM.js +7 -0
- package/dist/esm/chunks/chunk.4QOXI2GM.js.map +7 -0
- package/dist/esm/chunks/chunk.55D2BMXX.js +7 -0
- package/dist/esm/chunks/{chunk.A72W7RW7.js → chunk.5LCWC3A7.js} +2 -2
- package/dist/esm/chunks/{chunk.RYNQDXFA.js → chunk.5T7TT3AB.js} +2 -2
- package/dist/esm/chunks/{chunk.2GYZM6ZG.js → chunk.5WVOPPBY.js} +2 -2
- package/dist/esm/chunks/{chunk.2GYZM6ZG.js.map → chunk.5WVOPPBY.js.map} +2 -2
- package/dist/esm/chunks/chunk.5XLCY232.js +7 -0
- package/dist/esm/chunks/chunk.5XLCY232.js.map +7 -0
- package/dist/esm/chunks/chunk.65WE722H.js +7 -0
- package/dist/esm/chunks/chunk.65WE722H.js.map +7 -0
- package/dist/esm/chunks/chunk.6IPX5C4B.js +7 -0
- package/dist/esm/chunks/chunk.6IPX5C4B.js.map +7 -0
- package/dist/esm/chunks/{chunk.TLFCQSJN.js → chunk.6PB5OWMP.js} +2 -2
- package/dist/esm/chunks/{chunk.TLFCQSJN.js.map → chunk.6PB5OWMP.js.map} +2 -2
- package/dist/esm/chunks/chunk.74HZVSDM.js +7 -0
- package/dist/esm/chunks/chunk.74HZVSDM.js.map +7 -0
- package/dist/esm/chunks/chunk.74JHE77R.js +7 -0
- package/dist/esm/chunks/{chunk.KTYYBWTN.js.map → chunk.74JHE77R.js.map} +2 -2
- package/dist/esm/chunks/chunk.7SYU6KRU.js +15 -0
- package/dist/esm/chunks/chunk.7SYU6KRU.js.map +7 -0
- package/dist/esm/chunks/{chunk.HHHBS6FB.js → chunk.B53Q676I.js} +2 -2
- package/dist/esm/chunks/{chunk.B46Q3AFP.js → chunk.BKQSLDMK.js} +2 -2
- package/dist/esm/chunks/{chunk.7XFU2W25.js → chunk.BX4AQRHB.js} +2 -2
- package/dist/esm/chunks/{chunk.7XFU2W25.js.map → chunk.BX4AQRHB.js.map} +3 -3
- package/dist/esm/chunks/{chunk.OUACQISE.js → chunk.BZG47SA5.js} +2 -2
- package/dist/esm/chunks/{chunk.OUACQISE.js.map → chunk.BZG47SA5.js.map} +1 -1
- package/dist/esm/chunks/{chunk.F2EBSV5Z.js → chunk.BZVLSWZR.js} +2 -2
- package/dist/esm/chunks/chunk.C72LM2AL.js +7 -0
- package/dist/esm/chunks/chunk.C72LM2AL.js.map +7 -0
- package/dist/esm/chunks/{chunk.BMQYEYCT.js → chunk.DGG5ABL3.js} +2 -2
- package/dist/esm/chunks/{chunk.PK7R6WDF.js → chunk.DPIWAXEW.js} +2 -2
- package/dist/esm/chunks/chunk.E62ZPQSM.js +7 -0
- package/dist/esm/chunks/chunk.E62ZPQSM.js.map +7 -0
- package/dist/esm/chunks/chunk.ECJBVX3D.js +7 -0
- package/dist/esm/chunks/{chunk.5VHUMZYS.js.map → chunk.ECJBVX3D.js.map} +1 -1
- package/dist/esm/chunks/chunk.EN2HVFJ4.js +7 -0
- package/dist/esm/chunks/chunk.EN2HVFJ4.js.map +7 -0
- package/dist/esm/chunks/chunk.EPRRK33O.js +7 -0
- package/dist/esm/chunks/chunk.EPRRK33O.js.map +7 -0
- package/dist/esm/chunks/{chunk.7PP6QHOM.js → chunk.ETDUW5K2.js} +2 -2
- package/dist/esm/chunks/chunk.EWFNM4WO.js +7 -0
- package/dist/esm/chunks/chunk.EWFNM4WO.js.map +7 -0
- package/dist/esm/chunks/{chunk.FYWPZFLJ.js → chunk.EWT2PBEP.js} +2 -2
- package/dist/esm/chunks/{chunk.FYWPZFLJ.js.map → chunk.EWT2PBEP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GHR7T6U2.js → chunk.FGHSNC2V.js} +2 -2
- package/dist/esm/chunks/{chunk.P7LC3YYW.js → chunk.FPRBYGET.js} +2 -2
- package/dist/esm/chunks/{chunk.7W2UWAZX.js → chunk.FQVR2QNF.js} +2 -2
- package/dist/esm/chunks/{chunk.IEB5KRFQ.js → chunk.FWWBFNQA.js} +2 -2
- package/dist/esm/chunks/{chunk.543K5Y4E.js → chunk.FZELFLPE.js} +2 -2
- package/dist/esm/chunks/{chunk.6Q3SV2R2.js → chunk.FZZUNYH5.js} +2 -2
- package/dist/esm/chunks/chunk.GHMAI3SM.js +15 -0
- package/dist/esm/chunks/chunk.GHMAI3SM.js.map +7 -0
- package/dist/esm/chunks/{chunk.CTZ3AWDW.js → chunk.GLUKTMQU.js} +2 -2
- package/dist/esm/chunks/{chunk.W324TWF2.js → chunk.GTBCTNMI.js} +2 -2
- package/dist/esm/chunks/chunk.GTGXHY4A.js +7 -0
- package/dist/esm/chunks/chunk.GTGXHY4A.js.map +7 -0
- package/dist/esm/chunks/{chunk.L4Y4RO5O.js → chunk.GURV4TDZ.js} +2 -2
- package/dist/esm/chunks/chunk.H6MMHAQI.js +15 -0
- package/dist/esm/chunks/chunk.H6MMHAQI.js.map +7 -0
- package/dist/esm/chunks/{chunk.FQSL747N.js → chunk.HJUFU2PV.js} +2 -2
- package/dist/esm/chunks/{chunk.FQSL747N.js.map → chunk.HJUFU2PV.js.map} +2 -2
- package/dist/esm/chunks/chunk.HPCXVNG6.js +7 -0
- package/dist/esm/chunks/{chunk.CZOABXEQ.js.map → chunk.HPCXVNG6.js.map} +3 -3
- package/dist/esm/chunks/{chunk.K7FPXAFS.js → chunk.HZUQXCOQ.js} +2 -2
- package/dist/esm/chunks/{chunk.K7FPXAFS.js.map → chunk.HZUQXCOQ.js.map} +2 -2
- package/dist/esm/chunks/{chunk.THWSN3X4.js → chunk.IA27LU2O.js} +2 -2
- package/dist/esm/chunks/chunk.INQZNXG6.js +7 -0
- package/dist/esm/chunks/chunk.INQZNXG6.js.map +7 -0
- package/dist/esm/chunks/chunk.IO3TM653.js +7 -0
- package/dist/esm/chunks/chunk.IO3TM653.js.map +7 -0
- package/dist/esm/chunks/{chunk.TZFUKJ24.js → chunk.JXJVPJRO.js} +2 -2
- package/dist/esm/chunks/{chunk.Z2RB75TN.js → chunk.K3STAW42.js} +2 -2
- package/dist/esm/chunks/chunk.KM5XYTE3.js +7 -0
- package/dist/esm/chunks/chunk.KM5XYTE3.js.map +7 -0
- package/dist/esm/chunks/{chunk.G2BNY5QQ.js → chunk.KPC6IS3C.js} +2 -2
- package/dist/esm/chunks/chunk.KPNGLSCU.js +7 -0
- package/dist/esm/chunks/chunk.KPNGLSCU.js.map +7 -0
- package/dist/esm/chunks/{chunk.VDZ7HBKM.js → chunk.KV7PGQJ7.js} +2 -2
- package/dist/esm/chunks/chunk.LCS2O4Y7.js +7 -0
- package/dist/esm/chunks/chunk.LCS2O4Y7.js.map +7 -0
- package/dist/esm/chunks/chunk.M4KCRUKW.js +7 -0
- package/dist/esm/chunks/chunk.M4KCRUKW.js.map +7 -0
- package/dist/esm/chunks/chunk.M5JGYRH4.js +7 -0
- package/dist/esm/chunks/chunk.M7RYU4HQ.js +7 -0
- package/dist/esm/chunks/chunk.M7RYU4HQ.js.map +7 -0
- package/dist/esm/chunks/chunk.N75VD4S4.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js +7 -0
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +7 -0
- package/dist/esm/chunks/{chunk.H7GW57Q6.js → chunk.NKEAMFO4.js} +2 -2
- package/dist/esm/chunks/{chunk.26E4L52W.js → chunk.NW54VA4E.js} +2 -2
- package/dist/esm/chunks/chunk.OJGPKHHC.js +7 -0
- package/dist/esm/chunks/{chunk.VD5ZL5ZN.js.map → chunk.OJGPKHHC.js.map} +2 -2
- package/dist/esm/chunks/chunk.OSCODMUG.js +7 -0
- package/dist/esm/chunks/chunk.OSCODMUG.js.map +7 -0
- package/dist/esm/chunks/chunk.OT3JZ6JO.js +7 -0
- package/dist/esm/chunks/chunk.OT3JZ6JO.js.map +7 -0
- package/dist/esm/chunks/{chunk.PADPL4L3.js → chunk.OUIWXKO2.js} +2 -2
- package/dist/esm/chunks/chunk.OXVCCHM5.js +7 -0
- package/dist/esm/chunks/{chunk.7ABZUBTT.js → chunk.P5XHGSJY.js} +2 -2
- package/dist/esm/chunks/chunk.Q5YXX4DU.js +7 -0
- package/dist/esm/chunks/chunk.Q5YXX4DU.js.map +7 -0
- package/dist/esm/chunks/chunk.QG5EYBS3.js +7 -0
- package/dist/esm/chunks/chunk.QG5EYBS3.js.map +7 -0
- package/dist/esm/chunks/{chunk.NZKIFXBU.js → chunk.QKTNCOVX.js} +2 -2
- package/dist/esm/chunks/{chunk.NG6UZ4OL.js → chunk.QZ57WM3D.js} +2 -2
- package/dist/esm/chunks/{chunk.OED5UCYT.js → chunk.R2QENXIL.js} +2 -2
- package/dist/esm/chunks/chunk.R53VHVKB.js +12 -0
- package/dist/esm/chunks/chunk.R53VHVKB.js.map +7 -0
- package/dist/esm/chunks/{chunk.DOEG3DWJ.js → chunk.RDQ3QGWS.js} +2 -2
- package/dist/esm/chunks/{chunk.GS72TBUD.js → chunk.RFKKHN7V.js} +2 -2
- package/dist/esm/chunks/{chunk.57PXXJA6.js → chunk.RKG66YKS.js} +2 -2
- package/dist/esm/chunks/chunk.RRNSZCVJ.js +7 -0
- package/dist/esm/chunks/chunk.RRNSZCVJ.js.map +7 -0
- package/dist/esm/chunks/chunk.S32JKL3M.js +7 -0
- package/dist/esm/chunks/chunk.S32JKL3M.js.map +7 -0
- package/dist/esm/chunks/chunk.SJQPD3CO.js +7 -0
- package/dist/esm/chunks/chunk.SJQPD3CO.js.map +7 -0
- package/dist/esm/chunks/{chunk.LMIKNDBS.js → chunk.T235SNYZ.js} +2 -2
- package/dist/esm/chunks/chunk.T4N7KZHZ.js +7 -0
- package/dist/esm/chunks/chunk.T4N7KZHZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.J3B5CWKT.js → chunk.TE6ZNUAM.js} +2 -2
- package/dist/esm/chunks/{chunk.J3B5CWKT.js.map → chunk.TE6ZNUAM.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DD35U4AA.js → chunk.TNEUDWZU.js} +2 -2
- package/dist/esm/chunks/{chunk.DD35U4AA.js.map → chunk.TNEUDWZU.js.map} +2 -2
- package/dist/esm/chunks/chunk.TPXXHX5J.js +7 -0
- package/dist/esm/chunks/{chunk.JAWV5Y5T.js.map → chunk.TPXXHX5J.js.map} +2 -2
- package/dist/esm/chunks/chunk.TZ67MC2N.js +7 -0
- package/dist/esm/chunks/{chunk.C5IB44HX.js.map → chunk.TZ67MC2N.js.map} +1 -1
- package/dist/esm/chunks/chunk.V3IHX6B2.js +7 -0
- package/dist/esm/chunks/{chunk.BFUGFHEH.js.map → chunk.V3IHX6B2.js.map} +1 -1
- package/dist/esm/chunks/chunk.V564JB6A.js +7 -0
- package/dist/esm/chunks/chunk.V564JB6A.js.map +7 -0
- package/dist/esm/chunks/chunk.VGIZJ32U.js +7 -0
- package/dist/esm/chunks/chunk.VZTV4GXC.js +7 -0
- package/dist/esm/chunks/chunk.VZTV4GXC.js.map +7 -0
- package/dist/esm/chunks/chunk.W5TDBDVY.js +7 -0
- package/dist/esm/chunks/{chunk.XDANTL6C.js.map → chunk.W5TDBDVY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.U5WMRBSC.js → chunk.WA2YP4NC.js} +2 -2
- package/dist/esm/chunks/chunk.WFQYTXCB.js +7 -0
- package/dist/esm/chunks/chunk.WFQYTXCB.js.map +7 -0
- package/dist/esm/chunks/chunk.WNH7EHZP.js +7 -0
- package/dist/esm/chunks/{chunk.F6KM5FO6.js.map → chunk.WNH7EHZP.js.map} +2 -2
- package/dist/esm/chunks/{chunk.5C24LZNU.js → chunk.WQHKUNR7.js} +2 -2
- package/dist/esm/chunks/chunk.WYSUQK6Z.js +7 -0
- package/dist/esm/chunks/{chunk.3ZRQFXQU.js.map → chunk.WYSUQK6Z.js.map} +2 -2
- package/dist/esm/chunks/chunk.X57DRPFB.js +7 -0
- package/dist/esm/chunks/{chunk.DDXIHZFX.js → chunk.X7YTDVNT.js} +2 -2
- package/dist/esm/chunks/chunk.XBFH6M72.js +7 -0
- package/dist/esm/chunks/chunk.XBFH6M72.js.map +7 -0
- package/dist/esm/chunks/{chunk.7DHDFH5L.js → chunk.XOH2JCRS.js} +2 -2
- package/dist/esm/chunks/{chunk.IW7HALLT.js → chunk.Y6D5Z56X.js} +2 -2
- package/dist/esm/chunks/{chunk.IW7HALLT.js.map → chunk.Y6D5Z56X.js.map} +2 -2
- package/dist/esm/chunks/chunk.YBPAGWVG.js +7 -0
- package/dist/esm/chunks/chunk.YBPAGWVG.js.map +7 -0
- package/dist/esm/chunks/{chunk.KVCDAZ6B.js → chunk.YTBNAGLS.js} +2 -2
- package/dist/esm/chunks/chunk.YWDYBX3G.js +7 -0
- package/dist/esm/chunks/chunk.YWDYBX3G.js.map +7 -0
- package/dist/esm/chunks/{chunk.RZZBM3AW.js → chunk.ZHMV5SR4.js} +2 -2
- package/dist/esm/chunks/{chunk.GWJ4QCSW.js → chunk.ZLACSRD4.js} +2 -2
- package/dist/esm/chunks/{chunk.URCJO73M.js → chunk.ZPVRRFT7.js} +2 -2
- package/dist/esm/chunks/{chunk.URCJO73M.js.map → chunk.ZPVRRFT7.js.map} +1 -1
- package/dist/esm/chunks/chunk.ZS3T6MJS.js +7 -0
- package/dist/esm/chunks/{chunk.JVK64JDZ.js.map → chunk.ZS3T6MJS.js.map} +2 -2
- package/dist/esm/chunks/{chunk.DTKFE7YB.js → chunk.ZUTQPJ2B.js} +2 -2
- package/dist/esm/chunks/chunk.ZWIEYVZC.js +7 -0
- package/dist/esm/chunks/chunk.ZWIEYVZC.js.map +7 -0
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js +7 -0
- package/dist/esm/chunks/chunk.ZY3ETQ3D.js.map +7 -0
- package/dist/esm/chunks/{chunk.PQQVUUHU.js → chunk.ZYCKD6K5.js} +2 -2
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/delegates/index.js +1 -1
- package/dist/esm/core/index.js +1 -1
- package/dist/esm/core/utils/index.js +1 -1
- package/dist/esm/date-picker/index.js +1 -1
- package/dist/esm/date-range-picker/index.js +1 -1
- package/dist/esm/dialog/index.js +1 -1
- package/dist/esm/divider/index.js +1 -1
- package/dist/esm/drawer/base/index.js +1 -1
- package/dist/esm/drawer/drawer/index.js +1 -1
- package/dist/esm/drawer/index.js +1 -1
- package/dist/esm/drawer/mini-drawer/index.js +1 -1
- package/dist/esm/drawer/modal-drawer/index.js +1 -1
- package/dist/esm/expansion-panel/index.js +1 -1
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/index.js +1 -1
- package/dist/esm/floating-label/index.js +1 -1
- package/dist/esm/focus-indicator/index.js +1 -1
- package/dist/esm/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/inline-message/index.js +1 -1
- package/dist/esm/keyboard-shortcut/index.js +1 -1
- package/dist/esm/label/index.js +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/overlay/index.js +7 -0
- package/dist/esm/overlay/index.js.map +7 -0
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popover/index.js +7 -0
- package/dist/esm/popover/index.js.map +7 -0
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/radio/index.js +7 -0
- package/dist/esm/radio/radio/index.js.map +7 -0
- package/dist/esm/radio/radio-group/index.js +7 -0
- package/dist/esm/radio/radio-group/index.js.map +7 -0
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-button/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/state-layer/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/esm/app-bar/app-bar/app-bar.js +1 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +3 -3
- package/esm/app-bar/help-button/app-bar-help-button.js +1 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.js +4 -4
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +3 -3
- package/esm/app-bar/notification-button/app-bar-notification-button.js +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +1 -0
- package/esm/app-bar/profile-button/app-bar-profile-button.js +1 -1
- package/esm/app-bar/search/app-bar-search-adapter.d.ts +8 -43
- package/esm/app-bar/search/app-bar-search-adapter.js +23 -53
- package/esm/app-bar/search/app-bar-search-constants.d.ts +0 -15
- package/esm/app-bar/search/app-bar-search-constants.js +3 -20
- package/esm/app-bar/search/app-bar-search-foundation.d.ts +3 -37
- package/esm/app-bar/search/app-bar-search-foundation.js +27 -88
- package/esm/app-bar/search/app-bar-search.d.ts +1 -21
- package/esm/app-bar/search/app-bar-search.js +13 -39
- package/esm/banner/banner.js +1 -1
- package/esm/button/base/base-button-adapter.d.ts +0 -5
- package/esm/button/base/base-button-adapter.js +18 -18
- package/esm/button/base/base-button-constants.d.ts +28 -28
- package/esm/button/base/base-button-foundation.d.ts +0 -2
- package/esm/button/base/base-button-foundation.js +9 -14
- package/esm/button/base/base-button.d.ts +11 -7
- package/esm/button/base/base-button.js +21 -14
- package/esm/button/button-constants.d.ts +2 -0
- package/esm/button/button-constants.js +2 -1
- package/esm/button/button-foundation.d.ts +4 -0
- package/esm/button/button-foundation.js +10 -0
- package/esm/button/button.d.ts +4 -0
- package/esm/button/button.js +10 -2
- package/esm/button-toggle/button-toggle/button-toggle-adapter.d.ts +6 -14
- package/esm/button-toggle/button-toggle/button-toggle-adapter.js +19 -45
- package/esm/button-toggle/button-toggle/button-toggle-constants.d.ts +11 -15
- package/esm/button-toggle/button-toggle/button-toggle-constants.js +6 -17
- package/esm/button-toggle/button-toggle/button-toggle-foundation.d.ts +18 -12
- package/esm/button-toggle/button-toggle/button-toggle-foundation.js +74 -30
- package/esm/button-toggle/button-toggle/button-toggle.d.ts +67 -14
- package/esm/button-toggle/button-toggle/button-toggle.js +82 -29
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.d.ts +7 -13
- package/esm/button-toggle/button-toggle-group/button-toggle-group-adapter.js +26 -91
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.d.ts +20 -11
- package/esm/button-toggle/button-toggle-group/button-toggle-group-constants.js +8 -2
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.d.ts +20 -12
- package/esm/button-toggle/button-toggle-group/button-toggle-group-foundation.js +101 -97
- package/esm/button-toggle/button-toggle-group/button-toggle-group.d.ts +75 -9
- package/esm/button-toggle/button-toggle-group/button-toggle-group.js +134 -25
- package/esm/calendar/calendar-dom-utils.js +1 -2
- package/esm/calendar/calendar-foundation.d.ts +1 -1
- package/esm/calendar/calendar-foundation.js +13 -16
- package/esm/checkbox/checkbox.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.js +8 -12
- package/esm/circular-progress/circular-progress.d.ts +7 -3
- package/esm/circular-progress/circular-progress.js +4 -2
- package/esm/color-picker/color-picker.js +1 -1
- package/esm/constants.d.ts +15 -2
- package/esm/constants.js +13 -0
- package/esm/core/base/base-adapter.d.ts +6 -0
- package/esm/core/base/base-adapter.js +13 -4
- package/esm/core/base/base-component.d.ts +4 -0
- package/esm/core/base/base-form-component.d.ts +0 -10
- package/esm/core/base/base-form-component.js +0 -6
- package/esm/core/base/base-nullable-form-component.d.ts +0 -10
- package/esm/core/base/base-nullable-form-component.js +0 -6
- package/esm/core/{base/base-focusable-component.d.ts → mixins/focus/with-focusable.d.ts} +11 -14
- package/esm/core/{base/base-focusable-component.js → mixins/focus/with-focusable.js} +15 -16
- package/esm/core/mixins/form/with-form-associated.d.ts +116 -0
- package/esm/core/mixins/form/with-form-associated.js +71 -0
- package/esm/core/mixins/form/with-form-validity.d.ts +35 -0
- package/esm/core/mixins/form/with-form-validity.js +43 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.d.ts +33 -0
- package/esm/core/mixins/interactions/longpress/with-longpress-listener.js +82 -0
- package/esm/core/mixins/internals/with-default-aria.d.ts +32 -0
- package/esm/core/mixins/internals/with-default-aria.js +22 -0
- package/esm/core/mixins/internals/with-element-internals.d.ts +26 -0
- package/esm/core/mixins/internals/with-element-internals.js +22 -0
- package/esm/core/mixins/label/with-label-aware.d.ts +33 -0
- package/esm/core/mixins/label/with-label-aware.js +17 -0
- package/esm/core/utils/a11y-utils.d.ts +126 -0
- package/esm/core/utils/a11y-utils.js +169 -0
- package/esm/core/utils/deferred.d.ts +29 -0
- package/esm/core/utils/deferred.js +32 -0
- package/esm/core/utils/dismissible-stack.d.ts +74 -0
- package/esm/core/utils/dismissible-stack.js +133 -0
- package/esm/core/utils/event-utils.d.ts +1 -0
- package/esm/core/utils/event-utils.js +3 -0
- package/esm/core/utils/feature-detection.d.ts +13 -0
- package/esm/core/utils/feature-detection.js +21 -0
- package/esm/core/utils/form-utils.d.ts +24 -0
- package/{styles/checkbox/_configuration.scss → esm/core/utils/form-utils.js} +1 -5
- package/esm/core/utils/index.d.ts +1 -0
- package/esm/core/utils/index.js +1 -0
- package/esm/core/utils/mixin-utils.d.ts +20 -0
- package/esm/core/utils/mixin-utils.js +15 -0
- package/esm/core/utils/position-utils.d.ts +78 -0
- package/esm/core/utils/position-utils.js +197 -0
- package/esm/core/utils/reflect-utils.d.ts +1 -1
- package/esm/core/utils/reflect-utils.js +2 -2
- package/esm/core/utils/utils.d.ts +14 -0
- package/esm/core/utils/utils.js +25 -7
- package/esm/date-picker/base/base-date-picker.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker.js +4 -3
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +1 -0
- package/esm/date-range-picker/date-range-picker-foundation.js +4 -0
- package/esm/dialog/dialog-constants.d.ts +1 -0
- package/esm/dialog/dialog-constants.js +2 -1
- package/esm/dialog/dialog-foundation.js +3 -6
- package/esm/dialog/dialog.js +1 -1
- package/esm/drawer/mini-drawer/mini-drawer.js +1 -1
- package/esm/expansion-panel/expansion-panel-adapter.js +0 -5
- package/esm/floating-action-button/floating-action-button.js +1 -1
- package/esm/icon-button/icon-button-component-delegate.js +1 -1
- package/esm/icon-button/icon-button.js +1 -1
- package/esm/index.d.ts +6 -4
- package/esm/index.js +36 -29
- package/esm/label/label-adapter.d.ts +2 -0
- package/esm/label/label-adapter.js +8 -5
- package/esm/label/label-aware.js +2 -1
- package/esm/label/label-constants.d.ts +6 -2
- package/esm/label/label-constants.js +13 -4
- package/esm/label/label-foundation.d.ts +16 -0
- package/esm/label/label-foundation.js +69 -6
- package/esm/label/label.d.ts +8 -0
- package/esm/label/label.js +21 -3
- package/esm/linear-progress/linear-progress-adapter.js +13 -12
- package/esm/linear-progress/linear-progress-constants.d.ts +6 -0
- package/esm/linear-progress/linear-progress-constants.js +4 -2
- package/esm/linear-progress/linear-progress-foundation.js +2 -1
- package/esm/linear-progress/linear-progress.d.ts +7 -3
- package/esm/linear-progress/linear-progress.js +8 -11
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/menu/menu-adapter.d.ts +3 -3
- package/esm/menu/menu-constants.d.ts +1 -1
- package/esm/menu/menu-foundation.d.ts +1 -0
- package/esm/menu/menu-foundation.js +11 -4
- package/esm/menu/menu.js +1 -5
- package/esm/open-icon/open-icon.js +2 -2
- package/esm/overlay/base/base-overlay-foundation.d.ts +50 -0
- package/esm/overlay/base/base-overlay-foundation.js +11 -0
- package/esm/overlay/base/base-overlay.d.ts +49 -0
- package/esm/overlay/base/base-overlay.js +106 -0
- package/esm/overlay/base/overlay-aware-adapter.d.ts +17 -0
- package/esm/overlay/base/overlay-aware-adapter.js +15 -0
- package/esm/overlay/base/overlay-aware-foundation.d.ts +53 -0
- package/esm/overlay/base/overlay-aware-foundation.js +158 -0
- package/esm/overlay/base/overlay-aware.d.ts +36 -0
- package/esm/overlay/base/overlay-aware.js +102 -0
- package/esm/overlay/index.d.ts +10 -0
- package/esm/overlay/index.js +14 -0
- package/esm/overlay/mixins/with-overlay-aware.d.ts +105 -0
- package/esm/overlay/mixins/with-overlay-aware.js +152 -0
- package/esm/overlay/overlay-adapter.d.ts +54 -0
- package/esm/overlay/overlay-adapter.js +182 -0
- package/esm/overlay/overlay-constants.d.ts +71 -0
- package/esm/overlay/overlay-constants.js +48 -0
- package/esm/overlay/overlay-foundation.d.ts +76 -0
- package/esm/overlay/overlay-foundation.js +288 -0
- package/esm/overlay/overlay.d.ts +90 -0
- package/esm/overlay/overlay.js +105 -0
- package/esm/paginator/paginator-constants.d.ts +9 -0
- package/esm/paginator/paginator-foundation.d.ts +5 -2
- package/esm/paginator/paginator-foundation.js +29 -8
- package/esm/paginator/paginator.d.ts +3 -1
- package/esm/paginator/paginator.js +4 -1
- package/esm/popover/index.d.ts +10 -0
- package/esm/popover/index.js +14 -0
- package/esm/popover/popover-adapter.d.ts +46 -0
- package/esm/popover/popover-adapter.js +105 -0
- package/esm/popover/popover-constants.d.ts +42 -0
- package/esm/popover/popover-constants.js +42 -0
- package/esm/popover/popover-foundation.d.ts +139 -0
- package/esm/popover/popover-foundation.js +458 -0
- package/esm/popover/popover.d.ts +96 -0
- package/esm/popover/popover.js +147 -0
- package/esm/popup/popup-constants.d.ts +1 -1
- package/esm/profile-card/profile-card.js +1 -1
- package/esm/radio/core/radio-group-manager.d.ts +83 -0
- package/esm/radio/core/radio-group-manager.js +201 -0
- package/esm/radio/index.d.ts +1 -2
- package/esm/radio/index.js +1 -6
- package/esm/radio/radio/index.d.ts +10 -0
- package/esm/radio/radio/index.js +14 -0
- package/esm/radio/radio/radio-adapter.d.ts +41 -0
- package/esm/radio/radio/radio-adapter.js +75 -0
- package/{styles/focus-indicator/_configuration.scss → esm/radio/radio/radio-component-delegate.d.ts} +0 -5
- package/{styles/list/list/_configuration.scss → esm/radio/radio/radio-component-delegate.js} +1 -5
- package/esm/radio/radio/radio-constants.d.ts +37 -0
- package/esm/radio/radio/radio-constants.js +40 -0
- package/esm/radio/radio/radio-foundation.d.ts +70 -0
- package/esm/radio/radio/radio-foundation.js +199 -0
- package/esm/radio/radio/radio.d.ts +115 -0
- package/esm/radio/radio/radio.js +204 -0
- package/esm/radio/radio-group/index.d.ts +10 -0
- package/esm/radio/radio-group/index.js +14 -0
- package/esm/radio/radio-group/radio-group-adapter.d.ts +18 -0
- package/esm/radio/radio-group/radio-group-adapter.js +26 -0
- package/esm/radio/radio-group/radio-group-constants.d.ts +11 -0
- package/esm/radio/radio-group/radio-group-constants.js +14 -0
- package/esm/radio/radio-group/radio-group-foundation.d.ts +20 -0
- package/esm/radio/radio-group/radio-group-foundation.js +32 -0
- package/esm/radio/radio-group/radio-group.d.ts +47 -0
- package/esm/radio/radio-group/radio-group.js +83 -0
- package/esm/slider/slider.d.ts +2 -2
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/state-layer-foundation.js +9 -10
- package/esm/switch/switch.js +1 -1
- package/esm/table/table-utils.js +2 -3
- package/esm/tabs/tab/tab.js +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-adapter.js +3 -3
- package/esm/tabs/tab-bar/tab-bar-constants.d.ts +1 -1
- package/esm/tabs/tab-bar/tab-bar-constants.js +1 -1
- package/esm/tabs/tab-bar/tab-bar.js +2 -2
- package/esm/toast/toast-constants.d.ts +1 -1
- package/esm/toolbar/toolbar.js +1 -1
- package/esm/tooltip/index.d.ts +0 -1
- package/esm/tooltip/index.js +0 -1
- package/esm/tooltip/tooltip-adapter.d.ts +30 -60
- package/esm/tooltip/tooltip-adapter.js +105 -97
- package/esm/tooltip/tooltip-constants.d.ts +44 -21
- package/esm/tooltip/tooltip-constants.js +27 -22
- package/esm/tooltip/tooltip-foundation.d.ts +72 -84
- package/esm/tooltip/tooltip-foundation.js +265 -192
- package/esm/tooltip/tooltip.d.ts +93 -26
- package/esm/tooltip/tooltip.js +129 -31
- package/package.json +2 -4
- package/styles/app-bar/app-bar/_core.scss +6 -0
- package/styles/app-bar/app-bar/app-bar.scss +31 -17
- package/styles/app-bar/app-bar/index.scss +0 -2
- package/styles/app-bar/search/_core.scss +75 -0
- package/styles/app-bar/search/_token-utils.scss +30 -0
- package/styles/app-bar/search/app-bar-search.scss +50 -4
- package/styles/{switch/_configuration.scss → app-bar/search/index.scss} +1 -5
- package/styles/button/_core.scss +2 -0
- package/styles/button/button.scss +40 -25
- package/styles/button/index.scss +0 -2
- package/styles/button-toggle/button-toggle/_core.scss +78 -0
- package/styles/button-toggle/button-toggle/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle/button-toggle.scss +65 -11
- package/styles/button-toggle/button-toggle/index.scss +6 -0
- package/styles/button-toggle/button-toggle-group/_core.scss +62 -0
- package/styles/button-toggle/button-toggle-group/_token-utils.scss +30 -0
- package/styles/button-toggle/button-toggle-group/button-toggle-group.scss +123 -3
- package/styles/button-toggle/button-toggle-group/index.scss +8 -0
- package/styles/checkbox/_core.scss +3 -0
- package/styles/checkbox/checkbox.scss +24 -26
- package/styles/checkbox/index.scss +0 -2
- package/styles/circular-progress/_core.scss +2 -0
- package/styles/circular-progress/circular-progress.scss +36 -27
- package/styles/circular-progress/index.scss +0 -2
- package/styles/core/styles/elevation/index.scss +1 -1
- package/styles/core/styles/tokens/_token-utils.scss +14 -5
- package/styles/core/styles/tokens/app-bar/search/_tokens.scss +35 -0
- package/styles/core/styles/tokens/button/_tokens.scss +4 -4
- package/styles/core/styles/tokens/button-toggle/button-toggle/_tokens.scss +68 -0
- package/styles/core/styles/tokens/button-toggle/button-toggle-group/_tokens.scss +48 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +6 -6
- package/styles/core/styles/tokens/floating-action-button/_tokens.scss +1 -1
- package/styles/core/styles/tokens/icon-button/_tokens.scss +3 -3
- package/styles/core/styles/tokens/overlay/_tokens.scss +23 -0
- package/styles/core/styles/tokens/popover/_tokens.scss +56 -0
- package/styles/core/styles/tokens/profile-card/_tokens.scss +1 -1
- package/styles/core/styles/tokens/radio/_tokens.scss +66 -0
- package/styles/core/styles/tokens/switch/_tokens.scss +3 -3
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +5 -5
- package/styles/core/styles/tokens/theme/_token-utils.scss +12 -11
- package/styles/core/styles/tokens/theme/_tokens.surface.scss +3 -0
- package/styles/core/styles/tokens/theme/_tokens.text.scss +4 -4
- package/styles/core/styles/tokens/theme/_tokens.utilities.scss +3 -0
- package/styles/core/styles/tokens/tooltip/_tokens.scss +53 -0
- package/styles/dialog/_mixins.scss +1 -1
- package/styles/drawer/mini-drawer/_mixins.scss +0 -2
- package/styles/floating-action-button/_core.scss +2 -0
- package/styles/floating-action-button/floating-action-button.scss +14 -14
- package/styles/floating-action-button/index.scss +0 -2
- package/styles/focus-indicator/_core.scss +2 -0
- package/styles/focus-indicator/focus-indicator.scss +7 -8
- package/styles/focus-indicator/index.scss +0 -2
- package/styles/forge.scss +0 -1
- package/styles/icon-button/_core.scss +2 -0
- package/styles/icon-button/icon-button.scss +29 -28
- package/styles/icon-button/index.scss +0 -2
- package/styles/label/_core.scss +2 -5
- package/styles/label/label.scss +3 -7
- package/styles/linear-progress/_core.scss +2 -0
- package/styles/linear-progress/index.scss +0 -2
- package/styles/linear-progress/linear-progress.scss +29 -18
- package/styles/list/list/_core.scss +2 -0
- package/styles/list/list/index.scss +0 -2
- package/styles/list/list/list.scss +4 -4
- package/styles/list/list-item/_core.scss +2 -0
- package/styles/list/list-item/index.scss +0 -2
- package/styles/list/list-item/list-item.scss +50 -44
- package/styles/overlay/_core.scss +46 -0
- package/styles/overlay/_token-utils.scss +31 -0
- package/styles/overlay/index.scss +6 -0
- package/styles/overlay/overlay.scss +66 -0
- package/styles/popover/_animations.scss +36 -0
- package/styles/popover/_core.scss +56 -0
- package/styles/popover/_token-utils.scss +31 -0
- package/styles/popover/index.scss +6 -0
- package/styles/popover/popover.scss +254 -0
- package/styles/profile-card/_core.scss +2 -0
- package/styles/profile-card/index.scss +0 -2
- package/styles/profile-card/profile-card.scss +9 -11
- package/styles/radio/index.scss +6 -0
- package/styles/radio/radio/_core.scss +126 -0
- package/styles/radio/radio/_token-utils.scss +30 -0
- package/styles/radio/radio/index.scss +6 -0
- package/styles/radio/radio/radio.scss +99 -0
- package/styles/slider/_core.scss +2 -0
- package/styles/slider/index.scss +0 -2
- package/styles/slider/slider.scss +45 -41
- package/styles/split-button/index.scss +0 -1
- package/styles/split-button/split-button.scss +3 -2
- package/styles/state-layer/_core.scss +3 -2
- package/styles/state-layer/index.scss +0 -2
- package/styles/state-layer/state-layer.scss +7 -8
- package/styles/switch/_core.scss +9 -0
- package/styles/switch/index.scss +0 -2
- package/styles/switch/switch.scss +28 -30
- package/styles/tabs/tab/_core.scss +2 -0
- package/styles/tabs/tab/index.scss +0 -2
- package/styles/tabs/tab/tab.scss +27 -28
- package/styles/tabs/tab-bar/_core.scss +2 -0
- package/styles/tabs/tab-bar/index.scss +0 -2
- package/styles/tabs/tab-bar/tab-bar.scss +21 -23
- package/styles/theme/_theme-dark.scss +14 -2
- package/styles/theme/_theme-values.scss +2 -0
- package/styles/toolbar/_mixins.scss +2 -1
- package/styles/tooltip/_animations.scss +18 -0
- package/styles/tooltip/_core.scss +86 -0
- package/styles/tooltip/_token-utils.scss +31 -0
- package/styles/tooltip/index.scss +6 -0
- package/styles/tooltip/tooltip.scss +107 -0
- package/dist/esm/chunks/chunk.2GJ54C3Q.js +0 -7
- package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +0 -7
- package/dist/esm/chunks/chunk.2YDKRTKP.js +0 -7
- package/dist/esm/chunks/chunk.2YDKRTKP.js.map +0 -7
- package/dist/esm/chunks/chunk.3JCHXLPT.js +0 -7
- package/dist/esm/chunks/chunk.3JCHXLPT.js.map +0 -7
- package/dist/esm/chunks/chunk.3RMBFRGC.js +0 -7
- package/dist/esm/chunks/chunk.3RMBFRGC.js.map +0 -7
- package/dist/esm/chunks/chunk.3ZRQFXQU.js +0 -7
- package/dist/esm/chunks/chunk.4QDN5PM6.js +0 -7
- package/dist/esm/chunks/chunk.4QDN5PM6.js.map +0 -7
- package/dist/esm/chunks/chunk.5H4G6BWX.js +0 -7
- package/dist/esm/chunks/chunk.5H4G6BWX.js.map +0 -7
- package/dist/esm/chunks/chunk.5VHUMZYS.js +0 -7
- package/dist/esm/chunks/chunk.6DXDNQUR.js +0 -15
- package/dist/esm/chunks/chunk.6DXDNQUR.js.map +0 -7
- package/dist/esm/chunks/chunk.6Y45DLA6.js +0 -7
- package/dist/esm/chunks/chunk.6Y45DLA6.js.map +0 -7
- package/dist/esm/chunks/chunk.7BGOH44S.js +0 -7
- package/dist/esm/chunks/chunk.7BGOH44S.js.map +0 -7
- package/dist/esm/chunks/chunk.7UXLLUTN.js +0 -7
- package/dist/esm/chunks/chunk.AEJGC4YG.js +0 -7
- package/dist/esm/chunks/chunk.AEJGC4YG.js.map +0 -7
- package/dist/esm/chunks/chunk.BFUGFHEH.js +0 -7
- package/dist/esm/chunks/chunk.BLW6QESQ.js +0 -12
- package/dist/esm/chunks/chunk.BLW6QESQ.js.map +0 -7
- package/dist/esm/chunks/chunk.C5IB44HX.js +0 -7
- package/dist/esm/chunks/chunk.CNRFOWHY.js +0 -7
- package/dist/esm/chunks/chunk.CNRFOWHY.js.map +0 -7
- package/dist/esm/chunks/chunk.CZOABXEQ.js +0 -7
- package/dist/esm/chunks/chunk.E3GVKR4E.js +0 -7
- package/dist/esm/chunks/chunk.E3GVKR4E.js.map +0 -7
- package/dist/esm/chunks/chunk.EBSBAFCX.js +0 -7
- package/dist/esm/chunks/chunk.EBSBAFCX.js.map +0 -7
- package/dist/esm/chunks/chunk.F6KM5FO6.js +0 -7
- package/dist/esm/chunks/chunk.FB6ZLH6P.js +0 -7
- package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js +0 -7
- package/dist/esm/chunks/chunk.FDZSLGIW.js.map +0 -7
- package/dist/esm/chunks/chunk.GT3VPSXY.js +0 -7
- package/dist/esm/chunks/chunk.GT3VPSXY.js.map +0 -7
- package/dist/esm/chunks/chunk.I3NHK2S3.js +0 -7
- package/dist/esm/chunks/chunk.IT66AOX7.js +0 -7
- package/dist/esm/chunks/chunk.IT66AOX7.js.map +0 -7
- package/dist/esm/chunks/chunk.IVUK3W34.js +0 -7
- package/dist/esm/chunks/chunk.IVUK3W34.js.map +0 -7
- package/dist/esm/chunks/chunk.J2KHTGSB.js +0 -7
- package/dist/esm/chunks/chunk.J2KHTGSB.js.map +0 -7
- package/dist/esm/chunks/chunk.JAWV5Y5T.js +0 -7
- package/dist/esm/chunks/chunk.JVK64JDZ.js +0 -7
- package/dist/esm/chunks/chunk.KFDYMENL.js +0 -7
- package/dist/esm/chunks/chunk.KFDYMENL.js.map +0 -7
- package/dist/esm/chunks/chunk.KTYYBWTN.js +0 -7
- package/dist/esm/chunks/chunk.LCNR2RPT.js +0 -7
- package/dist/esm/chunks/chunk.LCNR2RPT.js.map +0 -7
- package/dist/esm/chunks/chunk.LOBKFTRM.js +0 -7
- package/dist/esm/chunks/chunk.LOBKFTRM.js.map +0 -7
- package/dist/esm/chunks/chunk.LS7WRRT2.js +0 -7
- package/dist/esm/chunks/chunk.LS7WRRT2.js.map +0 -7
- package/dist/esm/chunks/chunk.LSNAGIIH.js +0 -7
- package/dist/esm/chunks/chunk.LSNAGIIH.js.map +0 -7
- package/dist/esm/chunks/chunk.LUIKMPQR.js +0 -7
- package/dist/esm/chunks/chunk.LUIKMPQR.js.map +0 -7
- package/dist/esm/chunks/chunk.MZZJY5NX.js +0 -7
- package/dist/esm/chunks/chunk.MZZJY5NX.js.map +0 -7
- package/dist/esm/chunks/chunk.NYYXUH3X.js +0 -7
- package/dist/esm/chunks/chunk.OYO5O3NF.js +0 -7
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js +0 -7
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +0 -7
- package/dist/esm/chunks/chunk.RCSBJQ4G.js +0 -7
- package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +0 -7
- package/dist/esm/chunks/chunk.RDW7Z4W5.js +0 -7
- package/dist/esm/chunks/chunk.SNF35Y6C.js +0 -7
- package/dist/esm/chunks/chunk.SNF35Y6C.js.map +0 -7
- package/dist/esm/chunks/chunk.SOLF23NC.js +0 -7
- package/dist/esm/chunks/chunk.T34DG7BU.js +0 -7
- package/dist/esm/chunks/chunk.TA3MVDUU.js +0 -7
- package/dist/esm/chunks/chunk.TA3MVDUU.js.map +0 -7
- package/dist/esm/chunks/chunk.UWZWXNTW.js +0 -7
- package/dist/esm/chunks/chunk.UWZWXNTW.js.map +0 -7
- package/dist/esm/chunks/chunk.VD5ZL5ZN.js +0 -7
- package/dist/esm/chunks/chunk.WQGPIOL6.js +0 -7
- package/dist/esm/chunks/chunk.WQGPIOL6.js.map +0 -7
- package/dist/esm/chunks/chunk.XDANTL6C.js +0 -7
- package/dist/esm/chunks/chunk.XNCBGWE4.js +0 -7
- package/dist/esm/chunks/chunk.XNCBGWE4.js.map +0 -7
- package/dist/esm/chunks/chunk.ZSD7MMVB.js +0 -7
- package/dist/esm/chunks/chunk.ZSD7MMVB.js.map +0 -7
- package/dist/esm/chunks/chunk.ZVJMIBUM.js +0 -7
- package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +0 -7
- package/dist/tooltip/forge-tooltip.css +0 -6
- package/esm/radio/radio-adapter.d.ts +0 -71
- package/esm/radio/radio-adapter.js +0 -260
- package/esm/radio/radio-constants.d.ts +0 -30
- package/esm/radio/radio-constants.js +0 -36
- package/esm/radio/radio-foundation.d.ts +0 -31
- package/esm/radio/radio-foundation.js +0 -80
- package/esm/radio/radio.d.ts +0 -33
- package/esm/radio/radio.js +0 -75
- package/esm/tooltip/tooltip-utils.d.ts +0 -13
- package/esm/tooltip/tooltip-utils.js +0 -53
- package/styles/app-bar/app-bar/_configuration.scss +0 -16
- package/styles/app-bar/search/_mixins.scss +0 -238
- package/styles/app-bar/search/_variables.scss +0 -18
- package/styles/button/_configuration.scss +0 -16
- package/styles/button-toggle/button-toggle/_mixins.scss +0 -117
- package/styles/button-toggle/button-toggle-group/_mixins.scss +0 -79
- package/styles/circular-progress/_configuration.scss +0 -16
- package/styles/floating-action-button/_configuration.scss +0 -16
- package/styles/icon-button/_configuration.scss +0 -16
- package/styles/linear-progress/_configuration.scss +0 -28
- package/styles/list/list-item/_configuration.scss +0 -16
- package/styles/radio/_mixins.scss +0 -309
- package/styles/radio/_radio-theme.scss +0 -314
- package/styles/radio/radio.scss +0 -19
- package/styles/split-button/_configuration.scss +0 -12
- package/styles/state-layer/_configuration.scss +0 -10
- package/styles/tabs/tab/_configuration.scss +0 -27
- package/styles/tabs/tab-bar/_configuration.scss +0 -10
- package/styles/tooltip/_mixins.scss +0 -98
- package/styles/tooltip/_variables.scss +0 -18
- package/styles/tooltip/forge-tooltip.scss +0 -12
- /package/dist/esm/chunks/{chunk.PSTGTQVK.js.map → chunk.2JCTFKCR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4B5IOZAT.js.map → chunk.2YE556AM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YKZ25J6B.js.map → chunk.3U6A353B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LXX3YZYS.js.map → chunk.436USWLL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KLPF4CNX.js.map → chunk.4GMGQZOW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z7PBGV4K.js.map → chunk.4JB3SESQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QFY23EWU.js.map → chunk.4JL5LW5J.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NYYXUH3X.js.map → chunk.55D2BMXX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A72W7RW7.js.map → chunk.5LCWC3A7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RYNQDXFA.js.map → chunk.5T7TT3AB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HHHBS6FB.js.map → chunk.B53Q676I.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.B46Q3AFP.js.map → chunk.BKQSLDMK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.F2EBSV5Z.js.map → chunk.BZVLSWZR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BMQYEYCT.js.map → chunk.DGG5ABL3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PK7R6WDF.js.map → chunk.DPIWAXEW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7PP6QHOM.js.map → chunk.ETDUW5K2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GHR7T6U2.js.map → chunk.FGHSNC2V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.P7LC3YYW.js.map → chunk.FPRBYGET.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7W2UWAZX.js.map → chunk.FQVR2QNF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IEB5KRFQ.js.map → chunk.FWWBFNQA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.543K5Y4E.js.map → chunk.FZELFLPE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6Q3SV2R2.js.map → chunk.FZZUNYH5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CTZ3AWDW.js.map → chunk.GLUKTMQU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W324TWF2.js.map → chunk.GTBCTNMI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.L4Y4RO5O.js.map → chunk.GURV4TDZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.THWSN3X4.js.map → chunk.IA27LU2O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TZFUKJ24.js.map → chunk.JXJVPJRO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z2RB75TN.js.map → chunk.K3STAW42.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G2BNY5QQ.js.map → chunk.KPC6IS3C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VDZ7HBKM.js.map → chunk.KV7PGQJ7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OYO5O3NF.js.map → chunk.M5JGYRH4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.T34DG7BU.js.map → chunk.N75VD4S4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.H7GW57Q6.js.map → chunk.NKEAMFO4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.26E4L52W.js.map → chunk.NW54VA4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PADPL4L3.js.map → chunk.OUIWXKO2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.I3NHK2S3.js.map → chunk.OXVCCHM5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7ABZUBTT.js.map → chunk.P5XHGSJY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NZKIFXBU.js.map → chunk.QKTNCOVX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NG6UZ4OL.js.map → chunk.QZ57WM3D.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OED5UCYT.js.map → chunk.R2QENXIL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DOEG3DWJ.js.map → chunk.RDQ3QGWS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GS72TBUD.js.map → chunk.RFKKHN7V.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.57PXXJA6.js.map → chunk.RKG66YKS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LMIKNDBS.js.map → chunk.T235SNYZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SOLF23NC.js.map → chunk.VGIZJ32U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.U5WMRBSC.js.map → chunk.WA2YP4NC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5C24LZNU.js.map → chunk.WQHKUNR7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UXLLUTN.js.map → chunk.X57DRPFB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DDXIHZFX.js.map → chunk.X7YTDVNT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7DHDFH5L.js.map → chunk.XOH2JCRS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KVCDAZ6B.js.map → chunk.YTBNAGLS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RZZBM3AW.js.map → chunk.ZHMV5SR4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GWJ4QCSW.js.map → chunk.ZLACSRD4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DTKFE7YB.js.map → chunk.ZUTQPJ2B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PQQVUUHU.js.map → chunk.ZYCKD6K5.js.map} +0 -0
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @license
|
|
8
|
+
* Copyright 2023 Google LLC
|
|
9
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
*
|
|
11
|
+
* Adapted and influenced from [Material Web](https://github.com/material-components/material-web).
|
|
12
|
+
* The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/internal/aria/aria.ts)
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Reflective ARIA property name types.
|
|
16
|
+
*/
|
|
17
|
+
export type ARIAProperty = Exclude<keyof ARIAMixin, 'role'>;
|
|
18
|
+
/**
|
|
19
|
+
* Reflective ARIA attributes.
|
|
20
|
+
*/
|
|
21
|
+
export type ARIAAttribute = `${ARIAPropertyToAttribute<ARIAProperty>}` | 'role';
|
|
22
|
+
/**
|
|
23
|
+
* Reflective ARIA properties.
|
|
24
|
+
*/
|
|
25
|
+
export declare const ARIA_PROPERTIES: ARIAProperty[];
|
|
26
|
+
/**
|
|
27
|
+
* ARIA role values.
|
|
28
|
+
*/
|
|
29
|
+
export type ARIARole = 'alert' | 'alertdialog' | 'button' | 'checkbox' | 'dialog' | 'gridcell' | 'link' | 'log' | 'marquee' | 'menuitem' | 'menuitemcheckbox' | 'menuitemradio' | 'option' | 'progressbar' | 'radio' | 'scrollbar' | 'searchbox' | 'slider' | 'spinbutton' | 'status' | 'switch' | 'tab' | 'tabpanel' | 'textbox' | 'timer' | 'tooltip' | 'treeitem' | 'combobox' | 'grid' | 'listbox' | 'menu' | 'menubar' | 'radiogroup' | 'tablist' | 'tree' | 'treegrid' | 'application' | 'article' | 'cell' | 'columnheader' | 'definition' | 'directory' | 'document' | 'feed' | 'figure' | 'group' | 'heading' | 'img' | 'list' | 'listitem' | 'math' | 'none' | 'note' | 'presentation' | 'region' | 'row' | 'rowgroup' | 'rowheader' | 'separator' | 'table' | 'term' | 'text' | 'toolbar' | 'banner' | 'complementary' | 'contentinfo' | 'form' | 'main' | 'navigation' | 'region' | 'search' | 'doc-abstract' | 'doc-acknowledgments' | 'doc-afterword' | 'doc-appendix' | 'doc-backlink' | 'doc-biblioentry' | 'doc-bibliography' | 'doc-biblioref' | 'doc-chapter' | 'doc-colophon' | 'doc-conclusion' | 'doc-cover' | 'doc-credit' | 'doc-credits' | 'doc-dedication' | 'doc-endnote' | 'doc-endnotes' | 'doc-epigraph' | 'doc-epilogue' | 'doc-errata' | 'doc-example' | 'doc-footnote' | 'doc-foreword' | 'doc-glossary' | 'doc-glossref' | 'doc-index' | 'doc-introduction' | 'doc-noteref' | 'doc-notice' | 'doc-pagebreak' | 'doc-pagelist' | 'doc-part' | 'doc-preface' | 'doc-prologue' | 'doc-pullquote' | 'doc-qna' | 'doc-subtitle' | 'doc-tip' | 'doc-toc';
|
|
30
|
+
/**
|
|
31
|
+
* Strictly typed ARIA properties.
|
|
32
|
+
*/
|
|
33
|
+
export interface ARIAMixinStrict extends ARIAMixin {
|
|
34
|
+
ariaAtomic: 'true' | 'false' | null;
|
|
35
|
+
ariaAutoComplete: 'none' | 'inline' | 'list' | 'both' | null;
|
|
36
|
+
ariaBusy: 'true' | 'false' | null;
|
|
37
|
+
ariaChecked: 'true' | 'false' | null;
|
|
38
|
+
ariaColCount: `${number}` | null;
|
|
39
|
+
ariaColIndex: `${number}` | null;
|
|
40
|
+
ariaColSpan: `${number}` | null;
|
|
41
|
+
ariaCurrent: 'page' | 'step' | 'location' | 'date' | 'time' | 'true' | 'false' | null;
|
|
42
|
+
ariaDisabled: 'true' | 'false' | null;
|
|
43
|
+
ariaExpanded: 'true' | 'false' | null;
|
|
44
|
+
ariaHasPopup: 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog' | null;
|
|
45
|
+
ariaHidden: 'true' | 'false' | null;
|
|
46
|
+
ariaInvalid: 'true' | 'false' | null;
|
|
47
|
+
ariaKeyShortcuts: string | null;
|
|
48
|
+
ariaLabel: string | null;
|
|
49
|
+
ariaLevel: `${number}` | null;
|
|
50
|
+
ariaLive: 'assertive' | 'off' | 'polite' | null;
|
|
51
|
+
ariaModal: 'true' | 'false' | null;
|
|
52
|
+
ariaMultiLine: 'true' | 'false' | null;
|
|
53
|
+
ariaMultiSelectable: 'true' | 'false' | null;
|
|
54
|
+
ariaOrientation: 'horizontal' | 'vertical' | 'undefined' | null;
|
|
55
|
+
ariaPlaceholder: string | null;
|
|
56
|
+
ariaPosInSet: `${number}` | null;
|
|
57
|
+
ariaPressed: 'true' | 'false' | null;
|
|
58
|
+
ariaReadOnly: 'true' | 'false' | null;
|
|
59
|
+
ariaRequired: 'true' | 'false' | null;
|
|
60
|
+
ariaRoleDescription: string | null;
|
|
61
|
+
ariaRowCount: `${number}` | null;
|
|
62
|
+
ariaRowIndex: `${number}` | null;
|
|
63
|
+
ariaRowSpan: `${number}` | null;
|
|
64
|
+
ariaSelected: 'true' | 'false' | null;
|
|
65
|
+
ariaSetSize: `${number}` | null;
|
|
66
|
+
ariaSort: 'ascending' | 'descending' | 'none' | 'other' | null;
|
|
67
|
+
ariaValueMax: `${number}` | null;
|
|
68
|
+
ariaValueMin: `${number}` | null;
|
|
69
|
+
ariaValueNow: `${number}` | null;
|
|
70
|
+
ariaValueText: string | null;
|
|
71
|
+
role: ARIARole | null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The ARIA attribute corresponding to a given ARIA property.
|
|
75
|
+
*/
|
|
76
|
+
export type ARIAPropertyToAttribute<K extends string> = K extends `aria${infer Suffix}Element${infer OptS}` ? `aria-${Lowercase<Suffix>}` : K extends `aria${infer Suffix}` ? `aria-${Lowercase<Suffix>}` : K;
|
|
77
|
+
/**
|
|
78
|
+
* Gets the ARIA attribute corresponding to a given ARIA property.
|
|
79
|
+
*
|
|
80
|
+
* @param property An ARIA mixin property.
|
|
81
|
+
* @returns An ARIA attribute name.
|
|
82
|
+
*/
|
|
83
|
+
export declare function ariaPropertyToAttribute<K extends ARIAProperty | 'role'>(property: K): string;
|
|
84
|
+
/**
|
|
85
|
+
* Gets the ARIA property corresponding to a given ARIA attribute.
|
|
86
|
+
*
|
|
87
|
+
* @param attribute An ARIA attribute name.
|
|
88
|
+
* @returns An ARIA mixin property.
|
|
89
|
+
*/
|
|
90
|
+
export declare function ariaAttributeToProperty<K extends ARIAAttribute | 'role'>(attribute: K): ARIAProperty;
|
|
91
|
+
export type DefaultAriaOptions = {
|
|
92
|
+
setAttribute?: boolean;
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Applies default ARIA to an element through ElementInternals if supported. Otherwise, ARIA
|
|
96
|
+
* attributes are set directly on the element and stored in additional `data-default-*` attributes
|
|
97
|
+
* for restoration in case attributes are overwritten during the element's lifecycle.
|
|
98
|
+
*
|
|
99
|
+
* This fallback is needed for browsers that don't support ARIA in ElementInternals, such as most
|
|
100
|
+
* recent versions of Firefox.
|
|
101
|
+
*
|
|
102
|
+
* Because new attributes may be sprouted on the element, it is necessary to call this after the
|
|
103
|
+
* element has been connected to the DOM.
|
|
104
|
+
*
|
|
105
|
+
* @param element - The element to set up ARIA attributes for.
|
|
106
|
+
* @param internals - The ElementInternals object to use for setting ARIA attributes if supported.
|
|
107
|
+
* @param properties - An object containing ARIA properties and their values to set as defaults.
|
|
108
|
+
* @param options - A `DefaultAriaOptions` object.
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* class ButtonComponent extends BaseComponent {
|
|
112
|
+
* public readonly internals: ElementInternals;
|
|
113
|
+
*
|
|
114
|
+
* constructor() {
|
|
115
|
+
* super();
|
|
116
|
+
* this.internals = this.attachInternals();
|
|
117
|
+
* }
|
|
118
|
+
*
|
|
119
|
+
* public connectedCallback(): void {
|
|
120
|
+
* setDefaultAria(this, this.internals, {
|
|
121
|
+
* role: 'button'
|
|
122
|
+
* });
|
|
123
|
+
* }
|
|
124
|
+
* }
|
|
125
|
+
*/
|
|
126
|
+
export declare function setDefaultAria(element: HTMLElement, internals: ElementInternals, properties: Partial<ARIAMixinStrict>, { setAttribute }?: DefaultAriaOptions): void;
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* @license
|
|
8
|
+
* Copyright 2023 Google LLC
|
|
9
|
+
* SPDX-License-Identifier: Apache-2.0
|
|
10
|
+
*
|
|
11
|
+
* Adapted and influenced from [Material Web](https://github.com/material-components/material-web).
|
|
12
|
+
* The original source code can be found at: [GitHub](https://github.com/material-components/material-web/blob/main/internal/aria/aria.ts)
|
|
13
|
+
*/
|
|
14
|
+
import { toggleAttribute } from '@tylertech/forge-core';
|
|
15
|
+
import { supportsElementInternalsAria } from './feature-detection';
|
|
16
|
+
/**
|
|
17
|
+
* Reflective ARIA properties.
|
|
18
|
+
*/
|
|
19
|
+
export const ARIA_PROPERTIES = [
|
|
20
|
+
'ariaAtomic',
|
|
21
|
+
'ariaAutoComplete',
|
|
22
|
+
'ariaBusy',
|
|
23
|
+
'ariaChecked',
|
|
24
|
+
'ariaColCount',
|
|
25
|
+
'ariaColIndex',
|
|
26
|
+
'ariaColSpan',
|
|
27
|
+
'ariaCurrent',
|
|
28
|
+
'ariaDisabled',
|
|
29
|
+
'ariaExpanded',
|
|
30
|
+
'ariaHasPopup',
|
|
31
|
+
'ariaHidden',
|
|
32
|
+
'ariaInvalid',
|
|
33
|
+
'ariaKeyShortcuts',
|
|
34
|
+
'ariaLabel',
|
|
35
|
+
'ariaLevel',
|
|
36
|
+
'ariaLive',
|
|
37
|
+
'ariaModal',
|
|
38
|
+
'ariaMultiLine',
|
|
39
|
+
'ariaMultiSelectable',
|
|
40
|
+
'ariaOrientation',
|
|
41
|
+
'ariaPlaceholder',
|
|
42
|
+
'ariaPosInSet',
|
|
43
|
+
'ariaPressed',
|
|
44
|
+
'ariaReadOnly',
|
|
45
|
+
'ariaRequired',
|
|
46
|
+
'ariaRoleDescription',
|
|
47
|
+
'ariaRowCount',
|
|
48
|
+
'ariaRowIndex',
|
|
49
|
+
'ariaRowSpan',
|
|
50
|
+
'ariaSelected',
|
|
51
|
+
'ariaSetSize',
|
|
52
|
+
'ariaSort',
|
|
53
|
+
'ariaValueMax',
|
|
54
|
+
'ariaValueMin',
|
|
55
|
+
'ariaValueNow',
|
|
56
|
+
'ariaValueText'
|
|
57
|
+
];
|
|
58
|
+
/**
|
|
59
|
+
* An object mapping all ARIA attributes to their corresponding properties.
|
|
60
|
+
*
|
|
61
|
+
* This is required because the property name cannot be reliably inferred from the attribute name.
|
|
62
|
+
*/
|
|
63
|
+
const ARIA_ATTRIBUTES_TO_PROPERTIES = {
|
|
64
|
+
'aria-atomic': 'ariaAtomic',
|
|
65
|
+
'aria-autocomplete': 'ariaAutoComplete',
|
|
66
|
+
'aria-busy': 'ariaBusy',
|
|
67
|
+
'aria-checked': 'ariaChecked',
|
|
68
|
+
'aria-colcount': 'ariaColCount',
|
|
69
|
+
'aria-colindex': 'ariaColIndex',
|
|
70
|
+
'aria-colindextext': 'ariaColIndexText',
|
|
71
|
+
'aria-colspan': 'ariaColSpan',
|
|
72
|
+
'aria-current': 'ariaCurrent',
|
|
73
|
+
'aria-disabled': 'ariaDisabled',
|
|
74
|
+
'aria-expanded': 'ariaExpanded',
|
|
75
|
+
'aria-haspopup': 'ariaHasPopup',
|
|
76
|
+
'aria-hidden': 'ariaHidden',
|
|
77
|
+
'aria-invalid': 'ariaInvalid',
|
|
78
|
+
'aria-keyshortcuts': 'ariaKeyShortcuts',
|
|
79
|
+
'aria-label': 'ariaLabel',
|
|
80
|
+
'aria-level': 'ariaLevel',
|
|
81
|
+
'aria-live': 'ariaLive',
|
|
82
|
+
'aria-modal': 'ariaModal',
|
|
83
|
+
'aria-multiline': 'ariaMultiLine',
|
|
84
|
+
'aria-multiselectable': 'ariaMultiSelectable',
|
|
85
|
+
'aria-orientation': 'ariaOrientation',
|
|
86
|
+
'aria-placeholder': 'ariaPlaceholder',
|
|
87
|
+
'aria-posinset': 'ariaPosInSet',
|
|
88
|
+
'aria-pressed': 'ariaPressed',
|
|
89
|
+
'aria-readonly': 'ariaReadOnly',
|
|
90
|
+
'aria-required': 'ariaRequired',
|
|
91
|
+
'aria-roledescription': 'ariaRoleDescription',
|
|
92
|
+
'aria-rowcount': 'ariaRowCount',
|
|
93
|
+
'aria-rowindex': 'ariaRowIndex',
|
|
94
|
+
'aria-rowindextext': 'ariaRowIndexText',
|
|
95
|
+
'aria-rowspan': 'ariaRowSpan',
|
|
96
|
+
'aria-selected': 'ariaSelected',
|
|
97
|
+
'aria-setsize': 'ariaSetSize',
|
|
98
|
+
'aria-sort': 'ariaSort',
|
|
99
|
+
'aria-valuemax': 'ariaValueMax',
|
|
100
|
+
'aria-valuemin': 'ariaValueMin',
|
|
101
|
+
'aria-valuenow': 'ariaValueNow',
|
|
102
|
+
'aria-valuetext': 'ariaValueText',
|
|
103
|
+
'role': 'role'
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Gets the ARIA attribute corresponding to a given ARIA property.
|
|
107
|
+
*
|
|
108
|
+
* @param property An ARIA mixin property.
|
|
109
|
+
* @returns An ARIA attribute name.
|
|
110
|
+
*/
|
|
111
|
+
export function ariaPropertyToAttribute(property) {
|
|
112
|
+
return property
|
|
113
|
+
.replace('aria', 'aria-')
|
|
114
|
+
// IDREF attributes also include an "Element" or "Elements" suffix
|
|
115
|
+
.replace(/Elements?/g, '')
|
|
116
|
+
.toLowerCase();
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Gets the ARIA property corresponding to a given ARIA attribute.
|
|
120
|
+
*
|
|
121
|
+
* @param attribute An ARIA attribute name.
|
|
122
|
+
* @returns An ARIA mixin property.
|
|
123
|
+
*/
|
|
124
|
+
export function ariaAttributeToProperty(attribute) {
|
|
125
|
+
return ARIA_ATTRIBUTES_TO_PROPERTIES[attribute];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Applies default ARIA to an element through ElementInternals if supported. Otherwise, ARIA
|
|
129
|
+
* attributes are set directly on the element and stored in additional `data-default-*` attributes
|
|
130
|
+
* for restoration in case attributes are overwritten during the element's lifecycle.
|
|
131
|
+
*
|
|
132
|
+
* This fallback is needed for browsers that don't support ARIA in ElementInternals, such as most
|
|
133
|
+
* recent versions of Firefox.
|
|
134
|
+
*
|
|
135
|
+
* Because new attributes may be sprouted on the element, it is necessary to call this after the
|
|
136
|
+
* element has been connected to the DOM.
|
|
137
|
+
*
|
|
138
|
+
* @param element - The element to set up ARIA attributes for.
|
|
139
|
+
* @param internals - The ElementInternals object to use for setting ARIA attributes if supported.
|
|
140
|
+
* @param properties - An object containing ARIA properties and their values to set as defaults.
|
|
141
|
+
* @param options - A `DefaultAriaOptions` object.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* class ButtonComponent extends BaseComponent {
|
|
145
|
+
* public readonly internals: ElementInternals;
|
|
146
|
+
*
|
|
147
|
+
* constructor() {
|
|
148
|
+
* super();
|
|
149
|
+
* this.internals = this.attachInternals();
|
|
150
|
+
* }
|
|
151
|
+
*
|
|
152
|
+
* public connectedCallback(): void {
|
|
153
|
+
* setDefaultAria(this, this.internals, {
|
|
154
|
+
* role: 'button'
|
|
155
|
+
* });
|
|
156
|
+
* }
|
|
157
|
+
* }
|
|
158
|
+
*/
|
|
159
|
+
export function setDefaultAria(element, internals, properties, { setAttribute } = { setAttribute: true }) {
|
|
160
|
+
Object.entries(properties).forEach(([key, value]) => {
|
|
161
|
+
if (supportsElementInternalsAria()) {
|
|
162
|
+
internals[key] = value;
|
|
163
|
+
}
|
|
164
|
+
const attribute = ariaPropertyToAttribute(key);
|
|
165
|
+
if (setAttribute || !element.hasAttribute(attribute)) {
|
|
166
|
+
toggleAttribute(element, value != null, attribute, value);
|
|
167
|
+
}
|
|
168
|
+
});
|
|
169
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents a deferred promise.
|
|
8
|
+
*
|
|
9
|
+
* Use deferred promises when you need to return a promise but you don't have the result yet.
|
|
10
|
+
*/
|
|
11
|
+
export declare class Deferred<T = void> {
|
|
12
|
+
/**
|
|
13
|
+
* The promise to be resolved or rejected.
|
|
14
|
+
*/
|
|
15
|
+
readonly promise: Promise<T>;
|
|
16
|
+
private _resolveFn;
|
|
17
|
+
private _rejectFn;
|
|
18
|
+
constructor();
|
|
19
|
+
/**
|
|
20
|
+
* Resolves the promise.
|
|
21
|
+
* @param param The value to resolve the promise with.
|
|
22
|
+
*/
|
|
23
|
+
resolve(param: T): void;
|
|
24
|
+
/**
|
|
25
|
+
* Rejects the promise.
|
|
26
|
+
* @param reason The reason for rejecting the promise.
|
|
27
|
+
*/
|
|
28
|
+
reject(reason?: any): void;
|
|
29
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Represents a deferred promise.
|
|
8
|
+
*
|
|
9
|
+
* Use deferred promises when you need to return a promise but you don't have the result yet.
|
|
10
|
+
*/
|
|
11
|
+
export class Deferred {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.promise = new Promise((resolve, reject) => {
|
|
14
|
+
this._resolveFn = resolve;
|
|
15
|
+
this._rejectFn = reject;
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the promise.
|
|
20
|
+
* @param param The value to resolve the promise with.
|
|
21
|
+
*/
|
|
22
|
+
resolve(param) {
|
|
23
|
+
this._resolveFn(param);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Rejects the promise.
|
|
27
|
+
* @param reason The reason for rejecting the promise.
|
|
28
|
+
*/
|
|
29
|
+
reject(reason) {
|
|
30
|
+
this._rejectFn(reason);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export declare const tryDismiss: unique symbol;
|
|
7
|
+
export interface IDismissibleStackState<T = string> {
|
|
8
|
+
[key: string]: T;
|
|
9
|
+
}
|
|
10
|
+
export interface IDismissible {
|
|
11
|
+
[tryDismiss](state?: IDismissibleStackState): boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class DismissibleStack<T extends IDismissible> {
|
|
14
|
+
private _deferredDismiss;
|
|
15
|
+
/**
|
|
16
|
+
* A promise that resolves when all elements in the stack have finished dismissing.
|
|
17
|
+
*
|
|
18
|
+
* Resolves immediately if there are no elements in the stack.
|
|
19
|
+
*/
|
|
20
|
+
get dismissing(): Promise<void>;
|
|
21
|
+
/**
|
|
22
|
+
* A set of all elements that are currently eligible for dismissal.
|
|
23
|
+
*
|
|
24
|
+
* Typically used when a user is force dismissing an element, such as when they click
|
|
25
|
+
* an element that triggered it to open.
|
|
26
|
+
*/
|
|
27
|
+
private _dismissibleElements;
|
|
28
|
+
/**
|
|
29
|
+
* A map of all elements that are requesting to be dismissed, and the state that they
|
|
30
|
+
* are requesting to dismiss with.
|
|
31
|
+
*
|
|
32
|
+
* This is used to queue up dismiss requests so that we can wait for all other elements
|
|
33
|
+
* to dispatch their dismiss events, typically used with light dismiss.
|
|
34
|
+
*/
|
|
35
|
+
private _elementsRequestingDismiss;
|
|
36
|
+
private constructor();
|
|
37
|
+
static get instance(): DismissibleStack<IDismissible>;
|
|
38
|
+
/**
|
|
39
|
+
* Dismisses all elements in the stack that have been presented after the provided element.
|
|
40
|
+
* @param el The element to dismiss
|
|
41
|
+
* @param state The state to pass to the dismiss method of each element
|
|
42
|
+
*/
|
|
43
|
+
dismiss(el: T, state: IDismissibleStackState): Promise<void>;
|
|
44
|
+
/**
|
|
45
|
+
* Queues an element to be dismissed. This allows for us to asynchronously wait for all
|
|
46
|
+
* other elements to dispatch their dismiss events so that consumers can cancel the dismiss
|
|
47
|
+
* if they want to, without closing their parent dismissible elements.
|
|
48
|
+
* @param el
|
|
49
|
+
* @param dismissState
|
|
50
|
+
* @returns
|
|
51
|
+
*/
|
|
52
|
+
requestDismiss(el: T, dismissState: IDismissibleStackState): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Adds an element to the dismissible queue.
|
|
55
|
+
*
|
|
56
|
+
* Use this when an element is opened and should be eligible for dismissal in a stack of other
|
|
57
|
+
* dismissible elements.
|
|
58
|
+
*/
|
|
59
|
+
add(el: T): void;
|
|
60
|
+
/**
|
|
61
|
+
* Removes an element from the dismissible queue.
|
|
62
|
+
*
|
|
63
|
+
* Use this when an element is closed and should no longer be eligible for dismissal in a stack.
|
|
64
|
+
*/
|
|
65
|
+
remove(el: T): void;
|
|
66
|
+
/**
|
|
67
|
+
* Checks if an element is in the dismissible queue.
|
|
68
|
+
*/
|
|
69
|
+
has(el: T): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Checks if an element is requesting to be dismissed.
|
|
72
|
+
*/
|
|
73
|
+
isRequestingLightDismiss(el: T): boolean;
|
|
74
|
+
}
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { Deferred } from './deferred';
|
|
7
|
+
import { task } from './event-utils';
|
|
8
|
+
// The symbol to use for the tryDismiss method on dismissible elements
|
|
9
|
+
export const tryDismiss = Symbol('tryDismiss');
|
|
10
|
+
// The key to use for storing the dismissible stack on the window object
|
|
11
|
+
const DISMISSIBLE_STACK_INSTANCE_KEY = Symbol('forgeDismissibleStack');
|
|
12
|
+
export class DismissibleStack {
|
|
13
|
+
/**
|
|
14
|
+
* A promise that resolves when all elements in the stack have finished dismissing.
|
|
15
|
+
*
|
|
16
|
+
* Resolves immediately if there are no elements in the stack.
|
|
17
|
+
*/
|
|
18
|
+
get dismissing() {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
return (_b = (_a = this._deferredDismiss) === null || _a === void 0 ? void 0 : _a.promise) !== null && _b !== void 0 ? _b : Promise.resolve();
|
|
21
|
+
}
|
|
22
|
+
// eslint-disable-next-line @tylertech-eslint/require-private-modifier
|
|
23
|
+
constructor() {
|
|
24
|
+
/**
|
|
25
|
+
* A set of all elements that are currently eligible for dismissal.
|
|
26
|
+
*
|
|
27
|
+
* Typically used when a user is force dismissing an element, such as when they click
|
|
28
|
+
* an element that triggered it to open.
|
|
29
|
+
*/
|
|
30
|
+
this._dismissibleElements = new Set();
|
|
31
|
+
/**
|
|
32
|
+
* A map of all elements that are requesting to be dismissed, and the state that they
|
|
33
|
+
* are requesting to dismiss with.
|
|
34
|
+
*
|
|
35
|
+
* This is used to queue up dismiss requests so that we can wait for all other elements
|
|
36
|
+
* to dispatch their dismiss events, typically used with light dismiss.
|
|
37
|
+
*/
|
|
38
|
+
this._elementsRequestingDismiss = new Map();
|
|
39
|
+
}
|
|
40
|
+
static get instance() {
|
|
41
|
+
// We store our instance on the window object so that it can be shared across multiple
|
|
42
|
+
// instances of Forge components
|
|
43
|
+
if (!window[DISMISSIBLE_STACK_INSTANCE_KEY]) {
|
|
44
|
+
window[DISMISSIBLE_STACK_INSTANCE_KEY] = new DismissibleStack();
|
|
45
|
+
}
|
|
46
|
+
return window[DISMISSIBLE_STACK_INSTANCE_KEY];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Dismisses all elements in the stack that have been presented after the provided element.
|
|
50
|
+
* @param el The element to dismiss
|
|
51
|
+
* @param state The state to pass to the dismiss method of each element
|
|
52
|
+
*/
|
|
53
|
+
async dismiss(el, state) {
|
|
54
|
+
const elements = Array.from(this._dismissibleElements);
|
|
55
|
+
const elementsAfter = elements.slice(elements.indexOf(el)).reverse();
|
|
56
|
+
for (const element of elementsAfter) {
|
|
57
|
+
if (!element[tryDismiss](state)) {
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Queues an element to be dismissed. This allows for us to asynchronously wait for all
|
|
64
|
+
* other elements to dispatch their dismiss events so that consumers can cancel the dismiss
|
|
65
|
+
* if they want to, without closing their parent dismissible elements.
|
|
66
|
+
* @param el
|
|
67
|
+
* @param dismissState
|
|
68
|
+
* @returns
|
|
69
|
+
*/
|
|
70
|
+
async requestDismiss(el, dismissState) {
|
|
71
|
+
var _a;
|
|
72
|
+
if (!this._deferredDismiss) {
|
|
73
|
+
this._deferredDismiss = new Deferred();
|
|
74
|
+
}
|
|
75
|
+
this._elementsRequestingDismiss.set(el, dismissState);
|
|
76
|
+
// Wait for all other element to finish queuing their dismiss events
|
|
77
|
+
await task();
|
|
78
|
+
// The first element to call this method will handle attempting to dismiss the rest of
|
|
79
|
+
// elements, and will clear the queue when it is done. All other subsequent elements will
|
|
80
|
+
// just return here if called within the same task.
|
|
81
|
+
if (!this.isRequestingLightDismiss(el)) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Get all elements that are requesting to be dismissed, and reverse the order so that
|
|
85
|
+
// we can attempt to dismiss them in a top-down order (most recently opened first)
|
|
86
|
+
const elements = Array.from(this._elementsRequestingDismiss).reverse();
|
|
87
|
+
// Clear all elements from the stack since we are don't need references to them anymore
|
|
88
|
+
this._elementsRequestingDismiss.clear();
|
|
89
|
+
// Attempt to dismiss each element in the queue (most recently opened first), if any of
|
|
90
|
+
// them are prevented, stop trying to dismiss the rest
|
|
91
|
+
try {
|
|
92
|
+
for (const [element, state] of elements) {
|
|
93
|
+
if (!element[tryDismiss](state)) {
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
(_a = this._deferredDismiss) === null || _a === void 0 ? void 0 : _a.resolve();
|
|
100
|
+
this._deferredDismiss = undefined;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Adds an element to the dismissible queue.
|
|
105
|
+
*
|
|
106
|
+
* Use this when an element is opened and should be eligible for dismissal in a stack of other
|
|
107
|
+
* dismissible elements.
|
|
108
|
+
*/
|
|
109
|
+
add(el) {
|
|
110
|
+
this._dismissibleElements.add(el);
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Removes an element from the dismissible queue.
|
|
114
|
+
*
|
|
115
|
+
* Use this when an element is closed and should no longer be eligible for dismissal in a stack.
|
|
116
|
+
*/
|
|
117
|
+
remove(el) {
|
|
118
|
+
this._dismissibleElements.delete(el);
|
|
119
|
+
this._elementsRequestingDismiss.delete(el);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Checks if an element is in the dismissible queue.
|
|
123
|
+
*/
|
|
124
|
+
has(el) {
|
|
125
|
+
return this._dismissibleElements.has(el);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Checks if an element is requesting to be dismissed.
|
|
129
|
+
*/
|
|
130
|
+
isRequestingLightDismiss(el) {
|
|
131
|
+
return this._elementsRequestingDismiss.has(el);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
@@ -17,3 +17,6 @@ export function proxyShadowScrollEvent(shadowEl, proxyEl) {
|
|
|
17
17
|
export function eventIncludesArrowKey(evt) {
|
|
18
18
|
return evt.key === 'ArrowLeft' || evt.key === 'ArrowRight' || evt.key === 'ArrowUp' || evt.key === 'ArrowDown';
|
|
19
19
|
}
|
|
20
|
+
export function task() {
|
|
21
|
+
return new Promise(resolve => setTimeout(resolve));
|
|
22
|
+
}
|
|
@@ -8,3 +8,16 @@
|
|
|
8
8
|
* @returns {boolean}
|
|
9
9
|
*/
|
|
10
10
|
export declare function supportsPopover(): boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Detects if the browser supports ARIA properties in Element Internals.
|
|
13
|
+
*
|
|
14
|
+
* This currently always returns false because tooling is not yet able able to detect properties
|
|
15
|
+
* set on Element Internals.
|
|
16
|
+
* @returns {boolean}
|
|
17
|
+
*/
|
|
18
|
+
export declare function supportsElementInternalsAria(): boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Detects if the browser supports the hovering elements as the users primary input mechanism.
|
|
21
|
+
* @returns {boolean}
|
|
22
|
+
*/
|
|
23
|
+
export declare function supportsHover(): boolean;
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Platform } from '@tylertech/forge-core';
|
|
6
7
|
/**
|
|
7
8
|
* Detects if the browser supports the `popover` attribute.
|
|
8
9
|
* @returns {boolean}
|
|
@@ -10,3 +11,23 @@
|
|
|
10
11
|
export function supportsPopover() {
|
|
11
12
|
return HTMLElement.prototype.hasOwnProperty('popover');
|
|
12
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Detects if the browser supports ARIA properties in Element Internals.
|
|
16
|
+
*
|
|
17
|
+
* This currently always returns false because tooling is not yet able able to detect properties
|
|
18
|
+
* set on Element Internals.
|
|
19
|
+
* @returns {boolean}
|
|
20
|
+
*/
|
|
21
|
+
export function supportsElementInternalsAria() {
|
|
22
|
+
return ElementInternals.prototype.hasOwnProperty('role');
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Detects if the browser supports the hovering elements as the users primary input mechanism.
|
|
26
|
+
* @returns {boolean}
|
|
27
|
+
*/
|
|
28
|
+
export function supportsHover() {
|
|
29
|
+
// TODO: hover media query is not working in CI headless chrome, so we are using the Platform.isMobile flag for now.
|
|
30
|
+
// This should be reverted once we switch to using puppeteer or playwright for testing in CI.
|
|
31
|
+
// return window.matchMedia('(hover: hover)').matches;
|
|
32
|
+
return !Platform.isMobile;
|
|
33
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
export type FormValue = File | string | FormData;
|
|
7
|
+
export type FormRestoreState = File | string | FormData | Array<[string, FormDataEntryValue]>;
|
|
8
|
+
export type FormRestoreReason = 'restore' | 'autocomplete';
|
|
9
|
+
export type InputType = 'button' | 'checkbox' | 'color' | 'date' | 'datetime-local' | 'email' | 'file' | 'hidden' | 'image' | 'month' | 'number' | 'password' | 'radio' | 'range' | 'reset' | 'search' | 'select' | 'submit' | 'tel' | 'text' | 'time' | 'url' | 'week';
|
|
10
|
+
export type InputValidationProp = keyof InputValidationProps;
|
|
11
|
+
export type ValidityStateFlag = Exclude<keyof ValidityState, 'valid'>;
|
|
12
|
+
export interface InputValidationProps {
|
|
13
|
+
checked: boolean | null;
|
|
14
|
+
disabled: boolean | null;
|
|
15
|
+
max: number | null;
|
|
16
|
+
maxLength: number | null;
|
|
17
|
+
min: number | null;
|
|
18
|
+
minLength: number | null;
|
|
19
|
+
multiple: boolean | null;
|
|
20
|
+
pattern: string | null;
|
|
21
|
+
required: boolean | null;
|
|
22
|
+
step: number | null;
|
|
23
|
+
value: string | null;
|
|
24
|
+
}
|