@tylertech/forge 3.0.0-next.13 → 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/custom-elements.json +27366 -24598
- 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.FLWNOP42.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.ZRSDTCSD.js → chunk.2GYZM6ZG.js} +2 -2
- 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.LUNKNRRH.js.map → chunk.3JCHXLPT.js.map} +3 -3
- package/dist/esm/chunks/chunk.3PKNBYMG.js +6 -0
- package/dist/esm/chunks/chunk.3PKNBYMG.js.map +7 -0
- package/dist/esm/chunks/chunk.3RMBFRGC.js +7 -0
- package/dist/esm/chunks/{chunk.DTLZOIUQ.js → chunk.3UO6S3IK.js} +2 -2
- package/dist/esm/chunks/chunk.3ZRQFXQU.js +7 -0
- package/dist/esm/chunks/{chunk.XNFS7YIB.js.map → chunk.3ZRQFXQU.js.map} +1 -1
- package/dist/esm/chunks/{chunk.MWYQRG5W.js → chunk.4B5IOZAT.js} +2 -2
- package/dist/esm/chunks/{chunk.IDMDBMBR.js → chunk.4QDN5PM6.js} +2 -2
- package/dist/esm/chunks/{chunk.Z5RROENA.js → chunk.543K5Y4E.js} +2 -2
- package/dist/esm/chunks/{chunk.W2LN45WY.js → chunk.57PXXJA6.js} +2 -2
- package/dist/esm/chunks/{chunk.675V42JS.js → chunk.5C24LZNU.js} +2 -2
- package/dist/esm/chunks/{chunk.V24M62MC.js → chunk.5H4G6BWX.js} +2 -2
- package/dist/esm/chunks/{chunk.QLCVRJ3Q.js → chunk.5VHUMZYS.js} +2 -2
- package/dist/esm/chunks/{chunk.OWZREAT6.js → chunk.6DXDNQUR.js} +2 -2
- package/dist/esm/chunks/{chunk.7VMJLHQY.js → chunk.6Q3SV2R2.js} +2 -2
- package/dist/esm/chunks/chunk.6Y45DLA6.js +7 -0
- package/dist/esm/chunks/chunk.6Y45DLA6.js.map +7 -0
- package/dist/esm/chunks/{chunk.IHAHJPMB.js → chunk.7ABZUBTT.js} +2 -2
- package/dist/esm/chunks/{chunk.Z5ZLKM7W.js → chunk.7BGOH44S.js} +2 -2
- package/dist/esm/chunks/{chunk.LOG6GQOK.js → chunk.7DHDFH5L.js} +2 -2
- package/dist/esm/chunks/{chunk.3R4BUIQP.js → chunk.7PP6QHOM.js} +2 -2
- package/dist/esm/chunks/{chunk.YBZK6LJZ.js → chunk.7UXLLUTN.js} +2 -2
- package/dist/esm/chunks/{chunk.5RM65QPN.js → chunk.7W2UWAZX.js} +2 -2
- package/dist/esm/chunks/chunk.A72W7RW7.js +7 -0
- package/dist/esm/chunks/{chunk.STB2FEUA.js.map → chunk.A72W7RW7.js.map} +2 -2
- package/dist/esm/chunks/{chunk.6NTYTHAL.js → chunk.AEJGC4YG.js} +2 -2
- package/dist/esm/chunks/{chunk.BTXY3XMJ.js → chunk.B46Q3AFP.js} +2 -2
- package/dist/esm/chunks/{chunk.QJCNMYD3.js → chunk.BFUGFHEH.js} +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.2ZU6LWHE.js → chunk.BMQYEYCT.js} +2 -2
- package/dist/esm/chunks/{chunk.HOLCNJXC.js → chunk.C5IB44HX.js} +2 -2
- package/dist/esm/chunks/chunk.CNRFOWHY.js +7 -0
- package/dist/esm/chunks/{chunk.QQRPV4RN.js.map → chunk.CNRFOWHY.js.map} +2 -2
- package/dist/esm/chunks/{chunk.G73KL7P2.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.QLOYOZN3.js → chunk.DD35U4AA.js} +2 -2
- package/dist/esm/chunks/{chunk.XEFWZKHQ.js → chunk.DDXIHZFX.js} +2 -2
- package/dist/esm/chunks/{chunk.MKJCHUJH.js → chunk.DOEG3DWJ.js} +2 -2
- package/dist/esm/chunks/{chunk.2MSL7CYM.js → chunk.DTKFE7YB.js} +2 -2
- package/dist/esm/chunks/{chunk.FXIWCHLW.js → chunk.E3GVKR4E.js} +2 -2
- package/dist/esm/chunks/{chunk.FFHSUJFM.js → chunk.EBSBAFCX.js} +2 -2
- package/dist/esm/chunks/{chunk.RES7WDKH.js → chunk.F2EBSV5Z.js} +2 -2
- package/dist/esm/chunks/chunk.F6KM5FO6.js +7 -0
- package/dist/esm/chunks/{chunk.5WMYF27O.js.map → chunk.F6KM5FO6.js.map} +2 -2
- package/dist/esm/chunks/{chunk.BBCZNGT3.js → chunk.FB6ZLH6P.js} +2 -2
- package/dist/esm/chunks/{chunk.VFKHRAWD.js → chunk.FQSL747N.js} +2 -2
- package/dist/esm/chunks/{chunk.JVLJH6PR.js → chunk.G2BNY5QQ.js} +2 -2
- package/dist/esm/chunks/{chunk.URJQNB3S.js → chunk.GS72TBUD.js} +2 -2
- package/dist/esm/chunks/{chunk.5PG6WIIX.js → chunk.GT3VPSXY.js} +2 -2
- package/dist/esm/chunks/{chunk.IMLJD35R.js → chunk.GWJ4QCSW.js} +2 -2
- package/dist/esm/chunks/{chunk.IISWKFCX.js → chunk.H7GW57Q6.js} +2 -2
- package/dist/esm/chunks/{chunk.BB4UF5RX.js → chunk.HHHBS6FB.js} +2 -2
- package/dist/esm/chunks/{chunk.KPJWP77R.js → chunk.I3NHK2S3.js} +2 -2
- package/dist/esm/chunks/{chunk.5N4N6DL6.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.BQ2X5SBP.js → chunk.IVUK3W34.js} +2 -2
- package/dist/esm/chunks/{chunk.ZGRQDDHO.js → chunk.IW7HALLT.js} +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.7ZROQ6D3.js → chunk.J3B5CWKT.js} +2 -2
- package/dist/esm/chunks/{chunk.TBGMJQYJ.js → chunk.JVK64JDZ.js} +2 -2
- package/dist/esm/chunks/chunk.KFDYMENL.js +7 -0
- package/dist/esm/chunks/chunk.KFDYMENL.js.map +7 -0
- package/dist/esm/chunks/{chunk.AUBOJZQ7.js → chunk.KLPF4CNX.js} +2 -2
- package/dist/esm/chunks/chunk.KTYYBWTN.js +7 -0
- package/dist/esm/chunks/{chunk.QN5T26HH.js.map → chunk.KTYYBWTN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.IT7XPDAV.js → chunk.L4Y4RO5O.js} +2 -2
- package/dist/esm/chunks/{chunk.IAWYYNUU.js → chunk.LCNR2RPT.js} +2 -2
- package/dist/esm/chunks/{chunk.TU74SREL.js → chunk.LMIKNDBS.js} +2 -2
- package/dist/esm/chunks/{chunk.5A2PA7TL.js → chunk.LOBKFTRM.js} +2 -2
- package/dist/esm/chunks/chunk.LOBKFTRM.js.map +7 -0
- package/dist/esm/chunks/{chunk.HSI7B43D.js → chunk.LS7WRRT2.js} +2 -2
- package/dist/esm/chunks/{chunk.HSI7B43D.js.map → chunk.LS7WRRT2.js.map} +2 -2
- package/dist/esm/chunks/{chunk.VO6YJCEU.js → chunk.LSNAGIIH.js} +2 -2
- package/dist/esm/chunks/{chunk.ARQMMZJL.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.AMLT6XJP.js → chunk.NG6UZ4OL.js} +2 -2
- package/dist/esm/chunks/{chunk.YKIBREM5.js → chunk.NYYXUH3X.js} +2 -2
- package/dist/esm/chunks/{chunk.HRRJIFC5.js → chunk.NZKIFXBU.js} +2 -2
- package/dist/esm/chunks/{chunk.YAERJVPL.js → chunk.OED5UCYT.js} +2 -2
- package/dist/esm/chunks/{chunk.72JVXGHF.js → chunk.OUACQISE.js} +2 -2
- package/dist/esm/chunks/{chunk.72JVXGHF.js.map → chunk.OUACQISE.js.map} +1 -1
- package/dist/esm/chunks/{chunk.RP674CRC.js → chunk.OYO5O3NF.js} +2 -2
- package/dist/esm/chunks/{chunk.LCR4YH3O.js → chunk.P7LC3YYW.js} +2 -2
- package/dist/esm/chunks/{chunk.KV5IKYG2.js → chunk.PK7R6WDF.js} +2 -2
- package/dist/esm/chunks/{chunk.PYR2OCCH.js → chunk.PQQVUUHU.js} +2 -2
- package/dist/esm/chunks/{chunk.SLJ6HDK7.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.36C6SIPW.js → chunk.QFY23EWU.js} +2 -2
- package/dist/esm/chunks/{chunk.S5QL4SPT.js → chunk.RCSBJQ4G.js} +2 -2
- package/dist/esm/chunks/chunk.RDW7Z4W5.js +7 -0
- package/dist/esm/chunks/chunk.RDW7Z4W5.js.map +7 -0
- package/dist/esm/chunks/{chunk.FYVDTZLF.js → chunk.RYNQDXFA.js} +2 -2
- package/dist/esm/chunks/{chunk.HAKF2T2D.js → chunk.RZZBM3AW.js} +2 -2
- package/dist/esm/chunks/{chunk.3ZPSN2QG.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.XYAZVLPR.js → chunk.T34DG7BU.js} +2 -2
- package/dist/esm/chunks/chunk.TA3MVDUU.js +7 -0
- package/dist/esm/chunks/chunk.TA3MVDUU.js.map +7 -0
- package/dist/esm/chunks/{chunk.3HCYRDRI.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.R6LQBI42.js → chunk.TZFUKJ24.js} +2 -2
- package/dist/esm/chunks/{chunk.SIRXAA3O.js → chunk.U5WMRBSC.js} +2 -2
- package/dist/esm/chunks/chunk.URCJO73M.js +7 -0
- package/dist/esm/chunks/{chunk.WY3E33CW.js.map → chunk.URCJO73M.js.map} +2 -2
- package/dist/esm/chunks/{chunk.GNDKQPDV.js → chunk.UWZWXNTW.js} +2 -2
- package/dist/esm/chunks/{chunk.KV67JXOC.js → chunk.VD5ZL5ZN.js} +2 -2
- package/dist/esm/chunks/{chunk.G7SMCLHQ.js → chunk.VDZ7HBKM.js} +2 -2
- package/dist/esm/chunks/{chunk.NUMKGUCK.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.HDG2GHKC.js → chunk.YKZ25J6B.js} +2 -2
- package/dist/esm/chunks/{chunk.7V4BDSA5.js → chunk.Z2RB75TN.js} +2 -2
- package/dist/esm/chunks/chunk.Z7PBGV4K.js +7 -0
- package/dist/esm/chunks/{chunk.AMZZKEAE.js.map → chunk.Z7PBGV4K.js.map} +4 -4
- package/dist/esm/chunks/{chunk.O6V3YNMO.js → chunk.ZSD7MMVB.js} +2 -2
- 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 +1 -1
- package/dist/esm/label-value/index.js +1 -1
- package/dist/esm/linear-progress/index.js +1 -1
- package/dist/esm/list/index.js +1 -1
- package/dist/esm/list/list/index.js +1 -1
- package/dist/esm/list/list-item/index.js +1 -1
- package/dist/esm/list-dropdown/index.js +1 -1
- package/dist/esm/menu/index.js +1 -1
- package/dist/esm/open-icon/index.js +1 -1
- package/dist/esm/page-state/index.js +1 -1
- package/dist/esm/paginator/index.js +1 -1
- package/dist/esm/popup/index.js +1 -1
- package/dist/esm/product-icon/index.js +1 -1
- package/dist/esm/profile-card/index.js +1 -1
- package/dist/esm/quantity-field/index.js +1 -1
- package/dist/esm/radio/index.js +1 -1
- package/dist/esm/ripple/index.js +1 -1
- package/dist/esm/scaffold/index.js +1 -1
- package/dist/esm/select/core/index.js +1 -1
- package/dist/esm/select/index.js +1 -1
- package/dist/esm/select/option/index.js +1 -1
- package/dist/esm/select/option-group/index.js +1 -1
- package/dist/esm/select/select/index.js +1 -1
- package/dist/esm/select/select-dropdown/index.js +1 -1
- package/dist/esm/skeleton/index.js +1 -1
- package/dist/esm/slider/index.js +1 -1
- package/dist/esm/split-button/index.js +1 -1
- package/dist/esm/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view/index.js +1 -1
- package/dist/esm/split-view/split-view-panel/index.js +1 -1
- package/dist/esm/stack/index.js +1 -1
- package/dist/esm/state-layer/index.js +1 -1
- package/dist/esm/stepper/index.js +1 -1
- package/dist/esm/stepper/step/index.js +1 -1
- package/dist/esm/stepper/stepper/index.js +1 -1
- package/dist/esm/switch/index.js +1 -1
- package/dist/esm/table/index.js +1 -1
- package/dist/esm/tabs/index.js +1 -1
- package/dist/esm/tabs/tab/index.js +1 -1
- package/dist/esm/tabs/tab-bar/index.js +1 -1
- package/dist/esm/text-field/index.js +1 -1
- package/dist/esm/time-picker/index.js +1 -1
- package/dist/esm/toast/index.js +1 -1
- package/dist/esm/toolbar/index.js +1 -1
- package/dist/esm/tooltip/index.js +1 -1
- package/dist/esm/view-switcher/index.js +1 -1
- package/dist/esm/view-switcher/view/index.js +1 -1
- package/dist/forge-dark.css +1 -1
- package/dist/forge.css +1 -1
- package/dist/theme/forge-theme.css +1 -1
- package/esm/app-bar/app-bar/app-bar-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 +26 -5
- 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/button/base/base-button-adapter.d.ts +4 -8
- package/esm/button/base/base-button-adapter.js +5 -17
- package/esm/button/base/base-button-constants.d.ts +3 -0
- package/esm/button/base/base-button-foundation.d.ts +6 -7
- package/esm/button/base/base-button-foundation.js +10 -4
- package/esm/button/base/base-button.d.ts +3 -1
- package/esm/button/base/base-button.js +6 -0
- package/esm/button/button.js +3 -5
- package/esm/checkbox/checkbox.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 +1 -2
- package/esm/circular-progress/circular-progress-constants.js +1 -2
- package/esm/circular-progress/circular-progress-foundation.d.ts +0 -1
- package/esm/circular-progress/circular-progress-foundation.js +3 -5
- package/esm/circular-progress/circular-progress.d.ts +1 -2
- package/esm/circular-progress/circular-progress.js +6 -11
- package/esm/constants.d.ts +9 -0
- package/esm/core/base/base-adapter.js +1 -1
- package/esm/core/utils/utils.d.ts +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.js +2 -2
- package/esm/icon-button/icon-button-constants.d.ts +3 -3
- package/esm/icon-button/icon-button.d.ts +51 -0
- package/esm/icon-button/icon-button.js +54 -5
- package/esm/icon-button/index.d.ts +3 -1
- package/esm/icon-button/index.js +3 -1
- package/esm/index.js +2 -2
- package/esm/label/label-foundation.js +4 -2
- 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 +0 -1
- package/esm/linear-progress/linear-progress-constants.js +1 -2
- package/esm/linear-progress/linear-progress-foundation.d.ts +1 -1
- package/esm/linear-progress/linear-progress-foundation.js +2 -2
- package/esm/linear-progress/linear-progress.d.ts +1 -1
- package/esm/linear-progress/linear-progress.js +5 -7
- package/esm/list/list-item/list-item.js +2 -2
- package/esm/menu/menu-constants.js +1 -1
- 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/slider/slider.js +1 -1
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/switch/switch.js +1 -1
- package/esm/tabs/tab/tab.js +1 -1
- package/esm/toolbar/toolbar.js +1 -1
- package/package.json +1 -2
- 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/button/button.scss +18 -5
- package/styles/circular-progress/_core.scss +2 -0
- package/styles/circular-progress/circular-progress.scss +2 -2
- package/styles/core/styles/elevation/index.scss +10 -0
- package/styles/core/styles/spacing/index.scss +1 -1
- package/styles/core/styles/theme/index.scss +2 -0
- package/styles/core/styles/tokens/app-bar/app-bar/_tokens.scss +35 -0
- package/styles/core/styles/tokens/circular-progress/_tokens.scss +2 -1
- package/styles/core/styles/tokens/floating-action-button/_tokens.scss +66 -0
- package/styles/core/styles/tokens/icon-button/_tokens.scss +1 -1
- 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 +2 -0
- package/styles/core/styles/tokens/theme/_token-utils.scss +2 -2
- package/styles/core/styles/tokens/theme/_tokens.brand.scss +22 -0
- package/styles/core/styles/tokens/theme/_tokens.scss +3 -0
- 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/focus-indicator.scss +11 -28
- package/styles/forge.scss +0 -1
- package/styles/icon-button/_core.scss +0 -4
- package/styles/icon-button/icon-button.scss +45 -11
- package/styles/list/list-item/list-item.scss +2 -0
- 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 -6
- package/styles/theme/_theme-dark.scss +0 -3
- package/styles/toolbar/_mixins.scss +0 -1
- package/dist/esm/chunks/chunk.36F2GVWS.js +0 -7
- package/dist/esm/chunks/chunk.36F2GVWS.js.map +0 -7
- package/dist/esm/chunks/chunk.4SPEX2GJ.js +0 -7
- package/dist/esm/chunks/chunk.4SPEX2GJ.js.map +0 -7
- package/dist/esm/chunks/chunk.4YFJVHXN.js +0 -7
- package/dist/esm/chunks/chunk.4YFJVHXN.js.map +0 -7
- package/dist/esm/chunks/chunk.5A2PA7TL.js.map +0 -7
- package/dist/esm/chunks/chunk.5CSXPRL3.js +0 -7
- package/dist/esm/chunks/chunk.5CSXPRL3.js.map +0 -7
- package/dist/esm/chunks/chunk.5LVZVQXB.js +0 -7
- package/dist/esm/chunks/chunk.5LVZVQXB.js.map +0 -7
- package/dist/esm/chunks/chunk.5WMYF27O.js +0 -7
- package/dist/esm/chunks/chunk.6M27ERWW.js +0 -12
- package/dist/esm/chunks/chunk.6M27ERWW.js.map +0 -7
- package/dist/esm/chunks/chunk.6ZNBFKNP.js +0 -7
- package/dist/esm/chunks/chunk.6ZNBFKNP.js.map +0 -7
- package/dist/esm/chunks/chunk.AMZZKEAE.js +0 -7
- package/dist/esm/chunks/chunk.APPY5AYL.js +0 -7
- package/dist/esm/chunks/chunk.APPY5AYL.js.map +0 -7
- package/dist/esm/chunks/chunk.AUCBR6CC.js +0 -7
- package/dist/esm/chunks/chunk.AUCBR6CC.js.map +0 -7
- package/dist/esm/chunks/chunk.EJX6RI4I.js +0 -7
- package/dist/esm/chunks/chunk.EJX6RI4I.js.map +0 -7
- package/dist/esm/chunks/chunk.EWK76SPH.js +0 -7
- package/dist/esm/chunks/chunk.EWK76SPH.js.map +0 -7
- package/dist/esm/chunks/chunk.FAXYCG55.js +0 -7
- package/dist/esm/chunks/chunk.FAXYCG55.js.map +0 -7
- package/dist/esm/chunks/chunk.LUNKNRRH.js +0 -7
- package/dist/esm/chunks/chunk.PMYQY3D3.js +0 -7
- package/dist/esm/chunks/chunk.QN5T26HH.js +0 -7
- package/dist/esm/chunks/chunk.QQRPV4RN.js +0 -7
- package/dist/esm/chunks/chunk.STB2FEUA.js +0 -7
- package/dist/esm/chunks/chunk.WMVYRDUJ.js +0 -7
- package/dist/esm/chunks/chunk.WMVYRDUJ.js.map +0 -7
- package/dist/esm/chunks/chunk.WY3E33CW.js +0 -7
- package/dist/esm/chunks/chunk.XLL7L2UB.js +0 -7
- package/dist/esm/chunks/chunk.XLL7L2UB.js.map +0 -7
- package/dist/esm/chunks/chunk.XNFS7YIB.js +0 -7
- package/dist/esm/chunks/chunk.YWAUEUAH.js +0 -7
- package/dist/esm/chunks/chunk.YWAUEUAH.js.map +0 -7
- package/dist/esm/chunks/chunk.ZKM667OT.js +0 -7
- package/dist/esm/chunks/chunk.ZKM667OT.js.map +0 -7
- package/dist/floating-action-button/forge-floating-action-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/styles/app-bar/_mixins.scss +0 -254
- package/styles/app-bar/_variables.scss +0 -34
- package/styles/app-bar/app-bar.scss +0 -22
- 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/profile-card/_mixins.scss +0 -83
- /package/dist/esm/chunks/{chunk.FLWNOP42.js.map → chunk.26E4L52W.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZRSDTCSD.js.map → chunk.2GYZM6ZG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PMYQY3D3.js.map → chunk.3RMBFRGC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DTLZOIUQ.js.map → chunk.3UO6S3IK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MWYQRG5W.js.map → chunk.4B5IOZAT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IDMDBMBR.js.map → chunk.4QDN5PM6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z5RROENA.js.map → chunk.543K5Y4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.W2LN45WY.js.map → chunk.57PXXJA6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.675V42JS.js.map → chunk.5C24LZNU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.V24M62MC.js.map → chunk.5H4G6BWX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QLCVRJ3Q.js.map → chunk.5VHUMZYS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OWZREAT6.js.map → chunk.6DXDNQUR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7VMJLHQY.js.map → chunk.6Q3SV2R2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IHAHJPMB.js.map → chunk.7ABZUBTT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z5ZLKM7W.js.map → chunk.7BGOH44S.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LOG6GQOK.js.map → chunk.7DHDFH5L.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3R4BUIQP.js.map → chunk.7PP6QHOM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YBZK6LJZ.js.map → chunk.7UXLLUTN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5RM65QPN.js.map → chunk.7W2UWAZX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.6NTYTHAL.js.map → chunk.AEJGC4YG.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BTXY3XMJ.js.map → chunk.B46Q3AFP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QJCNMYD3.js.map → chunk.BFUGFHEH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2ZU6LWHE.js.map → chunk.BMQYEYCT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HOLCNJXC.js.map → chunk.C5IB44HX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G73KL7P2.js.map → chunk.CTZ3AWDW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QLOYOZN3.js.map → chunk.DD35U4AA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XEFWZKHQ.js.map → chunk.DDXIHZFX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.MKJCHUJH.js.map → chunk.DOEG3DWJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2MSL7CYM.js.map → chunk.DTKFE7YB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FXIWCHLW.js.map → chunk.E3GVKR4E.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FFHSUJFM.js.map → chunk.EBSBAFCX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RES7WDKH.js.map → chunk.F2EBSV5Z.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BBCZNGT3.js.map → chunk.FB6ZLH6P.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VFKHRAWD.js.map → chunk.FQSL747N.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JVLJH6PR.js.map → chunk.G2BNY5QQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.URJQNB3S.js.map → chunk.GS72TBUD.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5PG6WIIX.js.map → chunk.GT3VPSXY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IMLJD35R.js.map → chunk.GWJ4QCSW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IISWKFCX.js.map → chunk.H7GW57Q6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BB4UF5RX.js.map → chunk.HHHBS6FB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KPJWP77R.js.map → chunk.I3NHK2S3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5N4N6DL6.js.map → chunk.IEB5KRFQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BQ2X5SBP.js.map → chunk.IVUK3W34.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZGRQDDHO.js.map → chunk.IW7HALLT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7ZROQ6D3.js.map → chunk.J3B5CWKT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TBGMJQYJ.js.map → chunk.JVK64JDZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AUBOJZQ7.js.map → chunk.KLPF4CNX.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IT7XPDAV.js.map → chunk.L4Y4RO5O.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IAWYYNUU.js.map → chunk.LCNR2RPT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TU74SREL.js.map → chunk.LMIKNDBS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VO6YJCEU.js.map → chunk.LSNAGIIH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ARQMMZJL.js.map → chunk.LXX3YZYS.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.AMLT6XJP.js.map → chunk.NG6UZ4OL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YKIBREM5.js.map → chunk.NYYXUH3X.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HRRJIFC5.js.map → chunk.NZKIFXBU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YAERJVPL.js.map → chunk.OED5UCYT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.RP674CRC.js.map → chunk.OYO5O3NF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.LCR4YH3O.js.map → chunk.P7LC3YYW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KV5IKYG2.js.map → chunk.PK7R6WDF.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PYR2OCCH.js.map → chunk.PQQVUUHU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SLJ6HDK7.js.map → chunk.PSTGTQVK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.36C6SIPW.js.map → chunk.QFY23EWU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.S5QL4SPT.js.map → chunk.RCSBJQ4G.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.FYVDTZLF.js.map → chunk.RYNQDXFA.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HAKF2T2D.js.map → chunk.RZZBM3AW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3ZPSN2QG.js.map → chunk.SNF35Y6C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.XYAZVLPR.js.map → chunk.T34DG7BU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3HCYRDRI.js.map → chunk.THWSN3X4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.R6LQBI42.js.map → chunk.TZFUKJ24.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SIRXAA3O.js.map → chunk.U5WMRBSC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.GNDKQPDV.js.map → chunk.UWZWXNTW.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.KV67JXOC.js.map → chunk.VD5ZL5ZN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.G7SMCLHQ.js.map → chunk.VDZ7HBKM.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NUMKGUCK.js.map → chunk.W324TWF2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HDG2GHKC.js.map → chunk.YKZ25J6B.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7V4BDSA5.js.map → chunk.Z2RB75TN.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O6V3YNMO.js.map → chunk.ZSD7MMVB.js.map} +0 -0
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { getShadowElement
|
|
6
|
+
import { getShadowElement } from '@tylertech/forge-core';
|
|
7
7
|
import { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';
|
|
8
8
|
import { BaseAdapter } from '../core/base/base-adapter';
|
|
9
9
|
const indeterminateTemplate = '<svg viewBox=\"0 0 4800 4800\"><circle class=\"track-background\" pathLength=\"100\"></circle></svg><div class=\"spinner\"><div class=\"left\"><div class=\"circle\"></div></div><div class=\"right\"><div class=\"circle\"></div></div></div>';
|
|
@@ -13,6 +13,18 @@ export class CircularProgressAdapter extends BaseAdapter {
|
|
|
13
13
|
super(component);
|
|
14
14
|
this._rootElement = getShadowElement(this._component, CIRCULAR_PROGRESS_CONSTANTS.selectors.ROOT);
|
|
15
15
|
}
|
|
16
|
+
initialize() {
|
|
17
|
+
// TODO: Replace with ARIA mixin
|
|
18
|
+
if (!this._component.hasAttribute('role')) {
|
|
19
|
+
this._component.setAttribute('role', 'progressbar');
|
|
20
|
+
}
|
|
21
|
+
if (!this._component.hasAttribute('aria-valuemin')) {
|
|
22
|
+
this._component.setAttribute('aria-valuemin', '0');
|
|
23
|
+
}
|
|
24
|
+
if (!this._component.hasAttribute('aria-valuemax')) {
|
|
25
|
+
this._component.setAttribute('aria-valuemax', '1');
|
|
26
|
+
}
|
|
27
|
+
}
|
|
16
28
|
setDeterminate(value) {
|
|
17
29
|
this._tryResetTemplate();
|
|
18
30
|
this._rootElement.classList.toggle(CIRCULAR_PROGRESS_CONSTANTS.classes.INDETERMINATE, !value);
|
|
@@ -22,18 +34,15 @@ export class CircularProgressAdapter extends BaseAdapter {
|
|
|
22
34
|
}
|
|
23
35
|
else {
|
|
24
36
|
this._rootElement.insertAdjacentHTML('beforeend', indeterminateTemplate);
|
|
25
|
-
this.
|
|
37
|
+
this._component.removeAttribute('aria-valuenow');
|
|
26
38
|
this._determinateProgressCircleElement = undefined;
|
|
27
39
|
}
|
|
28
40
|
}
|
|
29
41
|
setProgress(value) {
|
|
30
42
|
var _a;
|
|
31
|
-
this.
|
|
43
|
+
this._component.setAttribute('aria-valuenow', `${value}`);
|
|
32
44
|
(_a = this._determinateProgressCircleElement) === null || _a === void 0 ? void 0 : _a.setAttribute('stroke-dashoffset', `${(1 - value) * 100}`);
|
|
33
45
|
}
|
|
34
|
-
setAriaLabel(value) {
|
|
35
|
-
toggleAttribute(this._rootElement, !!value, 'aria-label', value);
|
|
36
|
-
}
|
|
37
46
|
_tryResetTemplate() {
|
|
38
47
|
var _a;
|
|
39
48
|
const elements = (_a = this._component.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll(CIRCULAR_PROGRESS_CONSTANTS.selectors.TEMPLATES);
|
|
@@ -10,9 +10,10 @@ export class CircularProgressFoundation {
|
|
|
10
10
|
this._determinate = false;
|
|
11
11
|
this._progress = 0;
|
|
12
12
|
this._theme = 'primary';
|
|
13
|
-
this._track =
|
|
13
|
+
this._track = false;
|
|
14
14
|
}
|
|
15
15
|
initialize() {
|
|
16
|
+
this._adapter.initialize();
|
|
16
17
|
this._applyDeterminate();
|
|
17
18
|
}
|
|
18
19
|
_applyDeterminate() {
|
|
@@ -60,10 +61,7 @@ export class CircularProgressFoundation {
|
|
|
60
61
|
value = Boolean(value);
|
|
61
62
|
if (this._track !== value) {
|
|
62
63
|
this._track = value;
|
|
63
|
-
this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.
|
|
64
|
+
this._adapter.toggleHostAttribute(CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK, this._track);
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
|
-
set ariaLabel(value) {
|
|
67
|
-
this._adapter.setAriaLabel(value);
|
|
68
|
-
}
|
|
69
67
|
}
|
|
@@ -35,8 +35,7 @@ declare global {
|
|
|
35
35
|
* @attribute {boolean} determinate - Controls the determinate state.
|
|
36
36
|
* @attribute {boolean} progress - Controls the progress while in a determinate state. Accepts values from `0` to `1`.
|
|
37
37
|
* @attribute {CircularProgressTheme} theme - Controls the theme of the progress indicator.
|
|
38
|
-
* @attribute {boolean}
|
|
39
|
-
* @attribute {string} data-aria-label - Propagates an `aria-label` to the underlying progressbar element.
|
|
38
|
+
* @attribute {boolean} track - Controls the visibility of the track background.
|
|
40
39
|
*
|
|
41
40
|
* @slot - The is the default/unnamed slot. Renders content at the center of the progress indicator.
|
|
42
41
|
*
|
|
@@ -9,8 +9,8 @@ import { CircularProgressAdapter } from './circular-progress-adapter';
|
|
|
9
9
|
import { CircularProgressFoundation } from './circular-progress-foundation';
|
|
10
10
|
import { CIRCULAR_PROGRESS_CONSTANTS } from './circular-progress-constants';
|
|
11
11
|
import { BaseComponent } from '../core/base/base-component';
|
|
12
|
-
const template = '<template><div class=\"forge-circular-progress\"
|
|
13
|
-
const styles = ':host{--_circular-progress-size:var(--forge-circular-progress-size, 48px)}:host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-block-size:var(--_circular-progress-size);min-inline-size:var(--_circular-progress-size);position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;contain:strict;content-visibility:auto}:host([hidden]){display:none}.forge-circular-progress{--_circular-progress-padding:var(--forge-circular-progress-padding, 0);--_circular-progress-track-width:var(--forge-circular-progress-track-width, 12);--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-tertiary-container, #d0d7ff));--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-tertiary, #3d5afe));--_circular-progress-arc-duration:var(--forge-circular-progress-arc-duration, 1333ms);--_circular-progress-theme-transition-duration:var(--forge-circular-progress-theme-transition-duration, var(--forge-animation-duration-short3, 150ms));--_circular-progress-theme-transition-timing:var(--forge-circular-progress-theme-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-circular-progress{-webkit-box-flex:1;flex:1;align-self:stretch;margin:var(--_circular-progress-padding)}.forge-circular-progress--indeterminate{will-change:transform;-webkit-animation:linear infinite linear-rotate;animation:linear infinite linear-rotate;-webkit-animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306);animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306)}.circle,.forge-circular-progress,.left,.right,.spinner,svg{position:absolute;inset:0}.center-content{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.left{overflow:hidden;inset:0 50% 0 0}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.right .circle{rotate:100deg;inset:0 0 0 -100%;-webkit-animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s;animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s}.circle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:50%;border:solid calc(var(--_circular-progress-size) * var(--_circular-progress-track-width)/ 100);border-color:var(--_circular-progress-indicator-color) var(--_circular-progress-indicator-color) transparent transparent;-webkit-transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);will-change:transform;-webkit-animation:expand-arc;animation:expand-arc;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}svg circle{cx:50%;cy:50%;r:calc(50% * (1 - var(--_circular-progress-track-width)/ 100));stroke-width:calc(var(--_circular-progress-track-width) * 1%);stroke-dasharray:100;fill:transparent}.progress{-webkit-transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-indicator-color)}.track{stroke:transparent}.track-background{-webkit-transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-track-color)}.spinner{will-change:transform;-webkit-animation:infinite both rotate-arc;animation:infinite both rotate-arc;-webkit-animation-duration:calc(4 * var(--_circular-progress-arc-duration));animation-duration:calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}:host([theme=primary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-primary, #3f51b5));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-primary-container, #d1d5ed))}:host([theme=secondary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-secondary, #ffc107));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-secondary-container, #fff0c3))}:host([theme=success]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-success, #2e7d32));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-success-container, #cde0ce))}:host([theme=error]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-error, #b00020));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-error-container, #ecc2c9))}:host([theme=warning]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-warning, #d14900));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-warning-container, #f4d3c2))}:host([theme=info]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-info, #1565c0));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-info-container, #c7daf0))}:host([
|
|
12
|
+
const template = '<template><div class=\"forge-circular-progress\" part=\"progressbar\"><slot class=\"center-content\"></slot></div></template>';
|
|
13
|
+
const styles = ':host{--_circular-progress-size:var(--forge-circular-progress-size, 48px)}:host{display:-webkit-inline-box;display:inline-flex;vertical-align:middle;min-block-size:var(--_circular-progress-size);min-inline-size:var(--_circular-progress-size);position:relative;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-transition:background-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:background-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);contain:strict;content-visibility:auto}:host([hidden]){display:none}.forge-circular-progress{--_circular-progress-padding:var(--forge-circular-progress-padding, 0);--_circular-progress-track-width:var(--forge-circular-progress-track-width, 12);--_circular-progress-track-color:var(--forge-circular-progress-track-color, transparent);--_circular-progress-track-fill-color:var(--forge-circular-progress-track-fill-color, var(--forge-theme-tertiary-container, #d0d7ff));--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-tertiary, #3d5afe));--_circular-progress-arc-duration:var(--forge-circular-progress-arc-duration, 1333ms);--_circular-progress-theme-transition-duration:var(--forge-circular-progress-theme-transition-duration, var(--forge-animation-duration-short3, 150ms));--_circular-progress-theme-transition-timing:var(--forge-circular-progress-theme-transition-timing, var(--forge-animation-easing-standard, cubic-bezier(0.2, 0, 0, 1)))}.forge-circular-progress{-webkit-box-flex:1;flex:1;align-self:stretch;margin:var(--_circular-progress-padding)}.forge-circular-progress--indeterminate{will-change:transform;-webkit-animation:linear infinite linear-rotate;animation:linear infinite linear-rotate;-webkit-animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306);animation-duration:calc(var(--_circular-progress-arc-duration) * 360 / 306)}.circle,.forge-circular-progress,.left,.right,.spinner,svg{position:absolute;inset:0}.center-content{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:100%;height:100%}.left{overflow:hidden;inset:0 50% 0 0}.left .circle{rotate:135deg;inset:0 -100% 0 0}.right{overflow:hidden;inset:0 0 0 50%}.right .circle{rotate:100deg;inset:0 0 0 -100%;-webkit-animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s;animation-delay:calc(-.5 * var(--_circular-progress-arc-duration)),0s}.circle{-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:50%;border:solid calc(var(--_circular-progress-size) * var(--_circular-progress-track-width)/ 100);border-color:var(--_circular-progress-indicator-color) var(--_circular-progress-indicator-color) transparent transparent;-webkit-transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:border-color var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);will-change:transform;-webkit-animation:expand-arc;animation:expand-arc;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));animation-duration:var(--_circular-progress-arc-duration),calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}svg{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}svg circle{cx:50%;cy:50%;r:calc(50% * (1 - var(--_circular-progress-track-width)/ 100));stroke-width:calc(var(--_circular-progress-track-width) * 1%);stroke-dasharray:100;fill:transparent}.progress{-webkit-transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke-dashoffset .5s cubic-bezier(0, 0, .2, 1),stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-indicator-color)}.track{stroke:transparent}.track-background{-webkit-transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);transition:stroke var(--_circular-progress-theme-transition-duration) var(--_circular-progress-theme-transition-timing);stroke:var(--_circular-progress-track-color)}.spinner{will-change:transform;-webkit-animation:infinite both rotate-arc;animation:infinite both rotate-arc;-webkit-animation-duration:calc(4 * var(--_circular-progress-arc-duration));animation-duration:calc(4 * var(--_circular-progress-arc-duration));-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1)}:host([theme=primary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-primary, #3f51b5));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-primary-container, #d1d5ed))}:host([theme=secondary]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-secondary, #ffc107));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-secondary-container, #fff0c3))}:host([theme=success]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-success, #2e7d32));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-success-container, #cde0ce))}:host([theme=error]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-error, #b00020));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-error-container, #ecc2c9))}:host([theme=warning]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-warning, #d14900));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-warning-container, #f4d3c2))}:host([theme=info]) .forge-circular-progress{--_circular-progress-indicator-color:var(--forge-circular-progress-indicator-color, var(--forge-theme-info, #1565c0));--_circular-progress-track-color:var(--forge-circular-progress-track-color, var(--forge-theme-info-container, #c7daf0))}:host([track]) .forge-circular-progress{--_circular-progress-track-color:var(--_circular-progress-track-fill-color)}@media screen and (forced-colors:active){.progress{stroke:CanvasText}.circle{border-color:CanvasText CanvasText Canvas Canvas}}@-webkit-keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@keyframes expand-arc{0%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}50%{-webkit-transform:rotate(130deg);transform:rotate(130deg)}100%{-webkit-transform:rotate(265deg);transform:rotate(265deg)}}@-webkit-keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@keyframes rotate-arc{12.5%{-webkit-transform:rotate(135deg);transform:rotate(135deg)}25%{-webkit-transform:rotate(270deg);transform:rotate(270deg)}37.5%{-webkit-transform:rotate(405deg);transform:rotate(405deg)}50%{-webkit-transform:rotate(540deg);transform:rotate(540deg)}62.5%{-webkit-transform:rotate(675deg);transform:rotate(675deg)}75%{-webkit-transform:rotate(810deg);transform:rotate(810deg)}87.5%{-webkit-transform:rotate(945deg);transform:rotate(945deg)}100%{-webkit-transform:rotate(1080deg);transform:rotate(1080deg)}}@-webkit-keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes linear-rotate{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}';
|
|
14
14
|
/**
|
|
15
15
|
* @tag forge-circular-progress
|
|
16
16
|
*
|
|
@@ -30,8 +30,7 @@ const styles = ':host{--_circular-progress-size:var(--forge-circular-progress-si
|
|
|
30
30
|
* @attribute {boolean} determinate - Controls the determinate state.
|
|
31
31
|
* @attribute {boolean} progress - Controls the progress while in a determinate state. Accepts values from `0` to `1`.
|
|
32
32
|
* @attribute {CircularProgressTheme} theme - Controls the theme of the progress indicator.
|
|
33
|
-
* @attribute {boolean}
|
|
34
|
-
* @attribute {string} data-aria-label - Propagates an `aria-label` to the underlying progressbar element.
|
|
33
|
+
* @attribute {boolean} track - Controls the visibility of the track background.
|
|
35
34
|
*
|
|
36
35
|
* @slot - The is the default/unnamed slot. Renders content at the center of the progress indicator.
|
|
37
36
|
*
|
|
@@ -52,8 +51,7 @@ let CircularProgressComponent = class CircularProgressComponent extends BaseComp
|
|
|
52
51
|
CIRCULAR_PROGRESS_CONSTANTS.attributes.DETERMINATE,
|
|
53
52
|
CIRCULAR_PROGRESS_CONSTANTS.attributes.PROGRESS,
|
|
54
53
|
CIRCULAR_PROGRESS_CONSTANTS.attributes.THEME,
|
|
55
|
-
CIRCULAR_PROGRESS_CONSTANTS.attributes.
|
|
56
|
-
CIRCULAR_PROGRESS_CONSTANTS.attributes.ARIA_LABEL
|
|
54
|
+
CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK
|
|
57
55
|
];
|
|
58
56
|
}
|
|
59
57
|
constructor() {
|
|
@@ -75,11 +73,8 @@ let CircularProgressComponent = class CircularProgressComponent extends BaseComp
|
|
|
75
73
|
case CIRCULAR_PROGRESS_CONSTANTS.attributes.THEME:
|
|
76
74
|
this.theme = newValue;
|
|
77
75
|
break;
|
|
78
|
-
case CIRCULAR_PROGRESS_CONSTANTS.attributes.
|
|
79
|
-
this.track =
|
|
80
|
-
break;
|
|
81
|
-
case CIRCULAR_PROGRESS_CONSTANTS.attributes.ARIA_LABEL:
|
|
82
|
-
this._foundation.ariaLabel = newValue;
|
|
76
|
+
case CIRCULAR_PROGRESS_CONSTANTS.attributes.TRACK:
|
|
77
|
+
this.track = coerceBoolean(newValue);
|
|
83
78
|
break;
|
|
84
79
|
}
|
|
85
80
|
}
|
package/esm/constants.d.ts
CHANGED
|
@@ -12,5 +12,14 @@ export declare const internals: unique symbol;
|
|
|
12
12
|
/** A property symbol that indicates whether or not a `Focusable` element can be focused. */
|
|
13
13
|
export declare const isFocusable: unique symbol;
|
|
14
14
|
export type Theme = 'primary' | 'secondary' | 'tertiary' | 'success' | 'warning' | 'error' | 'info';
|
|
15
|
+
export type Density = 'small' | 'medium' | 'large';
|
|
15
16
|
export type MixinBase<ExpectedBase = object> = abstract new (...args: any[]) => ExpectedBase;
|
|
16
17
|
export type MixinReturn<TBase extends MixinBase, MixinClass = object> = (abstract new (...args: any[]) => MixinClass) & TBase;
|
|
18
|
+
/**
|
|
19
|
+
* The `focusVisible` property is an experimental feature that is not yet supported by all browsers.
|
|
20
|
+
*
|
|
21
|
+
* We will use this to allow for setting focus to elements programmatically and showing the focus indicator.
|
|
22
|
+
*/
|
|
23
|
+
export type ExperimentalFocusOptions = FocusOptions & {
|
|
24
|
+
focusVisible?: boolean;
|
|
25
|
+
};
|
|
@@ -76,7 +76,7 @@ export class BaseAdapter {
|
|
|
76
76
|
document.body.removeAttribute(name);
|
|
77
77
|
}
|
|
78
78
|
focusHost(options) {
|
|
79
|
-
|
|
79
|
+
HTMLElement.prototype.focus.call(this._component, options);
|
|
80
80
|
}
|
|
81
81
|
get isConnected() {
|
|
82
82
|
return this._component.isConnected;
|
|
@@ -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;
|
|
@@ -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
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseButtonFoundation, IBaseButtonFoundation } from '../button/base/base-button-foundation';
|
|
7
|
+
import { ButtonTheme } from '../button/button-constants';
|
|
8
|
+
import { IFloatingActionButtonAdapter } from './floating-action-button-adapter';
|
|
9
|
+
import { FloatingActionButtonDensity, FloatingActionButtonElevation } from './floating-action-button-constants';
|
|
10
|
+
export interface IFloatingActionButtonFoundation extends IBaseButtonFoundation {
|
|
11
|
+
theme: ButtonTheme;
|
|
12
|
+
density: FloatingActionButtonDensity;
|
|
13
|
+
elevation: FloatingActionButtonElevation;
|
|
14
|
+
}
|
|
15
|
+
export declare class FloatingActionButtonFoundation extends BaseButtonFoundation<IFloatingActionButtonAdapter> implements IFloatingActionButtonFoundation {
|
|
16
|
+
private _theme;
|
|
17
|
+
private _density;
|
|
18
|
+
private _elevation;
|
|
19
|
+
constructor(adapter: IFloatingActionButtonAdapter);
|
|
20
|
+
destroy(): void;
|
|
21
|
+
get theme(): ButtonTheme;
|
|
22
|
+
set theme(value: ButtonTheme);
|
|
23
|
+
get density(): FloatingActionButtonDensity;
|
|
24
|
+
set density(value: FloatingActionButtonDensity);
|
|
25
|
+
get elevation(): FloatingActionButtonElevation;
|
|
26
|
+
set elevation(value: FloatingActionButtonElevation);
|
|
27
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import { BaseButtonFoundation } from '../button/base/base-button-foundation';
|
|
7
|
+
import { FLOATING_ACTION_BUTTON_CONSTANTS } from './floating-action-button-constants';
|
|
8
|
+
export class FloatingActionButtonFoundation extends BaseButtonFoundation {
|
|
9
|
+
constructor(adapter) {
|
|
10
|
+
super(adapter);
|
|
11
|
+
this._theme = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
|
|
12
|
+
this._density = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
|
|
13
|
+
this._elevation = FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
|
|
14
|
+
}
|
|
15
|
+
destroy() {
|
|
16
|
+
this._adapter.destroy();
|
|
17
|
+
}
|
|
18
|
+
get theme() {
|
|
19
|
+
return this._theme;
|
|
20
|
+
}
|
|
21
|
+
set theme(value) {
|
|
22
|
+
if (this._theme !== value) {
|
|
23
|
+
this._theme = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
|
|
24
|
+
const hasAttr = this._theme !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_THEME;
|
|
25
|
+
this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.THEME, hasAttr, this._theme);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
get density() {
|
|
29
|
+
return this._density;
|
|
30
|
+
}
|
|
31
|
+
set density(value) {
|
|
32
|
+
if (this._density !== value) {
|
|
33
|
+
this._density = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
|
|
34
|
+
const hasAttr = this._density !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_DENSITY;
|
|
35
|
+
this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.DENSITY, hasAttr, this._density);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
get elevation() {
|
|
39
|
+
return this._elevation;
|
|
40
|
+
}
|
|
41
|
+
set elevation(value) {
|
|
42
|
+
if (this._elevation !== value) {
|
|
43
|
+
this._elevation = value !== null && value !== void 0 ? value : FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
|
|
44
|
+
const hasAttr = this._elevation !== FLOATING_ACTION_BUTTON_CONSTANTS.defaults.DEFAULT_ELEVATION;
|
|
45
|
+
this._adapter.toggleHostAttribute(FLOATING_ACTION_BUTTON_CONSTANTS.attributes.ELEVATION, hasAttr, this._elevation);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|