@tylertech/forge 3.0.0-next.21 → 3.0.0-next.23
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 +33600 -39264
- package/dist/dialog/forge-dialog-utils.css +1 -1
- 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.PDDBNHVU.js → chunk.2GUWHBUU.js} +2 -2
- package/dist/esm/chunks/{chunk.PDDBNHVU.js.map → chunk.2GUWHBUU.js.map} +2 -2
- package/dist/esm/chunks/chunk.2W23MOPP.js +7 -0
- package/dist/esm/chunks/chunk.2W23MOPP.js.map +7 -0
- package/dist/esm/chunks/{chunk.OSBNFFCI.js → chunk.32APLNN2.js} +2 -2
- package/dist/esm/chunks/chunk.32APLNN2.js.map +7 -0
- package/dist/esm/chunks/chunk.37B332ZK.js +7 -0
- package/dist/esm/chunks/{chunk.SOKORSUV.js.map → chunk.37B332ZK.js.map} +3 -3
- package/dist/esm/chunks/chunk.3II7OT2I.js +7 -0
- package/dist/esm/chunks/chunk.3II7OT2I.js.map +7 -0
- package/dist/esm/chunks/{chunk.IZRURH7C.js → chunk.3KAKJGUS.js} +2 -2
- package/dist/esm/chunks/chunk.3PMONORO.js +7 -0
- package/dist/esm/chunks/chunk.3PMONORO.js.map +7 -0
- package/dist/esm/chunks/chunk.473WRJ5G.js +7 -0
- package/dist/esm/chunks/{chunk.USQEIRST.js → chunk.5MB6CTBA.js} +2 -2
- package/dist/esm/chunks/{chunk.YS5JZHJ6.js → chunk.5QIWLZG3.js} +2 -2
- package/dist/esm/chunks/chunk.5SUJNEC7.js +7 -0
- package/dist/esm/chunks/chunk.5SUJNEC7.js.map +7 -0
- package/dist/esm/chunks/{chunk.47U6GVGZ.js → chunk.5UOX22ML.js} +2 -2
- package/dist/esm/chunks/{chunk.4NABD6XG.js → chunk.6VS3LYAF.js} +2 -2
- package/dist/esm/chunks/chunk.72BKSMAZ.js +7 -0
- package/dist/esm/chunks/{chunk.3TIBP6QT.js.map → chunk.72BKSMAZ.js.map} +3 -3
- package/dist/esm/chunks/chunk.77C7S7ZS.js +7 -0
- package/dist/esm/chunks/chunk.77C7S7ZS.js.map +7 -0
- package/dist/esm/chunks/chunk.7AAICE77.js +7 -0
- package/dist/esm/chunks/chunk.7AAICE77.js.map +7 -0
- package/dist/esm/chunks/chunk.7IPAW4D2.js +7 -0
- package/dist/esm/chunks/{chunk.MCR34SZQ.js.map → chunk.7IPAW4D2.js.map} +1 -1
- package/dist/esm/chunks/chunk.7RLY2O3H.js +7 -0
- package/dist/esm/chunks/chunk.7RLY2O3H.js.map +7 -0
- package/dist/esm/chunks/chunk.7Y3BUR7Q.js +7 -0
- package/dist/esm/chunks/{chunk.3U222LE4.js.map → chunk.7Y3BUR7Q.js.map} +1 -1
- package/dist/esm/chunks/{chunk.AOSBUJWW.js → chunk.A7BCLPP4.js} +2 -2
- package/dist/esm/chunks/chunk.AFWWND2C.js +7 -0
- package/dist/esm/chunks/chunk.AFWWND2C.js.map +7 -0
- package/dist/esm/chunks/{chunk.7UBIT4NP.js → chunk.AG6IRMLZ.js} +2 -2
- package/dist/esm/chunks/{chunk.A4UH52SA.js → chunk.AGLI4WR4.js} +2 -2
- package/dist/esm/chunks/chunk.AIJK3CTV.js +12 -0
- package/dist/esm/chunks/chunk.AIJK3CTV.js.map +7 -0
- package/dist/esm/chunks/{chunk.WTUXAH7Z.js → chunk.AOVXNX7P.js} +2 -2
- package/dist/esm/chunks/{chunk.AN2E2SSN.js → chunk.ASLHRT3N.js} +2 -2
- package/dist/esm/chunks/chunk.BEFAXPXJ.js +15 -0
- package/dist/esm/chunks/{chunk.EO3HELQ2.js.map → chunk.BEFAXPXJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.CBLUXYH2.js → chunk.BHE6Z5Y2.js} +2 -2
- package/dist/esm/chunks/{chunk.2WRAXA3H.js → chunk.BQ52JYLA.js} +2 -2
- package/dist/esm/chunks/chunk.BQZKOIAW.js +7 -0
- package/dist/esm/chunks/chunk.BQZKOIAW.js.map +7 -0
- package/dist/esm/chunks/chunk.BV7EAQST.js +7 -0
- package/dist/esm/chunks/chunk.BV7EAQST.js.map +7 -0
- package/dist/esm/chunks/{chunk.ROMRJIFR.js → chunk.CE35CVDV.js} +2 -2
- package/dist/esm/chunks/{chunk.ZPXMKY72.js → chunk.CEGBMUSR.js} +2 -2
- package/dist/esm/chunks/{chunk.GBGGUYTE.js → chunk.CFAI4K3E.js} +2 -2
- package/dist/esm/chunks/{chunk.ZIGVO6FN.js → chunk.CGFSMACZ.js} +2 -2
- package/dist/esm/chunks/chunk.CLYGTLXN.js +7 -0
- package/dist/esm/chunks/chunk.CLYGTLXN.js.map +7 -0
- package/dist/esm/chunks/chunk.DJSHVUEM.js +18 -0
- package/dist/esm/chunks/{chunk.MGLWXAZO.js.map → chunk.DJSHVUEM.js.map} +4 -4
- package/dist/esm/chunks/chunk.DKERDHXH.js +7 -0
- package/dist/esm/chunks/{chunk.JVWJHSPM.js.map → chunk.DKERDHXH.js.map} +1 -1
- package/dist/esm/chunks/{chunk.UEYPCCFG.js → chunk.ENUKGA2U.js} +2 -2
- package/dist/esm/chunks/chunk.EO3GP6DP.js +7 -0
- package/dist/esm/chunks/chunk.EO3GP6DP.js.map +7 -0
- package/dist/esm/chunks/chunk.FLBYVCQ6.js +7 -0
- package/dist/esm/chunks/chunk.FLBYVCQ6.js.map +7 -0
- package/dist/esm/chunks/chunk.FLF5RTYO.js +7 -0
- package/dist/esm/chunks/chunk.FLF5RTYO.js.map +7 -0
- package/dist/esm/chunks/chunk.GBAVJILM.js +7 -0
- package/dist/esm/chunks/chunk.GBAVJILM.js.map +7 -0
- package/dist/esm/chunks/chunk.GG7IQL46.js +7 -0
- package/dist/esm/chunks/{chunk.HBAC6E7O.js.map → chunk.GG7IQL46.js.map} +1 -1
- package/dist/esm/chunks/chunk.GIENHEMN.js +7 -0
- package/dist/esm/chunks/chunk.GIENHEMN.js.map +7 -0
- package/dist/esm/chunks/chunk.GRYO5XP2.js +7 -0
- package/dist/esm/chunks/chunk.GRYO5XP2.js.map +7 -0
- package/dist/esm/chunks/{chunk.FOSKVNVV.js → chunk.H4VQXV2H.js} +2 -2
- package/dist/esm/chunks/{chunk.FOSKVNVV.js.map → chunk.H4VQXV2H.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GA6AO6FJ.js → chunk.H5RW3A4M.js} +2 -2
- package/dist/esm/chunks/chunk.HD2SLIL2.js +7 -0
- package/dist/esm/chunks/{chunk.V7ILFIOR.js.map → chunk.HD2SLIL2.js.map} +1 -1
- package/dist/esm/chunks/chunk.HG4IDRAC.js +7 -0
- package/dist/esm/chunks/chunk.HG4IDRAC.js.map +7 -0
- package/dist/esm/chunks/{chunk.CSOKFDFQ.js → chunk.HSADKCGS.js} +2 -2
- package/dist/esm/chunks/chunk.I7YON2TC.js +7 -0
- package/dist/esm/chunks/chunk.I7YON2TC.js.map +7 -0
- package/dist/esm/chunks/chunk.IEABOPNB.js +7 -0
- package/dist/esm/chunks/{chunk.22C7GQLX.js → chunk.IL4S57WO.js} +2 -2
- package/dist/esm/chunks/{chunk.HMJODLAS.js → chunk.IQYOLMPG.js} +2 -2
- package/dist/esm/chunks/{chunk.QG5EYBS3.js → chunk.J2Y5KPON.js} +2 -2
- package/dist/esm/chunks/{chunk.QG5EYBS3.js.map → chunk.J2Y5KPON.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GTKYO6VB.js → chunk.JGURMVW7.js} +2 -2
- package/dist/esm/chunks/{chunk.YXHMD73U.js → chunk.K6GJNDTY.js} +2 -2
- package/dist/esm/chunks/{chunk.XYBVD3IE.js → chunk.KCCW4AMU.js} +2 -2
- package/dist/esm/chunks/{chunk.XYBVD3IE.js.map → chunk.KCCW4AMU.js.map} +2 -2
- package/dist/esm/chunks/{chunk.QUWEAFGI.js → chunk.KEOLH7G3.js} +2 -2
- package/dist/esm/chunks/chunk.KLU54MDQ.js +7 -0
- package/dist/esm/chunks/chunk.KLU54MDQ.js.map +7 -0
- package/dist/esm/chunks/chunk.KO6ODCZC.js +7 -0
- package/dist/esm/chunks/chunk.KO6ODCZC.js.map +7 -0
- package/dist/esm/chunks/chunk.L4QSPQDE.js +7 -0
- package/dist/esm/chunks/{chunk.DCCFF327.js.map → chunk.L4QSPQDE.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BIQTNLIF.js → chunk.LNTTU2GL.js} +2 -2
- package/dist/esm/chunks/{chunk.7IJUN75W.js → chunk.LY2Z2Z7S.js} +2 -2
- package/dist/esm/chunks/{chunk.7IJUN75W.js.map → chunk.LY2Z2Z7S.js.map} +3 -3
- package/dist/esm/chunks/{chunk.2AM2BKEO.js → chunk.MFQRXVKO.js} +2 -2
- package/dist/esm/chunks/chunk.MFS7AVW6.js +7 -0
- package/dist/esm/chunks/chunk.MFS7AVW6.js.map +7 -0
- package/dist/esm/chunks/{chunk.JLSFTWPE.js → chunk.MTIPIEXA.js} +2 -2
- package/dist/esm/chunks/chunk.MX4JX4GT.js +7 -0
- package/dist/esm/chunks/{chunk.UOD3A7M4.js.map → chunk.MX4JX4GT.js.map} +1 -1
- package/dist/esm/chunks/chunk.NEQX2QVX.js +7 -0
- package/dist/esm/chunks/chunk.NEQX2QVX.js.map +7 -0
- package/dist/esm/chunks/chunk.NWVQ5HK2.js +7 -0
- package/dist/esm/chunks/{chunk.BETICEYY.js.map → chunk.NWVQ5HK2.js.map} +2 -2
- package/dist/esm/chunks/chunk.O5WAQQNR.js +7 -0
- package/dist/esm/chunks/{chunk.ZYKP23JP.js.map → chunk.O5WAQQNR.js.map} +2 -2
- package/dist/esm/chunks/{chunk.JSTCCUKZ.js → chunk.OEI35LFU.js} +2 -2
- package/dist/esm/chunks/chunk.OJ7JO4O6.js +7 -0
- package/dist/esm/chunks/chunk.OJ7JO4O6.js.map +7 -0
- package/dist/esm/chunks/{chunk.6GSVB5NB.js → chunk.OLFOVKQG.js} +2 -2
- package/dist/esm/chunks/chunk.OLFOVKQG.js.map +7 -0
- package/dist/esm/chunks/{chunk.IWVAI6XM.js → chunk.OOAJHLW4.js} +2 -2
- package/dist/esm/chunks/chunk.OOAJHLW4.js.map +7 -0
- package/dist/esm/chunks/chunk.OQHDHS2C.js +7 -0
- package/dist/esm/chunks/chunk.OQHDHS2C.js.map +7 -0
- package/dist/esm/chunks/{chunk.2537XOFQ.js → chunk.OREDK5MJ.js} +2 -2
- package/dist/esm/chunks/chunk.OVXEOEJF.js +7 -0
- package/dist/esm/chunks/chunk.OVXEOEJF.js.map +7 -0
- package/dist/esm/chunks/chunk.PC6TW5XE.js +7 -0
- package/dist/esm/chunks/chunk.PC6TW5XE.js.map +7 -0
- package/dist/esm/chunks/chunk.QCPV5DEG.js +7 -0
- package/dist/esm/chunks/{chunk.R3AWIPPK.js → chunk.QIZBZGYT.js} +2 -2
- package/dist/esm/chunks/{chunk.2XPAYTK4.js → chunk.QKTK5XUE.js} +2 -2
- package/dist/esm/chunks/chunk.QLGJS37N.js +7 -0
- package/dist/esm/chunks/chunk.QLGJS37N.js.map +7 -0
- package/dist/esm/chunks/{chunk.R66CYS27.js → chunk.QTY25OTN.js} +2 -2
- package/dist/esm/chunks/chunk.QUXMLWBJ.js +7 -0
- package/dist/esm/chunks/{chunk.BEUQVZKZ.js.map → chunk.QUXMLWBJ.js.map} +1 -1
- package/dist/esm/chunks/{chunk.BSV27GU7.js → chunk.QVATEY5S.js} +2 -2
- package/dist/esm/chunks/{chunk.FRTSXX33.js → chunk.RSYEG2RW.js} +2 -2
- package/dist/esm/chunks/{chunk.A6BIUNPW.js → chunk.RXBLU4OJ.js} +2 -2
- package/dist/esm/chunks/{chunk.FBDRM4YN.js → chunk.S7KEO2CH.js} +2 -2
- package/dist/esm/chunks/{chunk.XU3YSZPA.js → chunk.SQ3AZAHF.js} +2 -2
- package/dist/esm/chunks/{chunk.35MHQH7Z.js → chunk.SROEDYPL.js} +2 -2
- package/dist/esm/chunks/{chunk.SHBDQPPH.js → chunk.SZOZIJZI.js} +2 -2
- package/dist/esm/chunks/chunk.T7NWP7DB.js +7 -0
- package/dist/esm/chunks/chunk.T7NWP7DB.js.map +7 -0
- package/dist/esm/chunks/{chunk.PXRGQHWR.js → chunk.TQWZDM6T.js} +2 -2
- package/dist/esm/chunks/chunk.TSSZQPLE.js +7 -0
- package/dist/esm/chunks/{chunk.5UGN5FYV.js.map → chunk.TSSZQPLE.js.map} +2 -2
- package/dist/esm/chunks/chunk.U6J4VHU6.js +7 -0
- package/dist/esm/chunks/{chunk.STSAE2XP.js.map → chunk.U6J4VHU6.js.map} +1 -1
- package/dist/esm/chunks/{chunk.6JVMCBCR.js → chunk.UKBE2FMZ.js} +2 -2
- package/dist/esm/chunks/{chunk.MDDX4MJU.js → chunk.UPSXYWPD.js} +2 -2
- package/dist/esm/chunks/{chunk.MDDX4MJU.js.map → chunk.UPSXYWPD.js.map} +2 -2
- package/dist/esm/chunks/chunk.USTVZ6MZ.js +7 -0
- package/dist/esm/chunks/chunk.USTVZ6MZ.js.map +7 -0
- package/dist/esm/chunks/chunk.V6KUOCAR.js +7 -0
- package/dist/esm/chunks/chunk.V6KUOCAR.js.map +7 -0
- package/dist/esm/chunks/chunk.VGIRVTBJ.js +7 -0
- package/dist/esm/chunks/chunk.VGIRVTBJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.4AEQ7KVU.js → chunk.VJZ7VDG5.js} +2 -2
- package/dist/esm/chunks/chunk.VL5RWSAV.js +7 -0
- package/dist/esm/chunks/chunk.VL5RWSAV.js.map +7 -0
- package/dist/esm/chunks/chunk.VRSPT7WX.js +7 -0
- package/dist/esm/chunks/{chunk.UQQQSJVM.js.map → chunk.VRSPT7WX.js.map} +3 -3
- package/dist/esm/chunks/chunk.W4HANHUO.js +7 -0
- package/dist/esm/chunks/{chunk.2W276VOR.js → chunk.WMJSYYXQ.js} +2 -2
- package/dist/esm/chunks/chunk.WXVVOFNK.js +7 -0
- package/dist/esm/chunks/chunk.WXVVOFNK.js.map +7 -0
- package/dist/esm/chunks/chunk.X77NKT6Z.js +7 -0
- package/dist/esm/chunks/chunk.X77NKT6Z.js.map +7 -0
- package/dist/esm/chunks/chunk.XZ23XHFE.js +7 -0
- package/dist/esm/chunks/chunk.XZ23XHFE.js.map +7 -0
- package/dist/esm/chunks/chunk.YNCTSMT6.js +7 -0
- package/dist/esm/chunks/chunk.YNCTSMT6.js.map +7 -0
- package/dist/esm/chunks/{chunk.YNXWVL4B.js → chunk.YPNSK2CK.js} +2 -2
- package/dist/esm/chunks/chunk.YRAEFQJW.js +7 -0
- package/dist/esm/chunks/{chunk.XAZ6EDIZ.js.map → chunk.YRAEFQJW.js.map} +3 -3
- package/dist/esm/chunks/chunk.YWJVZVZX.js +7 -0
- package/dist/esm/chunks/{chunk.6XLTVIUD.js → chunk.ZA7JY3AY.js} +2 -2
- package/dist/esm/chunks/chunk.ZG6YF2HI.js +7 -0
- package/dist/esm/chunks/{chunk.R6VPRRTT.js.map → chunk.ZG6YF2HI.js.map} +1 -1
- package/dist/esm/circular-progress/index.js +1 -1
- package/dist/esm/color-picker/index.js +1 -1
- package/dist/esm/core/base/index.js +1 -1
- package/dist/esm/core/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/deprecated/button/index.js +1 -1
- package/dist/esm/deprecated/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/{field-next → field}/base/index.js +1 -1
- package/dist/esm/field/index.js +7 -0
- package/dist/esm/file-picker/index.js +1 -1
- package/dist/esm/floating-action-button/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 +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popover/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/radio/radio/index.js +1 -1
- package/dist/esm/radio/radio-group/index.js +1 -1
- package/dist/esm/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-core.css +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +6 -6
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +18 -10
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +3 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +13 -17
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +4 -4
- package/esm/app-bar/profile-button/app-bar-profile-button.js +3 -3
- package/esm/autocomplete/autocomplete-adapter.d.ts +6 -2
- package/esm/autocomplete/autocomplete-adapter.js +27 -23
- package/esm/autocomplete/autocomplete-constants.d.ts +2 -2
- package/esm/autocomplete/autocomplete-constants.js +1 -2
- package/esm/autocomplete/autocomplete-foundation.js +3 -5
- package/esm/autocomplete/autocomplete.js +2 -2
- package/esm/backdrop/backdrop-constants.d.ts +10 -13
- package/esm/backdrop/backdrop-constants.js +12 -17
- package/esm/backdrop/backdrop.d.ts +17 -29
- package/esm/backdrop/backdrop.js +79 -50
- package/esm/backdrop/index.d.ts +0 -2
- package/esm/backdrop/index.js +0 -2
- package/esm/bottom-sheet/bottom-sheet-adapter.d.ts +2 -2
- package/esm/bottom-sheet/bottom-sheet-adapter.js +12 -5
- package/esm/bottom-sheet/bottom-sheet-foundation.js +1 -1
- package/esm/bottom-sheet/bottom-sheet.js +2 -2
- package/esm/busy-indicator/busy-indicator-adapter.d.ts +2 -6
- package/esm/busy-indicator/busy-indicator-adapter.js +8 -6
- package/esm/busy-indicator/busy-indicator-foundation.js +1 -1
- package/esm/button/base/base-button-foundation.js +2 -1
- package/esm/calendar/calendar-constants.d.ts +1 -1
- package/esm/calendar/calendar-constants.js +1 -1
- package/esm/calendar/calendar-dropdown/calendar-dropdown.d.ts +6 -4
- package/esm/calendar/calendar-dropdown/calendar-dropdown.js +21 -25
- package/esm/calendar/calendar-menu/calendar-menu-constants.d.ts +1 -1
- package/esm/calendar/calendar-menu/calendar-menu-constants.js +1 -1
- package/esm/calendar/calendar-menu/calendar-menu.js +3 -3
- package/esm/calendar/calendar.js +3 -3
- package/esm/card/card-constants.d.ts +2 -5
- package/esm/card/card-constants.js +4 -10
- package/esm/card/card.d.ts +10 -5
- package/esm/card/card.js +14 -16
- package/esm/checkbox/checkbox-adapter.d.ts +0 -34
- package/esm/checkbox/checkbox-adapter.js +10 -105
- package/esm/checkbox/checkbox-constants.d.ts +13 -4
- package/esm/checkbox/checkbox-constants.js +8 -11
- package/esm/checkbox/checkbox-foundation.d.ts +5 -11
- package/esm/checkbox/checkbox-foundation.js +24 -35
- package/esm/checkbox/checkbox.d.ts +24 -24
- package/esm/checkbox/checkbox.js +65 -83
- package/esm/chip-field/chip-field-adapter.d.ts +48 -22
- package/esm/chip-field/chip-field-adapter.js +130 -30
- package/esm/chip-field/chip-field-component-delegate.js +1 -1
- package/esm/chip-field/chip-field-constants.d.ts +18 -16
- package/esm/chip-field/chip-field-constants.js +19 -20
- package/esm/chip-field/chip-field-foundation.d.ts +26 -16
- package/esm/chip-field/chip-field-foundation.js +128 -74
- package/esm/chip-field/chip-field.d.ts +9 -6
- package/esm/chip-field/chip-field.js +24 -11
- package/esm/chips/chip/chip.js +1 -1
- package/esm/constants.d.ts +2 -0
- package/esm/constants.js +2 -0
- package/esm/core/base/base-adapter.d.ts +1 -0
- package/esm/core/controllers/move-controller.d.ts +32 -0
- package/esm/core/controllers/move-controller.js +40 -0
- package/esm/core/mixins/interactions/moveable/with-moveable.d.ts +30 -0
- package/esm/core/mixins/interactions/moveable/with-moveable.js +131 -0
- package/esm/core/utils/dismissible-stack.d.ts +6 -0
- package/esm/core/utils/dismissible-stack.js +9 -0
- package/esm/core/utils/feature-detection.d.ts +5 -0
- package/esm/core/utils/feature-detection.js +7 -0
- package/esm/core/utils/index.d.ts +2 -0
- package/esm/core/utils/index.js +2 -0
- package/esm/core/utils/svg-utils.d.ts +1 -1
- package/esm/core/utils/svg-utils.js +2 -2
- package/esm/date-picker/date-picker.d.ts +0 -2
- package/esm/date-picker/date-picker.js +2 -4
- package/esm/date-range-picker/date-range-picker-adapter.js +1 -1
- package/esm/date-range-picker/date-range-picker-component-delegate.d.ts +1 -1
- package/esm/date-range-picker/date-range-picker.js +2 -2
- package/esm/dialog/dialog-adapter.d.ts +44 -62
- package/esm/dialog/dialog-adapter.js +107 -135
- package/esm/dialog/dialog-constants.d.ts +51 -28
- package/esm/dialog/dialog-constants.js +36 -33
- package/esm/dialog/dialog-foundation.d.ts +59 -75
- package/esm/dialog/dialog-foundation.js +218 -360
- package/esm/dialog/dialog.d.ts +127 -46
- package/esm/dialog/dialog.js +161 -60
- package/esm/drawer/modal-drawer/modal-drawer-adapter.js +1 -1
- package/esm/drawer/modal-drawer/modal-drawer-foundation.js +5 -6
- package/esm/{field-next → field}/base/base-field-foundation.js +14 -0
- package/esm/{field-next/field-foundation.d.ts → field/base/with-base-field.d.ts} +24 -39
- package/esm/field/base/with-base-field.js +210 -0
- package/esm/field/field-adapter.d.ts +49 -92
- package/esm/field/field-adapter.js +114 -154
- package/esm/field/field-constants.d.ts +82 -30
- package/esm/field/field-constants.js +51 -29
- package/esm/field/field-foundation.d.ts +78 -48
- package/esm/field/field-foundation.js +171 -273
- package/esm/field/field.d.ts +202 -24
- package/esm/field/field.js +267 -37
- package/esm/focus-indicator/focus-indicator-constants.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator-constants.js +7 -2
- package/esm/focus-indicator/focus-indicator-foundation.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator-foundation.js +21 -3
- package/esm/focus-indicator/focus-indicator.d.ts +5 -0
- package/esm/focus-indicator/focus-indicator.js +9 -7
- package/esm/icon/icon-adapter.d.ts +4 -2
- package/esm/icon/icon-adapter.js +13 -9
- package/esm/icon/icon-constants.d.ts +14 -2
- package/esm/icon/icon-constants.js +3 -1
- package/esm/icon/icon-foundation.d.ts +6 -2
- package/esm/icon/icon-foundation.js +50 -18
- package/esm/icon/icon-registry.d.ts +8 -2
- package/esm/icon/icon-registry.js +15 -2
- package/esm/icon/icon-utils.d.ts +6 -3
- package/esm/icon/icon-utils.js +6 -7
- package/esm/icon/icon.d.ts +35 -4
- package/esm/icon/icon.js +44 -18
- package/esm/icon/index.js +0 -6
- package/esm/icon-button/icon-button-component-delegate.d.ts +2 -2
- package/esm/index.d.ts +1 -4
- package/esm/index.js +2 -9
- package/esm/label-value/index.d.ts +0 -2
- package/esm/label-value/index.js +0 -2
- package/esm/label-value/label-value-constants.d.ts +7 -12
- package/esm/label-value/label-value-constants.js +7 -17
- package/esm/label-value/label-value.d.ts +44 -16
- package/esm/label-value/label-value.js +78 -36
- package/esm/list/list/list.d.ts +2 -3
- package/esm/list/list/list.js +4 -5
- package/esm/list/list-item/list-item.d.ts +1 -0
- package/esm/list/list-item/list-item.js +2 -1
- package/esm/list-dropdown/list-dropdown-adapter.d.ts +3 -1
- package/esm/list-dropdown/list-dropdown-adapter.js +24 -9
- package/esm/list-dropdown/list-dropdown-constants.d.ts +6 -5
- package/esm/list-dropdown/list-dropdown-foundation.d.ts +2 -2
- package/esm/list-dropdown/list-dropdown-foundation.js +3 -5
- package/esm/list-dropdown/list-dropdown-utils.d.ts +3 -3
- package/esm/list-dropdown/list-dropdown-utils.js +11 -19
- package/esm/list-dropdown/list-dropdown.d.ts +2 -2
- package/esm/list-dropdown/list-dropdown.js +1 -1
- package/esm/menu/menu-adapter.d.ts +4 -2
- package/esm/menu/menu-adapter.js +8 -2
- package/esm/menu/menu-foundation.d.ts +11 -10
- package/esm/menu/menu-foundation.js +9 -6
- package/esm/menu/menu.d.ts +8 -7
- package/esm/menu/menu.js +2 -2
- package/esm/overlay/overlay-adapter.d.ts +0 -1
- package/esm/overlay/overlay-adapter.js +1 -2
- package/esm/paginator/paginator.js +1 -1
- package/esm/popover/popover-adapter.d.ts +9 -0
- package/esm/popover/popover-adapter.js +41 -3
- package/esm/popover/popover-constants.d.ts +17 -0
- package/esm/popover/popover-constants.js +11 -6
- package/esm/popover/popover-foundation.d.ts +7 -1
- package/esm/popover/popover-foundation.js +35 -7
- package/esm/popover/popover.d.ts +15 -1
- package/esm/popover/popover.js +28 -15
- package/esm/radio/core/radio-group-manager.d.ts +18 -1
- package/esm/radio/core/radio-group-manager.js +27 -6
- package/esm/radio/radio/radio-adapter.js +4 -2
- package/esm/radio/radio/radio-component-delegate.d.ts +38 -0
- package/esm/radio/radio/radio-component-delegate.js +88 -1
- package/esm/radio/radio/radio-constants.d.ts +11 -0
- package/esm/radio/radio/radio-constants.js +3 -1
- package/esm/radio/radio/radio-foundation.js +3 -2
- package/esm/radio/radio/radio.d.ts +8 -3
- package/esm/radio/radio/radio.js +18 -19
- package/esm/radio/radio-group/radio-group-constants.d.ts +3 -0
- package/esm/radio/radio-group/radio-group-constants.js +3 -1
- package/esm/radio/radio-group/radio-group.js +5 -5
- package/esm/scaffold/scaffold-constants.d.ts +6 -0
- package/esm/scaffold/scaffold-constants.js +7 -1
- package/esm/scaffold/scaffold.d.ts +30 -2
- package/esm/scaffold/scaffold.js +43 -4
- package/esm/select/core/base-select-adapter.d.ts +5 -3
- package/esm/select/core/base-select-adapter.js +10 -9
- package/esm/select/core/base-select-constants.d.ts +11 -0
- package/esm/select/core/base-select-constants.js +1 -0
- package/esm/select/core/base-select-foundation.js +3 -3
- package/esm/select/core/base-select.d.ts +3 -3
- package/esm/select/select/select-adapter.d.ts +14 -60
- package/esm/select/select/select-adapter.js +52 -111
- package/esm/select/select/select-constants.d.ts +16 -14
- package/esm/select/select/select-constants.js +8 -16
- package/esm/select/select/select-foundation.d.ts +12 -58
- package/esm/select/select/select-foundation.js +45 -240
- package/esm/select/select/select.d.ts +17 -27
- package/esm/select/select/select.js +54 -62
- package/esm/select/select-dropdown/select-dropdown-adapter.d.ts +2 -2
- package/esm/select/select-dropdown/select-dropdown-adapter.js +1 -1
- package/esm/select/select-dropdown/select-dropdown.d.ts +0 -2
- package/esm/select/select-dropdown/select-dropdown.js +2 -4
- package/esm/slider/slider.d.ts +2 -2
- package/esm/slider/slider.js +2 -2
- package/esm/split-view/split-view/split-view.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel-adapter.d.ts +5 -10
- package/esm/split-view/split-view-panel/split-view-panel-adapter.js +7 -15
- package/esm/split-view/split-view-panel/split-view-panel-constants.d.ts +3 -3
- package/esm/split-view/split-view-panel/split-view-panel-constants.js +3 -3
- package/esm/split-view/split-view-panel/split-view-panel-foundation.js +0 -1
- package/esm/split-view/split-view-panel/split-view-panel-utils.js +2 -2
- package/esm/split-view/split-view-panel/split-view-panel.d.ts +0 -2
- package/esm/split-view/split-view-panel/split-view-panel.js +6 -6
- package/esm/stepper/step/step-adapter.d.ts +2 -9
- package/esm/stepper/step/step-adapter.js +3 -18
- package/esm/stepper/step/step-constants.js +21 -21
- package/esm/stepper/step/step-foundation.js +0 -2
- package/esm/stepper/step/step.d.ts +53 -0
- package/esm/stepper/step/step.js +60 -3
- package/esm/stepper/stepper/stepper-constants.js +9 -9
- package/esm/stepper/stepper/stepper.js +1 -1
- package/esm/switch/switch-adapter.d.ts +0 -32
- package/esm/switch/switch-adapter.js +15 -107
- package/esm/switch/switch-component-delegate.js +1 -1
- package/esm/switch/switch-constants.d.ts +24 -14
- package/esm/switch/switch-constants.js +11 -14
- package/esm/switch/switch-foundation.d.ts +5 -11
- package/esm/switch/switch-foundation.js +25 -31
- package/esm/switch/switch.d.ts +19 -19
- package/esm/switch/switch.js +59 -81
- package/esm/text-field/text-field-adapter.d.ts +2 -2
- package/esm/text-field/text-field-adapter.js +5 -2
- package/esm/text-field/text-field-foundation.d.ts +2 -2
- package/esm/text-field/text-field-foundation.js +2 -2
- package/esm/text-field/text-field.d.ts +1 -1
- package/esm/text-field/text-field.js +2 -2
- package/esm/time-picker/time-picker-adapter.d.ts +6 -2
- package/esm/time-picker/time-picker-adapter.js +7 -3
- package/esm/time-picker/time-picker-foundation.js +10 -10
- package/esm/time-picker/time-picker.js +2 -2
- package/esm/toast/toast-adapter.d.ts +18 -69
- package/esm/toast/toast-adapter.js +24 -121
- package/esm/toast/toast-constants.d.ts +25 -36
- package/esm/toast/toast-constants.js +20 -40
- package/esm/toast/toast-foundation.d.ts +22 -37
- package/esm/toast/toast-foundation.js +92 -92
- package/esm/toast/toast.d.ts +83 -24
- package/esm/toast/toast.js +126 -29
- package/esm/tooltip/tooltip-adapter.d.ts +1 -0
- package/esm/tooltip/tooltip-foundation.js +3 -0
- package/esm/tooltip/tooltip.d.ts +3 -1
- package/esm/tooltip/tooltip.js +4 -0
- package/package.json +1 -6
- package/styles/backdrop/_animations.scss +24 -0
- package/styles/backdrop/_core.scss +41 -0
- package/styles/backdrop/_token-utils.scss +30 -0
- package/styles/backdrop/backdrop.scss +38 -11
- package/{esm/radio/radio-group/radio-group-component-delegate.js → styles/backdrop/index.scss} +1 -0
- package/styles/bottom-sheet/_mixins.scss +3 -8
- package/styles/bottom-sheet/bottom-sheet.scss +0 -4
- package/styles/calendar/calendar-menu/calendar-menu.scss +1 -1
- package/styles/calendar/calendar.scss +1 -1
- package/styles/card/_core.scss +35 -0
- package/styles/card/_token-utils.scss +30 -0
- package/styles/card/card.scss +37 -3
- package/{esm/radio/radio-group/radio-group-component-delegate.d.ts → styles/card/index.scss} +1 -0
- package/styles/checkbox/_core.scss +9 -20
- package/styles/checkbox/checkbox.scss +2 -8
- package/styles/chip-field/_core.scss +21 -17
- package/styles/chip-field/_token-utils.scss +30 -0
- package/styles/chip-field/chip-field.scss +68 -3
- package/{dist/popup/forge-popup.css → styles/chip-field/index.scss} +1 -1
- package/styles/chips/chip/_core.scss +1 -1
- package/styles/core/styles/tokens/backdrop/_tokens.scss +29 -0
- package/styles/core/styles/tokens/card/_tokens.scss +33 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +5 -4
- package/styles/core/styles/tokens/chip-field/_tokens.scss +16 -0
- package/styles/core/styles/tokens/dialog/_tokens.scss +82 -0
- package/styles/core/styles/tokens/field/_tokens.scss +3 -1
- package/styles/core/styles/tokens/icon/_tokens.scss +20 -0
- package/styles/core/styles/tokens/label-value/_tokens.scss +34 -0
- package/styles/core/styles/tokens/list/list/_tokens.scss +2 -3
- package/styles/core/styles/tokens/list/list-item/_tokens.scss +7 -4
- package/styles/core/styles/tokens/popover/_tokens.scss +29 -7
- package/styles/core/styles/tokens/radio/_tokens.scss +1 -1
- package/styles/core/styles/tokens/scaffold/_tokens.scss +18 -0
- package/styles/core/styles/tokens/select/_tokens.scss +18 -0
- package/styles/core/styles/tokens/stepper/step/_tokens.scss +62 -0
- package/styles/core/styles/tokens/switch/_tokens.scss +1 -1
- package/styles/core/styles/tokens/toast/_tokens.scss +39 -0
- package/styles/dialog/_animations.scss +82 -0
- package/styles/dialog/_core.scss +310 -0
- package/styles/dialog/_token-utils.scss +30 -0
- package/styles/dialog/dialog.scss +356 -6
- package/styles/dialog/forge-dialog-utils.scss +23 -6
- package/styles/dialog/index.scss +7 -0
- package/styles/{field-next → field}/_core.layout.scss +6 -4
- package/styles/field/_core.scss +200 -50
- package/styles/{field-next → field}/_core.shape.scss +5 -0
- package/styles/{field-next → field}/_core.variant.scss +1 -0
- package/styles/{field-next → field}/field.scss +39 -12
- package/styles/forge-core.scss +2 -6
- package/styles/forge.scss +0 -4
- package/styles/icon/_core.scss +27 -0
- package/styles/icon/_token-utils.scss +30 -0
- package/styles/icon/icon.scss +27 -12
- package/styles/icon/index.scss +6 -0
- package/styles/label-value/_core.scss +85 -0
- package/styles/label-value/_token-utils.scss +30 -0
- package/styles/label-value/index.scss +6 -0
- package/styles/label-value/label-value.scss +71 -3
- package/styles/list/list/_core.scss +6 -2
- package/styles/list/list/list.scss +4 -0
- package/styles/list/list-item/_core.scss +3 -0
- package/styles/popover/_animations.scss +30 -0
- package/styles/popover/_core.scss +43 -6
- package/styles/popover/popover.scss +227 -170
- package/styles/scaffold/_core.scss +98 -0
- package/styles/scaffold/_token-utils.scss +30 -0
- package/styles/scaffold/index.scss +6 -0
- package/styles/scaffold/scaffold.scss +85 -5
- package/{dist/esm/chunks/chunk.WF2MFLG4.js → styles/select/index.scss} +1 -1
- package/styles/select/select/_core.scss +31 -15
- package/styles/select/select/_token-utils.scss +31 -0
- package/styles/select/select/select.scss +50 -8
- package/styles/split-view/split-view/split-view.scss +0 -1
- package/styles/split-view/split-view-panel/_mixins.scss +1 -0
- package/styles/split-view/split-view-panel/split-view-panel.scss +7 -1
- package/styles/stepper/step/_core.scss +391 -0
- package/styles/stepper/step/_token-utils.scss +31 -0
- package/styles/stepper/step/step.scss +261 -81
- package/styles/stepper/stepper/_core.scss +49 -0
- package/styles/stepper/stepper/stepper.scss +38 -4
- package/styles/switch/_core.scss +3 -2
- package/styles/theme/_theme-dark.scss +8 -8
- package/styles/toast/_animations.scss +42 -0
- package/styles/toast/_core.scss +73 -0
- package/styles/toast/_token-utils.scss +30 -0
- package/styles/toast/index.scss +6 -0
- package/styles/toast/toast.scss +173 -6
- package/styles/utils/_mixins-core.scss +5 -9
- package/dist/dialog/forge-dialog.css +0 -6
- package/dist/esm/chunks/chunk.24MZM3AY.js +0 -7
- package/dist/esm/chunks/chunk.24MZM3AY.js.map +0 -7
- package/dist/esm/chunks/chunk.3L77JY5H.js +0 -7
- package/dist/esm/chunks/chunk.3TIBP6QT.js +0 -7
- package/dist/esm/chunks/chunk.3U222LE4.js +0 -7
- package/dist/esm/chunks/chunk.45PPQY45.js +0 -177
- package/dist/esm/chunks/chunk.45PPQY45.js.map +0 -7
- package/dist/esm/chunks/chunk.4UU6PWR2.js +0 -7
- package/dist/esm/chunks/chunk.4UU6PWR2.js.map +0 -7
- package/dist/esm/chunks/chunk.5A34DJLZ.js +0 -7
- package/dist/esm/chunks/chunk.5A34DJLZ.js.map +0 -7
- package/dist/esm/chunks/chunk.5UGN5FYV.js +0 -7
- package/dist/esm/chunks/chunk.5UZ2DEW3.js +0 -7
- package/dist/esm/chunks/chunk.5UZ2DEW3.js.map +0 -7
- package/dist/esm/chunks/chunk.656X22EF.js +0 -7
- package/dist/esm/chunks/chunk.656X22EF.js.map +0 -7
- package/dist/esm/chunks/chunk.66YURKP2.js +0 -7
- package/dist/esm/chunks/chunk.66YURKP2.js.map +0 -7
- package/dist/esm/chunks/chunk.6GSVB5NB.js.map +0 -7
- package/dist/esm/chunks/chunk.AFJ7QEVI.js +0 -7
- package/dist/esm/chunks/chunk.AFJ7QEVI.js.map +0 -7
- package/dist/esm/chunks/chunk.BETICEYY.js +0 -7
- package/dist/esm/chunks/chunk.BEUQVZKZ.js +0 -7
- package/dist/esm/chunks/chunk.BMQAVBWZ.js +0 -7
- package/dist/esm/chunks/chunk.BMQAVBWZ.js.map +0 -7
- package/dist/esm/chunks/chunk.CIUPY66Y.js +0 -7
- package/dist/esm/chunks/chunk.CIUPY66Y.js.map +0 -7
- package/dist/esm/chunks/chunk.CSCZRSDT.js +0 -7
- package/dist/esm/chunks/chunk.CSCZRSDT.js.map +0 -7
- package/dist/esm/chunks/chunk.CWBDPBYO.js +0 -7
- package/dist/esm/chunks/chunk.CWBDPBYO.js.map +0 -7
- package/dist/esm/chunks/chunk.D7RH43XD.js +0 -7
- package/dist/esm/chunks/chunk.D7RH43XD.js.map +0 -7
- package/dist/esm/chunks/chunk.DCCFF327.js +0 -7
- package/dist/esm/chunks/chunk.EO3HELQ2.js +0 -15
- package/dist/esm/chunks/chunk.FB4MXEIW.js +0 -7
- package/dist/esm/chunks/chunk.FB4MXEIW.js.map +0 -7
- package/dist/esm/chunks/chunk.G2HRYIIZ.js +0 -7
- package/dist/esm/chunks/chunk.G2HRYIIZ.js.map +0 -7
- package/dist/esm/chunks/chunk.G3GTO5ZC.js +0 -7
- package/dist/esm/chunks/chunk.G3GTO5ZC.js.map +0 -7
- package/dist/esm/chunks/chunk.GL2H6QOP.js +0 -7
- package/dist/esm/chunks/chunk.GL2H6QOP.js.map +0 -7
- package/dist/esm/chunks/chunk.HBAC6E7O.js +0 -7
- package/dist/esm/chunks/chunk.HYTFCFP6.js +0 -7
- package/dist/esm/chunks/chunk.HYTFCFP6.js.map +0 -7
- package/dist/esm/chunks/chunk.IM36A2ZI.js +0 -7
- package/dist/esm/chunks/chunk.IM36A2ZI.js.map +0 -7
- package/dist/esm/chunks/chunk.IWVAI6XM.js.map +0 -7
- package/dist/esm/chunks/chunk.JCEKCW4B.js +0 -7
- package/dist/esm/chunks/chunk.JCEKCW4B.js.map +0 -7
- package/dist/esm/chunks/chunk.JVWJHSPM.js +0 -7
- package/dist/esm/chunks/chunk.KDUH2DUE.js +0 -7
- package/dist/esm/chunks/chunk.KRKKMTXR.js +0 -7
- package/dist/esm/chunks/chunk.KRKKMTXR.js.map +0 -7
- package/dist/esm/chunks/chunk.LKA5HQQY.js +0 -7
- package/dist/esm/chunks/chunk.LKA5HQQY.js.map +0 -7
- package/dist/esm/chunks/chunk.MC3UAHWS.js +0 -7
- package/dist/esm/chunks/chunk.MC3UAHWS.js.map +0 -7
- package/dist/esm/chunks/chunk.MCR34SZQ.js +0 -7
- package/dist/esm/chunks/chunk.MGLWXAZO.js +0 -18
- package/dist/esm/chunks/chunk.MPUP6QAP.js +0 -7
- package/dist/esm/chunks/chunk.MZRAL4MY.js +0 -7
- package/dist/esm/chunks/chunk.MZRAL4MY.js.map +0 -7
- package/dist/esm/chunks/chunk.N632SJ7X.js +0 -7
- package/dist/esm/chunks/chunk.N632SJ7X.js.map +0 -7
- package/dist/esm/chunks/chunk.NHOGZDLN.js +0 -7
- package/dist/esm/chunks/chunk.NHOGZDLN.js.map +0 -7
- package/dist/esm/chunks/chunk.NIUX6DVF.js +0 -12
- package/dist/esm/chunks/chunk.NIUX6DVF.js.map +0 -7
- package/dist/esm/chunks/chunk.OSBNFFCI.js.map +0 -7
- package/dist/esm/chunks/chunk.OY3TG55O.js +0 -7
- package/dist/esm/chunks/chunk.OY3TG55O.js.map +0 -7
- package/dist/esm/chunks/chunk.QCRO5NSG.js +0 -7
- package/dist/esm/chunks/chunk.QCRO5NSG.js.map +0 -7
- package/dist/esm/chunks/chunk.QKYCMDLB.js +0 -7
- package/dist/esm/chunks/chunk.R6VPRRTT.js +0 -7
- package/dist/esm/chunks/chunk.RFCIELJM.js +0 -7
- package/dist/esm/chunks/chunk.RFCIELJM.js.map +0 -7
- package/dist/esm/chunks/chunk.RJC42RNR.js +0 -7
- package/dist/esm/chunks/chunk.RJC42RNR.js.map +0 -7
- package/dist/esm/chunks/chunk.SKBOB2BD.js +0 -7
- package/dist/esm/chunks/chunk.SKBOB2BD.js.map +0 -7
- package/dist/esm/chunks/chunk.SOKORSUV.js +0 -7
- package/dist/esm/chunks/chunk.STSAE2XP.js +0 -7
- package/dist/esm/chunks/chunk.SWKKDBO6.js +0 -7
- package/dist/esm/chunks/chunk.SWKKDBO6.js.map +0 -7
- package/dist/esm/chunks/chunk.SYKZ74SL.js +0 -7
- package/dist/esm/chunks/chunk.SYKZ74SL.js.map +0 -7
- package/dist/esm/chunks/chunk.UKVC23E5.js +0 -7
- package/dist/esm/chunks/chunk.UKVC23E5.js.map +0 -7
- package/dist/esm/chunks/chunk.UOD3A7M4.js +0 -7
- package/dist/esm/chunks/chunk.UQQQSJVM.js +0 -7
- package/dist/esm/chunks/chunk.V3X77TCO.js +0 -7
- package/dist/esm/chunks/chunk.V3X77TCO.js.map +0 -7
- package/dist/esm/chunks/chunk.V7ILFIOR.js +0 -7
- package/dist/esm/chunks/chunk.VBJ4WUVH.js +0 -7
- package/dist/esm/chunks/chunk.VBJ4WUVH.js.map +0 -7
- package/dist/esm/chunks/chunk.VZ2XONDI.js +0 -7
- package/dist/esm/chunks/chunk.VZ2XONDI.js.map +0 -7
- package/dist/esm/chunks/chunk.WAMFFIMP.js +0 -7
- package/dist/esm/chunks/chunk.WAMFFIMP.js.map +0 -7
- package/dist/esm/chunks/chunk.WBCQTZPS.js +0 -7
- package/dist/esm/chunks/chunk.WBCQTZPS.js.map +0 -7
- package/dist/esm/chunks/chunk.WBI34ZVP.js +0 -7
- package/dist/esm/chunks/chunk.WF2MFLG4.js.map +0 -7
- package/dist/esm/chunks/chunk.WPVGFQNY.js +0 -7
- package/dist/esm/chunks/chunk.WPVGFQNY.js.map +0 -7
- package/dist/esm/chunks/chunk.XAZ6EDIZ.js +0 -7
- package/dist/esm/chunks/chunk.XCI7O2KJ.js +0 -7
- package/dist/esm/chunks/chunk.XCI7O2KJ.js.map +0 -7
- package/dist/esm/chunks/chunk.XNJROSDZ.js +0 -7
- package/dist/esm/chunks/chunk.XNJROSDZ.js.map +0 -7
- package/dist/esm/chunks/chunk.Z6GRWPPN.js +0 -7
- package/dist/esm/chunks/chunk.Z6GRWPPN.js.map +0 -7
- package/dist/esm/chunks/chunk.ZLNI2M3F.js +0 -7
- package/dist/esm/chunks/chunk.ZLNI2M3F.js.map +0 -7
- package/dist/esm/chunks/chunk.ZSZFWZAI.js +0 -7
- package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +0 -7
- package/dist/esm/chunks/chunk.ZYKP23JP.js +0 -7
- package/dist/esm/field-next/index.js +0 -7
- package/dist/esm/floating-label/index.js +0 -7
- package/dist/esm/floating-label/index.js.map +0 -7
- package/dist/esm/popup/index.js +0 -7
- package/dist/esm/popup/index.js.map +0 -7
- package/dist/esm/ripple/index.js +0 -7
- package/dist/esm/ripple/index.js.map +0 -7
- package/dist/floating-label/forge-floating-label.css +0 -6
- package/dist/form-field/forge-form-field.css +0 -6
- package/dist/ripple/forge-ripple.css +0 -6
- package/dist/scaffold/forge-scaffold.css +0 -6
- package/esm/backdrop/backdrop-adapter.d.ts +0 -36
- package/esm/backdrop/backdrop-adapter.js +0 -40
- package/esm/backdrop/backdrop-foundation.d.ts +0 -38
- package/esm/backdrop/backdrop-foundation.js +0 -82
- package/esm/field-next/field-adapter.d.ts +0 -56
- package/esm/field-next/field-adapter.js +0 -132
- package/esm/field-next/field-constants.d.ts +0 -95
- package/esm/field-next/field-constants.js +0 -64
- package/esm/field-next/field-foundation.js +0 -221
- package/esm/field-next/field.d.ts +0 -205
- package/esm/field-next/field.js +0 -287
- package/esm/floating-label/floating-label-adapter.d.ts +0 -23
- package/esm/floating-label/floating-label-adapter.js +0 -32
- package/esm/floating-label/floating-label-constants.d.ts +0 -13
- package/esm/floating-label/floating-label-constants.js +0 -14
- package/esm/floating-label/floating-label-foundation.d.ts +0 -20
- package/esm/floating-label/floating-label-foundation.js +0 -74
- package/esm/floating-label/floating-label.d.ts +0 -31
- package/esm/floating-label/floating-label.js +0 -34
- package/esm/floating-label/index.d.ts +0 -9
- package/esm/floating-label/index.js +0 -9
- package/esm/label-value/label-value-adapter.d.ts +0 -24
- package/esm/label-value/label-value-adapter.js +0 -47
- package/esm/label-value/label-value-foundation.d.ts +0 -33
- package/esm/label-value/label-value-foundation.js +0 -80
- package/esm/popup/index.d.ts +0 -10
- package/esm/popup/index.js +0 -14
- package/esm/popup/popup-adapter.d.ts +0 -45
- package/esm/popup/popup-adapter.js +0 -152
- package/esm/popup/popup-constants.d.ts +0 -55
- package/esm/popup/popup-constants.js +0 -53
- package/esm/popup/popup-foundation.d.ts +0 -72
- package/esm/popup/popup-foundation.js +0 -258
- package/esm/popup/popup.d.ts +0 -59
- package/esm/popup/popup.js +0 -102
- package/esm/ripple/forge-ripple.d.ts +0 -17
- package/esm/ripple/forge-ripple.js +0 -22
- package/esm/ripple/index.d.ts +0 -11
- package/esm/ripple/index.js +0 -15
- package/esm/ripple/ripple-adapter.d.ts +0 -23
- package/esm/ripple/ripple-adapter.js +0 -47
- package/esm/ripple/ripple-constants.d.ts +0 -15
- package/esm/ripple/ripple-constants.js +0 -19
- package/esm/ripple/ripple-foundation.d.ts +0 -30
- package/esm/ripple/ripple-foundation.js +0 -48
- package/esm/ripple/ripple.d.ts +0 -36
- package/esm/ripple/ripple.js +0 -65
- package/styles/backdrop/_mixins.scss +0 -31
- package/styles/backdrop/_variables.scss +0 -12
- package/styles/card/_mixins.scss +0 -47
- package/styles/card/_variables.scss +0 -9
- package/styles/chip-field/_base.scss +0 -299
- package/styles/chip-field/_mixins.scss +0 -26
- package/styles/chip-field/_selector.scss +0 -228
- package/styles/chip-field/_variables.scss +0 -76
- package/styles/dialog/_mixins.scss +0 -199
- package/styles/dialog/_variables.scss +0 -22
- package/styles/dialog/forge-dialog.scss +0 -8
- package/styles/field/_base.scss +0 -636
- package/styles/field/_selector.scss +0 -560
- package/styles/field/_utils.scss +0 -48
- package/styles/field/_variables.scss +0 -123
- package/styles/field-next/_core.scss +0 -213
- package/styles/floating-label/_mixins.scss +0 -291
- package/styles/floating-label/_variables.scss +0 -15
- package/styles/floating-label/forge-floating-label.scss +0 -8
- package/styles/form-field/_mixins.scss +0 -71
- package/styles/form-field/forge-form-field.scss +0 -8
- package/styles/icon/_mixins.scss +0 -37
- package/styles/icon/_variables.scss +0 -10
- package/styles/label-value/_mixins.scss +0 -205
- package/styles/label-value/_variables.scss +0 -12
- package/styles/popup/_mixins.scss +0 -86
- package/styles/popup/_variables.scss +0 -7
- package/styles/popup/forge-popup.scss +0 -8
- package/styles/popup/popup.scss +0 -20
- package/styles/ripple/forge-ripple.scss +0 -17
- package/styles/scaffold/_mixins.scss +0 -194
- package/styles/scaffold/forge-scaffold.scss +0 -43
- package/styles/select/select/_base.scss +0 -84
- package/styles/select/select/_mixins.scss +0 -25
- package/styles/select/select/_selector.scss +0 -90
- package/styles/select/select/_variables.scss +0 -16
- package/styles/stepper/step/_mixins.scss +0 -416
- package/styles/stepper/step/_variables.scss +0 -21
- package/styles/stepper/stepper/_mixins.scss +0 -113
- package/styles/toast/_mixins.scss +0 -242
- package/styles/toast/_variables.scss +0 -52
- /package/dist/esm/chunks/{chunk.IZRURH7C.js.map → chunk.3KAKJGUS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KDUH2DUE.js.map → chunk.473WRJ5G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.USQEIRST.js.map → chunk.5MB6CTBA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YS5JZHJ6.js.map → chunk.5QIWLZG3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.47U6GVGZ.js.map → chunk.5UOX22ML.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4NABD6XG.js.map → chunk.6VS3LYAF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AOSBUJWW.js.map → chunk.A7BCLPP4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UBIT4NP.js.map → chunk.AG6IRMLZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A4UH52SA.js.map → chunk.AGLI4WR4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WTUXAH7Z.js.map → chunk.AOVXNX7P.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AN2E2SSN.js.map → chunk.ASLHRT3N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CBLUXYH2.js.map → chunk.BHE6Z5Y2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2WRAXA3H.js.map → chunk.BQ52JYLA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ROMRJIFR.js.map → chunk.CE35CVDV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZPXMKY72.js.map → chunk.CEGBMUSR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GBGGUYTE.js.map → chunk.CFAI4K3E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZIGVO6FN.js.map → chunk.CGFSMACZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UEYPCCFG.js.map → chunk.ENUKGA2U.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GA6AO6FJ.js.map → chunk.H5RW3A4M.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CSOKFDFQ.js.map → chunk.HSADKCGS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WBI34ZVP.js.map → chunk.IEABOPNB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.22C7GQLX.js.map → chunk.IL4S57WO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HMJODLAS.js.map → chunk.IQYOLMPG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GTKYO6VB.js.map → chunk.JGURMVW7.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YXHMD73U.js.map → chunk.K6GJNDTY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QUWEAFGI.js.map → chunk.KEOLH7G3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BIQTNLIF.js.map → chunk.LNTTU2GL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2AM2BKEO.js.map → chunk.MFQRXVKO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JLSFTWPE.js.map → chunk.MTIPIEXA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JSTCCUKZ.js.map → chunk.OEI35LFU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2537XOFQ.js.map → chunk.OREDK5MJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QKYCMDLB.js.map → chunk.QCPV5DEG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R3AWIPPK.js.map → chunk.QIZBZGYT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2XPAYTK4.js.map → chunk.QKTK5XUE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R66CYS27.js.map → chunk.QTY25OTN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BSV27GU7.js.map → chunk.QVATEY5S.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FRTSXX33.js.map → chunk.RSYEG2RW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.A6BIUNPW.js.map → chunk.RXBLU4OJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FBDRM4YN.js.map → chunk.S7KEO2CH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XU3YSZPA.js.map → chunk.SQ3AZAHF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.35MHQH7Z.js.map → chunk.SROEDYPL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SHBDQPPH.js.map → chunk.SZOZIJZI.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PXRGQHWR.js.map → chunk.TQWZDM6T.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6JVMCBCR.js.map → chunk.UKBE2FMZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4AEQ7KVU.js.map → chunk.VJZ7VDG5.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3L77JY5H.js.map → chunk.W4HANHUO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2W276VOR.js.map → chunk.WMJSYYXQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YNXWVL4B.js.map → chunk.YPNSK2CK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MPUP6QAP.js.map → chunk.YWJVZVZX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6XLTVIUD.js.map → chunk.ZA7JY3AY.js.map} +0 -0
- /package/dist/esm/{field-next → field}/base/index.js.map +0 -0
- /package/dist/esm/{field-next → field}/index.js.map +0 -0
- /package/esm/{field-next → field}/base/base-field-adapter.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field-adapter.js +0 -0
- /package/esm/{field-next → field}/base/base-field-constants.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field-constants.js +0 -0
- /package/esm/{field-next → field}/base/base-field-foundation.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field.d.ts +0 -0
- /package/esm/{field-next → field}/base/base-field.js +0 -0
- /package/esm/{field-next → field}/base/index.d.ts +0 -0
- /package/esm/{field-next → field}/base/index.js +0 -0
- /package/esm/{field-next → field}/index.d.ts +0 -0
- /package/esm/{field-next → field}/index.js +0 -0
- /package/styles/{field-next → field}/_core.slotted.scss +0 -0
- /package/styles/{field-next → field}/_core.state.scss +0 -0
- /package/styles/{field-next → field}/_token-utils.scss +0 -0
- /package/styles/{field-next → field}/index.scss +0 -0
|
@@ -12,6 +12,7 @@ export class FocusIndicatorFoundation {
|
|
|
12
12
|
this._inward = false;
|
|
13
13
|
this._circular = false;
|
|
14
14
|
this._allowFocus = false;
|
|
15
|
+
this._focusMode = FOCUS_INDICATOR_CONSTANTS.defaults.FOCUS_MODE;
|
|
15
16
|
this._interactionListener = evt => this._onInteraction(evt);
|
|
16
17
|
}
|
|
17
18
|
initialize() {
|
|
@@ -25,19 +26,19 @@ export class FocusIndicatorFoundation {
|
|
|
25
26
|
this._adapter.destroy();
|
|
26
27
|
}
|
|
27
28
|
_addListeners() {
|
|
28
|
-
this._adapter.addTargetListener(
|
|
29
|
+
this._adapter.addTargetListener(this._focusMode, this._interactionListener);
|
|
29
30
|
this._adapter.addTargetListener('focusout', this._interactionListener);
|
|
30
31
|
this._adapter.addTargetListener('pointerdown', this._interactionListener);
|
|
31
32
|
}
|
|
32
33
|
_removeListeners() {
|
|
33
|
-
this._adapter.removeTargetListener(
|
|
34
|
+
this._adapter.removeTargetListener(this._focusMode, this._interactionListener);
|
|
34
35
|
this._adapter.removeTargetListener('focusout', this._interactionListener);
|
|
35
36
|
this._adapter.removeTargetListener('pointerdown', this._interactionListener);
|
|
36
37
|
}
|
|
37
38
|
_onInteraction(evt) {
|
|
38
39
|
const target = evt.target;
|
|
39
40
|
switch (evt.type) {
|
|
40
|
-
case
|
|
41
|
+
case this._focusMode:
|
|
41
42
|
this.active = this._adapter.isActive(this._allowFocus ? ':focus' : ':focus-visible', target);
|
|
42
43
|
break;
|
|
43
44
|
case 'focusout':
|
|
@@ -108,4 +109,21 @@ export class FocusIndicatorFoundation {
|
|
|
108
109
|
this._adapter.toggleHostAttribute(FOCUS_INDICATOR_CONSTANTS.attributes.ALLOW_FOCUS, this._allowFocus);
|
|
109
110
|
}
|
|
110
111
|
}
|
|
112
|
+
get focusMode() {
|
|
113
|
+
return this._focusMode;
|
|
114
|
+
}
|
|
115
|
+
set focusMode(value) {
|
|
116
|
+
value !== null && value !== void 0 ? value : (value = FOCUS_INDICATOR_CONSTANTS.defaults.FOCUS_MODE);
|
|
117
|
+
if (this._focusMode !== value) {
|
|
118
|
+
if (this._adapter.isConnected) {
|
|
119
|
+
this._removeListeners();
|
|
120
|
+
}
|
|
121
|
+
this._focusMode = value;
|
|
122
|
+
if (this._adapter.isConnected) {
|
|
123
|
+
this._addListeners();
|
|
124
|
+
}
|
|
125
|
+
const hasFocusMode = this._focusMode !== FOCUS_INDICATOR_CONSTANTS.defaults.FOCUS_MODE;
|
|
126
|
+
this._adapter.toggleHostAttribute(FOCUS_INDICATOR_CONSTANTS.attributes.FOCUS_MODE, hasFocusMode, this._focusMode);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
111
129
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
|
|
7
|
+
import { FocusIndicatorFocusMode } from './focus-indicator-constants';
|
|
7
8
|
export interface IFocusIndicatorComponent extends IBaseComponent {
|
|
8
9
|
targetElement: HTMLElement;
|
|
9
10
|
target: string | null;
|
|
@@ -11,6 +12,7 @@ export interface IFocusIndicatorComponent extends IBaseComponent {
|
|
|
11
12
|
inward: boolean;
|
|
12
13
|
circular: boolean;
|
|
13
14
|
allowFocus: boolean;
|
|
15
|
+
focusMode: FocusIndicatorFocusMode;
|
|
14
16
|
}
|
|
15
17
|
declare global {
|
|
16
18
|
interface HTMLElementTagNameMap {
|
|
@@ -28,12 +30,14 @@ declare global {
|
|
|
28
30
|
* @property {boolean} inward - Controls whether the indicator renders inward.
|
|
29
31
|
* @property {boolean} circular - Controls whether the indicator renders circular.
|
|
30
32
|
* @property {boolean} allowFocus - Controls whether the indicator renders when the target element matches `:focus` instead of `:focus-visible`.
|
|
33
|
+
* @property {FocusIndicatorFocusMode} focusMode - The focus mode to use. Defaults to `focusin`.
|
|
31
34
|
*
|
|
32
35
|
* @attribute {string} target - The id of the element to attach the focus indicator to.
|
|
33
36
|
* @attribute {boolean} active - Controls whether the indicator is active.
|
|
34
37
|
* @attribute {boolean} inward - Controls whether the indicator renders inward.
|
|
35
38
|
* @attribute {boolean} circular - Controls whether the indicator renders circular.
|
|
36
39
|
* @attribute {boolean} allow-focus - Controls whether the indicator renders when the target element matches `:focus` instead of `:focus-visible`.
|
|
40
|
+
* @attribute {FocusIndicatorFocusMode} focus-mode - The focus mode to use. Defaults to `focusin`.
|
|
37
41
|
*
|
|
38
42
|
* @cssproperty --forge-focus-indicator-active-width - The width of the focus indicator when active. When animating this is the max extent.
|
|
39
43
|
* @cssproperty --forge-focus-indicator-color - The color of the focus indicator.
|
|
@@ -64,4 +68,5 @@ export declare class FocusIndicatorComponent extends BaseComponent implements IF
|
|
|
64
68
|
inward: boolean;
|
|
65
69
|
circular: boolean;
|
|
66
70
|
allowFocus: boolean;
|
|
71
|
+
focusMode: FocusIndicatorFocusMode;
|
|
67
72
|
}
|
|
@@ -22,12 +22,14 @@ const styles = ':host{--_focus-indicator-width:var(--forge-focus-indicator-width
|
|
|
22
22
|
* @property {boolean} inward - Controls whether the indicator renders inward.
|
|
23
23
|
* @property {boolean} circular - Controls whether the indicator renders circular.
|
|
24
24
|
* @property {boolean} allowFocus - Controls whether the indicator renders when the target element matches `:focus` instead of `:focus-visible`.
|
|
25
|
+
* @property {FocusIndicatorFocusMode} focusMode - The focus mode to use. Defaults to `focusin`.
|
|
25
26
|
*
|
|
26
27
|
* @attribute {string} target - The id of the element to attach the focus indicator to.
|
|
27
28
|
* @attribute {boolean} active - Controls whether the indicator is active.
|
|
28
29
|
* @attribute {boolean} inward - Controls whether the indicator renders inward.
|
|
29
30
|
* @attribute {boolean} circular - Controls whether the indicator renders circular.
|
|
30
31
|
* @attribute {boolean} allow-focus - Controls whether the indicator renders when the target element matches `:focus` instead of `:focus-visible`.
|
|
32
|
+
* @attribute {FocusIndicatorFocusMode} focus-mode - The focus mode to use. Defaults to `focusin`.
|
|
31
33
|
*
|
|
32
34
|
* @cssproperty --forge-focus-indicator-active-width - The width of the focus indicator when active. When animating this is the max extent.
|
|
33
35
|
* @cssproperty --forge-focus-indicator-color - The color of the focus indicator.
|
|
@@ -47,13 +49,7 @@ const styles = ':host{--_focus-indicator-width:var(--forge-focus-indicator-width
|
|
|
47
49
|
*/
|
|
48
50
|
let FocusIndicatorComponent = class FocusIndicatorComponent extends BaseComponent {
|
|
49
51
|
static get observedAttributes() {
|
|
50
|
-
return
|
|
51
|
-
FOCUS_INDICATOR_CONSTANTS.attributes.TARGET,
|
|
52
|
-
FOCUS_INDICATOR_CONSTANTS.attributes.ACTIVE,
|
|
53
|
-
FOCUS_INDICATOR_CONSTANTS.attributes.INWARD,
|
|
54
|
-
FOCUS_INDICATOR_CONSTANTS.attributes.CIRCULAR,
|
|
55
|
-
FOCUS_INDICATOR_CONSTANTS.attributes.ALLOW_FOCUS
|
|
56
|
-
];
|
|
52
|
+
return Object.values(FOCUS_INDICATOR_CONSTANTS.attributes);
|
|
57
53
|
}
|
|
58
54
|
constructor() {
|
|
59
55
|
super();
|
|
@@ -83,6 +79,9 @@ let FocusIndicatorComponent = class FocusIndicatorComponent extends BaseComponen
|
|
|
83
79
|
case FOCUS_INDICATOR_CONSTANTS.attributes.ALLOW_FOCUS:
|
|
84
80
|
this.allowFocus = coerceBoolean(newValue);
|
|
85
81
|
break;
|
|
82
|
+
case FOCUS_INDICATOR_CONSTANTS.attributes.FOCUS_MODE:
|
|
83
|
+
this.focusMode = newValue;
|
|
84
|
+
break;
|
|
86
85
|
}
|
|
87
86
|
}
|
|
88
87
|
};
|
|
@@ -104,6 +103,9 @@ __decorate([
|
|
|
104
103
|
__decorate([
|
|
105
104
|
FoundationProperty()
|
|
106
105
|
], FocusIndicatorComponent.prototype, "allowFocus", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
FoundationProperty()
|
|
108
|
+
], FocusIndicatorComponent.prototype, "focusMode", void 0);
|
|
107
109
|
FocusIndicatorComponent = __decorate([
|
|
108
110
|
CustomElement({
|
|
109
111
|
name: FOCUS_INDICATOR_CONSTANTS.elementName
|
|
@@ -9,7 +9,8 @@ export interface IIconAdapter extends IBaseAdapter {
|
|
|
9
9
|
canLazyLoad(): boolean;
|
|
10
10
|
observeVisibility(listener: () => void): void;
|
|
11
11
|
destroyVisibilityObserver(): void;
|
|
12
|
-
setContent(content:
|
|
12
|
+
setContent(content: Node | null): void;
|
|
13
|
+
setViewBox(viewBox: string): void;
|
|
13
14
|
}
|
|
14
15
|
export declare class IconAdapter extends BaseAdapter<IIconComponent> implements IIconAdapter {
|
|
15
16
|
private _observer;
|
|
@@ -17,5 +18,6 @@ export declare class IconAdapter extends BaseAdapter<IIconComponent> implements
|
|
|
17
18
|
canLazyLoad(): boolean;
|
|
18
19
|
observeVisibility(listener: () => void): void;
|
|
19
20
|
destroyVisibilityObserver(): void;
|
|
20
|
-
setContent(
|
|
21
|
+
setContent(element: Element | null): void;
|
|
22
|
+
setViewBox(viewBox: string): void;
|
|
21
23
|
}
|
package/esm/icon/icon-adapter.js
CHANGED
|
@@ -27,16 +27,20 @@ export class IconAdapter extends BaseAdapter {
|
|
|
27
27
|
this._observer = undefined;
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
setContent(
|
|
31
|
-
var _a;
|
|
30
|
+
setContent(element) {
|
|
32
31
|
const shadowRoot = this._component.shadowRoot;
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
shadowRoot.appendChild(
|
|
32
|
+
shadowRoot.querySelectorAll(':not(style)').forEach(child => child.remove());
|
|
33
|
+
if (element) {
|
|
34
|
+
if (this._component.viewbox) {
|
|
35
|
+
element.setAttribute('viewBox', this._component.viewbox);
|
|
36
|
+
}
|
|
37
|
+
element.setAttribute('aria-hidden', 'true');
|
|
38
|
+
shadowRoot.appendChild(element);
|
|
40
39
|
}
|
|
41
40
|
}
|
|
41
|
+
setViewBox(viewBox) {
|
|
42
|
+
var _a;
|
|
43
|
+
const svgEl = (_a = this._component.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('svg');
|
|
44
|
+
svgEl === null || svgEl === void 0 ? void 0 : svgEl.setAttribute('viewBox', viewBox);
|
|
45
|
+
}
|
|
42
46
|
}
|
|
@@ -3,8 +3,18 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Theme } from '../constants';
|
|
6
7
|
export declare const ICON_CONSTANTS: {
|
|
7
8
|
elementName: "forge-icon";
|
|
9
|
+
observedAttributes: {
|
|
10
|
+
NAME: string;
|
|
11
|
+
SRC: string;
|
|
12
|
+
LAZY: string;
|
|
13
|
+
EXTERNAL: string;
|
|
14
|
+
EXTERNAL_TYPE: string;
|
|
15
|
+
VIEWBOX: string;
|
|
16
|
+
THEME: string;
|
|
17
|
+
};
|
|
8
18
|
attributes: {
|
|
9
19
|
NAME: string;
|
|
10
20
|
SRC: string;
|
|
@@ -12,6 +22,7 @@ export declare const ICON_CONSTANTS: {
|
|
|
12
22
|
EXTERNAL: string;
|
|
13
23
|
EXTERNAL_TYPE: string;
|
|
14
24
|
VIEWBOX: string;
|
|
25
|
+
THEME: string;
|
|
15
26
|
};
|
|
16
27
|
numbers: {
|
|
17
28
|
LAZY_ROOT_MARGIN: number;
|
|
@@ -23,5 +34,6 @@ export declare const ICON_CONSTANTS: {
|
|
|
23
34
|
};
|
|
24
35
|
};
|
|
25
36
|
export declare const ICON_REGISTRY_KEY = "forgeIcons";
|
|
26
|
-
export
|
|
27
|
-
export
|
|
37
|
+
export type IconUrlBuilder = (name: string, type: IconExternalType) => string;
|
|
38
|
+
export type IconExternalType = '' | 'custom' | 'standard' | 'extended';
|
|
39
|
+
export type IconTheme = Theme | 'text-medium' | 'text-low';
|
|
@@ -11,7 +11,8 @@ const observedAttributes = {
|
|
|
11
11
|
LAZY: 'lazy',
|
|
12
12
|
EXTERNAL: 'external',
|
|
13
13
|
EXTERNAL_TYPE: 'external-type',
|
|
14
|
-
VIEWBOX: 'viewbox'
|
|
14
|
+
VIEWBOX: 'viewbox',
|
|
15
|
+
THEME: 'theme'
|
|
15
16
|
};
|
|
16
17
|
const attributes = Object.assign({}, observedAttributes);
|
|
17
18
|
const numbers = {
|
|
@@ -24,6 +25,7 @@ const strings = {
|
|
|
24
25
|
};
|
|
25
26
|
export const ICON_CONSTANTS = {
|
|
26
27
|
elementName,
|
|
28
|
+
observedAttributes,
|
|
27
29
|
attributes,
|
|
28
30
|
numbers,
|
|
29
31
|
strings
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ICustomElementFoundation } from '@tylertech/forge-core';
|
|
7
7
|
import { IIconAdapter } from './icon-adapter';
|
|
8
|
-
import { IconUrlBuilder, IconExternalType } from './icon-constants';
|
|
8
|
+
import { IconUrlBuilder, IconExternalType, IconTheme } from './icon-constants';
|
|
9
9
|
export interface IIconFoundation extends ICustomElementFoundation {
|
|
10
10
|
name: string | undefined;
|
|
11
11
|
src: string | undefined;
|
|
@@ -14,6 +14,7 @@ export interface IIconFoundation extends ICustomElementFoundation {
|
|
|
14
14
|
externalType: IconExternalType;
|
|
15
15
|
externalUrlBuilder: IconUrlBuilder;
|
|
16
16
|
viewbox: string;
|
|
17
|
+
theme: IconTheme;
|
|
17
18
|
layout(): void;
|
|
18
19
|
}
|
|
19
20
|
export declare class IconFoundation implements IIconFoundation {
|
|
@@ -25,12 +26,13 @@ export declare class IconFoundation implements IIconFoundation {
|
|
|
25
26
|
private _externalType;
|
|
26
27
|
private _externalUrlBuilder;
|
|
27
28
|
private _viewbox;
|
|
29
|
+
private _theme;
|
|
28
30
|
private _applyTimer;
|
|
29
31
|
private _lazyListener;
|
|
30
32
|
private _registrationListener;
|
|
31
33
|
constructor(_adapter: IIconAdapter);
|
|
32
34
|
initialize(): void;
|
|
33
|
-
|
|
35
|
+
destroy(): void;
|
|
34
36
|
private _safeApplyIcon;
|
|
35
37
|
private _tryRemoveListener;
|
|
36
38
|
private _applyIcon;
|
|
@@ -54,5 +56,7 @@ export declare class IconFoundation implements IIconFoundation {
|
|
|
54
56
|
set externalUrlBuilder(cb: IconUrlBuilder);
|
|
55
57
|
get viewbox(): string;
|
|
56
58
|
set viewbox(value: string);
|
|
59
|
+
get theme(): IconTheme;
|
|
60
|
+
set theme(value: IconTheme);
|
|
57
61
|
layout(): void;
|
|
58
62
|
}
|
|
@@ -4,18 +4,20 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { ICON_CONSTANTS } from './icon-constants';
|
|
7
|
-
import {
|
|
7
|
+
import { IconRegistry } from './icon-registry';
|
|
8
|
+
import { createSanitizedSvg, fetchIconContent, getCachedIcon, sanitizeExternalType, awaitIconDefinition, removeIconListener } from './icon-utils';
|
|
8
9
|
export class IconFoundation {
|
|
9
10
|
constructor(_adapter) {
|
|
10
11
|
this._adapter = _adapter;
|
|
12
|
+
this._lazy = false;
|
|
11
13
|
this._external = false;
|
|
12
14
|
this._externalType = 'standard';
|
|
13
|
-
this._lazyListener =
|
|
15
|
+
this._lazyListener = this._loadIcon.bind(this);
|
|
14
16
|
}
|
|
15
17
|
initialize() {
|
|
16
18
|
this._applyIcon();
|
|
17
19
|
}
|
|
18
|
-
|
|
20
|
+
destroy() {
|
|
19
21
|
this._adapter.destroyVisibilityObserver();
|
|
20
22
|
this._clearIconQueue();
|
|
21
23
|
this._tryRemoveListener();
|
|
@@ -56,43 +58,64 @@ export class IconFoundation {
|
|
|
56
58
|
try {
|
|
57
59
|
if (this._src) {
|
|
58
60
|
// We were provided direct icon source content so just set that
|
|
59
|
-
this.
|
|
61
|
+
const node = createSanitizedSvg(this._src, this._viewbox);
|
|
62
|
+
this._setIconContent(node);
|
|
60
63
|
}
|
|
61
64
|
else if (this._name) {
|
|
62
|
-
// Let's attempt to get our icon from the
|
|
63
|
-
|
|
64
|
-
if
|
|
65
|
+
// Let's attempt to get our icon from the registry
|
|
66
|
+
const descriptor = this._tryGetIcon(this._name);
|
|
67
|
+
// Short circuit here if we already have the node from a previous usage
|
|
68
|
+
if (descriptor === null || descriptor === void 0 ? void 0 : descriptor.node) {
|
|
69
|
+
this._setIconContent(descriptor.node);
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
let svgEl = null;
|
|
73
|
+
if (!descriptor) {
|
|
65
74
|
if (!this._external) {
|
|
66
75
|
// We attach a listener to the registry to let us know when the icon is registered
|
|
67
76
|
this._registrationListener = () => this._applyIcon();
|
|
68
77
|
awaitIconDefinition(this._name, this._registrationListener);
|
|
69
78
|
// For now, we render nothing...
|
|
70
|
-
this._adapter.setContent(
|
|
79
|
+
this._adapter.setContent(null);
|
|
71
80
|
return;
|
|
72
81
|
}
|
|
73
82
|
// We don't have a registry icon, so let's try the network to fetch it
|
|
74
83
|
if (!this._externalType) {
|
|
75
|
-
|
|
84
|
+
this._externalType = 'standard';
|
|
76
85
|
}
|
|
77
86
|
const url = this._getExternalUrl(this._name, this._externalType);
|
|
78
87
|
if (url) {
|
|
79
|
-
content = await fetchIconContent(url, this._name);
|
|
88
|
+
const content = await fetchIconContent(url, this._name);
|
|
89
|
+
if (content) {
|
|
90
|
+
svgEl = createSanitizedSvg(content, this._viewbox);
|
|
91
|
+
}
|
|
80
92
|
}
|
|
81
93
|
}
|
|
82
|
-
|
|
94
|
+
else if (descriptor.raw) {
|
|
95
|
+
svgEl = createSanitizedSvg(descriptor.raw, this._viewbox);
|
|
96
|
+
}
|
|
97
|
+
if (svgEl) {
|
|
98
|
+
if (!(descriptor === null || descriptor === void 0 ? void 0 : descriptor.node)) {
|
|
99
|
+
// Store the node for future use to improve performance
|
|
100
|
+
IconRegistry.setNode(this._name, svgEl);
|
|
101
|
+
}
|
|
102
|
+
this._setIconContent(svgEl);
|
|
103
|
+
}
|
|
83
104
|
}
|
|
84
105
|
else {
|
|
85
|
-
this._adapter.setContent(
|
|
106
|
+
this._adapter.setContent(null);
|
|
86
107
|
}
|
|
87
108
|
}
|
|
88
109
|
catch (e) {
|
|
89
|
-
this._adapter.setContent(
|
|
110
|
+
this._adapter.setContent(null);
|
|
90
111
|
throw e;
|
|
91
112
|
}
|
|
92
113
|
}
|
|
93
|
-
_setIconContent(
|
|
94
|
-
const
|
|
95
|
-
|
|
114
|
+
_setIconContent(svgElement) {
|
|
115
|
+
const clone = svgElement ? svgElement.cloneNode(true) : null;
|
|
116
|
+
if (clone) {
|
|
117
|
+
this._adapter.setContent(clone);
|
|
118
|
+
}
|
|
96
119
|
}
|
|
97
120
|
_tryGetIcon(key) {
|
|
98
121
|
return getCachedIcon(key);
|
|
@@ -146,7 +169,7 @@ export class IconFoundation {
|
|
|
146
169
|
if (this._external !== value) {
|
|
147
170
|
this._external = value;
|
|
148
171
|
this._safeApplyIcon();
|
|
149
|
-
this._adapter.
|
|
172
|
+
this._adapter.toggleHostAttribute(ICON_CONSTANTS.attributes.EXTERNAL, this._external);
|
|
150
173
|
}
|
|
151
174
|
}
|
|
152
175
|
get externalType() {
|
|
@@ -174,10 +197,19 @@ export class IconFoundation {
|
|
|
174
197
|
set viewbox(value) {
|
|
175
198
|
if (this._viewbox !== value) {
|
|
176
199
|
this._viewbox = value;
|
|
177
|
-
this.
|
|
200
|
+
this._adapter.setViewBox(this._viewbox);
|
|
178
201
|
this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.VIEWBOX, `${this.viewbox}`);
|
|
179
202
|
}
|
|
180
203
|
}
|
|
204
|
+
get theme() {
|
|
205
|
+
return this._theme;
|
|
206
|
+
}
|
|
207
|
+
set theme(value) {
|
|
208
|
+
if (this._theme !== value) {
|
|
209
|
+
this._theme = value;
|
|
210
|
+
this._adapter.setHostAttribute(ICON_CONSTANTS.attributes.THEME, this._theme);
|
|
211
|
+
}
|
|
212
|
+
}
|
|
181
213
|
layout() {
|
|
182
214
|
if (this._adapter.isConnected) {
|
|
183
215
|
this._applyIcon();
|
|
@@ -10,11 +10,15 @@ export interface IIcon {
|
|
|
10
10
|
/** The SVG icon data. */
|
|
11
11
|
data: string;
|
|
12
12
|
}
|
|
13
|
+
export interface IIconDescriptor {
|
|
14
|
+
raw: string;
|
|
15
|
+
node?: SVGElement;
|
|
16
|
+
}
|
|
13
17
|
/**
|
|
14
18
|
* The registry for SVG icon instances being used within the current context.
|
|
15
19
|
*/
|
|
16
20
|
export declare class IconRegistry {
|
|
17
|
-
private static _icons;
|
|
21
|
+
private static get _icons();
|
|
18
22
|
private static _listeners;
|
|
19
23
|
/**
|
|
20
24
|
* Defines a new icon.
|
|
@@ -35,7 +39,9 @@ export declare class IconRegistry {
|
|
|
35
39
|
/** Removes all defined icons. */
|
|
36
40
|
static clear(): void;
|
|
37
41
|
/** Gets the icon data by its name, or `undefined` if not found. */
|
|
38
|
-
static get(name: string):
|
|
42
|
+
static get(name: string): IIconDescriptor | undefined;
|
|
43
|
+
/** Sets the icon node for a given icon name. */
|
|
44
|
+
static setNode(name: string, node: SVGElement): void;
|
|
39
45
|
/** Gets the names of registered icons. */
|
|
40
46
|
static getIconNames(): string[];
|
|
41
47
|
/** Registers a listener to be notified when an icon with the provided key is registered in the future. */
|
|
@@ -3,10 +3,17 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { ICON_REGISTRY_KEY } from './icon-constants';
|
|
6
7
|
/**
|
|
7
8
|
* The registry for SVG icon instances being used within the current context.
|
|
8
9
|
*/
|
|
9
10
|
export class IconRegistry {
|
|
11
|
+
static get _icons() {
|
|
12
|
+
if (!window[ICON_REGISTRY_KEY]) {
|
|
13
|
+
window[ICON_REGISTRY_KEY] = new Map();
|
|
14
|
+
}
|
|
15
|
+
return window[ICON_REGISTRY_KEY];
|
|
16
|
+
}
|
|
10
17
|
/**
|
|
11
18
|
* Defines a new icon.
|
|
12
19
|
* @param icon The icon(s) to register.
|
|
@@ -47,6 +54,13 @@ export class IconRegistry {
|
|
|
47
54
|
static get(name) {
|
|
48
55
|
return IconRegistry._icons.get(name);
|
|
49
56
|
}
|
|
57
|
+
/** Sets the icon node for a given icon name. */
|
|
58
|
+
static setNode(name, node) {
|
|
59
|
+
const descriptor = IconRegistry.get(name);
|
|
60
|
+
if (descriptor) {
|
|
61
|
+
descriptor.node = node;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
50
64
|
/** Gets the names of registered icons. */
|
|
51
65
|
static getIconNames() {
|
|
52
66
|
return Array.from(IconRegistry._icons.keys());
|
|
@@ -67,7 +81,7 @@ export class IconRegistry {
|
|
|
67
81
|
}
|
|
68
82
|
/** Registers an icon, and attempts to invalidate any listeners. */
|
|
69
83
|
static _register(key, value) {
|
|
70
|
-
IconRegistry._icons.set(key, value);
|
|
84
|
+
IconRegistry._icons.set(key, { raw: value, node: undefined });
|
|
71
85
|
IconRegistry._invalidateListeners(key);
|
|
72
86
|
}
|
|
73
87
|
/** Gets all listeners for a specific key, calls the listeners (if any are found), and removes the listeners after they are called. */
|
|
@@ -90,5 +104,4 @@ export class IconRegistry {
|
|
|
90
104
|
return typeof icon === 'object' && icon.hasOwnProperty('name') && icon.hasOwnProperty('data');
|
|
91
105
|
}
|
|
92
106
|
}
|
|
93
|
-
IconRegistry._icons = new Map();
|
|
94
107
|
IconRegistry._listeners = new Map();
|
package/esm/icon/icon-utils.d.ts
CHANGED
|
@@ -3,9 +3,12 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
import { IIconDescriptor } from './icon-registry';
|
|
7
|
+
/**
|
|
8
|
+
* Creates an SVG element from a string of SVG content, and sanitizes it for injection into the DOM.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createSanitizedSvg(svgContent: string | undefined, customViewBox?: string, usePartAttrs?: boolean): SVGElement | null;
|
|
11
|
+
export declare function getCachedIcon(key: string): IIconDescriptor | undefined;
|
|
9
12
|
export declare function awaitIconDefinition(key: string, listener: () => void): void;
|
|
10
13
|
export declare function removeIconListener(key: string, listener: () => void): void;
|
|
11
14
|
export declare function fetchIconContent(url: string, name: string): Promise<string>;
|
package/esm/icon/icon-utils.js
CHANGED
|
@@ -7,10 +7,12 @@ import { IconRegistry } from './icon-registry';
|
|
|
7
7
|
import { ICON_CONSTANTS } from './icon-constants';
|
|
8
8
|
import { createSvgFromString } from '../core/utils/svg-utils';
|
|
9
9
|
const _activeIconRequests = new Map();
|
|
10
|
-
/**
|
|
11
|
-
|
|
10
|
+
/**
|
|
11
|
+
* Creates an SVG element from a string of SVG content, and sanitizes it for injection into the DOM.
|
|
12
|
+
*/
|
|
13
|
+
export function createSanitizedSvg(svgContent, customViewBox, usePartAttrs = true) {
|
|
12
14
|
if (!svgContent || !svgContent.includes('svg')) {
|
|
13
|
-
return
|
|
15
|
+
return null;
|
|
14
16
|
}
|
|
15
17
|
if (!customViewBox && !svgContent.includes('viewBox')) {
|
|
16
18
|
customViewBox = `0 0 ${ICON_CONSTANTS.numbers.DEFAULT_WIDTH} ${ICON_CONSTANTS.numbers.DEFAULT_HEIGHT}`;
|
|
@@ -18,11 +20,8 @@ export function sanitizeSvgContent(svgContent, customViewBox, usePartAttrs = tru
|
|
|
18
20
|
const svgElement = createSvgFromString(svgContent, customViewBox);
|
|
19
21
|
if (usePartAttrs && svgElement) {
|
|
20
22
|
svgElement.setAttribute('part', 'svg');
|
|
21
|
-
svgElement.querySelectorAll('path').forEach(node => {
|
|
22
|
-
node.setAttribute('part', node.tagName.toLowerCase());
|
|
23
|
-
});
|
|
24
23
|
}
|
|
25
|
-
return svgElement
|
|
24
|
+
return svgElement;
|
|
26
25
|
}
|
|
27
26
|
export function getCachedIcon(key) {
|
|
28
27
|
return IconRegistry.get(key);
|
package/esm/icon/icon.d.ts
CHANGED
|
@@ -3,16 +3,19 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { IconUrlBuilder, IconExternalType } from './icon-constants';
|
|
6
|
+
import { IconUrlBuilder, IconExternalType, IconTheme } from './icon-constants';
|
|
7
7
|
import { BaseComponent, IBaseComponent } from '../core/base/base-component';
|
|
8
|
-
export interface
|
|
8
|
+
export interface IIconProperties {
|
|
9
9
|
name: string | undefined;
|
|
10
10
|
src: string | undefined;
|
|
11
11
|
lazy: boolean;
|
|
12
12
|
external: boolean;
|
|
13
13
|
externalType: IconExternalType;
|
|
14
14
|
externalUrlBuilder: IconUrlBuilder;
|
|
15
|
+
theme: IconTheme;
|
|
15
16
|
viewbox: string;
|
|
17
|
+
}
|
|
18
|
+
export interface IIconComponent extends IIconProperties, IBaseComponent {
|
|
16
19
|
layout(): void;
|
|
17
20
|
}
|
|
18
21
|
declare global {
|
|
@@ -21,9 +24,36 @@ declare global {
|
|
|
21
24
|
}
|
|
22
25
|
}
|
|
23
26
|
/**
|
|
24
|
-
* The web component class behind the `<forge-icon>` custom element.
|
|
25
|
-
*
|
|
26
27
|
* @tag forge-icon
|
|
28
|
+
*
|
|
29
|
+
* @summary Icons are used to represent information visually
|
|
30
|
+
*
|
|
31
|
+
* @property {string} name - The name of the icon to render.
|
|
32
|
+
* @property {string} src - Provides the ability to set the SVG string content directly.
|
|
33
|
+
* @property {boolean} lazy - Controls whether the icon will be loaded dynamically when it comes into view. False by default.
|
|
34
|
+
* @property {boolean} external - Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't already defined in the registry.
|
|
35
|
+
* @property {IconExternalType} externalType - The type of icon to load externally. Possible values: "standard" (default), "extended", "custom".
|
|
36
|
+
* @property {IconUrlBuilder} externalUrlBuilder - A callback that can be provided to generate a URL that will be used to fetch an SVG icon.
|
|
37
|
+
* @property {string} viewbox - A custom value to apply to the `viewBox` attribute on the internal `<svg>` element.
|
|
38
|
+
* @property {IconTheme} theme - The theme to apply to the icon.
|
|
39
|
+
*
|
|
40
|
+
* @attribute {string} name - The name of the icon to render.
|
|
41
|
+
* @attribute {string} src - Provides the ability to set the SVG string content directly.
|
|
42
|
+
* @attribute {boolean} lazy - Controls whether the icon will be loaded dynamically when it comes into view. False by default.
|
|
43
|
+
* @attribute {boolean} external - Controls whether external network requests are allowed for this icon. Only pertains for icons that aren't already defined in the registry.
|
|
44
|
+
* @attribute {IconExternalType} externalType - The type of icon to load externally. Possible values: "standard" (default), "extended", "custom".
|
|
45
|
+
* @attribute {string} viewbox - A custom value to apply to the `viewBox` attribute on the internal `<svg>` element.
|
|
46
|
+
* @attribute {IconTheme} theme - The theme to apply to the icon.
|
|
47
|
+
*
|
|
48
|
+
* @method layout - Forces a reload of the icon content.
|
|
49
|
+
*
|
|
50
|
+
* @cssproperty --forge-icon-color - The color of the icon.
|
|
51
|
+
* @cssproperty --forge-icon-size - The size of the icon. Defaults to the font-size of the context it is placed in.
|
|
52
|
+
* @cssproperty --forge-icon-width - The width of the icon.
|
|
53
|
+
* @cssproperty --forge-icon-height - The height of the icon.
|
|
54
|
+
* @cssproperty --forge-icon-font-size - The font size of the icon.
|
|
55
|
+
*
|
|
56
|
+
* @csspart svg - The internal SVG element.
|
|
27
57
|
*/
|
|
28
58
|
export declare class IconComponent extends BaseComponent implements IIconComponent {
|
|
29
59
|
static get observedAttributes(): string[];
|
|
@@ -46,6 +76,7 @@ export declare class IconComponent extends BaseComponent implements IIconCompone
|
|
|
46
76
|
externalUrlBuilder: IconUrlBuilder;
|
|
47
77
|
/** A custom value to apply to the `viewBox` attribute on the internal `<svg>` element. */
|
|
48
78
|
viewbox: string;
|
|
79
|
+
theme: IconTheme;
|
|
49
80
|
/** Forces a reload of the icon. */
|
|
50
81
|
layout(): void;
|
|
51
82
|
}
|