@tylertech/forge 2.13.2 → 2.14.0-dev.0
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 +1079 -233
- package/dist/esm/accordion/index.js +1 -1
- package/dist/esm/app-bar/help-button/index.js +1 -1
- package/dist/esm/app-bar/index.js +1 -1
- package/dist/esm/app-bar/menu-button/index.js +1 -1
- package/dist/esm/app-bar/notification-button/index.js +1 -1
- package/dist/esm/app-bar/profile-button/index.js +1 -1
- package/dist/esm/app-bar/search/index.js +1 -1
- package/dist/esm/autocomplete/index.js +1 -1
- package/dist/esm/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-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/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.24X566SZ.js +7 -0
- package/dist/esm/chunks/chunk.24X566SZ.js.map +7 -0
- package/dist/esm/chunks/{chunk.N24NHF7Y.js → chunk.2D4IBAWP.js} +2 -2
- package/dist/esm/chunks/chunk.323FEQVK.js +7 -0
- package/dist/esm/chunks/chunk.323FEQVK.js.map +7 -0
- package/dist/esm/chunks/{chunk.Y4L7AVUS.js → chunk.3G237L6C.js} +2 -2
- package/dist/esm/chunks/chunk.3UB364WW.js +7 -0
- package/dist/esm/chunks/chunk.3UB364WW.js.map +7 -0
- package/dist/esm/chunks/chunk.4YH3GB4D.js +12 -0
- package/dist/esm/chunks/{chunk.BTI5I25G.js.map → chunk.4YH3GB4D.js.map} +1 -1
- package/dist/esm/chunks/{chunk.HPJ4AQIE.js → chunk.54RF4ZT6.js} +2 -2
- package/dist/esm/chunks/{chunk.ALJ3FDXL.js → chunk.5DKXUTFN.js} +2 -2
- package/dist/esm/chunks/{chunk.ALJ3FDXL.js.map → chunk.5DKXUTFN.js.map} +1 -1
- package/dist/esm/chunks/{chunk.5TVWDATE.js → chunk.5W5IPKAU.js} +2 -2
- package/dist/esm/chunks/{chunk.PBJEZJTY.js → chunk.65G33MJV.js} +2 -2
- package/dist/esm/chunks/{chunk.TLS4ALGU.js → chunk.6NBVXSNZ.js} +2 -2
- package/dist/esm/chunks/{chunk.Z4MN5NB5.js → chunk.73O3BMP2.js} +2 -2
- package/dist/esm/chunks/{chunk.WEUNLYMQ.js → chunk.7LBAA7TC.js} +2 -2
- package/dist/esm/chunks/chunk.AGEBZY4S.js +7 -0
- package/dist/esm/chunks/chunk.AGEBZY4S.js.map +7 -0
- package/dist/esm/chunks/chunk.B5HGV5EZ.js +7 -0
- package/dist/esm/chunks/chunk.B5HGV5EZ.js.map +7 -0
- package/dist/esm/chunks/chunk.C557PTJ5.js +7 -0
- package/dist/esm/chunks/chunk.C557PTJ5.js.map +7 -0
- package/dist/esm/chunks/{chunk.VW4JVRH7.js → chunk.CN7DHS4J.js} +2 -2
- package/dist/esm/chunks/chunk.CUT7V2KN.js +7 -0
- package/dist/esm/chunks/chunk.CUT7V2KN.js.map +7 -0
- package/dist/esm/chunks/chunk.CZIQTYFJ.js +7 -0
- package/dist/esm/chunks/chunk.CZIQTYFJ.js.map +7 -0
- package/dist/esm/chunks/{chunk.BYRJ7577.js → chunk.DRI2NLIB.js} +2 -2
- package/dist/esm/chunks/chunk.EE2LK23T.js +7 -0
- package/dist/esm/chunks/chunk.EE2LK23T.js.map +7 -0
- package/dist/esm/chunks/chunk.EXKBJEFL.js +7 -0
- package/dist/esm/chunks/{chunk.ZPBGKHHM.js.map → chunk.EXKBJEFL.js.map} +2 -2
- package/dist/esm/chunks/{chunk.7MVBJ37L.js → chunk.FBERE7AL.js} +2 -2
- package/dist/esm/chunks/{chunk.OJFI5I6O.js → chunk.FQEETXUQ.js} +2 -2
- package/dist/esm/chunks/{chunk.3STDLL5U.js → chunk.G5JTL66M.js} +2 -2
- package/dist/esm/chunks/chunk.GVZEMIA3.js +7 -0
- package/dist/esm/chunks/chunk.GVZEMIA3.js.map +7 -0
- package/dist/esm/chunks/{chunk.BCP2YATB.js → chunk.GZEWDHFJ.js} +2 -2
- package/dist/esm/chunks/chunk.HQJZRTOH.js +7 -0
- package/dist/esm/chunks/chunk.HQJZRTOH.js.map +7 -0
- package/dist/esm/chunks/{chunk.ZAGCOV55.js → chunk.HUX56BCR.js} +2 -2
- package/dist/esm/chunks/chunk.K5WLIDQK.js +7 -0
- package/dist/esm/chunks/chunk.K5WLIDQK.js.map +7 -0
- package/dist/esm/chunks/chunk.LGECRZFO.js +7 -0
- package/dist/esm/chunks/chunk.LGECRZFO.js.map +7 -0
- package/dist/esm/chunks/{chunk.MBS5VMYY.js → chunk.LYAS4FAN.js} +2 -2
- package/dist/esm/chunks/{chunk.MBS5VMYY.js.map → chunk.LYAS4FAN.js.map} +2 -2
- package/dist/esm/chunks/{chunk.YG2KLPHA.js.map → chunk.MU4FV57Q.js} +7 -7
- package/dist/esm/chunks/chunk.MU4FV57Q.js.map +7 -0
- package/dist/esm/chunks/chunk.N6QJ2RRG.js +7 -0
- package/dist/esm/chunks/chunk.N6QJ2RRG.js.map +7 -0
- package/dist/esm/chunks/{chunk.O5I3ZMDA.js → chunk.NG5EGZ5Y.js} +2 -2
- package/dist/esm/chunks/chunk.NXS7A7PO.js +7 -0
- package/dist/esm/chunks/{chunk.5BDTX7CR.js.map → chunk.NXS7A7PO.js.map} +2 -2
- package/dist/esm/chunks/{chunk.SLSVRMAS.js → chunk.NZTGBDRK.js} +2 -2
- package/dist/esm/chunks/{chunk.OLNFXF3V.js → chunk.O4LGKJY6.js} +2 -2
- package/dist/esm/chunks/{chunk.NV2HNCQH.js → chunk.OGZOXNGT.js} +2 -2
- package/dist/esm/chunks/chunk.OKIRZEUG.js +7 -0
- package/dist/esm/chunks/chunk.OKIRZEUG.js.map +7 -0
- package/dist/esm/chunks/{chunk.36VS7FMU.js → chunk.OTI6WL66.js} +2 -2
- package/dist/esm/chunks/chunk.P45HS252.js +7 -0
- package/dist/esm/chunks/chunk.P45HS252.js.map +7 -0
- package/dist/esm/chunks/{chunk.Y5GQ2BA7.js → chunk.P5GT5YBP.js} +2 -2
- package/dist/esm/chunks/chunk.P6IF3USM.js +7 -0
- package/dist/esm/chunks/chunk.P6IF3USM.js.map +7 -0
- package/dist/esm/chunks/chunk.PBL2N45I.js +7 -0
- package/dist/esm/chunks/chunk.PBL2N45I.js.map +7 -0
- package/dist/esm/chunks/{chunk.HWQEGQDD.js → chunk.PHJPLWFH.js} +2 -2
- package/dist/esm/chunks/chunk.PRO76W5D.js +7 -0
- package/dist/esm/chunks/{chunk.7TDB3VFH.js.map → chunk.PRO76W5D.js.map} +2 -2
- package/dist/esm/chunks/chunk.PV5MABYN.js +7 -0
- package/dist/esm/chunks/chunk.PV5MABYN.js.map +7 -0
- package/dist/esm/chunks/chunk.R2L3S3YD.js +7 -0
- package/dist/esm/chunks/chunk.R2L3S3YD.js.map +7 -0
- package/dist/esm/chunks/{chunk.QH4DLM3R.js → chunk.R4NZYUID.js} +2 -2
- package/dist/esm/chunks/chunk.RH2NL523.js +7 -0
- package/dist/esm/chunks/chunk.RH2NL523.js.map +7 -0
- package/dist/esm/chunks/{chunk.IMZ5PF4C.js → chunk.ROF42KJ3.js} +2 -2
- package/dist/esm/chunks/{chunk.B52LJRGH.js → chunk.RT4C67NK.js} +2 -2
- package/dist/esm/chunks/chunk.T2M2KVP7.js +29 -0
- package/dist/esm/chunks/chunk.T2M2KVP7.js.map +7 -0
- package/dist/esm/chunks/chunk.TMJBIAWC.js +7 -0
- package/dist/esm/chunks/chunk.TMJBIAWC.js.map +7 -0
- package/dist/esm/chunks/{chunk.HHJJJ73Y.js → chunk.UPFJ3PVE.js} +2 -2
- package/dist/esm/chunks/{chunk.HHJJJ73Y.js.map → chunk.UPFJ3PVE.js.map} +1 -1
- package/dist/esm/chunks/{chunk.DB2WESQC.js → chunk.XC76IHG4.js} +2 -2
- package/dist/esm/chunks/chunk.XCUYZZV4.js +7 -0
- package/dist/esm/chunks/chunk.XCUYZZV4.js.map +7 -0
- package/dist/esm/chunks/{chunk.YONRMJU5.js → chunk.XMI5RBZQ.js} +2 -2
- package/dist/esm/chunks/chunk.XMI5RBZQ.js.map +7 -0
- package/dist/esm/chunks/chunk.XY4N4TSH.js +7 -0
- package/dist/esm/chunks/chunk.XY4N4TSH.js.map +7 -0
- package/dist/esm/chunks/{chunk.N46G56GG.js → chunk.YKXCORJE.js} +2 -2
- package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js → chunk.YPMN5U7C.js} +2 -2
- package/dist/esm/chunks/{chunk.X5JLUP7O.js → chunk.YW47QJVY.js} +2 -2
- package/dist/esm/chunks/{chunk.JXY6MTP3.js → chunk.ZAKLVVFO.js} +2 -2
- package/dist/esm/chunks/{chunk.YWRCWMNO.js → chunk.ZQCHS2PS.js} +2 -2
- package/dist/esm/color-picker/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/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/icon/index.js +1 -1
- package/dist/esm/icon-button/index.js +1 -1
- package/dist/esm/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/paginator/index.js +1 -1
- package/dist/esm/popup/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/select/core/index.js +1 -1
- package/dist/esm/select/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/slider/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/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/esm/app-bar/notification-button/app-bar-notification-button-adapter.d.ts +3 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-adapter.js +5 -0
- 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 +2 -1
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.d.ts +4 -0
- package/esm/app-bar/notification-button/app-bar-notification-button-foundation.js +14 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.d.ts +2 -0
- package/esm/app-bar/notification-button/app-bar-notification-button.js +9 -2
- package/esm/autocomplete/autocomplete-adapter.d.ts +9 -10
- package/esm/autocomplete/autocomplete-adapter.js +1 -1
- package/esm/autocomplete/autocomplete-constants.d.ts +10 -12
- package/esm/autocomplete/autocomplete-foundation.d.ts +6 -7
- package/esm/autocomplete/autocomplete-foundation.js +5 -2
- package/esm/autocomplete/autocomplete-utils.d.ts +4 -5
- package/esm/autocomplete/autocomplete.d.ts +3 -4
- package/esm/autocomplete/autocomplete.js +2 -2
- package/esm/button/button-constants.d.ts +1 -0
- package/esm/button/button-constants.js +2 -1
- package/esm/button/button.d.ts +1 -1
- package/esm/button/button.js +6 -7
- package/esm/calendar/calendar-foundation.js +1 -0
- package/esm/checkbox/checkbox-adapter.d.ts +1 -2
- package/esm/checkbox/checkbox-adapter.js +12 -8
- package/esm/checkbox/checkbox-foundation.js +0 -3
- package/esm/chip-field/chip-field-adapter.d.ts +2 -0
- package/esm/chip-field/chip-field-adapter.js +8 -3
- package/esm/chip-field/chip-field-foundation.js +1 -0
- package/esm/chip-field/chip-field.js +1 -1
- package/esm/color-picker/color-picker-foundation.d.ts +1 -0
- package/esm/color-picker/color-picker-foundation.js +19 -8
- package/esm/core/utils/date-utils.js +2 -2
- package/esm/core/utils/utils.d.ts +0 -6
- package/esm/core/utils/utils.js +0 -10
- package/esm/date-picker/base/base-date-picker-foundation.js +2 -1
- package/esm/date-picker/base/base-date-picker.d.ts +2 -2
- package/esm/date-range-picker/date-range-picker-foundation.d.ts +2 -2
- package/esm/date-range-picker/date-range-picker-foundation.js +1 -1
- package/esm/dialog/dialog-adapter.d.ts +0 -2
- package/esm/dialog/dialog-adapter.js +1 -10
- package/esm/dialog/dialog-foundation.js +0 -1
- package/esm/file-picker/file-picker-adapter.js +3 -2
- package/esm/file-picker/file-picker-foundation.d.ts +2 -0
- package/esm/file-picker/file-picker-foundation.js +15 -38
- package/esm/file-picker/file-picker.d.ts +1 -0
- package/esm/file-picker/file-picker.js +3 -0
- package/esm/floating-action-button/floating-action-button-constants.js +1 -1
- package/esm/icon-button/icon-button-constants.js +1 -1
- package/esm/icon-button/icon-button.d.ts +1 -1
- package/esm/icon-button/icon-button.js +6 -6
- package/esm/linear-progress/linear-progress.js +1 -1
- package/esm/list/list-item/list-item-foundation.js +1 -2
- package/esm/list/list-item/list-item.js +1 -1
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.d.ts +5 -2
- package/esm/list-dropdown/cascading-list-dropdown-aware-foundation.js +3 -1
- package/esm/list-dropdown/list-dropdown-aware-foundation.d.ts +8 -0
- package/esm/list-dropdown/list-dropdown-aware-foundation.js +14 -0
- package/esm/list-dropdown/list-dropdown-aware.d.ts +11 -2
- package/esm/list-dropdown/list-dropdown-aware.js +12 -0
- package/esm/list-dropdown/list-dropdown-constants.d.ts +9 -3
- package/esm/list-dropdown/list-dropdown-constants.js +2 -0
- package/esm/list-dropdown/list-dropdown-foundation.js +2 -6
- package/esm/list-dropdown/list-dropdown-utils.d.ts +1 -0
- package/esm/list-dropdown/list-dropdown-utils.js +39 -17
- package/esm/menu/menu-adapter.d.ts +2 -0
- package/esm/menu/menu-adapter.js +7 -0
- package/esm/menu/menu-constants.js +1 -1
- package/esm/menu/menu-foundation.d.ts +12 -3
- package/esm/menu/menu-foundation.js +28 -17
- package/esm/menu/menu.d.ts +6 -1
- package/esm/menu/menu.js +9 -3
- package/esm/popup/popup-adapter.js +9 -1
- package/esm/popup/popup-constants.d.ts +1 -0
- package/esm/popup/popup-constants.js +2 -1
- package/esm/popup/popup-foundation.d.ts +4 -0
- package/esm/popup/popup-foundation.js +7 -0
- package/esm/popup/popup.d.ts +2 -0
- package/esm/popup/popup.js +4 -1
- package/esm/quantity-field/quantity-field-adapter.d.ts +2 -0
- package/esm/quantity-field/quantity-field-adapter.js +8 -0
- package/esm/quantity-field/quantity-field-foundation.js +1 -0
- package/esm/quantity-field/quantity-field.js +6 -0
- package/esm/radio/radio-adapter.d.ts +3 -3
- package/esm/radio/radio-adapter.js +17 -15
- package/esm/radio/radio-foundation.js +1 -1
- package/esm/ripple/forge-ripple.d.ts +1 -0
- package/esm/ripple/forge-ripple.js +3 -0
- package/esm/ripple/ripple-constants.d.ts +1 -0
- package/esm/ripple/ripple-constants.js +2 -1
- package/esm/ripple/ripple-foundation.d.ts +4 -0
- package/esm/ripple/ripple-foundation.js +10 -0
- package/esm/ripple/ripple.d.ts +2 -0
- package/esm/ripple/ripple.js +8 -1
- package/esm/select/core/base-select-adapter.js +8 -6
- package/esm/select/core/base-select-constants.d.ts +2 -0
- package/esm/select/core/base-select-constants.js +3 -1
- package/esm/select/core/base-select-foundation.d.ts +0 -9
- package/esm/select/core/base-select-foundation.js +5 -26
- package/esm/select/core/select-utils.js +1 -1
- package/esm/select/option-group/option-group.d.ts +12 -1
- package/esm/select/option-group/option-group.js +7 -0
- package/esm/select/select/select.js +5 -3
- package/esm/split-view/split-view-panel/split-view-panel.js +1 -1
- package/esm/switch/switch.js +37 -12
- package/esm/table/table-foundation.d.ts +7 -0
- package/esm/table/table-foundation.js +9 -0
- package/esm/table/table-utils.js +6 -3
- package/esm/table/table.d.ts +7 -0
- package/esm/table/table.js +8 -0
- package/esm/table/types.d.ts +8 -4
- package/esm/text-field/text-field.js +1 -1
- package/esm/time-picker/time-picker-foundation.js +1 -0
- package/esm/toolbar/toolbar.js +2 -2
- package/package.json +30 -3
- package/styles/chip-field/_selector.scss +12 -13
- package/styles/chip-field/chip-field.scss +1 -1
- package/styles/field/_base.scss +2 -2
- package/styles/field/_selector.scss +1 -1
- package/styles/list/list-item/_mixins.scss +28 -17
- package/styles/list/list-item/_variables.scss +13 -4
- package/styles/popup/popup.scss +4 -0
- package/styles/toolbar/_mixins.scss +1 -2
- package/styles/toolbar/toolbar.scss +13 -0
- package/dist/esm/chunks/chunk.3MP6OFVU.js +0 -7
- package/dist/esm/chunks/chunk.3MP6OFVU.js.map +0 -7
- package/dist/esm/chunks/chunk.4K3IV4GI.js +0 -7
- package/dist/esm/chunks/chunk.4K3IV4GI.js.map +0 -7
- package/dist/esm/chunks/chunk.5BDTX7CR.js +0 -7
- package/dist/esm/chunks/chunk.6LXDG4W5.js +0 -7
- package/dist/esm/chunks/chunk.6LXDG4W5.js.map +0 -7
- package/dist/esm/chunks/chunk.7R6TYPPS.js +0 -7
- package/dist/esm/chunks/chunk.7R6TYPPS.js.map +0 -7
- package/dist/esm/chunks/chunk.7TDB3VFH.js +0 -7
- package/dist/esm/chunks/chunk.BCD4AAI2.js +0 -7
- package/dist/esm/chunks/chunk.BCD4AAI2.js.map +0 -7
- package/dist/esm/chunks/chunk.BTI5I25G.js +0 -12
- package/dist/esm/chunks/chunk.DLAIQJHL.js +0 -7
- package/dist/esm/chunks/chunk.DLAIQJHL.js.map +0 -7
- package/dist/esm/chunks/chunk.DURRORXO.js +0 -29
- package/dist/esm/chunks/chunk.DURRORXO.js.map +0 -7
- package/dist/esm/chunks/chunk.EDU7RQD7.js +0 -7
- package/dist/esm/chunks/chunk.EDU7RQD7.js.map +0 -7
- package/dist/esm/chunks/chunk.ETIN6DEM.js +0 -7
- package/dist/esm/chunks/chunk.ETIN6DEM.js.map +0 -7
- package/dist/esm/chunks/chunk.F2GXZPID.js +0 -7
- package/dist/esm/chunks/chunk.F2GXZPID.js.map +0 -7
- package/dist/esm/chunks/chunk.F3Q62EMG.js +0 -7
- package/dist/esm/chunks/chunk.F3Q62EMG.js.map +0 -7
- package/dist/esm/chunks/chunk.GEMZPO6Z.js +0 -7
- package/dist/esm/chunks/chunk.GEMZPO6Z.js.map +0 -7
- package/dist/esm/chunks/chunk.JMXJXZTS.js +0 -7
- package/dist/esm/chunks/chunk.JMXJXZTS.js.map +0 -7
- package/dist/esm/chunks/chunk.M4KJNCLO.js +0 -7
- package/dist/esm/chunks/chunk.M4KJNCLO.js.map +0 -7
- package/dist/esm/chunks/chunk.MBWEYW6M.js +0 -7
- package/dist/esm/chunks/chunk.MBWEYW6M.js.map +0 -7
- package/dist/esm/chunks/chunk.O2R6MBT5.js +0 -7
- package/dist/esm/chunks/chunk.O2R6MBT5.js.map +0 -7
- package/dist/esm/chunks/chunk.ON6FJ2D6.js +0 -7
- package/dist/esm/chunks/chunk.ON6FJ2D6.js.map +0 -7
- package/dist/esm/chunks/chunk.PCSCKTFS.js +0 -7
- package/dist/esm/chunks/chunk.PCSCKTFS.js.map +0 -7
- package/dist/esm/chunks/chunk.Q3RRONZQ.js +0 -7
- package/dist/esm/chunks/chunk.Q3RRONZQ.js.map +0 -7
- package/dist/esm/chunks/chunk.QIJHHDYF.js +0 -7
- package/dist/esm/chunks/chunk.QIJHHDYF.js.map +0 -7
- package/dist/esm/chunks/chunk.QMRLSOAB.js +0 -7
- package/dist/esm/chunks/chunk.QMRLSOAB.js.map +0 -7
- package/dist/esm/chunks/chunk.UOWU5VVK.js +0 -7
- package/dist/esm/chunks/chunk.UOWU5VVK.js.map +0 -7
- package/dist/esm/chunks/chunk.WOHCW6KW.js +0 -7
- package/dist/esm/chunks/chunk.WOHCW6KW.js.map +0 -7
- package/dist/esm/chunks/chunk.WU24GAQY.js +0 -7
- package/dist/esm/chunks/chunk.WU24GAQY.js.map +0 -7
- package/dist/esm/chunks/chunk.XSZ4S77A.js +0 -7
- package/dist/esm/chunks/chunk.XSZ4S77A.js.map +0 -7
- package/dist/esm/chunks/chunk.YG2KLPHA.js +0 -7
- package/dist/esm/chunks/chunk.YONRMJU5.js.map +0 -7
- package/dist/esm/chunks/chunk.ZPBGKHHM.js +0 -7
- /package/dist/esm/chunks/{chunk.N24NHF7Y.js.map → chunk.2D4IBAWP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Y4L7AVUS.js.map → chunk.3G237L6C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HPJ4AQIE.js.map → chunk.54RF4ZT6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.5TVWDATE.js.map → chunk.5W5IPKAU.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.PBJEZJTY.js.map → chunk.65G33MJV.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.TLS4ALGU.js.map → chunk.6NBVXSNZ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Z4MN5NB5.js.map → chunk.73O3BMP2.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.WEUNLYMQ.js.map → chunk.7LBAA7TC.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.VW4JVRH7.js.map → chunk.CN7DHS4J.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BYRJ7577.js.map → chunk.DRI2NLIB.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.7MVBJ37L.js.map → chunk.FBERE7AL.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OJFI5I6O.js.map → chunk.FQEETXUQ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.3STDLL5U.js.map → chunk.G5JTL66M.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.BCP2YATB.js.map → chunk.GZEWDHFJ.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.ZAGCOV55.js.map → chunk.HUX56BCR.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.O5I3ZMDA.js.map → chunk.NG5EGZ5Y.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.SLSVRMAS.js.map → chunk.NZTGBDRK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.OLNFXF3V.js.map → chunk.O4LGKJY6.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.NV2HNCQH.js.map → chunk.OGZOXNGT.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.36VS7FMU.js.map → chunk.OTI6WL66.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.Y5GQ2BA7.js.map → chunk.P5GT5YBP.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.HWQEGQDD.js.map → chunk.PHJPLWFH.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.QH4DLM3R.js.map → chunk.R4NZYUID.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.IMZ5PF4C.js.map → chunk.ROF42KJ3.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.B52LJRGH.js.map → chunk.RT4C67NK.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.DB2WESQC.js.map → chunk.XC76IHG4.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.N46G56GG.js.map → chunk.YKXCORJE.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.2ZQ3ZDPN.js.map → chunk.YPMN5U7C.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.X5JLUP7O.js.map → chunk.YW47QJVY.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.JXY6MTP3.js.map → chunk.ZAKLVVFO.js.map} +0 -0
- /package/dist/esm/chunks/{chunk.YWRCWMNO.js.map → chunk.ZQCHS2PS.js.map} +0 -0
|
@@ -11,6 +11,7 @@ export class AppBarNotificationButtonFoundation {
|
|
|
11
11
|
this._dot = false;
|
|
12
12
|
this._showBadge = false;
|
|
13
13
|
this._isInitialized = false;
|
|
14
|
+
this._icon = 'notifications';
|
|
14
15
|
}
|
|
15
16
|
initialize() {
|
|
16
17
|
this._adapter.initialize();
|
|
@@ -18,11 +19,24 @@ export class AppBarNotificationButtonFoundation {
|
|
|
18
19
|
this._adapter.setBadgeType(this._dot);
|
|
19
20
|
this._adapter.setBadgeTheme(this._theme);
|
|
20
21
|
this._adapter.setBadgeVisible(this._showBadge);
|
|
22
|
+
this._adapter.setIcon(this._icon);
|
|
21
23
|
this._isInitialized = true;
|
|
22
24
|
}
|
|
23
25
|
disconnect() {
|
|
24
26
|
this._isInitialized = false;
|
|
25
27
|
}
|
|
28
|
+
get icon() {
|
|
29
|
+
return this._icon;
|
|
30
|
+
}
|
|
31
|
+
set icon(value) {
|
|
32
|
+
if (this._icon !== value) {
|
|
33
|
+
this._icon = value;
|
|
34
|
+
if (this._isInitialized) {
|
|
35
|
+
this._adapter.setIcon(this._icon);
|
|
36
|
+
this._adapter.setHostAttribute(APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON, this._icon);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
26
40
|
get count() {
|
|
27
41
|
return this._count;
|
|
28
42
|
}
|
|
@@ -14,6 +14,7 @@ export interface IAppBarNotificationButtonComponent extends IBaseComponent {
|
|
|
14
14
|
dot: boolean;
|
|
15
15
|
showBadge: boolean;
|
|
16
16
|
theme: string;
|
|
17
|
+
icon: string;
|
|
17
18
|
}
|
|
18
19
|
/**
|
|
19
20
|
* The web component class behind the `<forge-app-bar-notification-button>` custom element.
|
|
@@ -30,5 +31,6 @@ export declare class AppBarNotificationButtonComponent extends BaseComponent imp
|
|
|
30
31
|
count: number;
|
|
31
32
|
dot: boolean;
|
|
32
33
|
theme: string;
|
|
34
|
+
icon: string;
|
|
33
35
|
showBadge: boolean;
|
|
34
36
|
}
|
|
@@ -14,7 +14,7 @@ import { TooltipComponent } from '../../tooltip';
|
|
|
14
14
|
import { AppBarNotificationButtonAdapter } from './app-bar-notification-button-adapter';
|
|
15
15
|
import { APP_BAR_NOTIFICATION_BUTTON_CONSTANTS } from './app-bar-notification-button-constants';
|
|
16
16
|
import { AppBarNotificationButtonFoundation } from './app-bar-notification-button-foundation';
|
|
17
|
-
const template = '<template><forge-icon-button class=\"forge-icon-button--with-badge\"><button type=\"button\" aria-label=\"Show notifications\"><forge-icon
|
|
17
|
+
const template = '<template><forge-icon-button class=\"forge-icon-button--with-badge\"><button type=\"button\" aria-label=\"Show notifications\"><forge-icon></forge-icon></button><forge-tooltip delay=\"500\" position=\"bottom\">Notifications</forge-tooltip><forge-badge positioned app-bar-context></forge-badge></forge-icon-button></template>';
|
|
18
18
|
/**
|
|
19
19
|
* The web component class behind the `<forge-app-bar-notification-button>` custom element.
|
|
20
20
|
*
|
|
@@ -31,7 +31,8 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
|
|
|
31
31
|
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.COUNT,
|
|
32
32
|
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.DOT,
|
|
33
33
|
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME,
|
|
34
|
-
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE
|
|
34
|
+
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE,
|
|
35
|
+
APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON
|
|
35
36
|
];
|
|
36
37
|
}
|
|
37
38
|
initializedCallback() {
|
|
@@ -51,6 +52,9 @@ let AppBarNotificationButtonComponent = class AppBarNotificationButtonComponent
|
|
|
51
52
|
case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.THEME:
|
|
52
53
|
this.theme = newValue;
|
|
53
54
|
break;
|
|
55
|
+
case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.ICON:
|
|
56
|
+
this.icon = newValue;
|
|
57
|
+
break;
|
|
54
58
|
case APP_BAR_NOTIFICATION_BUTTON_CONSTANTS.attributes.SHOW_BADGE:
|
|
55
59
|
this.showBadge = coerceBoolean(newValue);
|
|
56
60
|
break;
|
|
@@ -66,6 +70,9 @@ __decorate([
|
|
|
66
70
|
__decorate([
|
|
67
71
|
FoundationProperty()
|
|
68
72
|
], AppBarNotificationButtonComponent.prototype, "theme", void 0);
|
|
73
|
+
__decorate([
|
|
74
|
+
FoundationProperty()
|
|
75
|
+
], AppBarNotificationButtonComponent.prototype, "icon", void 0);
|
|
69
76
|
__decorate([
|
|
70
77
|
FoundationProperty()
|
|
71
78
|
], AppBarNotificationButtonComponent.prototype, "showBadge", void 0);
|
|
@@ -4,22 +4,21 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
|
|
7
|
-
import { IOption } from '../select';
|
|
8
7
|
import { IAutocompleteComponent } from './autocomplete';
|
|
9
|
-
import { IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
8
|
+
import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
10
9
|
import { IListDropdownConfig } from '../list-dropdown';
|
|
11
10
|
export interface IAutocompleteAdapter extends IBaseAdapter {
|
|
12
11
|
setInputElement(): HTMLInputElement;
|
|
13
12
|
setInputAttribute(name: string, value: string): void;
|
|
14
13
|
addInputListener(type: string, listener: (evt: Event) => void): void;
|
|
15
14
|
removeInputListener(type: string, listener: (evt: Event) => void): void;
|
|
16
|
-
|
|
15
|
+
initializeInputAccessibility(identifier: string): void;
|
|
17
16
|
isWrappingChipField(): boolean;
|
|
18
17
|
show(config: IListDropdownConfig, popupTarget: string): void;
|
|
19
18
|
hide(listener: () => void): void;
|
|
20
19
|
focus(): void;
|
|
21
|
-
setOptions(options:
|
|
22
|
-
appendOptions(options:
|
|
20
|
+
setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
21
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
23
22
|
setSelectedText(value: string): void;
|
|
24
23
|
getInputValue(): string;
|
|
25
24
|
selectInputValue(): void;
|
|
@@ -42,7 +41,7 @@ export interface IAutocompleteAdapter extends IBaseAdapter {
|
|
|
42
41
|
setBusyVisibility(busy: boolean): void;
|
|
43
42
|
getActiveOptionIndex(): number | null;
|
|
44
43
|
clearActiveOption(): void;
|
|
45
|
-
setSelectedOptions(options:
|
|
44
|
+
setSelectedOptions(options: IAutocompleteOption[]): void;
|
|
46
45
|
queueDropdownPositionUpdate(): void;
|
|
47
46
|
}
|
|
48
47
|
/**
|
|
@@ -57,7 +56,7 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
|
|
|
57
56
|
setInputAttribute(name: string, value: string): void;
|
|
58
57
|
addInputListener(type: string, listener: (evt: Event) => void): void;
|
|
59
58
|
removeInputListener(type: string, listener: (evt: Event) => void): void;
|
|
60
|
-
|
|
59
|
+
initializeInputAccessibility(identifier: string): void;
|
|
61
60
|
isWrappingChipField(): boolean;
|
|
62
61
|
show(config: IListDropdownConfig, popupTarget: string): void;
|
|
63
62
|
hide(listener: () => void): void;
|
|
@@ -65,8 +64,8 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
|
|
|
65
64
|
toggleOptionMultiple(index: number, selected: boolean): void;
|
|
66
65
|
setDismissListener(listener: () => void): void;
|
|
67
66
|
focus(): void;
|
|
68
|
-
setOptions(options:
|
|
69
|
-
appendOptions(options:
|
|
67
|
+
setOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
68
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
70
69
|
setSelectedText(value: string): void;
|
|
71
70
|
getInputValue(): string;
|
|
72
71
|
selectInputValue(): void;
|
|
@@ -86,7 +85,7 @@ export declare class AutocompleteAdapter extends BaseAdapter<IAutocompleteCompon
|
|
|
86
85
|
activateOptionByIndex(value: number): void;
|
|
87
86
|
getActiveOptionIndex(): number | null;
|
|
88
87
|
clearActiveOption(): void;
|
|
89
|
-
setSelectedOptions(options:
|
|
88
|
+
setSelectedOptions(options: IAutocompleteOption[]): void;
|
|
90
89
|
queueDropdownPositionUpdate(): void;
|
|
91
90
|
private _getTargetElement;
|
|
92
91
|
private _getDefaultTargetElement;
|
|
@@ -34,7 +34,7 @@ export class AutocompleteAdapter extends BaseAdapter {
|
|
|
34
34
|
removeInputListener(type, listener) {
|
|
35
35
|
this._inputElement.removeEventListener(type, listener);
|
|
36
36
|
}
|
|
37
|
-
|
|
37
|
+
initializeInputAccessibility(identifier) {
|
|
38
38
|
this._inputElement.setAttribute('autocomplete', 'off');
|
|
39
39
|
this._inputElement.setAttribute('role', 'combobox');
|
|
40
40
|
this._inputElement.setAttribute('aria-live', 'polite');
|
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import { IOption } from '../select';
|
|
7
6
|
import { IListItemComponent } from '../list';
|
|
8
|
-
import { IListDropdownConfig } from '../list-dropdown';
|
|
7
|
+
import { IListDropdownConfig, IListDropdownOption, IListDropdownOptionGroup, ListDropdownOptionGroupBuilder } from '../list-dropdown';
|
|
9
8
|
import { IPopupPosition } from '../popup';
|
|
10
9
|
export declare const AUTOCOMPLETE_CONSTANTS: {
|
|
11
10
|
elementName: "forge-autocomplete";
|
|
@@ -40,18 +39,17 @@ export declare const AUTOCOMPLETE_CONSTANTS: {
|
|
|
40
39
|
SCROLLED_BOTTOM: string;
|
|
41
40
|
};
|
|
42
41
|
};
|
|
43
|
-
export declare type AutocompleteOptionBuilder<T = any> = (option:
|
|
44
|
-
export declare type AutocompleteOptionGroupBuilder<T = any> =
|
|
45
|
-
export declare type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) =>
|
|
46
|
-
export declare type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<
|
|
42
|
+
export declare type AutocompleteOptionBuilder<T = any> = (option: IAutocompleteOption<T>, filterText: string, parentElement: IListItemComponent) => HTMLElement;
|
|
43
|
+
export declare type AutocompleteOptionGroupBuilder<T = any> = ListDropdownOptionGroupBuilder<T>;
|
|
44
|
+
export declare type AutocompleteFilterCallback<T = any> = (filterText: string, value: T | null) => IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[] | Promise<IAutocompleteOption<T>[] | IAutocompleteOptionGroup<T>[]>;
|
|
45
|
+
export declare type AutocompleteSelectedTextBuilder<T = any> = (selectedOptions: Array<IAutocompleteOption<T>>) => string;
|
|
47
46
|
export declare enum AutocompleteMode {
|
|
48
47
|
Default = "default",
|
|
49
48
|
Stateless = "stateless"
|
|
50
49
|
}
|
|
51
|
-
export interface
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
options: Array<IOption<T>>;
|
|
50
|
+
export interface IAutocompleteOption<T = any> extends IListDropdownOption<T> {
|
|
51
|
+
}
|
|
52
|
+
export interface IAutocompleteOptionGroup<T = any> extends IListDropdownOptionGroup<T> {
|
|
55
53
|
}
|
|
56
54
|
export interface IAutocompletePopupConfiguration {
|
|
57
55
|
filterText: string;
|
|
@@ -63,6 +61,6 @@ export interface IAutocompletePopupConfiguration {
|
|
|
63
61
|
listener: (value: string) => void;
|
|
64
62
|
scrollEndListener: () => void;
|
|
65
63
|
}
|
|
66
|
-
export interface IAutocompleteSelectEventData {
|
|
67
|
-
value:
|
|
64
|
+
export interface IAutocompleteSelectEventData<T = any> {
|
|
65
|
+
value: T;
|
|
68
66
|
}
|
|
@@ -5,13 +5,12 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { ListDropdownFooterBuilder, ListDropdownHeaderBuilder } from '../list-dropdown';
|
|
7
7
|
import { IListDropdownAwareFoundation, ListDropdownAwareFoundation } from '../list-dropdown/list-dropdown-aware-foundation';
|
|
8
|
-
import { IOption } from '../select';
|
|
9
8
|
import { IAutocompleteAdapter } from './autocomplete-adapter';
|
|
10
|
-
import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
9
|
+
import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
11
10
|
export interface IAutocompleteFoundation extends IListDropdownAwareFoundation {
|
|
12
11
|
mode: AutocompleteMode;
|
|
13
12
|
multiple: boolean;
|
|
14
|
-
value: string | string[] |
|
|
13
|
+
value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;
|
|
15
14
|
debounce: number;
|
|
16
15
|
filterOnFocus: boolean;
|
|
17
16
|
allowUnmatched: boolean;
|
|
@@ -22,7 +21,7 @@ export interface IAutocompleteFoundation extends IListDropdownAwareFoundation {
|
|
|
22
21
|
isInitialized: boolean;
|
|
23
22
|
open: boolean;
|
|
24
23
|
matchKey: string | null | undefined;
|
|
25
|
-
appendOptions(options:
|
|
24
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
26
25
|
beforeValueChange: (value: any) => boolean | Promise<boolean>;
|
|
27
26
|
}
|
|
28
27
|
/**
|
|
@@ -122,8 +121,8 @@ export declare class AutocompleteFoundation extends ListDropdownAwareFoundation
|
|
|
122
121
|
get multiple(): boolean;
|
|
123
122
|
set multiple(value: boolean);
|
|
124
123
|
/** Gets/sets the value of the component. */
|
|
125
|
-
get value(): string | string[] |
|
|
126
|
-
set value(value: string | string[] |
|
|
124
|
+
get value(): string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined;
|
|
125
|
+
set value(value: string | string[] | IAutocompleteOption | IAutocompleteOption[] | null | undefined);
|
|
127
126
|
/** Gets/sets filter on focus settings which controls whether the dropdown displays automatically when focused. */
|
|
128
127
|
get filterOnFocus(): boolean;
|
|
129
128
|
set filterOnFocus(value: boolean);
|
|
@@ -165,7 +164,7 @@ export declare class AutocompleteFoundation extends ListDropdownAwareFoundation
|
|
|
165
164
|
set observeScroll(value: boolean);
|
|
166
165
|
get observeScrollThreshold(): number;
|
|
167
166
|
set observeScrollThreshold(value: number);
|
|
168
|
-
appendOptions(options:
|
|
167
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
169
168
|
get isInitialized(): boolean;
|
|
170
169
|
get open(): boolean;
|
|
171
170
|
set open(value: boolean);
|
|
@@ -100,7 +100,7 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
|
|
|
100
100
|
this._filterFn = isDefined(this._debounce) && this._debounce > 0 ? debounce(this._debounceFilter, this._debounce, false) : this._debounceFilter;
|
|
101
101
|
}
|
|
102
102
|
_initializeAccessibility() {
|
|
103
|
-
this._adapter.
|
|
103
|
+
this._adapter.initializeInputAccessibility(this._identifier);
|
|
104
104
|
}
|
|
105
105
|
get _flatOptions() {
|
|
106
106
|
if (isOptionType(this._options, OptionType.Group)) {
|
|
@@ -230,6 +230,7 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
|
|
|
230
230
|
case 'Escape':
|
|
231
231
|
if (this._isDropdownOpen) {
|
|
232
232
|
evt.preventDefault();
|
|
233
|
+
evt.stopPropagation();
|
|
233
234
|
this._closeDropdown();
|
|
234
235
|
}
|
|
235
236
|
break;
|
|
@@ -437,7 +438,9 @@ export class AutocompleteFoundation extends ListDropdownAwareFoundation {
|
|
|
437
438
|
const result = this._adapter.emitHostEvent(AUTOCOMPLETE_CONSTANTS.events.SELECT, data, true, true);
|
|
438
439
|
if (result) {
|
|
439
440
|
this._filterText = '';
|
|
440
|
-
this.
|
|
441
|
+
if (!this._multiple) {
|
|
442
|
+
this._closeDropdown();
|
|
443
|
+
}
|
|
441
444
|
}
|
|
442
445
|
return;
|
|
443
446
|
}
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
6
|
+
import { IAutocompleteOption, IAutocompleteOptionGroup } from './autocomplete-constants';
|
|
8
7
|
/** The available option types. */
|
|
9
8
|
export declare enum OptionType {
|
|
10
9
|
Option = 0,
|
|
@@ -15,8 +14,8 @@ export declare enum OptionType {
|
|
|
15
14
|
* @param options The options either grouped or individual.
|
|
16
15
|
* @param type The type of option to detect.
|
|
17
16
|
*/
|
|
18
|
-
export declare function isOptionType(options:
|
|
17
|
+
export declare function isOptionType(options: IAutocompleteOption[] | IAutocompleteOptionGroup[], type: OptionType): boolean;
|
|
19
18
|
/** A utility function to find the matching option in the provided options by the value provided. */
|
|
20
|
-
export declare function getSelectedOption(options:
|
|
19
|
+
export declare function getSelectedOption(options: IAutocompleteOption[], value: string): IAutocompleteOption | undefined;
|
|
21
20
|
/** A predicate function that will determine if an option value is equal regardless of primitive type or complex object type. */
|
|
22
|
-
export declare function optionEqualPredicate(option:
|
|
21
|
+
export declare function optionEqualPredicate(option: IAutocompleteOption, value: any, property?: string | null): boolean;
|
|
@@ -4,8 +4,7 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { IListDropdownAware, ListDropdownAware } from '../list-dropdown/list-dropdown-aware';
|
|
7
|
-
import {
|
|
8
|
-
import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';
|
|
7
|
+
import { AutocompleteFilterCallback, AutocompleteMode, AutocompleteOptionBuilder, AutocompleteSelectedTextBuilder, IAutocompleteOption, IAutocompleteOptionGroup, IAutocompleteSelectEventData } from './autocomplete-constants';
|
|
9
8
|
export interface IAutocompleteComponent extends IListDropdownAware {
|
|
10
9
|
mode: `${AutocompleteMode}`;
|
|
11
10
|
multiple: boolean;
|
|
@@ -22,7 +21,7 @@ export interface IAutocompleteComponent extends IListDropdownAware {
|
|
|
22
21
|
beforeValueChange: (value: any) => boolean | Promise<boolean>;
|
|
23
22
|
isInitialized: boolean;
|
|
24
23
|
open: boolean;
|
|
25
|
-
appendOptions(options:
|
|
24
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
26
25
|
openDropdown(): void;
|
|
27
26
|
closeDropdown(): void;
|
|
28
27
|
}
|
|
@@ -79,7 +78,7 @@ export declare class AutocompleteComponent extends ListDropdownAware implements
|
|
|
79
78
|
/** Sets the callback to be executed when the user selects an option, before the UI is updated to allow for validation. */
|
|
80
79
|
beforeValueChange: (value: any) => boolean | Promise<boolean>;
|
|
81
80
|
/** Adds options to the dropdown while it is open. Has no effect if the dropdown is closed. */
|
|
82
|
-
appendOptions(options:
|
|
81
|
+
appendOptions(options: IAutocompleteOption[] | IAutocompleteOptionGroup[]): void;
|
|
83
82
|
/** Opens the dropdown. */
|
|
84
83
|
openDropdown(): void;
|
|
85
84
|
/** Closes the dropdown. */
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { attachShadowTemplate, coerceBoolean, coerceNumber, CustomElement, ensureChild, FoundationProperty } from '@tylertech/forge-core';
|
|
8
|
-
import { tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';
|
|
8
|
+
import { tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank } from '@tylertech/tyler-icons/standard';
|
|
9
9
|
import { DividerComponent } from '../divider';
|
|
10
10
|
import { IconComponent, IconRegistry } from '../icon';
|
|
11
11
|
import { LinearProgressComponent } from '../linear-progress';
|
|
@@ -27,7 +27,7 @@ const styles = ':host{display:block}:host([hidden]){display:none}';
|
|
|
27
27
|
let AutocompleteComponent = class AutocompleteComponent extends ListDropdownAware {
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
|
-
IconRegistry.define([tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
|
|
30
|
+
IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);
|
|
31
31
|
attachShadowTemplate(this, template, styles);
|
|
32
32
|
this._foundation = new AutocompleteFoundation(new AutocompleteAdapter(this));
|
|
33
33
|
}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { COMPONENT_NAME_PREFIX } from '../constants';
|
|
7
7
|
const elementName = `${COMPONENT_NAME_PREFIX}button`;
|
|
8
|
+
export const ALLOWED_CHILDREN = ['button', 'a'];
|
|
8
9
|
const classes = {
|
|
9
10
|
BUTTON: 'forge-button',
|
|
10
11
|
LABEL: 'forge-button__label',
|
|
@@ -16,7 +17,7 @@ const classes = {
|
|
|
16
17
|
RIPPLE: 'forge-button__ripple'
|
|
17
18
|
};
|
|
18
19
|
const selectors = {
|
|
19
|
-
BUTTON: '
|
|
20
|
+
BUTTON: ALLOWED_CHILDREN.join(','),
|
|
20
21
|
LABEL: `span:not(.${classes.RIPPLE})`,
|
|
21
22
|
ICON: 'i,forge-icon,[data-forge-button-icon]',
|
|
22
23
|
RIPPLE: `.${classes.RIPPLE}`
|
package/esm/button/button.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ export declare class ButtonComponent extends BaseComponent implements IButtonCom
|
|
|
39
39
|
private _initialize;
|
|
40
40
|
private _initializeButton;
|
|
41
41
|
private _deferRippleInitialization;
|
|
42
|
-
private
|
|
42
|
+
private _createRipple;
|
|
43
43
|
private _initializeButtonChildren;
|
|
44
44
|
private _initializeMutationObserver;
|
|
45
45
|
private _buttonWasAdded;
|
package/esm/button/button.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
import { __decorate } from "tslib";
|
|
7
7
|
import { CustomElement, ensureChildren, toggleAttribute } from '@tylertech/forge-core';
|
|
8
8
|
import { BaseComponent } from '../core/base/base-component';
|
|
9
|
-
import { BUTTON_CONSTANTS } from './button-constants';
|
|
9
|
+
import { ALLOWED_CHILDREN, BUTTON_CONSTANTS } from './button-constants';
|
|
10
10
|
import { userInteractionListener } from '../core/utils/utils';
|
|
11
11
|
import { ForgeRipple } from '../ripple';
|
|
12
12
|
/**
|
|
@@ -104,18 +104,17 @@ let ButtonComponent = class ButtonComponent extends BaseComponent {
|
|
|
104
104
|
async _deferRippleInitialization() {
|
|
105
105
|
const type = await userInteractionListener(this._buttonElement);
|
|
106
106
|
if (!this._rippleInstance) {
|
|
107
|
-
this.
|
|
107
|
+
this._rippleInstance = this._createRipple();
|
|
108
108
|
if (type === 'focusin') {
|
|
109
|
-
|
|
110
|
-
this._rippleInstance['foundation'].handleFocus();
|
|
109
|
+
this._rippleInstance.handleFocus();
|
|
111
110
|
}
|
|
112
111
|
}
|
|
113
112
|
}
|
|
114
|
-
|
|
113
|
+
_createRipple() {
|
|
115
114
|
if (this._rippleInstance) {
|
|
116
115
|
this._rippleInstance.destroy();
|
|
117
116
|
}
|
|
118
|
-
|
|
117
|
+
return new ForgeRipple(this._buttonElement);
|
|
119
118
|
}
|
|
120
119
|
_initializeButtonChildren() {
|
|
121
120
|
if (!this._buttonElement.querySelector(BUTTON_CONSTANTS.selectors.RIPPLE)) {
|
|
@@ -162,7 +161,7 @@ let ButtonComponent = class ButtonComponent extends BaseComponent {
|
|
|
162
161
|
_buttonWasAdded(mutationList) {
|
|
163
162
|
return mutationList.some(mutation => {
|
|
164
163
|
return Array.from(mutation.addedNodes)
|
|
165
|
-
.some(node => node.nodeName.toLowerCase()
|
|
164
|
+
.some(node => ALLOWED_CHILDREN.includes(node.nodeName.toLowerCase()));
|
|
166
165
|
});
|
|
167
166
|
}
|
|
168
167
|
_syncDisabledState() {
|
|
@@ -7,7 +7,6 @@ import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
|
|
|
7
7
|
import { ForgeRippleCapableSurface } from '../ripple';
|
|
8
8
|
import { ICheckboxComponent } from './checkbox';
|
|
9
9
|
export interface ICheckboxAdapter extends IBaseAdapter {
|
|
10
|
-
forceLayout(): void;
|
|
11
10
|
isAttachedToDOM(): boolean;
|
|
12
11
|
isDisabled(): boolean;
|
|
13
12
|
isChecked(): boolean;
|
|
@@ -41,8 +40,8 @@ export declare class CheckboxAdapter extends BaseAdapter<ICheckboxComponent> imp
|
|
|
41
40
|
get unbounded(): boolean | undefined;
|
|
42
41
|
get disabled(): boolean | undefined;
|
|
43
42
|
initialize(): void;
|
|
43
|
+
private _deferRippleInitialization;
|
|
44
44
|
setDense(value: boolean | undefined): void;
|
|
45
|
-
forceLayout(): void;
|
|
46
45
|
isAttachedToDOM(): boolean;
|
|
47
46
|
private _configureElements;
|
|
48
47
|
private _setHostAttribute;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { addClass, getShadowElement, removeClass } from '@tylertech/forge-core';
|
|
7
|
+
import { userInteractionListener } from '../core';
|
|
7
8
|
import { BaseAdapter } from '../core/base/base-adapter';
|
|
8
9
|
import { ForgeRipple, ForgeRippleFoundation } from '../ripple';
|
|
9
10
|
import { CHECKBOX_CONSTANTS } from './checkbox-constants';
|
|
@@ -24,14 +25,19 @@ export class CheckboxAdapter extends BaseAdapter {
|
|
|
24
25
|
initialize() {
|
|
25
26
|
this._configureElements();
|
|
26
27
|
this._attachInternalInputListeners();
|
|
27
|
-
this.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
this._deferRippleInitialization();
|
|
29
|
+
}
|
|
30
|
+
async _deferRippleInitialization() {
|
|
31
|
+
const type = await userInteractionListener(this._rootElement);
|
|
32
|
+
if (!this._rippleInstance) {
|
|
33
|
+
this._rippleInstance = this._createRipple();
|
|
34
|
+
if (type === 'focusin') {
|
|
35
|
+
this._rippleInstance.handleFocus();
|
|
31
36
|
}
|
|
32
|
-
}
|
|
37
|
+
}
|
|
33
38
|
}
|
|
34
39
|
setDense(value) {
|
|
40
|
+
var _a;
|
|
35
41
|
if (value) {
|
|
36
42
|
this._setHostAttribute(CHECKBOX_CONSTANTS.attributes.DENSE);
|
|
37
43
|
this.setRootClass(CHECKBOX_CONSTANTS.classes.CHECKBOX_DENSE);
|
|
@@ -40,9 +46,7 @@ export class CheckboxAdapter extends BaseAdapter {
|
|
|
40
46
|
this._removeHostAttribute(CHECKBOX_CONSTANTS.attributes.DENSE);
|
|
41
47
|
this.removeRootClass(CHECKBOX_CONSTANTS.classes.CHECKBOX_DENSE);
|
|
42
48
|
}
|
|
43
|
-
|
|
44
|
-
forceLayout() {
|
|
45
|
-
this._rippleInstance.layout();
|
|
49
|
+
(_a = this._rippleInstance) === null || _a === void 0 ? void 0 : _a.layout();
|
|
46
50
|
}
|
|
47
51
|
isAttachedToDOM() {
|
|
48
52
|
return Boolean(this._component.parentNode);
|
|
@@ -109,14 +109,12 @@ export class CheckboxFoundation {
|
|
|
109
109
|
// the user interacted with the checkbox before the animation was finished.
|
|
110
110
|
if (this._currentAnimationClass.length > 0) {
|
|
111
111
|
clearTimeout(this._animEndLatchTimer);
|
|
112
|
-
this._adapter.forceLayout();
|
|
113
112
|
this._adapter.removeRootClass(this._currentAnimationClass);
|
|
114
113
|
}
|
|
115
114
|
// Check to ensure that there isn't a previously existing animation class, in case for example
|
|
116
115
|
// the user interacted with the checkbox before the animation was finished.
|
|
117
116
|
if (this._currentAnimationClass.length > 0) {
|
|
118
117
|
clearTimeout(this._animEndLatchTimer);
|
|
119
|
-
this._adapter.forceLayout();
|
|
120
118
|
this._adapter.removeRootClass(this._currentAnimationClass);
|
|
121
119
|
}
|
|
122
120
|
this._currentAnimationClass = this._getTransitionAnimationClass(oldState, newState);
|
|
@@ -127,7 +125,6 @@ export class CheckboxFoundation {
|
|
|
127
125
|
this._adapter.setRootClass(this._currentAnimationClass);
|
|
128
126
|
this._enableAnimationEndHandler = true;
|
|
129
127
|
}
|
|
130
|
-
this._adapter.forceLayout();
|
|
131
128
|
}
|
|
132
129
|
_handleInputAttributeChange() {
|
|
133
130
|
if (this._adapter.isDisabled()) {
|
|
@@ -14,6 +14,7 @@ export interface IChipFieldAdapter extends IFieldAdapter {
|
|
|
14
14
|
removeInputContainerListener(type: string, callback: (event: Event) => void): void;
|
|
15
15
|
getSlottedMemberElements(): NodeListOf<HTMLElement>;
|
|
16
16
|
focusInput(): void;
|
|
17
|
+
tryPropagateClick(target: EventTarget | null): void;
|
|
17
18
|
}
|
|
18
19
|
export declare class ChipFieldAdapter extends FieldAdapter implements IChipFieldAdapter {
|
|
19
20
|
protected _memberSlot: HTMLSlotElement;
|
|
@@ -28,5 +29,6 @@ export declare class ChipFieldAdapter extends FieldAdapter implements IChipField
|
|
|
28
29
|
removeInputContainerListener(type: string, callback: (event: Event) => void): void;
|
|
29
30
|
fieldHasValue(): boolean;
|
|
30
31
|
focusInput(): void;
|
|
32
|
+
tryPropagateClick(target: EventTarget | null): void;
|
|
31
33
|
getSlottedMemberElements(): NodeListOf<HTMLElement>;
|
|
32
34
|
}
|
|
@@ -40,10 +40,15 @@ export class ChipFieldAdapter extends FieldAdapter {
|
|
|
40
40
|
return aMemberExists || super.inputHasValue();
|
|
41
41
|
}
|
|
42
42
|
focusInput() {
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
var _a;
|
|
44
|
+
(_a = this._inputElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
45
|
+
}
|
|
46
|
+
tryPropagateClick(target) {
|
|
47
|
+
var _a;
|
|
48
|
+
// We only propagate the click to the input if it originated from our internal input container
|
|
49
|
+
if (target instanceof HTMLElement && target.matches(CHIP_FIELD_CONSTANTS.selectors.INPUT_CONTAINER)) {
|
|
50
|
+
(_a = this._inputElement) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new MouseEvent('click'));
|
|
45
51
|
}
|
|
46
|
-
this._inputElement.focus();
|
|
47
52
|
}
|
|
48
53
|
getSlottedMemberElements() {
|
|
49
54
|
return this._component.querySelectorAll(CHIP_FIELD_CONSTANTS.selectors.MEMBER);
|