@tylertech/forge 3.0.0-next.12 → 3.0.0-next.14
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/README.md +1 -6
- package/custom-elements.json +49089 -32080
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/app-bar/index.js +7 -0
- package/dist/esm/app-bar/app-bar/index.js.map +7 -0
- 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.PLNLLKP2.js → chunk.26E4L52W.js} +2 -2
- package/dist/esm/chunks/chunk.2GJ54C3Q.js +7 -0
- package/dist/esm/chunks/chunk.2GJ54C3Q.js.map +7 -0
- package/dist/esm/chunks/chunk.2GYZM6ZG.js +7 -0
- package/dist/esm/chunks/chunk.2GYZM6ZG.js.map +7 -0
- package/dist/esm/chunks/chunk.2YDKRTKP.js +7 -0
- package/dist/esm/chunks/chunk.2YDKRTKP.js.map +7 -0
- package/dist/esm/chunks/chunk.3JCHXLPT.js +7 -0
- package/dist/esm/chunks/chunk.3JCHXLPT.js.map +7 -0
- package/{styles/icon-button/forge-icon-button.scss → dist/esm/chunks/chunk.3PKNBYMG.js} +1 -3
- package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
- package/dist/esm/chunks/chunk.3RMBFRGC.js +7 -0
- package/dist/esm/chunks/chunk.3RMBFRGC.js.map +7 -0
- package/dist/esm/chunks/{chunk.AY43NTAK.js → chunk.3UO6S3IK.js} +2 -2
- package/dist/esm/chunks/chunk.3ZRQFXQU.js +7 -0
- package/dist/esm/chunks/{chunk.UZPZ6KUN.js.map → chunk.3ZRQFXQU.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IXGXASHQ.js → chunk.4B5IOZAT.js} +2 -2
- package/dist/esm/chunks/{chunk.WK2L7BPJ.js → chunk.4QDN5PM6.js} +2 -2
- package/dist/esm/chunks/{chunk.YIFI5D2X.js → chunk.543K5Y4E.js} +2 -2
- package/dist/esm/chunks/{chunk.YIFI5D2X.js.map → chunk.543K5Y4E.js.map} +3 -3
- package/dist/esm/chunks/{chunk.C5ZUGOOC.js → chunk.57PXXJA6.js} +2 -2
- package/dist/esm/chunks/{chunk.C7VEJINB.js → chunk.5C24LZNU.js} +2 -2
- package/dist/esm/chunks/{chunk.C2MQN7MI.js → chunk.5H4G6BWX.js} +2 -2
- package/dist/esm/chunks/{chunk.CQQSOTZ5.js → chunk.5VHUMZYS.js} +2 -2
- package/dist/esm/chunks/chunk.6DXDNQUR.js +15 -0
- package/dist/esm/chunks/chunk.6DXDNQUR.js.map +7 -0
- package/dist/esm/chunks/chunk.6Q3SV2R2.js +7 -0
- package/dist/esm/chunks/chunk.6Q3SV2R2.js.map +7 -0
- package/dist/esm/chunks/chunk.6Y45DLA6.js +7 -0
- package/dist/esm/chunks/chunk.6Y45DLA6.js.map +7 -0
- package/dist/esm/chunks/{chunk.WJXDDQUK.js → chunk.7ABZUBTT.js} +2 -2
- package/dist/esm/chunks/{chunk.ZREXLSAJ.js → chunk.7BGOH44S.js} +2 -2
- package/dist/esm/chunks/{chunk.2WSXSOYB.js → chunk.7DHDFH5L.js} +2 -2
- package/dist/esm/chunks/{chunk.UVJFHSMF.js → chunk.7PP6QHOM.js} +2 -2
- package/dist/esm/chunks/chunk.7UXLLUTN.js +7 -0
- package/dist/esm/chunks/{chunk.CLD75EBJ.js → chunk.7W2UWAZX.js} +2 -2
- package/dist/esm/chunks/{chunk.CLD75EBJ.js.map → chunk.7W2UWAZX.js.map} +3 -3
- package/dist/esm/chunks/chunk.A72W7RW7.js +7 -0
- package/dist/esm/chunks/chunk.A72W7RW7.js.map +7 -0
- package/dist/esm/chunks/chunk.AEJGC4YG.js +7 -0
- package/dist/esm/chunks/chunk.AEJGC4YG.js.map +7 -0
- package/dist/esm/chunks/{chunk.NDJZYFRT.js → chunk.B46Q3AFP.js} +2 -2
- package/dist/esm/chunks/chunk.BFUGFHEH.js +7 -0
- package/dist/esm/chunks/{chunk.URFSXQKR.js.map → chunk.BFUGFHEH.js.map} +2 -2
- package/dist/esm/chunks/chunk.BLW6QESQ.js +12 -0
- package/dist/esm/chunks/chunk.BLW6QESQ.js.map +7 -0
- package/dist/esm/chunks/chunk.BMQYEYCT.js +7 -0
- package/dist/esm/chunks/chunk.BMQYEYCT.js.map +7 -0
- package/dist/esm/chunks/{chunk.EY37FYZ4.js → chunk.C5IB44HX.js} +2 -2
- package/dist/esm/chunks/chunk.CNRFOWHY.js +7 -0
- package/dist/esm/chunks/{chunk.YXXKPT6P.js.map → chunk.CNRFOWHY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6VSFLBZF.js → chunk.CTZ3AWDW.js} +2 -2
- package/dist/esm/chunks/{chunk.YA3RDJCV.js → chunk.CZOABXEQ.js} +2 -2
- package/dist/esm/chunks/{chunk.YA3RDJCV.js.map → chunk.CZOABXEQ.js.map} +2 -2
- package/dist/esm/chunks/chunk.DD35U4AA.js +7 -0
- package/dist/esm/chunks/{chunk.JCO4M4PF.js.map → chunk.DD35U4AA.js.map} +3 -3
- package/dist/esm/chunks/{chunk.HBCDD25D.js → chunk.DDXIHZFX.js} +2 -2
- package/dist/esm/chunks/{chunk.VDGJ4UDL.js → chunk.DOEG3DWJ.js} +2 -2
- package/dist/esm/chunks/{chunk.4USQ2AP6.js → chunk.DTKFE7YB.js} +2 -2
- package/dist/esm/chunks/{chunk.IJ2I25V3.js → chunk.E3GVKR4E.js} +2 -2
- package/dist/esm/chunks/chunk.EBSBAFCX.js +7 -0
- package/dist/esm/chunks/chunk.EBSBAFCX.js.map +7 -0
- package/dist/esm/chunks/{chunk.FK6NNHXH.js → chunk.F2EBSV5Z.js} +2 -2
- package/dist/esm/chunks/chunk.F6KM5FO6.js +7 -0
- package/dist/esm/chunks/chunk.F6KM5FO6.js.map +7 -0
- package/dist/esm/chunks/chunk.FB6ZLH6P.js +7 -0
- package/dist/esm/chunks/chunk.FB6ZLH6P.js.map +7 -0
- package/dist/esm/chunks/chunk.FQSL747N.js +7 -0
- package/dist/esm/chunks/chunk.FQSL747N.js.map +7 -0
- package/dist/esm/chunks/{chunk.RNUGVHZF.js → chunk.G2BNY5QQ.js} +2 -2
- package/dist/esm/chunks/{chunk.4JF54GDJ.js → chunk.GS72TBUD.js} +2 -2
- package/dist/esm/chunks/{chunk.AQ7ROWO4.js → chunk.GT3VPSXY.js} +2 -2
- package/dist/esm/chunks/{chunk.DABGA7I6.js → chunk.GWJ4QCSW.js} +2 -2
- package/dist/esm/chunks/chunk.H7GW57Q6.js +7 -0
- package/dist/esm/chunks/chunk.H7GW57Q6.js.map +7 -0
- package/dist/esm/chunks/{chunk.RXLORASN.js → chunk.HHHBS6FB.js} +2 -2
- package/dist/esm/chunks/chunk.I3NHK2S3.js +7 -0
- package/dist/esm/chunks/{chunk.HKSXC5VK.js → chunk.IEB5KRFQ.js} +2 -2
- package/dist/esm/chunks/chunk.IT66AOX7.js +7 -0
- package/dist/esm/chunks/chunk.IT66AOX7.js.map +7 -0
- package/dist/esm/chunks/chunk.IVUK3W34.js +7 -0
- package/dist/esm/chunks/{chunk.TSH7BTC3.js.map → chunk.IVUK3W34.js.map} +2 -2
- package/dist/esm/chunks/chunk.IW7HALLT.js +7 -0
- package/dist/esm/chunks/{chunk.U5XNDTSZ.js.map → chunk.IW7HALLT.js.map} +2 -2
- package/dist/esm/chunks/chunk.J2KHTGSB.js +7 -0
- package/dist/esm/chunks/chunk.J2KHTGSB.js.map +7 -0
- package/dist/esm/chunks/{chunk.OQAD6MFL.js → chunk.J3B5CWKT.js} +2 -2
- package/dist/esm/chunks/chunk.JAWV5Y5T.js +7 -0
- package/dist/esm/chunks/{chunk.I5SFCLDD.js.map → chunk.JAWV5Y5T.js.map} +3 -3
- package/dist/esm/chunks/chunk.JVK64JDZ.js +7 -0
- package/dist/esm/chunks/chunk.JVK64JDZ.js.map +7 -0
- package/dist/esm/chunks/chunk.KFDYMENL.js +7 -0
- package/dist/esm/chunks/chunk.KFDYMENL.js.map +7 -0
- package/dist/esm/chunks/{chunk.QNVVUUNQ.js → chunk.KLPF4CNX.js} +2 -2
- package/dist/esm/chunks/chunk.KTYYBWTN.js +7 -0
- package/dist/esm/chunks/chunk.KTYYBWTN.js.map +7 -0
- package/dist/esm/chunks/{chunk.66X366TV.js → chunk.L4Y4RO5O.js} +2 -2
- package/dist/esm/chunks/chunk.LCNR2RPT.js +7 -0
- package/dist/esm/chunks/chunk.LCNR2RPT.js.map +7 -0
- package/dist/esm/chunks/{chunk.RBFGJH3C.js → chunk.LMIKNDBS.js} +2 -2
- package/dist/esm/chunks/chunk.LOBKFTRM.js +7 -0
- package/dist/esm/chunks/chunk.LOBKFTRM.js.map +7 -0
- package/dist/esm/chunks/chunk.LS7WRRT2.js +7 -0
- package/dist/esm/chunks/chunk.LS7WRRT2.js.map +7 -0
- package/dist/esm/chunks/{chunk.R2KOYHIZ.js → chunk.LSNAGIIH.js} +2 -2
- package/dist/esm/chunks/chunk.LUIKMPQR.js +7 -0
- package/dist/esm/chunks/chunk.LUIKMPQR.js.map +7 -0
- package/dist/esm/chunks/{chunk.7M4HRJYP.js → chunk.LXX3YZYS.js} +2 -2
- package/dist/esm/chunks/chunk.MZZJY5NX.js +7 -0
- package/dist/esm/chunks/chunk.MZZJY5NX.js.map +7 -0
- package/dist/esm/chunks/{chunk.W7H2ZYNR.js → chunk.NG6UZ4OL.js} +2 -2
- package/dist/esm/chunks/chunk.NYYXUH3X.js +7 -0
- package/dist/esm/chunks/{chunk.DQVYB55P.js → chunk.NZKIFXBU.js} +2 -2
- package/dist/esm/chunks/{chunk.AHAARGYM.js → chunk.OED5UCYT.js} +2 -2
- package/dist/esm/chunks/{chunk.5ASOX23Q.js → chunk.OUACQISE.js} +2 -2
- package/dist/esm/chunks/{chunk.5ASOX23Q.js.map → chunk.OUACQISE.js.map} +1 -1
- package/dist/esm/chunks/chunk.OYO5O3NF.js +7 -0
- package/dist/esm/chunks/{chunk.7UJAI6P2.js → chunk.P7LC3YYW.js} +2 -2
- package/dist/esm/chunks/{chunk.Z6AFASMO.js → chunk.PK7R6WDF.js} +2 -2
- package/dist/esm/chunks/chunk.PQQVUUHU.js +7 -0
- package/dist/esm/chunks/{chunk.LNLO36U6.js.map → chunk.PQQVUUHU.js.map} +2 -2
- package/dist/esm/chunks/{chunk.WWTQAN4G.js → chunk.PSTGTQVK.js} +2 -2
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js +7 -0
- package/dist/esm/chunks/chunk.Q5Z6F3PI.js.map +7 -0
- package/dist/esm/chunks/{chunk.OXGOCF4L.js → chunk.QFY23EWU.js} +2 -2
- package/dist/esm/chunks/{chunk.OXGOCF4L.js.map → chunk.QFY23EWU.js.map} +2 -2
- package/dist/esm/chunks/chunk.RCSBJQ4G.js +7 -0
- package/dist/esm/chunks/chunk.RCSBJQ4G.js.map +7 -0
- package/dist/esm/chunks/chunk.RDW7Z4W5.js +7 -0
- package/dist/esm/chunks/chunk.RDW7Z4W5.js.map +7 -0
- package/dist/esm/chunks/chunk.RYNQDXFA.js +7 -0
- package/dist/esm/chunks/{chunk.YP2NHWIW.js.map → chunk.RYNQDXFA.js.map} +2 -2
- package/dist/esm/chunks/{chunk.RWUJGZ3R.js → chunk.RZZBM3AW.js} +2 -2
- package/dist/esm/chunks/{chunk.37JFBP4X.js → chunk.SNF35Y6C.js} +2 -2
- package/dist/esm/chunks/chunk.SOLF23NC.js +7 -0
- package/dist/esm/chunks/chunk.SOLF23NC.js.map +7 -0
- package/dist/esm/chunks/chunk.T34DG7BU.js +7 -0
- package/dist/esm/chunks/chunk.TA3MVDUU.js +7 -0
- package/dist/esm/chunks/chunk.TA3MVDUU.js.map +7 -0
- package/dist/esm/chunks/{chunk.HDO3WRH7.js → chunk.THWSN3X4.js} +2 -2
- package/dist/esm/chunks/chunk.TLFCQSJN.js +7 -0
- package/dist/esm/chunks/chunk.TLFCQSJN.js.map +7 -0
- package/dist/esm/chunks/{chunk.E4TAHUQO.js → chunk.TZFUKJ24.js} +2 -2
- package/dist/esm/chunks/{chunk.SEWAMWO6.js → chunk.U5WMRBSC.js} +2 -2
- package/dist/esm/chunks/chunk.URCJO73M.js +7 -0
- package/dist/esm/chunks/chunk.URCJO73M.js.map +7 -0
- package/dist/esm/chunks/{chunk.PDSOXEMY.js → chunk.UWZWXNTW.js} +2 -2
- package/dist/esm/chunks/chunk.VD5ZL5ZN.js +7 -0
- package/dist/esm/chunks/{chunk.OQ75YGB6.js.map → chunk.VD5ZL5ZN.js.map} +2 -2
- package/dist/esm/chunks/chunk.VDZ7HBKM.js +7 -0
- package/dist/esm/chunks/chunk.VDZ7HBKM.js.map +7 -0
- package/dist/esm/chunks/{chunk.CBIHNCT5.js → chunk.W324TWF2.js} +2 -2
- package/dist/esm/chunks/chunk.WQGPIOL6.js +7 -0
- package/dist/esm/chunks/chunk.WQGPIOL6.js.map +7 -0
- package/dist/esm/chunks/chunk.XDANTL6C.js +7 -0
- package/dist/esm/chunks/chunk.XDANTL6C.js.map +7 -0
- package/dist/esm/chunks/chunk.XNCBGWE4.js +7 -0
- package/dist/esm/chunks/chunk.XNCBGWE4.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZYVXIP42.js → chunk.YKZ25J6B.js} +2 -2
- package/dist/esm/chunks/chunk.Z2RB75TN.js +7 -0
- package/dist/esm/chunks/chunk.Z2RB75TN.js.map +7 -0
- package/dist/esm/chunks/chunk.Z7PBGV4K.js +7 -0
- package/dist/esm/chunks/{chunk.TCFKFKZW.js.map → chunk.Z7PBGV4K.js.map} +4 -4
- package/dist/esm/chunks/{chunk.R6NA7SV2.js → chunk.ZSD7MMVB.js} +2 -2
- package/dist/esm/chunks/chunk.ZSZFWZAI.js +7 -0
- package/dist/esm/chunks/chunk.ZSZFWZAI.js.map +7 -0
- package/dist/esm/chunks/chunk.ZVJMIBUM.js +7 -0
- package/dist/esm/chunks/chunk.ZVJMIBUM.js.map +7 -0
- 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/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/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 +7 -0
- package/dist/esm/label/index.js.map +7 -0
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/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 +7 -0
- package/dist/esm/split-button/index.js.map +7 -0
- 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/table/forge-table.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/dist/typography/forge-typography.css +1 -1
- package/esm/app-bar/app-bar/app-bar-adapter.d.ts +30 -0
- package/esm/app-bar/app-bar/app-bar-adapter.js +71 -0
- package/esm/app-bar/{app-bar-constants.d.ts → app-bar/app-bar-constants.d.ts} +7 -11
- package/esm/app-bar/app-bar/app-bar-constants.js +32 -0
- package/esm/app-bar/{app-bar-foundation.d.ts → app-bar/app-bar-foundation.d.ts} +17 -16
- package/esm/app-bar/app-bar/app-bar-foundation.js +71 -0
- package/esm/app-bar/app-bar/app-bar.d.ts +66 -0
- package/esm/app-bar/app-bar/app-bar.js +107 -0
- package/esm/app-bar/app-bar/index.d.ts +10 -0
- package/esm/app-bar/app-bar/index.js +14 -0
- package/esm/app-bar/help-button/app-bar-help-button-adapter.d.ts +8 -1
- package/esm/app-bar/help-button/app-bar-help-button-adapter.js +22 -1
- package/esm/app-bar/help-button/app-bar-help-button-constants.d.ts +7 -0
- package/esm/app-bar/help-button/app-bar-help-button-constants.js +11 -1
- package/esm/app-bar/help-button/app-bar-help-button-foundation.d.ts +4 -0
- package/esm/app-bar/help-button/app-bar-help-button-foundation.js +16 -0
- package/esm/app-bar/help-button/app-bar-help-button.d.ts +13 -2
- package/esm/app-bar/help-button/app-bar-help-button.js +27 -6
- package/esm/app-bar/index.d.ts +0 -4
- package/esm/app-bar/index.js +0 -8
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.d.ts +7 -0
- package/esm/app-bar/menu-button/app-bar-menu-button-constants.js +9 -1
- package/esm/app-bar/menu-button/app-bar-menu-button.d.ts +19 -2
- package/esm/app-bar/menu-button/app-bar-menu-button.js +57 -8
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +6 -2
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +17 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.d.ts +1 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-constants.js +3 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -4
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +9 -11
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +17 -4
- package/esm/app-bar/notification-button/app-bar-notification-button.js +20 -5
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.d.ts +7 -1
- package/esm/app-bar/profile-button/app-bar-profile-button-adapter.js +26 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.d.ts +1 -3
- package/esm/app-bar/profile-button/app-bar-profile-button-constants.js +2 -4
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.d.ts +5 -2
- package/esm/app-bar/profile-button/app-bar-profile-button-foundation.js +20 -22
- package/esm/app-bar/profile-button/app-bar-profile-button.d.ts +31 -2
- package/esm/app-bar/profile-button/app-bar-profile-button.js +33 -6
- package/esm/autocomplete/autocomplete-foundation.js +2 -2
- package/esm/banner/banner-constants.js +1 -1
- package/esm/banner/banner.js +2 -2
- package/esm/bottom-sheet/bottom-sheet.js +1 -1
- package/esm/busy-indicator/busy-indicator.js +2 -2
- package/esm/button/base/base-button-adapter.d.ts +68 -0
- package/esm/button/base/base-button-adapter.js +238 -0
- package/esm/button/base/base-button-constants.d.ts +44 -0
- package/esm/button/base/base-button-constants.js +32 -0
- package/esm/button/base/base-button-foundation.d.ts +74 -0
- package/esm/button/base/base-button-foundation.js +240 -0
- package/esm/button/base/base-button.d.ts +53 -0
- package/esm/button/base/base-button.js +112 -0
- package/esm/button/button-adapter.d.ts +14 -0
- package/esm/button/button-adapter.js +14 -0
- package/esm/button/button-component-delegate.d.ts +4 -4
- package/esm/button/button-component-delegate.js +13 -17
- package/esm/button/button-constants.d.ts +10 -18
- package/esm/button/button-constants.js +6 -22
- package/esm/button/button-foundation.d.ts +25 -0
- package/esm/button/button-foundation.js +49 -0
- package/esm/button/button.d.ts +126 -30
- package/esm/button/button.js +158 -159
- package/esm/button/index.d.ts +3 -1
- package/esm/button/index.js +3 -1
- package/esm/button-toggle/button-toggle/button-toggle.js +1 -1
- package/esm/calendar/calendar-dom-utils.js +18 -30
- package/esm/calendar/calendar.js +1 -1
- package/esm/checkbox/checkbox-adapter.d.ts +50 -59
- package/esm/checkbox/checkbox-adapter.js +104 -186
- package/esm/checkbox/checkbox-component-delegate.d.ts +18 -9
- package/esm/checkbox/checkbox-component-delegate.js +58 -51
- package/esm/checkbox/checkbox-constants.d.ts +14 -56
- package/esm/checkbox/checkbox-constants.js +17 -50
- package/esm/checkbox/checkbox-foundation.d.ts +48 -18
- package/esm/checkbox/checkbox-foundation.js +139 -139
- package/esm/checkbox/checkbox.d.ts +120 -9
- package/esm/checkbox/checkbox.js +235 -36
- package/esm/checkbox/index.d.ts +1 -1
- package/esm/checkbox/index.js +1 -1
- package/esm/chip-field/chip-field-constants.d.ts +3 -0
- package/esm/chip-field/chip-field-constants.js +4 -0
- package/esm/chip-field/chip-field-foundation.d.ts +5 -0
- package/esm/chip-field/chip-field-foundation.js +20 -1
- package/esm/chip-field/chip-field.d.ts +5 -0
- package/esm/chip-field/chip-field.js +19 -1
- package/esm/chips/chip/chip.js +1 -1
- package/esm/circular-progress/circular-progress-adapter.d.ts +2 -2
- package/esm/circular-progress/circular-progress-adapter.js +15 -6
- package/esm/circular-progress/circular-progress-constants.d.ts +4 -1
- package/esm/circular-progress/circular-progress-constants.js +2 -1
- package/esm/circular-progress/circular-progress-foundation.d.ts +9 -1
- package/esm/circular-progress/circular-progress-foundation.js +21 -2
- package/esm/circular-progress/circular-progress.d.ts +15 -3
- package/esm/circular-progress/circular-progress.js +25 -8
- package/esm/color-picker/color-picker.js +2 -2
- package/esm/constants.d.ts +16 -0
- package/esm/constants.js +4 -0
- package/esm/core/base/base-adapter.d.ts +13 -1
- package/esm/core/base/base-adapter.js +17 -0
- package/esm/core/base/base-component.d.ts +0 -38
- package/esm/core/base/base-component.js +0 -4
- package/esm/core/base/base-focusable-component.d.ts +49 -0
- package/esm/core/base/base-focusable-component.js +90 -0
- package/esm/core/base/base-form-component.d.ts +45 -0
- package/esm/core/base/base-form-component.js +19 -0
- package/esm/core/base/base-nullable-form-component.d.ts +35 -0
- package/esm/core/base/base-nullable-form-component.js +20 -0
- package/esm/core/utils/feature-detection.d.ts +10 -0
- package/esm/core/utils/feature-detection.js +12 -0
- package/esm/core/utils/index.d.ts +2 -1
- package/esm/core/utils/index.js +2 -1
- package/esm/core/utils/reflect-utils.d.ts +107 -0
- package/esm/core/utils/reflect-utils.js +227 -0
- package/esm/core/utils/utils.d.ts +1 -1
- package/esm/date-picker/base/base-date-picker-utils.js +5 -8
- package/esm/field/field-constants.d.ts +8 -0
- package/esm/field/field-constants.js +10 -8
- package/esm/file-picker/file-picker-component-delegate.js +1 -1
- package/esm/file-picker/file-picker.js +1 -1
- package/esm/floating-action-button/floating-action-button-adapter.d.ts +20 -0
- package/esm/floating-action-button/floating-action-button-adapter.js +49 -0
- package/esm/floating-action-button/floating-action-button-component-delegate.d.ts +19 -3
- package/esm/floating-action-button/floating-action-button-component-delegate.js +62 -14
- package/esm/floating-action-button/floating-action-button-constants.d.ts +19 -14
- package/esm/floating-action-button/floating-action-button-constants.js +15 -15
- package/esm/floating-action-button/floating-action-button-foundation.d.ts +27 -0
- package/esm/floating-action-button/floating-action-button-foundation.js +48 -0
- package/esm/floating-action-button/floating-action-button.d.ts +86 -25
- package/esm/floating-action-button/floating-action-button.js +117 -104
- package/esm/floating-action-button/index.d.ts +3 -1
- package/esm/floating-action-button/index.js +5 -3
- package/esm/focus-indicator/focus-indicator-adapter.d.ts +2 -2
- package/esm/focus-indicator/focus-indicator-adapter.js +3 -3
- package/esm/focus-indicator/focus-indicator-foundation.js +3 -2
- package/esm/focus-indicator/focus-indicator.js +2 -2
- package/esm/icon-button/icon-button-adapter.d.ts +12 -0
- package/esm/icon-button/icon-button-adapter.js +11 -0
- package/esm/icon-button/icon-button-component-delegate.d.ts +0 -4
- package/esm/icon-button/icon-button-component-delegate.js +8 -18
- package/esm/icon-button/icon-button-constants.d.ts +26 -17
- package/esm/icon-button/icon-button-constants.js +17 -28
- package/esm/icon-button/icon-button-foundation.d.ts +39 -0
- package/esm/icon-button/icon-button-foundation.js +122 -0
- package/esm/icon-button/icon-button.d.ts +120 -41
- package/esm/icon-button/icon-button.js +156 -213
- package/esm/icon-button/index.d.ts +3 -1
- package/esm/icon-button/index.js +3 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +6 -2
- package/esm/label/index.d.ts +11 -0
- package/esm/label/index.js +15 -0
- package/esm/label/label-adapter.d.ts +51 -0
- package/esm/label/label-adapter.js +102 -0
- package/esm/label/label-aware.d.ts +15 -0
- package/esm/label/label-aware.js +13 -0
- package/esm/label/label-constants.d.ts +17 -0
- package/esm/label/label-constants.js +31 -0
- package/esm/label/label-foundation.d.ts +40 -0
- package/esm/label/label-foundation.js +108 -0
- package/esm/label/label.d.ts +49 -0
- package/esm/label/label.js +80 -0
- package/esm/linear-progress/linear-progress-adapter.d.ts +2 -2
- package/esm/linear-progress/linear-progress-adapter.js +14 -6
- package/esm/linear-progress/linear-progress-constants.d.ts +3 -1
- package/esm/linear-progress/linear-progress-constants.js +1 -1
- package/esm/linear-progress/linear-progress-foundation.d.ts +6 -1
- package/esm/linear-progress/linear-progress-foundation.js +15 -5
- package/esm/linear-progress/linear-progress.d.ts +9 -2
- package/esm/linear-progress/linear-progress.js +16 -7
- package/esm/list/list/list-adapter.js +0 -1
- package/esm/list/list/list.js +1 -1
- package/esm/list/list-item/list-item-adapter.d.ts +12 -4
- package/esm/list/list-item/list-item-adapter.js +36 -5
- package/esm/list/list-item/list-item-constants.d.ts +4 -0
- package/esm/list/list-item/list-item-constants.js +3 -1
- package/esm/list/list-item/list-item-foundation.d.ts +9 -0
- package/esm/list/list-item/list-item-foundation.js +34 -4
- package/esm/list/list-item/list-item.d.ts +15 -4
- package/esm/list/list-item/list-item.js +29 -6
- package/esm/menu/menu-constants.js +1 -1
- package/esm/menu/menu-foundation.js +0 -4
- package/esm/menu/menu.js +1 -1
- package/esm/paginator/paginator-adapter.d.ts +4 -2
- package/esm/paginator/paginator-adapter.js +21 -8
- package/esm/paginator/paginator-constants.js +4 -4
- package/esm/paginator/paginator-foundation.d.ts +2 -0
- package/esm/paginator/paginator-foundation.js +19 -16
- package/esm/paginator/paginator.d.ts +1 -0
- package/esm/paginator/paginator.js +5 -2
- package/esm/profile-card/profile-card-adapter.d.ts +5 -8
- package/esm/profile-card/profile-card-adapter.js +5 -16
- package/esm/profile-card/profile-card-constants.js +3 -3
- package/esm/profile-card/profile-card-foundation.d.ts +4 -1
- package/esm/profile-card/profile-card-foundation.js +24 -13
- package/esm/profile-card/profile-card.d.ts +1 -2
- package/esm/profile-card/profile-card.js +11 -8
- package/esm/quantity-field/quantity-field-constants.js +2 -2
- package/esm/select/core/base-select-foundation.js +3 -1
- package/esm/slider/slider-adapter.d.ts +1 -1
- package/esm/slider/slider-adapter.js +3 -2
- package/esm/slider/slider-constants.js +3 -3
- package/esm/slider/slider.d.ts +6 -11
- package/esm/slider/slider.js +11 -7
- package/esm/split-button/index.d.ts +10 -0
- package/esm/split-button/index.js +14 -0
- package/esm/split-button/split-button-adapter.d.ts +30 -0
- package/esm/split-button/split-button-adapter.js +84 -0
- package/esm/split-button/split-button-constants.d.ts +21 -0
- package/esm/split-button/split-button-constants.js +23 -0
- package/esm/split-button/split-button-foundation.d.ts +37 -0
- package/esm/split-button/split-button-foundation.js +77 -0
- package/esm/split-button/split-button.d.ts +57 -0
- package/esm/split-button/split-button.js +103 -0
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/state-layer/state-layer-adapter.js +1 -0
- package/esm/state-layer/state-layer-foundation.js +10 -1
- package/esm/state-layer/state-layer.js +1 -1
- package/esm/stepper/stepper/stepper-foundation.js +1 -1
- package/esm/switch/index.d.ts +2 -0
- package/esm/switch/index.js +2 -0
- package/esm/switch/switch-adapter.d.ts +30 -4
- package/esm/switch/switch-adapter.js +100 -18
- package/esm/switch/switch-component-delegate.d.ts +22 -7
- package/esm/switch/switch-component-delegate.js +63 -28
- package/esm/switch/switch-constants.d.ts +12 -2
- package/esm/switch/switch-constants.js +22 -11
- package/esm/switch/switch-foundation.d.ts +23 -4
- package/esm/switch/switch-foundation.js +63 -11
- package/esm/switch/switch.d.ts +28 -16
- package/esm/switch/switch.js +65 -36
- package/esm/table/table-foundation.d.ts +2 -0
- package/esm/table/table-foundation.js +17 -6
- package/esm/table/table-utils.js +13 -1
- package/esm/table/types.d.ts +1 -0
- package/esm/tabs/tab/tab.js +2 -2
- package/esm/tabs/tab-bar/tab-bar-adapter.js +17 -20
- package/esm/tabs/tab-bar/tab-bar.js +1 -1
- package/esm/time-picker/time-picker-adapter.js +5 -8
- package/esm/toast/toast-adapter.d.ts +1 -1
- package/esm/toast/toast-adapter.js +1 -1
- package/esm/toast/toast.js +2 -2
- package/esm/toolbar/toolbar.js +1 -1
- package/package.json +1 -3
- package/styles/app-bar/app-bar/_configuration.scss +16 -0
- package/styles/app-bar/app-bar/_core.scss +95 -0
- package/styles/app-bar/app-bar/_token-utils.scss +30 -0
- package/styles/app-bar/app-bar/app-bar.scss +142 -0
- package/styles/app-bar/app-bar/index.scss +8 -0
- package/styles/banner/banner.scss +0 -1
- package/styles/bottom-sheet/bottom-sheet.scss +0 -1
- package/styles/busy-indicator/_mixins.scss +1 -1
- package/styles/busy-indicator/busy-indicator.scss +0 -1
- package/styles/button/_configuration.scss +16 -0
- package/styles/button/_core.scss +183 -0
- package/styles/button/_token-utils.scss +30 -0
- package/styles/button/button.scss +221 -0
- package/styles/button/index.scss +8 -0
- package/styles/button-toggle/button-toggle/_mixins.scss +26 -7
- package/styles/calendar/calendar.scss +0 -4
- package/styles/{button/forge-button.scss → checkbox/_configuration.scss} +4 -3
- package/styles/checkbox/_core.scss +157 -0
- package/styles/checkbox/_token-utils.scss +30 -0
- package/styles/checkbox/checkbox.scss +143 -7
- package/styles/checkbox/index.scss +8 -0
- package/styles/chips/chip/_mixins.scss +21 -7
- package/styles/circular-progress/_configuration.scss +8 -15
- package/styles/circular-progress/_core.scss +21 -19
- package/styles/circular-progress/_token-utils.scss +30 -0
- package/styles/circular-progress/circular-progress.scss +51 -4
- package/styles/circular-progress/index.scss +1 -0
- package/styles/color-picker/color-picker.scss +0 -3
- package/styles/core/styles/_utils.scss +67 -4
- package/styles/core/styles/elevation/index.scss +10 -0
- package/styles/core/styles/spacing/index.scss +8 -1
- package/styles/core/styles/theme/index.scss +2 -0
- package/styles/core/styles/tokens/_token-utils.scss +118 -0
- package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
- package/styles/core/styles/tokens/button/_tokens.scss +115 -0
- package/styles/core/styles/tokens/checkbox/_tokens.scss +69 -0
- package/styles/core/styles/tokens/circular-progress/_tokens.scss +14 -3
- package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
- package/styles/core/styles/tokens/focus-indicator/_tokens.scss +8 -5
- package/styles/core/styles/tokens/icon-button/_tokens.scss +106 -0
- package/styles/core/styles/tokens/index.scss +0 -1
- package/styles/core/styles/tokens/linear-progress/_tokens.scss +14 -3
- package/styles/core/styles/tokens/profile-card/_tokens.scss +19 -0
- package/styles/core/styles/tokens/shape/_tokens.scss +6 -0
- package/styles/core/styles/tokens/spacing/_tokens.scss +17 -1
- package/styles/core/styles/tokens/split-button/_tokens.scss +21 -0
- package/styles/core/styles/tokens/switch/_tokens.scss +4 -4
- package/styles/core/styles/tokens/tabs/tab/_tokens.scss +1 -1
- package/styles/core/styles/tokens/tabs/tab-bar/_tokens.scss +2 -2
- package/styles/core/styles/tokens/theme/_token-utils.scss +9 -5
- package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
- package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
- package/styles/core/styles/tokens/typography/_tokens.label.scss +0 -1
- package/styles/core/styles/typography/index.scss +26 -1
- package/styles/file-picker/_mixins.scss +1 -1
- package/styles/floating-action-button/_configuration.scss +16 -0
- package/styles/floating-action-button/_core.scss +103 -0
- package/styles/floating-action-button/_token-utils.scss +30 -0
- package/styles/floating-action-button/floating-action-button.scss +129 -0
- package/styles/floating-action-button/index.scss +8 -0
- package/styles/focus-indicator/_animations.scss +6 -4
- package/styles/focus-indicator/_configuration.scss +2 -15
- package/styles/focus-indicator/_core.scss +20 -25
- package/styles/focus-indicator/_token-utils.scss +31 -0
- package/styles/focus-indicator/focus-indicator.scss +26 -21
- package/styles/focus-indicator/index.scss +1 -0
- package/styles/forge.scss +0 -3
- package/styles/icon-button/_configuration.scss +16 -0
- package/styles/icon-button/_core.scss +141 -0
- package/styles/icon-button/_token-utils.scss +30 -0
- package/styles/icon-button/icon-button.scss +349 -0
- package/styles/icon-button/index.scss +8 -0
- package/styles/label/_core.scss +17 -0
- package/styles/label/index.scss +6 -0
- package/styles/label/label.scss +18 -0
- package/styles/linear-progress/_animations.scss +3 -1
- package/styles/linear-progress/_configuration.scss +15 -16
- package/styles/linear-progress/_core.scss +17 -19
- package/styles/linear-progress/_token-utils.scss +31 -0
- package/styles/linear-progress/index.scss +1 -0
- package/styles/linear-progress/linear-progress.scss +42 -6
- package/styles/list/list/_configuration.scss +2 -4
- package/styles/list/list/_core.scss +3 -8
- package/styles/list/list/_token-utils.scss +30 -0
- package/styles/list/list/index.scss +1 -0
- package/styles/list/list/list.scss +11 -0
- package/styles/list/list-item/_configuration.scss +5 -61
- package/styles/list/list-item/_core.scss +51 -56
- package/styles/list/list-item/_token-utils.scss +30 -0
- package/styles/list/list-item/index.scss +1 -0
- package/styles/list/list-item/list-item.scss +12 -3
- package/styles/menu/menu.scss +1 -1
- package/styles/paginator/paginator.scss +0 -1
- package/styles/profile-card/_configuration.scss +10 -0
- package/styles/profile-card/_core.scss +58 -0
- package/styles/profile-card/_token-utils.scss +30 -0
- package/styles/profile-card/index.scss +8 -0
- package/styles/profile-card/profile-card.scss +55 -7
- package/styles/slider/_configuration.scss +5 -50
- package/styles/slider/_core.scss +58 -63
- package/styles/slider/_token-utils.scss +30 -0
- package/styles/slider/index.scss +1 -0
- package/styles/slider/slider.scss +26 -3
- package/styles/split-button/_configuration.scss +12 -0
- package/styles/split-button/_token-utils.scss +30 -0
- package/styles/split-button/index.scss +7 -0
- package/styles/split-button/split-button.scss +97 -0
- package/styles/state-layer/_configuration.scss +2 -9
- package/styles/state-layer/_core.scss +11 -16
- package/styles/state-layer/_token-utils.scss +31 -0
- package/styles/state-layer/index.scss +1 -0
- package/styles/state-layer/state-layer.scss +7 -0
- package/styles/switch/_configuration.scss +2 -87
- package/styles/switch/_core.scss +83 -86
- package/styles/switch/_token-utils.scss +30 -0
- package/styles/switch/index.scss +1 -0
- package/styles/switch/switch.scss +118 -84
- package/styles/table/_mixins.scss +20 -2
- package/styles/tabs/tab/_configuration.scss +7 -49
- package/styles/tabs/tab/_core.scss +27 -32
- package/styles/tabs/tab/_token-utils.scss +30 -0
- package/styles/tabs/tab/index.scss +1 -0
- package/styles/tabs/tab/tab.scss +87 -44
- package/styles/tabs/tab-bar/_configuration.scss +2 -5
- package/styles/tabs/tab-bar/_core.scss +26 -9
- package/styles/tabs/tab-bar/_token-utils.scss +30 -0
- package/styles/tabs/tab-bar/index.scss +2 -1
- package/styles/tabs/tab-bar/tab-bar.scss +68 -34
- package/styles/theme/_theme-dark.scss +0 -3
- package/styles/toast/_mixins.scss +1 -1
- package/styles/toast/toast.scss +0 -2
- package/styles/toolbar/_mixins.scss +0 -1
- package/styles/typography/forge-typography.scss +5 -2
- package/dist/button/forge-button.css +0 -6
- package/dist/esm/chunks/chunk.2LIWNFQK.js +0 -7
- package/dist/esm/chunks/chunk.3X4N4ZPY.js +0 -7
- package/dist/esm/chunks/chunk.3X4N4ZPY.js.map +0 -7
- package/dist/esm/chunks/chunk.436MTO6R.js +0 -7
- package/dist/esm/chunks/chunk.436MTO6R.js.map +0 -7
- package/dist/esm/chunks/chunk.4CXLGEJO.js +0 -7
- package/dist/esm/chunks/chunk.4CXLGEJO.js.map +0 -7
- package/dist/esm/chunks/chunk.4XJYS5WH.js +0 -7
- package/dist/esm/chunks/chunk.4XJYS5WH.js.map +0 -7
- package/dist/esm/chunks/chunk.7L66GZDN.js +0 -7
- package/dist/esm/chunks/chunk.7PPBXNAD.js +0 -7
- package/dist/esm/chunks/chunk.7PPBXNAD.js.map +0 -7
- package/dist/esm/chunks/chunk.A3ZDCBLA.js +0 -7
- package/dist/esm/chunks/chunk.A3ZDCBLA.js.map +0 -7
- package/dist/esm/chunks/chunk.CMRVP4EA.js +0 -7
- package/dist/esm/chunks/chunk.CZEF72BG.js +0 -12
- package/dist/esm/chunks/chunk.CZEF72BG.js.map +0 -7
- package/dist/esm/chunks/chunk.D5ZHKPCL.js +0 -7
- package/dist/esm/chunks/chunk.D5ZHKPCL.js.map +0 -7
- package/dist/esm/chunks/chunk.DH76CMUT.js +0 -7
- package/dist/esm/chunks/chunk.DH76CMUT.js.map +0 -7
- package/dist/esm/chunks/chunk.DLQSINSS.js +0 -7
- package/dist/esm/chunks/chunk.DLQSINSS.js.map +0 -7
- package/dist/esm/chunks/chunk.G6JWSERI.js +0 -7
- package/dist/esm/chunks/chunk.G6JWSERI.js.map +0 -7
- package/dist/esm/chunks/chunk.GO5A4GKZ.js +0 -7
- package/dist/esm/chunks/chunk.GO5A4GKZ.js.map +0 -7
- package/dist/esm/chunks/chunk.GWIXDVIA.js +0 -7
- package/dist/esm/chunks/chunk.GWIXDVIA.js.map +0 -7
- package/dist/esm/chunks/chunk.HGH6SSHZ.js +0 -7
- package/dist/esm/chunks/chunk.HGH6SSHZ.js.map +0 -7
- package/dist/esm/chunks/chunk.HJ23XQDJ.js +0 -7
- package/dist/esm/chunks/chunk.HJ23XQDJ.js.map +0 -7
- package/dist/esm/chunks/chunk.I5SFCLDD.js +0 -7
- package/dist/esm/chunks/chunk.IURDWGLD.js +0 -7
- package/dist/esm/chunks/chunk.IURDWGLD.js.map +0 -7
- package/dist/esm/chunks/chunk.JCO4M4PF.js +0 -7
- package/dist/esm/chunks/chunk.LNLO36U6.js +0 -7
- package/dist/esm/chunks/chunk.LV7XF22P.js +0 -7
- package/dist/esm/chunks/chunk.LV7XF22P.js.map +0 -7
- package/dist/esm/chunks/chunk.MHU452GM.js +0 -7
- package/dist/esm/chunks/chunk.MHU452GM.js.map +0 -7
- package/dist/esm/chunks/chunk.MLTEGJH6.js +0 -7
- package/dist/esm/chunks/chunk.MWWY5TX5.js +0 -7
- package/dist/esm/chunks/chunk.MWWY5TX5.js.map +0 -7
- package/dist/esm/chunks/chunk.O5GE3FFV.js +0 -7
- package/dist/esm/chunks/chunk.O5GE3FFV.js.map +0 -7
- package/dist/esm/chunks/chunk.OQ75YGB6.js +0 -7
- package/dist/esm/chunks/chunk.PCOOIP2H.js +0 -7
- package/dist/esm/chunks/chunk.PCOOIP2H.js.map +0 -7
- package/dist/esm/chunks/chunk.PDICDA2V.js +0 -7
- package/dist/esm/chunks/chunk.PDICDA2V.js.map +0 -7
- package/dist/esm/chunks/chunk.Q7BWJCT5.js +0 -7
- package/dist/esm/chunks/chunk.Q7BWJCT5.js.map +0 -7
- package/dist/esm/chunks/chunk.TCFKFKZW.js +0 -7
- package/dist/esm/chunks/chunk.TGVLYX5F.js +0 -7
- package/dist/esm/chunks/chunk.TGVLYX5F.js.map +0 -7
- package/dist/esm/chunks/chunk.TSH7BTC3.js +0 -7
- package/dist/esm/chunks/chunk.U5XNDTSZ.js +0 -7
- package/dist/esm/chunks/chunk.UAKQY7QB.js +0 -7
- package/dist/esm/chunks/chunk.UAKQY7QB.js.map +0 -7
- package/dist/esm/chunks/chunk.UAVC4YLD.js +0 -7
- package/dist/esm/chunks/chunk.UAVC4YLD.js.map +0 -7
- package/dist/esm/chunks/chunk.URFSXQKR.js +0 -7
- package/dist/esm/chunks/chunk.UZPZ6KUN.js +0 -7
- package/dist/esm/chunks/chunk.V6443MP3.js +0 -7
- package/dist/esm/chunks/chunk.V6443MP3.js.map +0 -7
- package/dist/esm/chunks/chunk.VAAID3SH.js +0 -7
- package/dist/esm/chunks/chunk.VAAID3SH.js.map +0 -7
- package/dist/esm/chunks/chunk.VPNDAKM3.js +0 -7
- package/dist/esm/chunks/chunk.VPNDAKM3.js.map +0 -7
- package/dist/esm/chunks/chunk.WCTSXMGU.js +0 -7
- package/dist/esm/chunks/chunk.WCTSXMGU.js.map +0 -7
- package/dist/esm/chunks/chunk.WOMYKBUG.js +0 -12
- package/dist/esm/chunks/chunk.WOMYKBUG.js.map +0 -7
- package/dist/esm/chunks/chunk.WVGIT7F7.js +0 -7
- package/dist/esm/chunks/chunk.WVGIT7F7.js.map +0 -7
- package/dist/esm/chunks/chunk.YOXZOPAC.js +0 -7
- package/dist/esm/chunks/chunk.YOXZOPAC.js.map +0 -7
- package/dist/esm/chunks/chunk.YP2NHWIW.js +0 -7
- package/dist/esm/chunks/chunk.YPA27RX7.js +0 -7
- package/dist/esm/chunks/chunk.YXXKPT6P.js +0 -7
- package/dist/esm/chunks/chunk.ZMUDT5UK.js +0 -7
- package/dist/esm/chunks/chunk.ZMUDT5UK.js.map +0 -7
- package/dist/floating-action-button/forge-floating-action-button.css +0 -6
- package/dist/icon-button/forge-icon-button.css +0 -6
- package/esm/app-bar/app-bar-adapter.d.ts +0 -43
- package/esm/app-bar/app-bar-adapter.js +0 -60
- package/esm/app-bar/app-bar-constants.js +0 -37
- package/esm/app-bar/app-bar-foundation.js +0 -70
- package/esm/app-bar/app-bar.d.ts +0 -38
- package/esm/app-bar/app-bar.js +0 -75
- package/esm/core/utils/a11y-utils.d.ts +0 -32
- package/esm/core/utils/a11y-utils.js +0 -111
- package/styles/app-bar/_mixins.scss +0 -249
- package/styles/app-bar/_variables.scss +0 -34
- package/styles/app-bar/app-bar.scss +0 -22
- package/styles/button/_button-base.scss +0 -183
- package/styles/button/_button-filled-theme.scss +0 -60
- package/styles/button/_button-filled.scss +0 -71
- package/styles/button/_button-outlined-theme.scss +0 -175
- package/styles/button/_button-outlined.scss +0 -76
- package/styles/button/_button-protected-theme.scss +0 -60
- package/styles/button/_button-protected.scss +0 -88
- package/styles/button/_button-ripple.scss +0 -69
- package/styles/button/_button-shared-theme.scss +0 -447
- package/styles/button/_button-text-theme.scss +0 -60
- package/styles/button/_button-text.scss +0 -57
- package/styles/button/_button.mixins.scss +0 -148
- package/styles/button/_mixins.scss +0 -183
- package/styles/checkbox/_checkbox-custom-properties.scss +0 -11
- package/styles/checkbox/_checkbox-theme.scss +0 -577
- package/styles/checkbox/_checkbox.mixins.scss +0 -595
- package/styles/floating-action-button/_extended-fab-theme.scss +0 -238
- package/styles/floating-action-button/_fab-custom-properties.scss +0 -29
- package/styles/floating-action-button/_fab-theme.scss +0 -541
- package/styles/floating-action-button/_fab.mixins.scss +0 -351
- package/styles/floating-action-button/forge-floating-action-button.scss +0 -16
- package/styles/icon-button/_mixins.scss +0 -345
- package/styles/icon-button/_variables.scss +0 -42
- package/styles/profile-card/_mixins.scss +0 -83
- /package/dist/esm/chunks/{chunk.PLNLLKP2.js.map → chunk.26E4L52W.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AY43NTAK.js.map → chunk.3UO6S3IK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IXGXASHQ.js.map → chunk.4B5IOZAT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WK2L7BPJ.js.map → chunk.4QDN5PM6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.C5ZUGOOC.js.map → chunk.57PXXJA6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.C7VEJINB.js.map → chunk.5C24LZNU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.C2MQN7MI.js.map → chunk.5H4G6BWX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CQQSOTZ5.js.map → chunk.5VHUMZYS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WJXDDQUK.js.map → chunk.7ABZUBTT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZREXLSAJ.js.map → chunk.7BGOH44S.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2WSXSOYB.js.map → chunk.7DHDFH5L.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.UVJFHSMF.js.map → chunk.7PP6QHOM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7L66GZDN.js.map → chunk.7UXLLUTN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NDJZYFRT.js.map → chunk.B46Q3AFP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.EY37FYZ4.js.map → chunk.C5IB44HX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6VSFLBZF.js.map → chunk.CTZ3AWDW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HBCDD25D.js.map → chunk.DDXIHZFX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VDGJ4UDL.js.map → chunk.DOEG3DWJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4USQ2AP6.js.map → chunk.DTKFE7YB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IJ2I25V3.js.map → chunk.E3GVKR4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FK6NNHXH.js.map → chunk.F2EBSV5Z.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RNUGVHZF.js.map → chunk.G2BNY5QQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.4JF54GDJ.js.map → chunk.GS72TBUD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AQ7ROWO4.js.map → chunk.GT3VPSXY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DABGA7I6.js.map → chunk.GWJ4QCSW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RXLORASN.js.map → chunk.HHHBS6FB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MLTEGJH6.js.map → chunk.I3NHK2S3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HKSXC5VK.js.map → chunk.IEB5KRFQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OQAD6MFL.js.map → chunk.J3B5CWKT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QNVVUUNQ.js.map → chunk.KLPF4CNX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.66X366TV.js.map → chunk.L4Y4RO5O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RBFGJH3C.js.map → chunk.LMIKNDBS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R2KOYHIZ.js.map → chunk.LSNAGIIH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7M4HRJYP.js.map → chunk.LXX3YZYS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W7H2ZYNR.js.map → chunk.NG6UZ4OL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CMRVP4EA.js.map → chunk.NYYXUH3X.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DQVYB55P.js.map → chunk.NZKIFXBU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AHAARGYM.js.map → chunk.OED5UCYT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2LIWNFQK.js.map → chunk.OYO5O3NF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7UJAI6P2.js.map → chunk.P7LC3YYW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z6AFASMO.js.map → chunk.PK7R6WDF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WWTQAN4G.js.map → chunk.PSTGTQVK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RWUJGZ3R.js.map → chunk.RZZBM3AW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.37JFBP4X.js.map → chunk.SNF35Y6C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YPA27RX7.js.map → chunk.T34DG7BU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HDO3WRH7.js.map → chunk.THWSN3X4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.E4TAHUQO.js.map → chunk.TZFUKJ24.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SEWAMWO6.js.map → chunk.U5WMRBSC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PDSOXEMY.js.map → chunk.UWZWXNTW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.CBIHNCT5.js.map → chunk.W324TWF2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZYVXIP42.js.map → chunk.YKZ25J6B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R6NA7SV2.js.map → chunk.ZSD7MMVB.js.map} +0 -0
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { isDefined } from '@tylertech/forge-core';
|
|
7
|
+
/**
|
|
8
|
+
* ARIA attributes capable of being reflected to a shadow element.
|
|
9
|
+
*/
|
|
10
|
+
export const REFLECTIVE_ARIA_ATTRIBUTES = [
|
|
11
|
+
'aria-atomic',
|
|
12
|
+
'aria-autocomplete',
|
|
13
|
+
'aria-busy',
|
|
14
|
+
'aria-checked',
|
|
15
|
+
'aria-colcount',
|
|
16
|
+
'aria-colindex',
|
|
17
|
+
'aria-colspan',
|
|
18
|
+
'aria-current',
|
|
19
|
+
'aria-description',
|
|
20
|
+
'aria-disabled',
|
|
21
|
+
'aria-expanded',
|
|
22
|
+
'aria-haspopup',
|
|
23
|
+
'aria-hidden',
|
|
24
|
+
'aria-invalid',
|
|
25
|
+
'aria-keyshortcuts',
|
|
26
|
+
'aria-label',
|
|
27
|
+
'aria-level',
|
|
28
|
+
'aria-live',
|
|
29
|
+
'aria-modal',
|
|
30
|
+
'aria-multiline',
|
|
31
|
+
'aria-multiselectable',
|
|
32
|
+
'aria-orientation',
|
|
33
|
+
'aria-placeholder',
|
|
34
|
+
'aria-posinset',
|
|
35
|
+
'aria-pressed',
|
|
36
|
+
'aria-readonly',
|
|
37
|
+
'aria-relevant',
|
|
38
|
+
'aria-required',
|
|
39
|
+
'aria-roledescription',
|
|
40
|
+
'aria-rowcount',
|
|
41
|
+
'aria-rowindex',
|
|
42
|
+
'aria-rowspan',
|
|
43
|
+
'aria-selected',
|
|
44
|
+
'aria-setsize',
|
|
45
|
+
'aria-sort',
|
|
46
|
+
'aria-valuemax',
|
|
47
|
+
'aria-valuemin',
|
|
48
|
+
'aria-valuenow',
|
|
49
|
+
'aria-valuetext'
|
|
50
|
+
];
|
|
51
|
+
/**
|
|
52
|
+
* ARIA attributes typically useful for input elements.
|
|
53
|
+
*/
|
|
54
|
+
export const INPUT_ARIA_ATTRIBUTES = [
|
|
55
|
+
'aria-autocomplete',
|
|
56
|
+
'aria-description',
|
|
57
|
+
'aria-invalid',
|
|
58
|
+
'aria-keyshortcuts',
|
|
59
|
+
'aria-label'
|
|
60
|
+
];
|
|
61
|
+
/**
|
|
62
|
+
* Property names relevant to input elements.
|
|
63
|
+
*/
|
|
64
|
+
export const INPUT_PROPERTIES = [
|
|
65
|
+
'checked',
|
|
66
|
+
'disabled',
|
|
67
|
+
'indeterminate',
|
|
68
|
+
'readOnly',
|
|
69
|
+
'required',
|
|
70
|
+
'value'
|
|
71
|
+
];
|
|
72
|
+
/**
|
|
73
|
+
* Attributes for buttons when used within a form.
|
|
74
|
+
*/
|
|
75
|
+
export const BUTTON_FORM_ATTRIBUTES = [
|
|
76
|
+
'name',
|
|
77
|
+
'value',
|
|
78
|
+
'formaction',
|
|
79
|
+
'formenctype',
|
|
80
|
+
'formmethod',
|
|
81
|
+
'formnovalidate',
|
|
82
|
+
'formtarget'
|
|
83
|
+
];
|
|
84
|
+
/**
|
|
85
|
+
* Gets an array of attribute names prefixed by a part name and colon.
|
|
86
|
+
* @param part The part name of a shadow element.
|
|
87
|
+
* @param attributes An array of attribute names to prefix.
|
|
88
|
+
* @returns An array of prefixed attribute name strings.
|
|
89
|
+
*/
|
|
90
|
+
export function getPartPrefixedAttributes(part, attributes) {
|
|
91
|
+
return attributes.map(attr => `${part}:${attr}`);
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Observes a configured array of attributes set on a source element and forwards them to a
|
|
95
|
+
* callback function.
|
|
96
|
+
* @param from The element to forward attributes from.
|
|
97
|
+
* @param attributes Forwarded attributes.
|
|
98
|
+
* @param callback A function to handle forwarded attributes.
|
|
99
|
+
* @returns A `MutationObserver`.
|
|
100
|
+
*/
|
|
101
|
+
export function forwardAttributes(from, attributes, callback) {
|
|
102
|
+
// Set the source element's role to presentation to prevent duplicated ARIA attributes being
|
|
103
|
+
// seen by assistive technology
|
|
104
|
+
if (attributes.some(attr => attr.toLowerCase().startsWith('aria-'))) {
|
|
105
|
+
from.setAttribute('role', 'presentation');
|
|
106
|
+
}
|
|
107
|
+
// Parses an attribute and sends it to the provided callback
|
|
108
|
+
const forwardAttribute = (name) => {
|
|
109
|
+
const nameParts = name.split(':');
|
|
110
|
+
const partName = nameParts.length === 2 ? nameParts[0] : null;
|
|
111
|
+
const attrName = nameParts.length === 2 ? nameParts[1] : nameParts[0];
|
|
112
|
+
const value = from.getAttribute(name);
|
|
113
|
+
callback.call({}, attrName, value, partName);
|
|
114
|
+
};
|
|
115
|
+
// First, forward any attributes already set on the source element
|
|
116
|
+
attributes.forEach(attr => forwardAttribute(attr));
|
|
117
|
+
// Forward new and changed attributes as needed
|
|
118
|
+
const observerConfig = { attributeFilter: attributes };
|
|
119
|
+
const observerCallback = mutationList => {
|
|
120
|
+
mutationList.forEach(mutation => forwardAttribute(mutation.attributeName));
|
|
121
|
+
};
|
|
122
|
+
const observer = new MutationObserver(observerCallback);
|
|
123
|
+
observer.observe(from, observerConfig);
|
|
124
|
+
return observer;
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Clones attributes from one element to another.
|
|
128
|
+
* @param from The source element to clone attributes from.
|
|
129
|
+
* @param to The target element to clone attributes to.
|
|
130
|
+
* @param attributes The list of attributes to clone.
|
|
131
|
+
*/
|
|
132
|
+
export function cloneAttributes(from, to, attributes) {
|
|
133
|
+
attributes.forEach(attr => {
|
|
134
|
+
const value = from.getAttribute(attr);
|
|
135
|
+
if (value !== null) {
|
|
136
|
+
to.setAttribute(attr, value);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Clones properties from one element to another.
|
|
142
|
+
* @param from The source element to clone properties from.
|
|
143
|
+
* @param to The target element to clone properties to.
|
|
144
|
+
* @param attributes The list of properties to clone.
|
|
145
|
+
*/
|
|
146
|
+
export function cloneProperties(from, to, properties) {
|
|
147
|
+
properties.forEach(prop => {
|
|
148
|
+
const value = from[prop];
|
|
149
|
+
if (isDefined(value)) {
|
|
150
|
+
to[prop] = value;
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Clones the validation message of one input element to another.
|
|
156
|
+
* @param from The source input element to clone the validation message from.
|
|
157
|
+
* @param to The target input element to clone the validation message to.
|
|
158
|
+
*/
|
|
159
|
+
export function cloneValidationMessage(from, to) {
|
|
160
|
+
const message = from.validationMessage;
|
|
161
|
+
if (message) {
|
|
162
|
+
to.setCustomValidity(message);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* A utility class for switching between elements.
|
|
167
|
+
*/
|
|
168
|
+
export class SlottedElementAdapter {
|
|
169
|
+
/**
|
|
170
|
+
* Returns the element associated with this adapter.
|
|
171
|
+
*/
|
|
172
|
+
get el() {
|
|
173
|
+
return this._el;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Clones the specified attributes from one element to another.
|
|
177
|
+
*
|
|
178
|
+
* @param from - The element to clone attributes from.
|
|
179
|
+
* @param to - The element to clone attributes to.
|
|
180
|
+
* @param attributes - The names of the attributes to clone.
|
|
181
|
+
*/
|
|
182
|
+
static cloneAttributes(from, to, attributes) {
|
|
183
|
+
cloneAttributes(from, to, attributes);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Clones the input specific properties from one element to another.
|
|
187
|
+
*
|
|
188
|
+
* @param from - The element to clone properties from.
|
|
189
|
+
* @param to - The element to clone properties to.
|
|
190
|
+
*/
|
|
191
|
+
static cloneProperties(from, to, properties) {
|
|
192
|
+
cloneProperties(from, to, properties);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Clones the validation message from one element to another.
|
|
196
|
+
*
|
|
197
|
+
* @param from - The element to clone the validation message from.
|
|
198
|
+
* @param to - The element to clone the validation message to.
|
|
199
|
+
*/
|
|
200
|
+
static cloneValidationMessage(from, to) {
|
|
201
|
+
if (Object.hasOwnProperty.call(from, 'validationMessage') && Object.hasOwnProperty.call(to, 'validationMessage')) {
|
|
202
|
+
cloneValidationMessage(from, to);
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
console.warn('cloneValidationMessage() requires both elements to be input elements.');
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Initializes the adapter with an initial element and attach callback.
|
|
210
|
+
*
|
|
211
|
+
* @param el - The element to associate with the adapter.
|
|
212
|
+
* @param attachCallback - The callback to invoke when attaching the element.
|
|
213
|
+
*/
|
|
214
|
+
initialize(el, attachCallback) {
|
|
215
|
+
this._attachCallback = attachCallback;
|
|
216
|
+
this._el = el;
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Replaces the attached element.
|
|
220
|
+
*
|
|
221
|
+
* @param el - The new element to attach.
|
|
222
|
+
*/
|
|
223
|
+
attachElement(el) {
|
|
224
|
+
this._attachCallback(el, this._el);
|
|
225
|
+
this._el = el;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
@@ -97,4 +97,4 @@ export declare function locateTargetHeuristic(element: HTMLElement, id?: string
|
|
|
97
97
|
* @param preserveChildren Whether or not to preserve the children of the old element in the new element.
|
|
98
98
|
* @returns The new element.
|
|
99
99
|
*/
|
|
100
|
-
export declare function replaceElement(oldElement: HTMLElement, newElement:
|
|
100
|
+
export declare function replaceElement<T extends HTMLElement>(oldElement: HTMLElement, newElement: T, preserveChildren?: boolean): T;
|
|
@@ -5,17 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
export function createToggleElement(iconName) {
|
|
7
7
|
const iconButtonElement = document.createElement('forge-icon-button');
|
|
8
|
+
iconButtonElement.type = 'button';
|
|
9
|
+
iconButtonElement.tabIndex = -1;
|
|
10
|
+
iconButtonElement.setAttribute('aria-label', 'Toggle calendar');
|
|
8
11
|
iconButtonElement.slot = 'trailing';
|
|
9
|
-
iconButtonElement.
|
|
10
|
-
iconButtonElement.densityLevel = 3;
|
|
12
|
+
iconButtonElement.density = 'medium';
|
|
11
13
|
iconButtonElement.style.marginRight = '4px';
|
|
12
|
-
const buttonElement = document.createElement('button');
|
|
13
|
-
buttonElement.type = 'button';
|
|
14
|
-
buttonElement.tabIndex = -1;
|
|
15
|
-
buttonElement.setAttribute('aria-label', 'Toggle calendar');
|
|
16
|
-
iconButtonElement.appendChild(buttonElement);
|
|
17
14
|
const iconElement = document.createElement('forge-icon');
|
|
18
15
|
iconElement.name = iconName;
|
|
19
|
-
|
|
16
|
+
iconButtonElement.appendChild(iconElement);
|
|
20
17
|
return iconButtonElement;
|
|
21
18
|
}
|
|
@@ -12,6 +12,14 @@ export declare const FIELD_CONSTANTS: {
|
|
|
12
12
|
REQUIRED: string;
|
|
13
13
|
HOST_LABEL_FLOATING: string;
|
|
14
14
|
};
|
|
15
|
+
observedAttributes: {
|
|
16
|
+
DENSITY: string;
|
|
17
|
+
FLOAT_LABEL_TYPE: string;
|
|
18
|
+
SHAPE: string;
|
|
19
|
+
INVALID: string;
|
|
20
|
+
REQUIRED: string;
|
|
21
|
+
HOST_LABEL_FLOATING: string;
|
|
22
|
+
};
|
|
15
23
|
observedInputAttributes: string[];
|
|
16
24
|
selectors: {
|
|
17
25
|
INPUT: string;
|
|
@@ -3,14 +3,6 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
const attributes = {
|
|
7
|
-
DENSITY: 'density',
|
|
8
|
-
FLOAT_LABEL_TYPE: 'float-label-type',
|
|
9
|
-
SHAPE: 'shape',
|
|
10
|
-
INVALID: 'invalid',
|
|
11
|
-
REQUIRED: 'required',
|
|
12
|
-
HOST_LABEL_FLOATING: `forge-label-floating`
|
|
13
|
-
};
|
|
14
6
|
const selectors = {
|
|
15
7
|
INPUT: 'input,textarea'
|
|
16
8
|
};
|
|
@@ -32,8 +24,18 @@ const classes = {
|
|
|
32
24
|
ROOMY: 'forge-field--roomy',
|
|
33
25
|
LABEL: 'forge-field--label'
|
|
34
26
|
};
|
|
27
|
+
const observedAttributes = {
|
|
28
|
+
DENSITY: 'density',
|
|
29
|
+
FLOAT_LABEL_TYPE: 'float-label-type',
|
|
30
|
+
SHAPE: 'shape',
|
|
31
|
+
INVALID: 'invalid',
|
|
32
|
+
REQUIRED: 'required',
|
|
33
|
+
HOST_LABEL_FLOATING: `forge-label-floating`
|
|
34
|
+
};
|
|
35
|
+
const attributes = Object.assign({}, observedAttributes);
|
|
35
36
|
export const FIELD_CONSTANTS = {
|
|
36
37
|
attributes,
|
|
38
|
+
observedAttributes,
|
|
37
39
|
observedInputAttributes,
|
|
38
40
|
selectors,
|
|
39
41
|
classes
|
|
@@ -33,7 +33,7 @@ export class FilePickerComponentDelegate extends BaseComponentDelegate {
|
|
|
33
33
|
parent: this._element,
|
|
34
34
|
text: this._config.options.buttonText
|
|
35
35
|
},
|
|
36
|
-
props: {
|
|
36
|
+
props: { variant: 'outlined' }
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
if ((_d = this._config.options) === null || _d === void 0 ? void 0 : _d.helperText) {
|
|
@@ -11,7 +11,7 @@ import { FilePickerAdapter } from './file-picker-adapter';
|
|
|
11
11
|
import { FILE_PICKER_CONSTANTS } from './file-picker-constants';
|
|
12
12
|
import { FilePickerFoundation } from './file-picker-foundation';
|
|
13
13
|
const template = '<template><form class=\"forge-file-picker\" id=\"container\" part=\"form\"><div class=\"forge-file-picker__primary\" id=\"primary\" part=\"primary\"><slot name=\"primary\"></slot></div><slot id=\"button-slot\"></slot><div class=\"forge-file-picker__secondary\" id=\"secondary\" part=\"secondary\"><slot name=\"secondary\"></slot></div><input type=\"file\" class=\"forge-file-picker__input\" id=\"input\" part=\"input\"></form><div class=\"forge-file-picker__helper-text\" part=\"helper-text-container\"><slot name=\"helper-text\"></slot></div></template>';
|
|
14
|
-
const styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button
|
|
14
|
+
const styles = '.forge-file-picker{-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;background-color:rgba(189,189,189,.12);border:1px dashed #e0e0e0;display:grid;-webkit-box-pack:center;justify-content:center;align-content:center;gap:16px;padding:16px;text-align:center;cursor:pointer}.forge-file-picker__primary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:1rem;font-size:var(--mdc-typography-subtitle1-font-size, 1rem);line-height:1.75rem;line-height:var(--mdc-typography-subtitle1-line-height, 1.75rem);font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__secondary{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;font-size:var(--forge-typography-subtitle2-secondary-font-size, .875rem);line-height:1.375rem;line-height:var(--forge-typography-subtitle2-secondary-line-height, 1.375rem);font-weight:400;font-weight:var(--forge-typography-subtitle2-secondary-font-weight,400);letter-spacing:.0087500001em;letter-spacing:var(--forge-typography-subtitle2-secondary-letter-spacing, .0087500001em);text-decoration:inherit;-webkit-text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-decoration:var(--forge-typography-subtitle2-secondary-text-decoration,inherit);text-transform:inherit;text-transform:var(--forge-typography-subtitle2-secondary-text-transform,inherit);color:var(--mdc-theme-text-secondary-on-background);color:var(--forge-typography-subtitle2-secondary-color,var(--mdc-theme-text-secondary-on-background));color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));max-width:auto;max-width:var(--forge-file-picker-max-content-width,auto)}.forge-file-picker__input{display:none}.forge-file-picker__helper-text ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));margin-left:12px;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);text-align:start}.forge-file-picker[disabled]{background-color:#fff;background-color:var(--mdc-theme-background,#fff);border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);opacity:.38;cursor:unset}.forge-file-picker.compact{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;background-color:transparent;border:none;padding:0}.forge-file-picker.compact .forge-file-picker__primary,.forge-file-picker.compact .forge-file-picker__secondary{display:none}.forge-file-picker.compact .forge-file-picker__button{width:auto;width:var(--forge-file-picker-width,auto);background-color:transparent}.forge-file-picker:not(.compact).highlight{border-color:#6200ee;border-color:var(--mdc-theme-primary,#6200ee);background-color:rgba(98,0,238,.12);border-width:1px;border-style:solid}.forge-file-picker.borderless{--forge-file-picker-width:100%;border:none}.forge-file-picker.borderless:not(.compact).highlight{border:none}.forge-file-picker.borderless+.forge-file-picker__helper-text{display:none}:host{width:auto;width:var(--forge-file-picker-width,auto);height:auto;height:var(--forge-file-picker-height,auto);display:inline-block}:host([hidden]){display:none}';
|
|
15
15
|
/**
|
|
16
16
|
* The web component class behind the `<forge-file-picker>` custom element.
|
|
17
17
|
*
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseButtonAdapter, IBaseButtonAdapter } from '../button/base/base-button-adapter';
|
|
7
|
+
import { IFloatingActionButtonComponent } from './floating-action-button';
|
|
8
|
+
export interface IFloatingActionButtonAdapter extends IBaseButtonAdapter {
|
|
9
|
+
destroy(): void;
|
|
10
|
+
}
|
|
11
|
+
export declare class FloatingActionButtonAdapter extends BaseButtonAdapter implements IFloatingActionButtonAdapter {
|
|
12
|
+
private _labelSlotElement;
|
|
13
|
+
private _extendedObserver;
|
|
14
|
+
constructor(component: IFloatingActionButtonComponent);
|
|
15
|
+
initialize(): void;
|
|
16
|
+
destroy(): void;
|
|
17
|
+
toggleDefaultPopoverIcon(value: boolean): void;
|
|
18
|
+
private _startExtendedWatcher;
|
|
19
|
+
private _detectExtendedState;
|
|
20
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { getShadowElement } from '@tylertech/forge-core';
|
|
7
|
+
import { BaseButtonAdapter } from '../button/base/base-button-adapter';
|
|
8
|
+
import { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';
|
|
9
|
+
export class FloatingActionButtonAdapter extends BaseButtonAdapter {
|
|
10
|
+
constructor(component) {
|
|
11
|
+
super(component);
|
|
12
|
+
this._labelSlotElement = getShadowElement(this._component, FLOATING_ACTION_BUTTON_CONSTANTS.selectors.LABEL_SLOT);
|
|
13
|
+
}
|
|
14
|
+
initialize() {
|
|
15
|
+
super.initialize();
|
|
16
|
+
if (!this._extendedObserver) {
|
|
17
|
+
this._startExtendedWatcher();
|
|
18
|
+
}
|
|
19
|
+
this._detectExtendedState();
|
|
20
|
+
}
|
|
21
|
+
destroy() {
|
|
22
|
+
var _a;
|
|
23
|
+
(_a = this._extendedObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
24
|
+
this._extendedObserver = undefined;
|
|
25
|
+
}
|
|
26
|
+
toggleDefaultPopoverIcon(value) {
|
|
27
|
+
super.toggleDefaultPopoverIcon(value);
|
|
28
|
+
this._detectExtendedState();
|
|
29
|
+
}
|
|
30
|
+
_startExtendedWatcher() {
|
|
31
|
+
this._extendedObserver = new MutationObserver(() => this._detectExtendedState());
|
|
32
|
+
this._extendedObserver.observe(this._component, { childList: true, subtree: true, characterData: true });
|
|
33
|
+
}
|
|
34
|
+
_detectExtendedState() {
|
|
35
|
+
// If there are nodes in the "label" slot, then we always assume the extended state
|
|
36
|
+
const hasLabel = this._labelSlotElement.assignedNodes().length > 0;
|
|
37
|
+
if (hasLabel) {
|
|
38
|
+
this._rootElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.EXTENDED);
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Remove the extended class first so we can compare the width without it affecting the styles
|
|
42
|
+
this._rootElement.classList.remove(FLOATING_ACTION_BUTTON_CONSTANTS.classes.EXTENDED);
|
|
43
|
+
// When the width is greater than the height, we assume the button is in the extended state
|
|
44
|
+
const isExtended = this._component.clientWidth > this._component.clientHeight;
|
|
45
|
+
if (isExtended) {
|
|
46
|
+
this._rootElement.classList.add(FLOATING_ACTION_BUTTON_CONSTANTS.classes.EXTENDED);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -3,19 +3,35 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Theme } from '../constants';
|
|
6
7
|
import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';
|
|
8
|
+
import { IIconComponent } from '../icon/icon';
|
|
9
|
+
import { IconExternalType } from '../icon/icon-constants';
|
|
7
10
|
import { IFloatingActionButtonComponent } from './floating-action-button';
|
|
11
|
+
import { FloatingActionButtonDensity, FloatingActionButtonElevation } from './floating-action-button-constants';
|
|
8
12
|
export type FloatingActionButtonComponentDelegateProps = Partial<IFloatingActionButtonComponent>;
|
|
9
13
|
export interface IFloatingActionButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {
|
|
10
|
-
|
|
14
|
+
iconName?: string;
|
|
15
|
+
iconExternal?: boolean;
|
|
16
|
+
iconExternalType?: IconExternalType;
|
|
17
|
+
iconType?: 'font' | 'component';
|
|
18
|
+
iconClass?: string | string[];
|
|
19
|
+
label?: string;
|
|
20
|
+
theme?: Theme;
|
|
21
|
+
density?: FloatingActionButtonDensity;
|
|
22
|
+
elevation?: FloatingActionButtonElevation;
|
|
11
23
|
}
|
|
12
24
|
export interface IFloatingActionButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IFloatingActionButtonComponent, IFloatingActionButtonComponentDelegateOptions> {
|
|
13
25
|
}
|
|
14
26
|
export declare class FloatingActionButtonComponentDelegate extends BaseComponentDelegate<IFloatingActionButtonComponent, IFloatingActionButtonComponentDelegateOptions> {
|
|
15
|
-
private
|
|
27
|
+
private _iconElement?;
|
|
16
28
|
constructor(config?: IFloatingActionButtonComponentDelegateConfig);
|
|
17
|
-
destroy(): void;
|
|
18
29
|
protected _build(): IFloatingActionButtonComponent;
|
|
30
|
+
protected _configure(): void;
|
|
31
|
+
private _configureIcon;
|
|
32
|
+
get iconElement(): IIconComponent | undefined;
|
|
33
|
+
get disabled(): boolean;
|
|
34
|
+
set disabled(value: boolean);
|
|
19
35
|
onClick(listener: (evt: MouseEvent) => void): void;
|
|
20
36
|
onFocus(listener: (evt: Event) => void): void;
|
|
21
37
|
onBlur(listener: (evt: Event) => void): void;
|
|
@@ -3,34 +3,82 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { addClass } from '@tylertech/forge-core';
|
|
7
|
+
import { ICON_CLASS_NAME } from '../constants';
|
|
6
8
|
import { BaseComponentDelegate } from '../core/delegates/base-component-delegate';
|
|
9
|
+
import { ICON_CONSTANTS } from '../icon/icon-constants';
|
|
7
10
|
import { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';
|
|
8
11
|
export class FloatingActionButtonComponentDelegate extends BaseComponentDelegate {
|
|
9
12
|
constructor(config) {
|
|
10
13
|
super(config);
|
|
11
14
|
}
|
|
12
|
-
destroy() {
|
|
13
|
-
this._buttonElement = undefined;
|
|
14
|
-
}
|
|
15
15
|
_build() {
|
|
16
|
-
var _a, _b;
|
|
16
|
+
var _a, _b, _c, _d, _e;
|
|
17
17
|
const component = document.createElement(FLOATING_ACTION_BUTTON_CONSTANTS.elementName);
|
|
18
|
-
this.
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
if ((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.theme) {
|
|
19
|
+
component.theme = this._config.options.theme;
|
|
20
|
+
}
|
|
21
|
+
if ((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.density) {
|
|
22
|
+
component.density = this._config.options.density;
|
|
23
|
+
}
|
|
24
|
+
if ((_c = this._config.options) === null || _c === void 0 ? void 0 : _c.elevation) {
|
|
25
|
+
component.elevation = this._config.options.elevation;
|
|
26
|
+
}
|
|
27
|
+
if ((_e = (_d = this._config.options) === null || _d === void 0 ? void 0 : _d.label) === null || _e === void 0 ? void 0 : _e.trim().length) {
|
|
28
|
+
const span = document.createElement('span');
|
|
29
|
+
span.slot = 'label';
|
|
30
|
+
component.textContent = this._config.options.label;
|
|
31
|
+
component.appendChild(span);
|
|
32
|
+
}
|
|
22
33
|
return component;
|
|
23
34
|
}
|
|
35
|
+
_configure() {
|
|
36
|
+
this._configureIcon();
|
|
37
|
+
}
|
|
38
|
+
_configureIcon() {
|
|
39
|
+
var _a, _b;
|
|
40
|
+
if (!((_a = this._config.options) === null || _a === void 0 ? void 0 : _a.iconName)) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
const type = ((_b = this._config.options) === null || _b === void 0 ? void 0 : _b.iconType) || 'component';
|
|
44
|
+
switch (type) {
|
|
45
|
+
case 'font':
|
|
46
|
+
const classes = Array.isArray(this._config.options.iconClass) ? this._config.options.iconClass : [ICON_CLASS_NAME];
|
|
47
|
+
addClass(classes, this._element);
|
|
48
|
+
this._element.textContent = this._config.options.iconName;
|
|
49
|
+
break;
|
|
50
|
+
case 'component':
|
|
51
|
+
this._iconElement = document.createElement(ICON_CONSTANTS.elementName);
|
|
52
|
+
this._iconElement.name = this._config.options.iconName;
|
|
53
|
+
if (this._config.options.iconExternal !== undefined) {
|
|
54
|
+
this._iconElement.external = !!this._config.options.iconExternal;
|
|
55
|
+
}
|
|
56
|
+
if (this._config.options.iconExternalType) {
|
|
57
|
+
this._iconElement.externalType = this._config.options.iconExternalType;
|
|
58
|
+
}
|
|
59
|
+
if (this._config.options.iconClass) {
|
|
60
|
+
addClass(this._config.options.iconClass, this._iconElement);
|
|
61
|
+
}
|
|
62
|
+
this._element.appendChild(this._iconElement);
|
|
63
|
+
break;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
get iconElement() {
|
|
67
|
+
return this._iconElement;
|
|
68
|
+
}
|
|
69
|
+
get disabled() {
|
|
70
|
+
return !!this._element.disabled;
|
|
71
|
+
}
|
|
72
|
+
set disabled(value) {
|
|
73
|
+
this._element.disabled = value;
|
|
74
|
+
}
|
|
24
75
|
onClick(listener) {
|
|
25
|
-
|
|
26
|
-
(_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.addEventListener('click', listener);
|
|
76
|
+
this._element.addEventListener('click', listener);
|
|
27
77
|
}
|
|
28
78
|
onFocus(listener) {
|
|
29
|
-
|
|
30
|
-
(_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.addEventListener('focus', evt => listener(evt));
|
|
79
|
+
this._element.addEventListener('focus', evt => listener(evt));
|
|
31
80
|
}
|
|
32
81
|
onBlur(listener) {
|
|
33
|
-
|
|
34
|
-
(_a = this._buttonElement) === null || _a === void 0 ? void 0 : _a.addEventListener('blur', evt => listener(evt));
|
|
82
|
+
this._element.addEventListener('blur', evt => listener(evt));
|
|
35
83
|
}
|
|
36
84
|
}
|
|
@@ -3,25 +3,30 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
+
import { Density, Theme } from '../constants';
|
|
6
7
|
export declare const FLOATING_ACTION_BUTTON_CONSTANTS: {
|
|
7
8
|
elementName: "forge-fab";
|
|
9
|
+
observedAttributes: {
|
|
10
|
+
THEME: string;
|
|
11
|
+
DENSITY: string;
|
|
12
|
+
ELEVATION: string;
|
|
13
|
+
};
|
|
14
|
+
attributes: {
|
|
15
|
+
THEME: string;
|
|
16
|
+
DENSITY: string;
|
|
17
|
+
ELEVATION: string;
|
|
18
|
+
};
|
|
8
19
|
selectors: {
|
|
9
|
-
|
|
10
|
-
ICON: string;
|
|
11
|
-
LABEL: string;
|
|
20
|
+
LABEL_SLOT: string;
|
|
12
21
|
};
|
|
13
22
|
classes: {
|
|
14
|
-
BUTTON: string;
|
|
15
|
-
BUTTON_EXTENDED: string;
|
|
16
|
-
ICON: string;
|
|
17
|
-
LABEL: string;
|
|
18
|
-
BUTTON_MINI: string;
|
|
19
|
-
EXITED: string;
|
|
20
|
-
RIPPLE: string;
|
|
21
|
-
};
|
|
22
|
-
attributes: {
|
|
23
23
|
EXTENDED: string;
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
};
|
|
25
|
+
defaults: {
|
|
26
|
+
DEFAULT_THEME: Theme;
|
|
27
|
+
DEFAULT_DENSITY: Density;
|
|
28
|
+
DEFAULT_ELEVATION: FloatingActionButtonElevation;
|
|
26
29
|
};
|
|
27
30
|
};
|
|
31
|
+
export type FloatingActionButtonDensity = Density;
|
|
32
|
+
export type FloatingActionButtonElevation = 'raised' | 'lowered';
|
|
@@ -5,28 +5,28 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { COMPONENT_NAME_PREFIX } from '../constants';
|
|
7
7
|
const elementName = `${COMPONENT_NAME_PREFIX}fab`;
|
|
8
|
+
const observedAttributes = {
|
|
9
|
+
THEME: 'theme',
|
|
10
|
+
DENSITY: 'density',
|
|
11
|
+
ELEVATION: 'elevation'
|
|
12
|
+
};
|
|
13
|
+
const attributes = Object.assign({}, observedAttributes);
|
|
8
14
|
const selectors = {
|
|
9
|
-
|
|
10
|
-
ICON: 'i,forge-icon,img,svg',
|
|
11
|
-
LABEL: 'span'
|
|
15
|
+
LABEL_SLOT: 'slot[name=label]'
|
|
12
16
|
};
|
|
13
17
|
const classes = {
|
|
14
|
-
|
|
15
|
-
BUTTON_EXTENDED: 'forge-fab--extended',
|
|
16
|
-
ICON: 'forge-fab__icon',
|
|
17
|
-
LABEL: 'forge-fab__label',
|
|
18
|
-
BUTTON_MINI: 'forge-fab--mini',
|
|
19
|
-
EXITED: 'forge-fab--exited',
|
|
20
|
-
RIPPLE: 'forge-fab__ripple'
|
|
18
|
+
EXTENDED: `${elementName}--extended`
|
|
21
19
|
};
|
|
22
|
-
const
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
20
|
+
const defaults = {
|
|
21
|
+
DEFAULT_THEME: 'secondary',
|
|
22
|
+
DEFAULT_DENSITY: 'medium',
|
|
23
|
+
DEFAULT_ELEVATION: 'raised'
|
|
26
24
|
};
|
|
27
25
|
export const FLOATING_ACTION_BUTTON_CONSTANTS = {
|
|
28
26
|
elementName,
|
|
27
|
+
observedAttributes,
|
|
28
|
+
attributes,
|
|
29
29
|
selectors,
|
|
30
30
|
classes,
|
|
31
|
-
|
|
31
|
+
defaults
|
|
32
32
|
};
|