@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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/select/select/select-constants.ts", "../../src/select/select/select-adapter.ts", "../../src/select/select/select-foundation.ts", "../../src/select/select/select.ts", "../../src/select/select/index.ts"],
|
|
4
|
-
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n type FieldDensityType as SelectDensityType,\n type FieldFloatLabelType as SelectFloatLabelType,\n type FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n\n // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly\n if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {\n this._component.tabIndex = 0;\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._component.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._component.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._setFocused();\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to contain focus. */\n private _setFocused(): void {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n /** Gets/sets the disabled state. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" part=\\\"text\\\"></div><label id=\\\"select-label\\\" aria-hidden=\\\"true\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem;font-size:var(--forge-select-font-size, .875rem)}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n * \n * @tag forge-select\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public declare label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public declare invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public declare required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public declare density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public declare floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public declare shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public declare placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
|
|
5
|
-
"mappings": "45BAEA,GAAM,GAA2C,GAAG,UAE9C,EAAU,CACd,KAAM,eACN,OAAQ,uBACR,cAAe,8BACf,SAAU,yBACV,YAAa,4BACb,cAAe,6BACjB,EAEM,EAAY,CAChB,KAAM,IAAI,EAAQ,OAClB,cAAe,IAAI,EAAQ,gBAC3B,MAAO,qBACP,aAAc,qBACd,eAAgB,sBAClB,EAEM,EAAa,CACjB,KAAM,OACN,MAAO,QACP,MAAO,QACP,SAAU,WACV,SAAU,WACV,YAAa,cACb,eAAgB,iBAChB,yBAA0B,0BAC5B,EAEM,EAAS,CACb,gBAAiB,GAAG,mBACtB,EAEa,EAAmB,CAC9B,cACA,UACA,YACA,aACA,QACF,ECAO,GAAM,GAAN,aAA4B,EAA4C,CAO7E,YAAY,EAA6B,CACvC,MAAM,CAAS,EACf,KAAK,eAAiB,EAAiB,EAAW,EAAiB,UAAU,IAAI,EACjF,KAAK,aAAe,EAAiB,EAAW,EAAiB,UAAU,YAAY,EACvF,KAAK,cAAgB,EAAiB,KAAK,WAAY,EAAiB,UAAU,cAAc,EAChG,KAAK,qBAAuB,EAAiB,EAAW,EAAiB,UAAU,aAAa,EAChG,KAAK,eAAiB,KAAK,cAC7B,CAEA,AAAO,iBAAwB,CAC7B,KAAK,cAAgB,EAAiB,KAAK,WAAY,EAAiB,UAAU,KAAK,CACzF,CAEA,AAAO,UAAoB,CACzB,MAAO,CAAC,CAAC,KAAK,aAChB,CAEA,AAAO,yBAAgC,CACrC,KAAK,WAAW,aAAa,OAAQ,UAAU,EAC/C,KAAK,WAAW,aAAa,gBAAiB,MAAM,EACpD,KAAK,WAAW,aAAa,gBAAiB,OAAO,EAGjD,EAAC,KAAK,WAAW,aAAa,UAAU,GAAK,KAAK,WAAW,WAAa,KAC5E,MAAK,WAAW,SAAW,EAE/B,CAEA,AAAO,yBAA0C,CAC/C,MAAO,IAAI,GAAc,KAAK,aAAa,CAC7C,CAEA,AAAO,SAAS,EAAqB,CACnC,AAAI,EAAC,KAAK,WAAW,aAAa,YAAY,GAAK,KAAK,WAAW,aAAa,YAAY,IAAM,KAAK,cAAc,cACnH,KAAK,WAAW,aAAa,aAAc,CAAK,EAElD,KAAK,cAAc,YAAc,CACnC,CAEA,AAAO,aAAa,EAAoB,CACtC,KAAK,eAAe,UAAU,IAAI,CAAI,CACxC,CAEA,AAAO,gBAAgB,EAAoB,CACzC,KAAK,eAAe,UAAU,OAAO,CAAI,CAC3C,CAEA,AAAO,mBAAmB,EAAqB,CAC7C,EAAgB,KAAK,qBAAsB,CAAC,CAAC,EAAO,cAAe,CAAK,CAC1E,CAEA,AAAO,iBAAiB,EAAsC,CAC5D,KAAK,WAAW,iBAAiB,QAAS,CAAQ,CACpD,CAEA,AAAO,oBAAoB,EAAsC,CAC/D,KAAK,WAAW,oBAAoB,QAAS,CAAQ,CACvD,CAEA,AAAO,qBAAqB,EAA2C,CACrE,KAAK,WAAW,iBAAiB,YAAa,CAAQ,CACxD,CAEA,AAAO,wBAAwB,EAA2C,CACxE,KAAK,WAAW,oBAAoB,YAAa,CAAQ,CAC3D,CAEA,AAAO,kBAAkB,EAAc,EAAsC,CAC3E,KAAK,WAAW,iBAAiB,EAAM,CAAQ,CACjD,CAEA,AAAO,qBAAqB,EAAc,EAAsC,CAC9E,KAAK,WAAW,oBAAoB,EAAM,CAAQ,CACpD,CAEA,AAAO,KAAK,EAAmC,CAC7C,MAAM,KAAK,CAAM,EACjB,KAAK,WAAW,aAAa,gBAAiB,uBAAuB,EAAO,IAAI,EAChF,KAAK,WAAW,aAAa,gBAAiB,MAAM,EACpD,EAAY,KAAK,eAAgB,GAAM,EAAiB,QAAQ,MAAM,CACxE,CAEA,AAAO,OAAc,CACnB,KAAK,WAAW,aAAa,gBAAiB,OAAO,EACrD,KAAK,WAAW,gBAAgB,uBAAuB,EACvD,KAAK,WAAW,gBAAgB,eAAe,EAC/C,EAAY,KAAK,eAAgB,GAAO,EAAiB,QAAQ,MAAM,EACvE,MAAM,MAAM,CACd,CAEA,AAAO,uBAAuB,EAAkB,CAC9C,EAAgB,KAAK,WAAY,CAAC,CAAC,EAAI,wBAAyB,CAAE,CACpE,CAEA,AAAO,gBAAgB,EAAqB,CAC1C,KAAK,qBAAqB,YAAc,CAC1C,CAEA,AAAO,mBAAmB,EAAsC,CAC9D,KAAK,aAAa,iBAAiB,aAAc,CAAQ,CAC3D,CAEA,AAAO,sBAAsB,EAAsC,CACjE,KAAK,aAAa,oBAAoB,aAAc,CAAQ,CAC9D,CAEA,AAAO,oBAAoB,EAAsC,CAC/D,KAAK,cAAc,iBAAiB,aAAc,CAAQ,CAC5D,CAEA,AAAO,uBAAuB,EAAsC,CAClE,KAAK,cAAc,oBAAoB,aAAc,CAAQ,CAC/D,CAEA,AAAO,mBAA6B,CAClC,MAAO,MAAK,aAAa,cAAc,EAAE,OAAS,CACpD,CAEA,AAAO,YAAY,EAA2B,CAC5C,EAAY,KAAK,eAAgB,EAAY,EAAgB,QAAQ,QAAQ,EAC7E,EAAgB,KAAK,WAAY,EAAY,gBAAiB,MAAM,EACpE,KAAK,WAAW,SAAW,EAAa,GAAK,CAC/C,CAEA,AAAO,WAAW,EAA0B,CAC1C,EAAY,KAAK,eAAgB,EAAW,EAAgB,QAAQ,OAAO,EAC3E,EAAgB,KAAK,WAAY,EAAW,eAAgB,MAAM,CACpE,CAEA,AAAO,YAAY,EAA2B,CAC5C,EAAY,KAAK,eAAgB,EAAY,EAAgB,QAAQ,QAAQ,EAC7E,EAAgB,KAAK,WAAY,EAAY,gBAAiB,MAAM,CACtE,CAEA,AAAO,SAAS,EAAwB,CACtC,EAAY,KAAK,eAAgB,EAAS,EAAgB,QAAQ,KAAK,CACzE,CAEA,AAAO,SAAS,EAAwB,CACtC,EAAY,KAAK,eAAgB,EAAS,EAAgB,QAAQ,KAAK,CACzE,CAEA,AAAO,YAAY,EAAyB,CAC1C,AAAI,EACF,KAAK,iBAAiB,uBAAwB,MAAM,EAEpD,KAAK,oBAAoB,sBAAsB,CAEnD,CAEA,AAAO,cAAc,EAAkB,EAA4B,CACjE,MAAO,GAAmB,KAAK,cAAc,UAAW,CAAE,WAAU,YAAW,CAAC,CAClF,CAEA,AAAO,qBAAiC,CACtC,GAAM,GAAQ,iBAAiB,KAAK,aAAa,EACjD,MAAO,CACL,SAAU,SAAS,EAAM,UAAY,KAAM,EAAE,EAC7C,WAAY,EAAM,YAAc,QAClC,CACF,CAEA,AAAO,gBAAyB,CAC9B,MAAO,MAAK,eAAe,sBAAsB,EAAE,KACrD,CAEA,AAAO,kBAA4B,CACjC,MAAK,MAAK,cAGH,KAAK,cAAc,cAAc,EAAE,OAAS,EAF1C,EAGX,CAEA,AAAO,UAAiB,CACtB,KAAK,WAAW,MAAM,CACxB,CAEA,AAAO,aAAa,EAA+B,CAEjD,MAAO,AADe,CAAC,CAAC,KAAK,WAAW,YAAc,KAAK,WAAW,WAAW,SAAS,CAAO,GACzE,KAAK,WAAW,SAAS,CAAO,CAC1D,CACF,EClNO,GAAM,GAAN,aAA+B,EAAkE,CAetG,YAAY,EAAyB,CACnC,MAAM,CAAO,EAdf,KAAQ,OAAyB,UACjC,KAAQ,OAAS,GACjB,KAAQ,UAAY,GACpB,KAAQ,SAAW,GACnB,KAAQ,UAAY,GACpB,KAAQ,gBAAuC,OAE/C,KAAQ,SAA6B,UACrC,KAAQ,eAAiB,GAOvB,KAAK,uBAAyB,GAAO,KAAK,sBAAsB,CAAG,EACnE,KAAK,wBAA0B,GAAO,KAAK,uBAAuB,CAAG,EACrE,KAAK,qBAAuB,IAAM,KAAK,SAAS,eAAe,EAC/D,KAAK,mBAAqB,GAAO,KAAK,aAAa,CAAG,CACxD,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,MAAM,iBAAiB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAE9B,KAAK,SAAS,mBAAmB,KAAK,YAAY,EAClD,KAAK,cAAc,EACnB,KAAK,cAAc,EAEnB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,SAAS,qBAAqB,KAAK,kBAAkB,EAC1D,KAAK,SAAS,mBAAmB,KAAK,sBAAsB,EAC5D,KAAK,SAAS,oBAAoB,KAAK,uBAAuB,EAE1D,KAAK,WACP,KAAK,SAAS,YAAY,EAAI,EAG5B,KAAK,UACP,KAAK,SAAS,WAAW,EAAI,EAG/B,KAAK,eAAiB,EACxB,CAEA,AAAO,YAAmB,CACxB,MAAM,WAAW,EACjB,KAAK,SAAS,wBAAwB,KAAK,kBAAkB,EAC7D,KAAK,SAAS,sBAAsB,KAAK,sBAAsB,EAC/D,KAAK,SAAS,uBAAuB,KAAK,sBAAsB,EAE5D,KAAK,wBACP,MAAK,uBAAuB,QAAQ,EACpC,KAAK,uBAAyB,OAElC,CAEA,AAAQ,kBAAyB,CAI/B,GAHA,KAAK,SAAS,gBAAgB,EAC9B,KAAK,aAAa,EAClB,KAAK,uBAAyB,KAAK,SAAS,wBAAwB,EAChE,KAAK,kBAAoB,SAC3B,KAAK,YAAY,EAAI,MAChB,CACL,GAAM,GAAU,CAAC,CAAC,KAAK,iBAAiB,EAClC,EAAiB,CAAC,CAAC,KAAK,aAC9B,KAAK,YAAY,GAAW,CAAc,CAC5C,CACF,CAEA,AAAQ,eAAsB,CAC5B,AAAI,KAAK,wBACP,MAAK,uBAAuB,QAAQ,EACpC,KAAK,uBAAyB,OAElC,CAEA,AAAU,kBAAyB,CACjC,MAAM,iBAAiB,EACnB,KAAK,gBAAgB,QACvB,KAAK,YAAY,EAAI,CAEzB,CAEA,AAAQ,0BAAiC,CACvC,KAAK,SAAS,YAAY,KAAK,SAAS,EACpC,KAAK,WACP,KAAK,SAAS,iBAAiB,gBAAiB,MAAM,EAEpD,KAAK,WACP,KAAK,SAAS,iBAAiB,gBAAiB,MAAM,EAEpD,KAAK,UACP,KAAK,SAAS,iBAAiB,eAAgB,MAAM,CAEzD,CAEA,AAAQ,aAAa,EAAuB,CAE1C,AAAI,AADwB,KAAK,SAAS,aAAa,EAAI,MAAqB,GAE9E,EAAI,eAAe,CAEvB,CAGA,AAAQ,sBAAsB,EAAkB,CAC9C,KAAK,sBAAsB,CAC7B,CAGA,AAAQ,uBAAuB,EAAkB,CAC/C,KAAK,uBAAuB,CAC9B,CAGA,AAAQ,uBAA8B,CACpC,AAAI,KAAK,SAAS,kBAAkB,EAClC,KAAK,SAAS,aAAa,EAAgB,QAAQ,OAAO,EAE1D,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,OAAO,CAEjE,CAEA,AAAQ,wBAA+B,CACrC,AAAI,KAAK,SAAS,iBAAiB,EACjC,KAAK,SAAS,aAAa,EAAgB,QAAQ,SAAS,EAE5D,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,SAAS,CAEnE,CAEA,AAAU,SAAS,EAAuB,CAOxC,AANI,KAAK,WAML,AADiB,EAAa,CAAG,EACpB,KAAK,GAAM,EAAG,WAAa,EAAG,UAAU,SAAS,EAAgB,QAAQ,mBAAmB,CAAC,GAI9G,MAAK,SAAS,EACd,MAAM,SAAS,CAAG,EACpB,CAGA,AAAU,SAAS,EAAkB,CACnC,AAAI,KAAK,WAGT,MAAK,YAAY,EACjB,MAAM,SAAS,CAAG,EACpB,CAEA,AAAU,YAAY,EAAsB,CAC1C,AAAI,CAAC,KAAK,wBAIV,CAAI,EACF,KAAK,SAAS,aAAa,EAAiB,QAAQ,WAAW,EAE/D,KAAK,SAAS,gBAAgB,EAAiB,QAAQ,WAAW,EAGhE,KAAK,kBAAoB,UAC3B,GAAQ,IAGV,KAAK,uBAAuB,MAAM,EAAO,KAAK,kBAAoB,QAAQ,EAC5E,CAGA,AAAU,QAAQ,EAAuB,CACvC,MAAM,QAAQ,CAAG,EACjB,KAAK,YAAY,CACnB,CAEA,AAAU,YAAmB,CAC3B,MAAM,WAAW,EACjB,KAAK,YAAY,CACnB,CAEA,AAAU,sBAA6B,CACrC,KAAK,SAAS,cAAc,EAAiB,OAAO,eAAe,CACrE,CAOA,KAAgB,WAAU,EAAuB,EAAqB,EAAgB,GAAwB,CAC5G,GAAM,GAAS,KAAM,OAAM,UAAU,EAAQ,EAAa,CAAa,EACvE,MAAI,IACF,MAAK,SAAS,gBAAgB,KAAK,iBAAiB,CAAC,EACjD,GAAiB,CAAC,KAAK,WACzB,KAAK,SAAS,SAAS,GAGpB,CACT,CAGA,AAAQ,aAAoB,CAC1B,KAAK,SAAS,aAAa,EAAgB,QAAQ,OAAO,EAC1D,KAAK,YAAY,EAAI,CACvB,CAGA,AAAQ,aAAoB,CA5O9B,MA6OI,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,OAAO,EACzD,CAAC,KAAK,gBAAgB,QAAU,CAAC,SAAK,eAAL,QAAmB,SACtD,KAAK,YAAY,EAAK,CAE1B,CAGA,AAAU,QAAe,CApP3B,MAqPI,MAAM,OAAO,EACb,KAAK,SAAS,gBAAgB,EAAE,EAChC,KAAK,YAAY,CAAC,SAAK,eAAL,QAAmB,OAAM,CAC7C,CAEA,AAAQ,cAAqB,CAC3B,AAAI,KAAK,SAAS,SAAS,GACzB,KAAK,SAAS,SAAS,KAAK,MAAM,EAEpC,AAAI,KAAK,QAAU,KAAK,WAAa,QACnC,KAAK,SAAS,aAAa,EAAgB,QAAQ,KAAK,EAExD,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,KAAK,CAE/D,CAEA,AAAU,YAAY,EAAgC,CACpD,MAAM,YAAY,CAAK,EAGvB,GAAM,GAAO,KAAK,iBAAiB,EACnC,KAAK,SAAS,gBAAgB,CAAI,EAC7B,KAAK,OACR,KAAK,YAAY,CAAC,CAAC,GAAQ,CAAC,CAAC,KAAK,YAAY,CAElD,CAEA,AAAQ,eAAsB,CAC5B,KAAK,SAAS,SAAS,KAAK,WAAa,OAAO,EAChD,KAAK,SAAS,SAAS,KAAK,WAAa,OAAO,CAClD,CAEA,AAAU,eAAsB,CAC9B,AAAI,KAAK,SAAW,UAClB,KAAK,SAAS,aAAa,EAAgB,QAAQ,aAAa,EAEhE,KAAK,SAAS,gBAAgB,EAAgB,QAAQ,aAAa,CAEvE,CAEA,AAAO,UAAiB,CACtB,KAAK,SAAS,SAAS,CACzB,CAGA,GAAW,QAAgB,CACzB,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAe,CAC9B,AAAI,KAAK,SAAW,GAClB,MAAK,OAAS,EACd,KAAK,aAAa,EAClB,AAAI,KAAK,OACP,MAAK,iBAAiB,EACtB,KAAK,SAAS,iBAAiB,EAAiB,WAAW,MAAO,KAAK,MAAM,GAE7E,MAAK,cAAc,EACnB,KAAK,SAAW,GAChB,KAAK,SAAS,oBAAoB,EAAiB,WAAW,KAAK,GAGzE,CAEA,GAAW,QAAwB,CACjC,MAAO,MAAK,MACd,CACA,GAAW,OAAM,EAAuB,CACtC,AAAI,KAAK,SAAW,GAClB,MAAK,OAAS,EAEV,KAAK,gBACP,KAAK,cAAc,EAGrB,KAAK,SAAS,iBAAiB,EAAgB,WAAW,MAAO,KAAK,MAAM,EAEhF,CAGA,GAAW,WAAoB,CAC7B,MAAO,MAAK,SACd,CACA,GAAW,UAAS,EAAgB,CAClC,AAAI,KAAK,YAAc,GACrB,MAAK,UAAY,EACjB,KAAK,SAAS,YAAY,KAAK,SAAS,EACxC,KAAK,iBAAiB,EAE1B,CAGA,GAAW,UAAmB,CAC5B,MAAO,MAAK,QACd,CACA,GAAW,SAAQ,EAAgB,CACjC,AAAI,KAAK,WAAa,GACpB,MAAK,SAAW,EAChB,KAAK,SAAS,WAAW,KAAK,QAAQ,EAE1C,CAGA,GAAW,WAAoB,CAC7B,MAAO,MAAK,SACd,CACA,GAAW,UAAS,EAAgB,CAClC,AAAI,KAAK,YAAc,GACrB,MAAK,UAAY,EACjB,KAAK,SAAS,YAAY,KAAK,SAAS,EACxC,KAAK,SAAS,oBAAoB,EAAgB,WAAW,SAAU,KAAK,SAAS,EAEzF,CAGA,GAAW,UAA4B,CACrC,MAAO,MAAK,QACd,CACA,GAAW,SAAQ,EAAyB,CAC1C,AAAI,KAAK,WAAa,GACpB,MAAK,SAAW,EAChB,KAAK,cAAc,EACnB,KAAK,SAAS,iBAAiB,EAAgB,WAAW,QAAS,KAAK,SAAS,SAAS,CAAC,EAC3F,KAAK,iBAAiB,EAE1B,CAGA,GAAW,iBAAsC,CAC/C,MAAO,MAAK,eACd,CACA,GAAW,gBAAe,EAA4B,CACpD,AAAI,KAAK,kBAAoB,GAC3B,MAAK,gBAAkB,EACvB,KAAK,YAAY,KAAK,kBAAoB,UAAY,CAAC,CAAC,KAAK,YAAY,EACzE,KAAK,SAAS,iBAAiB,EAAgB,WAAW,iBAAkB,EAAU,KAAK,eAAe,EAAI,KAAK,gBAAgB,SAAS,EAAI,EAAE,EAEtJ,CAGA,GAAW,cAAsB,CAC/B,MAAO,MAAK,YACd,CACA,GAAW,aAAY,EAAe,CACpC,AAAI,KAAK,eAAiB,GACxB,MAAK,aAAe,EACpB,KAAK,SAAS,mBAAmB,KAAK,YAAY,EAClD,KAAK,iBAAiB,EAE1B,CACF,ECxXA,GAAM,GAAW,isBACX,EAAS,w2jBA4CF,EAAN,aAA8B,EAAkE,CAqBrG,aAAc,CACZ,MAAM,EACN,EAAa,OAAO,CAAC,EAAsB,EAAiB,CAA2B,CAAC,EACxF,EAAqB,KAAM,EAAU,CAAM,EAC3C,KAAK,YAAc,GAAI,GAAiB,GAAI,GAAc,IAAI,CAAC,CACjE,CAzBA,UAAkB,qBAA+B,CAC/C,MAAO,CACL,EAAgB,WAAW,QAC3B,EAAgB,WAAW,iBAC3B,EAAgB,WAAW,MAC3B,EAAgB,WAAW,QAC3B,EAAgB,WAAW,SAC3B,EAAiB,WAAW,MAC5B,EAAiB,WAAW,SAC5B,EAAiB,WAAW,MAC5B,EAAiB,WAAW,SAC5B,EAAiB,WAAW,YAC5B,EAAiB,WAAW,eAC5B,EAAiB,WAAW,yBAC5B,EAAsB,WAAW,cACjC,EAAsB,WAAW,aACjC,EAAsB,WAAW,gBACnC,CACF,CASA,AAAO,yBAAyB,EAAc,EAAkB,EAAwB,CACtF,OAAQ,OACD,GAAgB,WAAW,QAC9B,KAAK,QAAU,EACf,WACG,GAAgB,WAAW,iBAC9B,KAAK,eAAiB,EACtB,WACG,GAAgB,WAAW,MAC9B,KAAK,MAAQ,EACb,UACG,GAAgB,WAAW,QAC9B,KAAK,QAAU,EAAc,CAAQ,EACrC,WACG,GAAgB,WAAW,SAC9B,KAAK,SAAW,EAAc,CAAQ,EACtC,WACG,GAAiB,WAAW,MAC/B,KAAK,MAAQ,EACb,WACG,GAAiB,WAAW,SAC/B,KAAK,SAAW,EAAc,CAAQ,EACtC,WACG,GAAiB,WAAW,YAC/B,KAAK,YAAc,EACnB,OAEJ,MAAM,yBAAyB,EAAM,EAAU,CAAQ,CACzD,CAiCF,EA7BiB,GADf,AAAC,EAAmB,GACL,AA5DJ,EA4DI,qBAIA,GADf,AAAC,EAAmB,GACL,AAhEJ,EAgEI,wBAIA,GADf,AAAC,EAAmB,GACL,AApEJ,EAoEI,uBAIA,GADf,AAAC,EAAmB,GACL,AAxEJ,EAwEI,wBAIA,GADf,AAAC,EAAmB,GACL,AA5EJ,EA4EI,uBAIA,GADf,AAAC,EAAmB,GACL,AAhFJ,EAgFI,8BAIA,GADf,AAAC,EAAmB,GACL,AApFJ,EAoFI,qBAIA,GADf,AAAC,EAAmB,GACL,AAxFJ,EAwFI,2BAxFJ,EAAN,GAfP,AAAC,EAAc,CACb,KAAM,EAAiB,YACvB,aAAc,CACZ,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,CACF,CACF,CAAC,GACY,GCtDN,aAAuC,CAC5C,EAAoB,CAAe,CACrC",
|
|
4
|
+
"sourcesContent": ["import { COMPONENT_NAME_PREFIX } from '../../constants';\n\nconst elementName: keyof HTMLElementTagNameMap = `${COMPONENT_NAME_PREFIX}select`;\n\nconst classes = {\n ROOT: 'forge-select',\n OPENED: 'forge-select--opened',\n SELECTED_TEXT: 'forge-select__selected-text',\n DROPDOWN: 'forge-select__dropdown',\n LABEL_FLOAT: 'forge-select--label-float',\n GROUP_WRAPPER: 'forge-select__group-wrapper'\n};\n\nconst selectors = {\n ROOT: `.${classes.ROOT}`,\n SELECTED_TEXT: `.${classes.SELECTED_TEXT}`,\n LABEL: 'label#select-label',\n LEADING_SLOT: 'slot[name=leading]',\n ADDON_END_SLOT: 'slot[name=addon-end]'\n};\n\nconst attributes = {\n TYPE: 'type',\n VALUE: 'value',\n LABEL: 'label',\n MULTIPLE: 'multiple',\n DISABLED: 'disabled',\n PLACEHOLDER: 'placeholder',\n OBSERVE_SCROLL: 'observe-scroll',\n OBSERVE_SCROLL_THRESHOLD: 'observe-scroll-threshold'\n};\n\nconst events = {\n SCROLLED_BOTTOM: `${elementName}-scrolled-bottom`\n};\n\nexport const SELECT_CONSTANTS = {\n elementName,\n classes,\n selectors,\n attributes,\n events\n};\n\nexport {\n type FieldDensityType as SelectDensityType,\n type FieldFloatLabelType as SelectFloatLabelType,\n type FieldShapeType as SelectShapeType\n} from '../../field/field-constants';\n", "import { calculateFontWidth, getShadowElement, IFontInfo, toggleClass, toggleAttribute } from '@tylertech/forge-core';\nimport { FloatingLabel, IFloatingLabel } from '../../floating-label/floating-label';\nimport { ISelectComponent } from './select';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IBaseSelectAdapter, BaseSelectAdapter } from '../core';\nimport { IListDropdownConfig } from '../../list-dropdown/list-dropdown-constants';\nimport { FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport type OptionListenerDestructor = () => void;\n\nexport interface ISelectAdapter extends IBaseSelectAdapter {\n initializeFloatingLabel(): IFloatingLabel;\n initializeLabel(): void;\n hasLabel(): boolean;\n setLabel(value: string): void;\n addRootClass(name: string): void;\n removeRootClass(name: string): void;\n setPlaceholderText(value: string): void;\n setSelectedText(value: string): void;\n addMouseDownListener(listener: (evt: MouseEvent) => void): void;\n removeMouseDownListener(listener: (evt: MouseEvent) => void): void;\n setLeadingListener(listener: (evt: Event) => void): void;\n removeLeadingListener(listener: (evt: Event) => void): void;\n setAddonEndListener(listener: (evt: Event) => void): void;\n removeAddonEndListener(listener: (evt: Event) => void): void;\n hasLeadingElement(): boolean;\n setDisabled(isDisabled: boolean): void;\n setInvalid(isInvalid: boolean): void;\n setRequired(isRequired: boolean): void;\n setRoomy(isRoomy: boolean): void;\n setDense(isDense: boolean): void;\n getLabelWidth(fontSize: number, fontFamily: string): number;\n getLabelFontMetrics(): IFontInfo;\n getTargetWidth(): number;\n hasAddonEndNodes(): boolean;\n setFocus(): void;\n isWithinSelf(element: HTMLElement): boolean;\n}\n\n/**\n * The DOM adapter behind the `<forge-select>` component.\n */\nexport class SelectAdapter extends BaseSelectAdapter implements ISelectAdapter {\n private _selectElement: HTMLElement;\n private _labelElement: HTMLLabelElement;\n private _selectedTextElement: HTMLElement;\n private _leadingSlot: HTMLSlotElement;\n private _addonEndSlot: HTMLSlotElement;\n\n constructor(component: ISelectComponent) {\n super(component);\n this._selectElement = getShadowElement(component, SELECT_CONSTANTS.selectors.ROOT);\n this._leadingSlot = getShadowElement(component, SELECT_CONSTANTS.selectors.LEADING_SLOT) as HTMLSlotElement;\n this._addonEndSlot = getShadowElement(this._component, SELECT_CONSTANTS.selectors.ADDON_END_SLOT) as HTMLSlotElement;\n this._selectedTextElement = getShadowElement(component, SELECT_CONSTANTS.selectors.SELECTED_TEXT) as HTMLElement;\n this._targetElement = this._selectElement;\n }\n\n public initializeLabel(): void {\n this._labelElement = getShadowElement(this._component, SELECT_CONSTANTS.selectors.LABEL) as HTMLLabelElement;\n }\n\n public hasLabel(): boolean {\n return !!this._labelElement;\n }\n\n public initializeAccessibility(): void {\n this._component.setAttribute('role', 'combobox');\n this._component.setAttribute('aria-haspopup', 'true');\n this._component.setAttribute('aria-expanded', 'false');\n\n // We need to ensure the host element receives a non-negative tabindex for our interactions to work properly\n if (!this._component.hasAttribute('tabindex') || this._component.tabIndex === -1) {\n this._component.tabIndex = 0;\n }\n }\n\n public initializeFloatingLabel(): IFloatingLabel {\n return new FloatingLabel(this._labelElement);\n }\n\n public setLabel(value: string): void {\n if (!this._component.hasAttribute('aria-label') || this._component.getAttribute('aria-label') === this._labelElement.textContent) {\n this._component.setAttribute('aria-label', value);\n }\n this._labelElement.textContent = value;\n }\n\n public addRootClass(name: string): void {\n this._selectElement.classList.add(name);\n }\n\n public removeRootClass(name: string): void {\n this._selectElement.classList.remove(name);\n }\n\n public setPlaceholderText(value: string): void {\n toggleAttribute(this._selectedTextElement, !!value, 'placeholder', value);\n }\n\n public addClickListener(listener: (evt: Event) => void): void {\n this._component.addEventListener('click', listener);\n }\n\n public removeClickListener(listener: (evt: Event) => void): void {\n this._component.removeEventListener('click', listener);\n }\n\n public addMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.addEventListener('mousedown', listener);\n }\n\n public removeMouseDownListener(listener: (evt: MouseEvent) => void): void {\n this._component.removeEventListener('mousedown', listener);\n }\n\n public addTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.addEventListener(type, listener);\n }\n\n public removeTargetListener(type: string, listener: (evt: Event) => void): void {\n this._component.removeEventListener(type, listener);\n }\n\n public open(config: IListDropdownConfig): void {\n super.open(config);\n this._component.setAttribute('aria-controls', `list-dropdown-popup-${config.id}`);\n this._component.setAttribute('aria-expanded', 'true');\n toggleClass(this._selectElement, true, SELECT_CONSTANTS.classes.OPENED);\n }\n\n public close(): void {\n this._component.setAttribute('aria-expanded', 'false');\n this._component.removeAttribute('aria-activedescendant');\n this._component.removeAttribute('aria-controls');\n toggleClass(this._selectElement, false, SELECT_CONSTANTS.classes.OPENED);\n super.close();\n }\n\n public updateActiveDescendant(id: string): void {\n toggleAttribute(this._component, !!id, 'aria-activedescendant', id);\n }\n\n public setSelectedText(value: string): void {\n this._selectedTextElement.textContent = value;\n }\n\n public setLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.addEventListener('slotchange', listener);\n }\n\n public removeLeadingListener(listener: (evt: Event) => void): void {\n this._leadingSlot.removeEventListener('slotchange', listener);\n }\n\n public setAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.addEventListener('slotchange', listener);\n }\n\n public removeAddonEndListener(listener: (evt: Event) => void): void {\n this._addonEndSlot.removeEventListener('slotchange', listener);\n }\n\n public hasLeadingElement(): boolean {\n return this._leadingSlot.assignedNodes().length > 0;\n }\n\n public setDisabled(isDisabled: boolean): void {\n toggleClass(this._selectElement, isDisabled, FIELD_CONSTANTS.classes.DISABLED);\n toggleAttribute(this._component, isDisabled, 'aria-disabled', 'true');\n this._component.tabIndex = isDisabled ? -1 : 0;\n }\n\n public setInvalid(isInvalid: boolean): void {\n toggleClass(this._selectElement, isInvalid, FIELD_CONSTANTS.classes.INVALID);\n toggleAttribute(this._component, isInvalid, 'aria-invalid', 'true');\n }\n\n public setRequired(isRequired: boolean): void {\n toggleClass(this._selectElement, isRequired, FIELD_CONSTANTS.classes.REQUIRED);\n toggleAttribute(this._component, isRequired, 'aria-required', 'true');\n }\n\n public setRoomy(isRoomy: boolean): void {\n toggleClass(this._selectElement, isRoomy, FIELD_CONSTANTS.classes.ROOMY);\n }\n\n public setDense(isDense: boolean): void {\n toggleClass(this._selectElement, isDense, FIELD_CONSTANTS.classes.DENSE);\n }\n\n public setMultiple(multiple: boolean): void {\n if (multiple) {\n this.setHostAttribute('aria-multiselectable', 'true');\n } else {\n this.removeHostAttribute('aria-multiselectable');\n }\n }\n\n public getLabelWidth(fontSize: number, fontFamily: string): number {\n return calculateFontWidth(this._labelElement.innerText, { fontSize, fontFamily });\n }\n\n public getLabelFontMetrics(): IFontInfo {\n const style = getComputedStyle(this._labelElement);\n return {\n fontSize: parseInt(style.fontSize || '16', 10),\n fontFamily: style.fontFamily || 'Roboto'\n };\n }\n\n public getTargetWidth(): number {\n return this._selectElement.getBoundingClientRect().width;\n }\n\n public hasAddonEndNodes(): boolean {\n if (!this._addonEndSlot) {\n return false;\n }\n return this._addonEndSlot.assignedNodes().length > 0;\n }\n\n public setFocus(): void {\n this._component.focus();\n }\n\n public isWithinSelf(element: HTMLElement): boolean {\n const isShadowChild = !!this._component.shadowRoot && this._component.shadowRoot.contains(element);\n return isShadowChild || this._component.contains(element);\n }\n}\n", "import { isDefined, getEventPath } from '@tylertech/forge-core';\nimport { IBaseSelectFoundation, ISelectOption, BaseSelectFoundation } from '../core';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { IFloatingLabel } from '../../floating-label';\nimport { ISelectAdapter } from './select-adapter';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\n\nexport interface ISelectFoundation extends IBaseSelectFoundation {\n label: string;\n disabled: boolean;\n density: FieldDensityType;\n invalid: boolean;\n required: boolean;\n floatLabelType: FieldFloatLabelType;\n placeholder: string;\n}\n\n/**\n * The foundation class behind the `<forge-select>` component.\n */\nexport class SelectFoundation extends BaseSelectFoundation<ISelectAdapter> implements ISelectFoundation {\n private _floatingLabelInstance: IFloatingLabel | undefined;\n private _shape: FieldShapeType = 'default';\n private _label = '';\n private _disabled = false;\n private _invalid = false;\n private _required = false;\n private _floatLabelType: FieldFloatLabelType = 'auto';\n private _placeholder: string;\n private _density: FieldDensityType = 'default';\n private _isInitialized = false;\n private _leadingChangeListener: (evt: Event) => void;\n private _addonEndChangeListener: (evt: Event) => void;\n private _mousedownListener: (evt: MouseEvent) => void;\n\n constructor(adapter: ISelectAdapter) {\n super(adapter);\n this._leadingChangeListener = evt => this._onLeadingSlotChanged(evt);\n this._addonEndChangeListener = evt => this._onAddonEndSlotChanged(evt);\n this._targetWidthCallback = () => this._adapter.getTargetWidth();\n this._mousedownListener = evt => this._onMouseDown(evt);\n }\n\n public initialize(): void {\n super.initialize();\n super.initializeTarget();\n this._initializeLabel();\n this._initializeAccessibility();\n\n this._adapter.setPlaceholderText(this._placeholder);\n this._applyDensity();\n this._setShapeType();\n\n this._detectLeadingElement();\n this._detectAddonEndContent();\n this._adapter.addMouseDownListener(this._mousedownListener);\n this._adapter.setLeadingListener(this._leadingChangeListener);\n this._adapter.setAddonEndListener(this._addonEndChangeListener);\n\n if (this._disabled) {\n this._adapter.setDisabled(true);\n }\n\n if (this._invalid) {\n this._adapter.setInvalid(true);\n }\n\n this._isInitialized = true;\n }\n\n public disconnect(): void {\n super.disconnect();\n this._adapter.removeMouseDownListener(this._mousedownListener);\n this._adapter.removeLeadingListener(this._leadingChangeListener);\n this._adapter.removeAddonEndListener(this._leadingChangeListener);\n\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n private _initializeLabel(): void {\n this._adapter.initializeLabel();\n this._updateLabel();\n this._floatingLabelInstance = this._adapter.initializeFloatingLabel();\n if (this._floatLabelType === 'always') {\n this._floatLabel(true);\n } else {\n const hasText = !!this._getSelectedText();\n const hasPlaceholder = !!this._placeholder;\n this._floatLabel(hasText || hasPlaceholder);\n }\n }\n\n private _destroyLabel(): void {\n if (this._floatingLabelInstance) {\n this._floatingLabelInstance.destroy();\n this._floatingLabelInstance = undefined;\n }\n }\n\n protected _initializeValue(): void {\n super._initializeValue();\n if (this._selectedValues.length) {\n this._floatLabel(true);\n }\n }\n\n private _initializeAccessibility(): void {\n this._adapter.setMultiple(this._multiple);\n if (this._required) {\n this._adapter.setHostAttribute('aria-required', 'true');\n }\n if (this._disabled) {\n this._adapter.setHostAttribute('aria-disabled', 'true');\n }\n if (this._invalid) {\n this._adapter.setHostAttribute('aria-invalid', 'true');\n }\n }\n\n private _onMouseDown(evt: MouseEvent): void {\n const isElementWithinSelf = this._adapter.isWithinSelf(evt.target as HTMLElement);\n if (isElementWithinSelf) {\n evt.preventDefault();\n }\n }\n\n /** Called when the `slotchange` event fires on the \"leading\" slot element. */\n private _onLeadingSlotChanged(evt: Event): void {\n this._detectLeadingElement();\n }\n\n /** Called when the `slotchange` event fires on the \"addon-end\" slot element. */\n private _onAddonEndSlotChanged(evt: Event): void {\n this._detectAddonEndContent();\n }\n\n /** Updates the component state based on the existance of elements within the \"leading\" slot. */\n private _detectLeadingElement(): void {\n if (this._adapter.hasLeadingElement()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LEADING);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LEADING);\n }\n }\n\n private _detectAddonEndContent(): void {\n if (this._adapter.hasAddonEndNodes()) {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.ADDON_END);\n }\n }\n\n protected _onClick(evt: MouseEvent): void {\n if (this._disabled) {\n return;\n }\n\n // We ignore clicks events that originate from without our addon-end container\n const composedPath = getEventPath(evt);\n if (composedPath.find(el => el.classList && el.classList.contains(FIELD_CONSTANTS.classes.ADDON_END_CONTAINER))) {\n return;\n }\n\n this.setFocus();\n super._onClick(evt);\n }\n\n /** Handles receiving focus on the selected text element. */\n protected _onFocus(evt: Event): void {\n if (this._disabled) {\n return;\n }\n this._setFocused();\n super._onFocus(evt);\n }\n\n protected _floatLabel(value: boolean): void {\n if (!this._floatingLabelInstance) {\n return;\n }\n\n if (value) {\n this._adapter.addRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n } else {\n this._adapter.removeRootClass(SELECT_CONSTANTS.classes.LABEL_FLOAT);\n }\n\n if (this._floatLabelType === 'always') {\n value = true;\n }\n\n this._floatingLabelInstance.float(value, this._floatLabelType === 'always');\n }\n\n /** Handles losing focus on the selected text element. */\n protected _onBlur(evt: FocusEvent): void {\n super._onBlur(evt);\n this._setBlurred();\n }\n\n protected _onDismiss(): void {\n super._onDismiss();\n this._setBlurred();\n }\n\n protected _onDropdownScrollEnd(): void {\n this._adapter.emitHostEvent(SELECT_CONSTANTS.events.SCROLLED_BOTTOM);\n }\n\n /**\n * Handles selecting an item in the dropdown.\n * @param {ISelectOption} option The selected option.\n * @param {number} optionIndex The index of the selected option.\n */\n protected async _onSelect(option: ISelectOption, optionIndex: number, closeDropdown = true): Promise<boolean> {\n const result = await super._onSelect(option, optionIndex, closeDropdown);\n if (result) {\n this._adapter.setSelectedText(this._getSelectedText());\n if (closeDropdown && !this._multiple) {\n this._adapter.setFocus();\n }\n }\n return result;\n }\n\n /** Updates the state of the component to contain focus. */\n private _setFocused(): void {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n this._floatLabel(true);\n }\n\n /** Updates the state of the component to not contain focus. */\n private _setBlurred(): void {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.FOCUSED);\n if (!this._selectedValues.length && !this._placeholder?.length) {\n this._floatLabel(false);\n }\n }\n\n /** Resets the state of the component to original values. */\n protected _reset(): void {\n super._reset();\n this._adapter.setSelectedText('');\n this._floatLabel(!this._placeholder?.length);\n }\n\n private _updateLabel(): void {\n if (this._adapter.hasLabel()) {\n this._adapter.setLabel(this._label);\n }\n if (this._label && this._density !== 'dense') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.LABEL);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.LABEL);\n }\n }\n\n protected _applyValue(value: string | string[]): void {\n super._applyValue(value);\n\n // Update the state of the component based on the existence of a selected value\n const text = this._getSelectedText();\n this._adapter.setSelectedText(text);\n if (!this._open) {\n this._floatLabel(!!text || !!this._placeholder);\n }\n }\n\n private _applyDensity(): void {\n this._adapter.setRoomy(this._density === 'roomy');\n this._adapter.setDense(this._density === 'dense');\n }\n\n protected _setShapeType(): void {\n if (this._shape === 'rounded') {\n this._adapter.addRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n } else {\n this._adapter.removeRootClass(FIELD_CONSTANTS.classes.SHAPE_ROUNDED);\n }\n }\n\n public setFocus(): void {\n this._adapter.setFocus();\n }\n\n /** Gets/sets the label text. */\n public get label(): string {\n return this._label;\n }\n public set label(value: string) {\n if (this._label !== value) {\n this._label = value;\n this._updateLabel();\n if (this._label) {\n this._initializeLabel();\n this._adapter.setHostAttribute(SELECT_CONSTANTS.attributes.LABEL, this._label);\n } else {\n this._destroyLabel();\n this.required = false;\n this._adapter.removeHostAttribute(SELECT_CONSTANTS.attributes.LABEL);\n }\n }\n }\n\n public get shape(): FieldShapeType {\n return this._shape;\n }\n public set shape(value: FieldShapeType) {\n if (this._shape !== value) {\n this._shape = value;\n\n if (this._isInitialized) {\n this._setShapeType();\n }\n\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.SHAPE, this._shape);\n }\n }\n\n /** Gets/sets the disabled state. */\n public get disabled(): boolean {\n return this._disabled;\n }\n public set disabled(value: boolean) {\n if (this._disabled !== value) {\n this._disabled = value;\n this._adapter.setDisabled(this._disabled);\n this._initializeLabel();\n }\n }\n\n /** Gets/sets the invalid state. */\n public get invalid(): boolean {\n return this._invalid;\n }\n public set invalid(value: boolean) {\n if (this._invalid !== value) {\n this._invalid = value;\n this._adapter.setInvalid(this._invalid);\n }\n }\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n public get required(): boolean {\n return this._required;\n }\n public set required(value: boolean) {\n if (this._required !== value) {\n this._required = value;\n this._adapter.setRequired(this._required);\n this._adapter.toggleHostAttribute(FIELD_CONSTANTS.attributes.REQUIRED, this._required);\n }\n }\n\n /** Gets/sets the dense state. */\n public get density(): FieldDensityType {\n return this._density;\n }\n public set density(value: FieldDensityType) {\n if (this._density !== value) {\n this._density = value;\n this._applyDensity();\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.DENSITY, this._density.toString());\n this._initializeLabel(); // This ensures label is removed while dense\n }\n }\n\n /** Gets/sets the floating label type. */\n public get floatLabelType(): FieldFloatLabelType {\n return this._floatLabelType;\n }\n public set floatLabelType(value: FieldFloatLabelType) {\n if (this._floatLabelType !== value) {\n this._floatLabelType = value;\n this._floatLabel(this._floatLabelType === 'always' || !!this._placeholder);\n this._adapter.setHostAttribute(FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE, isDefined(this._floatLabelType) ? this._floatLabelType.toString() : '');\n }\n }\n\n /** Gets/sets the placeholder text. */\n public get placeholder(): string {\n return this._placeholder;\n }\n public set placeholder(value: string) {\n if (this._placeholder !== value) {\n this._placeholder = value;\n this._adapter.setPlaceholderText(this._placeholder);\n this._initializeLabel();\n }\n }\n}\n", "import { CustomElement, attachShadowTemplate, FoundationProperty, coerceBoolean } from '@tylertech/forge-core';\nimport { tylIconArrowDropDown, tylIconCheckBoxOutlineBlank, tylIconCheckBox } from '@tylertech/tyler-icons/standard';\nimport { SelectAdapter } from './select-adapter';\nimport { SelectFoundation } from './select-foundation';\nimport { SELECT_CONSTANTS } from './select-constants';\nimport { OptionComponent } from '../option';\nimport { PopupComponent } from '../../popup';\nimport { ListComponent, ListItemComponent } from '../../list';\nimport { OptionGroupComponent } from '../option-group';\nimport { IconComponent, IconRegistry } from '../../icon';\nimport { BaseSelectComponent, BASE_SELECT_CONSTANTS } from '../core';\nimport { CircularProgressComponent } from '../../circular-progress';\nimport { ScaffoldComponent } from '../../scaffold';\nimport { ToolbarComponent } from '../../toolbar';\nimport { IconButtonComponent } from '../../icon-button';\nimport { FieldDensityType, FieldFloatLabelType, FieldShapeType, FIELD_CONSTANTS } from '../../field/field-constants';\nimport { IBaseSelectComponent } from '../core/base-select';\n\nconst template = '<template><div class=\\\"forge-select__wrapper\\\" part=\\\"root\\\"><div class=\\\"forge-select forge-field\\\" part=\\\"container\\\"><div class=\\\"forge-select__leading-container\\\" part=\\\"leading-container\\\"><slot name=\\\"leading\\\"></slot></div><div class=\\\"forge-field__label-input-container\\\" part=\\\"label-input-container\\\"><div id=\\\"selected-text\\\" class=\\\"forge-select__selected-text\\\" part=\\\"text\\\" aria-live=\\\"assertive\\\" aria-atomic=\\\"true\\\"></div><label id=\\\"select-label\\\" aria-hidden=\\\"true\\\" part=\\\"label\\\"></label></div><forge-icon class=\\\"forge-select__dropdown-icon\\\" name=\\\"arrow_drop_down\\\" part=\\\"icon\\\"></forge-icon><div class=\\\"forge-field__addon-end-container\\\" part=\\\"addon-end-container\\\"><slot name=\\\"addon-end\\\"></slot></div></div><slot name=\\\"helper-text\\\"></slot></div></template>';\nconst styles = '.forge-select{-webkit-box-sizing:border-box;box-sizing:border-box;display:-webkit-box;display:flex;-webkit-box-align:center;align-items:center;position:relative;z-index:1;z-index:var(--forge-z-index-surface,1);margin-top:0;margin-top:var(--forge-select-margin-top,0)}.forge-select.forge-field--disabled{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5);cursor:not-allowed}.forge-select:not(.forge-field--dense):not(.forge-field--roomy){height:3rem;height:var(--forge-select-height,3rem)}.forge-select.forge-field--roomy:not(.forge-field--dense){height:3.5rem;height:var(--forge-select-height,3.5rem)}.forge-select.forge-field--dense:not(.forge-field--roomy){height:1.5rem;height:var(--forge-select-height,1.5rem)}.forge-field::before{content:\\\"\\\";display:-webkit-box;display:flex;position:absolute;top:0;right:0;left:0;z-index:-1;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;max-width:100%;height:100%;pointer-events:none;border-style:solid;border-style:var(--forge-select-border-style,solid);border-width:1px;-webkit-transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-color .2s 0s cubic-bezier(0, 0, .2, 1);background-color:transparent;background-color:var(--forge-select-theme-background,transparent);text-align:left}.forge-field[dir=rtl]::before,[dir=rtl] .forge-field::before{text-align:right}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused)::before{border-color:rgba(0,0,0,.38);border-color:var(--mdc-theme-text-icon-on-background,rgba(0,0,0,.38))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid):not(.forge-field--focused):hover::before{border-color:rgba(0,0,0,.87);border-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled)::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-field--invalid:not(.forge-field--disabled)::before{border-color:#b00020;border-color:var(--mdc-theme-error,#b00020)}.forge-field--invalid:not(.forge-field--disabled):not(.forge-field--focused):hover::before{border-color:#db8a98;border-color:var(--forge-theme-error-hover,#db8a98)}.forge-field--disabled::before{border-color:rgba(0,0,0,.12);border-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--shape-rounded){border-radius:4px}.forge-field:not(.forge-field--shape-rounded)::before{border-radius:4px}.forge-field--shape-rounded{border-radius:28px}.forge-field--shape-rounded::before{border-radius:28px}.forge-field--disabled::before{background-color:#f5f5f5;background-color:var(--forge-theme-form-field-disabled-on-background,#f5f5f5)}.forge-field--focused::before{border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5);border-width:2px}.forge-field__label-input-container{position:relative;-webkit-box-flex:1;flex:1 1 0.0001px;height:100%;display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center;min-width:0}.forge-field~::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);display:block;min-height:1.5rem;line-height:normal;padding-top:4px;-webkit-box-sizing:border-box;box-sizing:border-box}.forge-field:not(.forge-field--dense):not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field--roomy:not(.forge-field--dense)~::slotted([slot=helper-text]){font-size:.875rem}.forge-field--dense:not(.forge-field--roomy)~::slotted([slot=helper-text]){font-size:.75rem}.forge-field~::slotted([slot=helper-text]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled)~::slotted([slot=helper-text]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field:not(.forge-field--shape-rounded)~::slotted([slot=helper-text]){margin-left:12px}.forge-field--shape-rounded~::slotted([slot=helper-text]){margin-left:32px}.forge-field ::slotted([slot=leading]){display:-webkit-box;display:flex;align-self:center}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=leading]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=leading]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=leading]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field ::slotted([slot=leading]){margin:0 4px}.forge-field ::slotted([slot=leading]:not(forge-icon-button)){padding:6px}.forge-field__addon-end-container{display:none}.forge-field--addon-end .forge-field__addon-end-container{height:100%;width:auto;display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;padding:0 4px;border-left-width:1px;border-left-style:solid;-webkit-transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1);transition:border-left-color .2s 0s cubic-bezier(0, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.54);border-left-color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field:not(.forge-field--disabled):not(.forge-field--focused):not(.forge-field--invalid) .forge-field__addon-end-container:hover{border-left-color:rgba(0,0,0,.87);border-left-color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#3f51b5;border-left-color:var(--mdc-theme-primary,#3f51b5)}.forge-field.forge-field--invalid:not(.forge-field--disabled) .forge-field__addon-end-container{border-left-color:#b00020;border-left-color:var(--mdc-theme-error,#b00020)}.forge-field.forge-field--invalid:not(.forge-field--focused):not(.forge-field--disabled) .forge-field__addon-end-container:hover{border-left-color:#db8a98;border-left-color:var(--forge-theme-error-hover,#db8a98)}.forge-field.forge-field--disabled .forge-field__addon-end-container{border-left-color:rgba(0,0,0,.12);border-left-color:var(--mdc-theme-text-disabled-on-background,rgba(0,0,0,.12))}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) ::slotted([slot=addon-end]){color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) ::slotted([slot=addon-end]){color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled ::slotted([slot=addon-end]){color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-select__leading-container{display:-webkit-box;display:flex;align-self:center}.forge-field label{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65));pointer-events:none;right:0;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-subtitle1-font-weight,400);letter-spacing:.009375em;letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, .009375em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-subtitle1-text-transform,inherit);font-size:var(--mdc-typography-subtitle1-font-size, 1rem);position:absolute;left:0;-webkit-transform-origin:left top;transform-origin:left top;line-height:1.1rem;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:text;overflow:hidden;will-change:transform;-webkit-transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),color 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field label[dir=rtl],[dir=rtl] .forge-field label{right:0;left:auto;-webkit-transform-origin:right top;transform-origin:right top;text-align:right}.forge-field--dense:not(.forge-field--roomy) label{display:none}.forge-field--required label::after{content:none}.forge-field--required label::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:\\\"*\\\";margin-right:4px}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{font-size:1rem}.forge-field--roomy:not(.forge-field--dense) label{font-size:1rem}.forge-field--disabled label{color:rgba(0,0,0,.38);color:var(--forge-theme-label-disabled-on-background,rgba(0,0,0,.38))}.forge-field--invalid:not(.forge-field--disabled) label{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label{top:1rem}.forge-field--roomy:not(.forge-field--dense) label{top:1.285rem}.forge-field:not(.forge-field--shape-rounded):not(.forge-field--leading) label{left:12px!important}.forge-field--shape-rounded:not(.forge-field--leading) label{left:32px!important}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end):not(.forge-field--shape-rounded) label{padding-right:12px}.forge-field:not(.forge-field--trailing):not(.forge-field--addon-end).forge-field--shape-rounded label{padding-right:32px}.forge-field label.forge-floating-label--float-above{color:rgba(0,0,0,.65);color:var(--forge-theme-form-field-label-on-background,rgba(0,0,0,.65))}.forge-field--disabled label.forge-floating-label--float-above{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6))}.forge-field--invalid:not(.forge-field--disabled) label.forge-floating-label--float-above{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--focused:not(.forge-field--invalid):not(.forge-field--disabled) label.forge-floating-label--float-above{color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above{-webkit-transform:translateY(-.54rem) scale(.8125);transform:translateY(-.54rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above{-webkit-transform:translateY(-.72rem) scale(.8125);transform:translateY(-.72rem) scale(.8125);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.62rem) scale(1);transform:translateY(-.62rem) scale(1);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--float-above.forge-floating-label--float-above-end-keyframe{-webkit-transition:none;transition:none;font-size:.8125rem;-webkit-transform:translateY(-.8rem) scale(1);transform:translateY(-.8rem) scale(1);cursor:auto}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.62rem) scale(.8125);transform:translateY(-.62rem) scale(.8125);cursor:auto}.forge-field--roomy:not(.forge-field--dense) label.forge-floating-label--unfloat-above-start-keyframe{-webkit-transition:none;transition:none;font-size:1rem;-webkit-transform:translateY(-.8rem) scale(.8125);transform:translateY(-.8rem) scale(.8125);cursor:auto}.forge-field .forge-select__selected-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-weight:400;font-weight:var(--mdc-typography-body1-font-weight,400);letter-spacing:.03125em;letter-spacing:var(--mdc-typography-body1-letter-spacing, .03125em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-decoration:var(--mdc-typography-body1-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-body1-text-transform,inherit);color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87));display:block;overflow:hidden;text-overflow:ellipsis;align-self:flex-end;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;white-space:nowrap;-webkit-transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);transition:opacity 150ms 0s cubic-bezier(.4, 0, .2, 1);border:none;background:0 0;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;outline:0;line-height:normal;min-width:0;font-size:var(--forge-select-font-size, 1rem);padding:0 12px;padding-right:0}.forge-field:not(.forge-field--disabled) .forge-select__selected-text{color:rgba(0,0,0,.87);color:var(--mdc-theme-text-primary-on-background,rgba(0,0,0,.87))}.forge-field--disabled .forge-select__selected-text{color:rgba(0,0,0,.6);color:var(--forge-theme-form-field-text-disabled-on-background,rgba(0,0,0,.6));cursor:not-allowed}.forge-field:not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{font-size:1rem;font-size:var(--forge-select-font-size, 1rem)}.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{font-size:.875rem;font-size:var(--forge-select-font-size, .875rem)}.forge-field .forge-select__selected-text{padding:0 12px}.forge-field--label .forge-select__selected-text{padding-top:24px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-top:29px}.forge-field--shape-rounded:not(.forge-field--leading) .forge-select__selected-text{padding-left:32px}.forge-field--leading .forge-select__selected-text{padding-left:0}.forge-field--label .forge-select__selected-text{padding-bottom:3px}.forge-field--roomy.forge-field--label .forge-select__selected-text{padding-bottom:8px}.forge-field:not(.forge-field--label):not(.forge-field--dense):not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height, 3rem)}.forge-field:not(.forge-field--label).forge-field--roomy:not(.forge-field--dense) .forge-select__selected-text{line-height:var(--forge-select-height-roomy, 3.5rem)}.forge-field:not(.forge-field--label).forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{line-height:var(--forge-select-height-dense, 1.5rem)}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__selected-text{padding:0 8px}.forge-field .forge-select__selected-text:empty::before{content:attr(placeholder);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54));font-size:.875rem}.forge-field .forge-select--label .forge-select__selected-text{padding-top:25px}.forge-field .forge-select__dropdown-icon{display:-webkit-box;display:flex;-webkit-box-pack:center;justify-content:center;-webkit-box-align:center;align-items:center;width:24px;height:100%;-webkit-box-flex:0;flex:none;-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);pointer-events:none;margin-right:8px}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-select--opened .forge-field .forge-select__dropdown-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg);-webkit-transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1);transition:transform 150ms cubic-bezier(.4, 0, .2, 1),-webkit-transform 150ms cubic-bezier(.4, 0, .2, 1)}.forge-field:not(.forge-field--disabled):not(.forge-field--invalid) .forge-select__dropdown-icon{color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-field--invalid:not(.forge-field--disabled) .forge-select__dropdown-icon{color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-field--disabled .forge-select__dropdown-icon{color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38));cursor:not-allowed;pointer-events:none}.forge-field.forge-field--dense:not(.forge-field--roomy) .forge-select__dropdown-icon{margin-right:4px}:host{display:block;contain:layout}:host(:focus){outline:0}:host([hidden]){display:none}';\n\nexport interface ISelectComponent extends IBaseSelectComponent {\n density: FieldDensityType;\n floatLabelType: FieldFloatLabelType;\n shape: FieldShapeType;\n invalid: boolean;\n required: boolean;\n label: string;\n disabled: boolean;\n placeholder: string;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'forge-select': ISelectComponent;\n }\n\n interface HTMLElementEventMap {\n 'forge-select-scrolled-bottom': CustomEvent<void>;\n 'change': CustomEvent<any>;\n }\n}\n\n/**\n * The custom element class behind the `<forge-select>` component.\n * \n * @tag forge-select\n */\n@CustomElement({\n name: SELECT_CONSTANTS.elementName,\n dependencies: [\n OptionComponent,\n OptionGroupComponent,\n PopupComponent,\n ListComponent,\n ListItemComponent,\n CircularProgressComponent,\n IconComponent,\n ScaffoldComponent,\n ToolbarComponent,\n IconButtonComponent\n ]\n})\nexport class SelectComponent extends BaseSelectComponent<SelectFoundation> implements ISelectComponent {\n public static get observedAttributes(): string[] {\n return [\n FIELD_CONSTANTS.attributes.DENSITY,\n FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE,\n FIELD_CONSTANTS.attributes.SHAPE,\n FIELD_CONSTANTS.attributes.INVALID,\n FIELD_CONSTANTS.attributes.REQUIRED,\n SELECT_CONSTANTS.attributes.LABEL,\n SELECT_CONSTANTS.attributes.MULTIPLE,\n SELECT_CONSTANTS.attributes.VALUE,\n SELECT_CONSTANTS.attributes.DISABLED,\n SELECT_CONSTANTS.attributes.PLACEHOLDER,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL,\n SELECT_CONSTANTS.attributes.OBSERVE_SCROLL_THRESHOLD,\n BASE_SELECT_CONSTANTS.attributes.POPUP_CLASSES,\n BASE_SELECT_CONSTANTS.attributes.OPTION_LIMIT,\n BASE_SELECT_CONSTANTS.attributes.SYNC_POPUP_WIDTH,\n BASE_SELECT_CONSTANTS.attributes.CONSTRAIN_POPUP_WIDTH,\n BASE_SELECT_CONSTANTS.attributes.WRAP_OPTION_TEXT\n ];\n }\n\n constructor() {\n super();\n IconRegistry.define([tylIconArrowDropDown, tylIconCheckBox, tylIconCheckBoxOutlineBlank]);\n attachShadowTemplate(this, template, styles);\n this._foundation = new SelectFoundation(new SelectAdapter(this));\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n switch (name) {\n case FIELD_CONSTANTS.attributes.DENSITY:\n this.density = newValue as FieldDensityType;\n return;\n case FIELD_CONSTANTS.attributes.FLOAT_LABEL_TYPE:\n this.floatLabelType = newValue as FieldFloatLabelType;\n return;\n case FIELD_CONSTANTS.attributes.SHAPE:\n this.shape = newValue as FieldShapeType;\n break;\n case FIELD_CONSTANTS.attributes.INVALID:\n this.invalid = coerceBoolean(newValue);\n return;\n case FIELD_CONSTANTS.attributes.REQUIRED:\n this.required = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.LABEL:\n this.label = newValue;\n return;\n case SELECT_CONSTANTS.attributes.DISABLED:\n this.disabled = coerceBoolean(newValue);\n return;\n case SELECT_CONSTANTS.attributes.PLACEHOLDER:\n this.placeholder = newValue;\n return;\n }\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n /** Gets/sets the label text. */\n @FoundationProperty()\n public declare label: string;\n\n /** Gets/sets the disabled state. */\n @FoundationProperty()\n public declare disabled: boolean;\n\n /** Gets/sets the invalid state. */\n @FoundationProperty()\n public declare invalid: boolean;\n\n /** Gets/sets the required state which controls the visibility of the asterisk in the label. */\n @FoundationProperty()\n public declare required: boolean;\n\n /** Controls the density type. */\n @FoundationProperty()\n public declare density: FieldDensityType;\n\n /** Whether the label should always float, never float or float as the user types. */\n @FoundationProperty()\n public declare floatLabelType: FieldFloatLabelType;\n\n /** The shape type to use. */\n @FoundationProperty()\n public declare shape: FieldShapeType;\n\n /** Gets/sets the placeholder text. */\n @FoundationProperty()\n public declare placeholder: string;\n}\n", "import { defineCustomElement } from '@tylertech/forge-core';\n\nimport { SelectComponent } from './select';\n\nexport * from './select-adapter';\nexport * from './select-constants';\nexport * from './select-foundation';\nexport * from './select';\n\nexport function defineSelectComponent(): void {\n defineCustomElement(SelectComponent);\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{a as y}from"./chunk.OLNFXF3V.js";import{a as A}from"./chunk.5PXABBKU.js";import{a as d}from"./chunk.B3IJU6XJ.js";import{a as f,b as T}from"./chunk.OOW3UKT4.js";import{a as N,e as O,g as h,l as I}from"./chunk.MMVZJLXE.js";import{k as v,o as u}from"./chunk.G76HB2FK.js";import{f as a}from"./chunk.MCIQXNKY.js";var L=`${T}expansion-panel`,c={CONTAINER:"forge-expansion-panel",HEADER:"forge-expansion-panel__header",CONTENT:"forge-expansion-panel__content"},C={CONTAINER:`.${c.CONTAINER}`,HEADER:`.${c.HEADER}`,CONTENT:`.${c.CONTENT}`,HEADER_SLOT:`.${c.HEADER} > slot[name=header]`,OPEN_ICON:`[slot=header] ${y.elementName}`},x={TOGGLE:`${L}-toggle`},k={OPEN:"open",ORIENTATION:"orientation",USE_ANIMATIONS:"use-animations"},p={COLLAPSE_ANIMATION_DURATION:400,CLICK_DEBOUNCE_THRESHOLD:200},P={ORIENTATION_VERTICAL:"vertical",ORIENTATION_HORIZONTAL:"horizontal",EXPANSION_VERTICAL_TRANSITION:`height ${p.COLLAPSE_ANIMATION_DURATION}ms cubic-bezier(0.4, 0, 0.2, 1), opacity ${p.COLLAPSE_ANIMATION_DURATION}ms ease-in-out`,EXPANSION_HORIZONTAL_TRANSITION:`width ${p.COLLAPSE_ANIMATION_DURATION}ms cubic-bezier(0.4, 0, 0.2, 1), opacity ${p.COLLAPSE_ANIMATION_DURATION}ms ease-in-out`},i={elementName:L,classes:c,selectors:C,events:x,attributes:k,numbers:p,strings:P};var _=class extends A{constructor(t){super(t);this._headerElement=h(this._component,i.selectors.HEADER),this._contentElement=h(this._component,i.selectors.CONTENT),this._headerSlotElement=h(this._component,i.selectors.HEADER_SLOT)}initialize(t,n="vertical"){let r=this._headerElement.children[0].assignedNodes();if(this.setHeaderVisibility(!!r.length),n===i.strings.ORIENTATION_HORIZONTAL&&(this._contentElement.style.height="",this._contentElement.style.width="0px"),t){n==="vertical"?this._contentElement.style.height="":this._contentElement.style.width="",this._contentElement.style.removeProperty("opacity"),this._contentElement.style.removeProperty("visibility");let l=this._component.querySelector(i.selectors.OPEN_ICON);l&&(l.open=!0)}this._headerElement.setAttribute("aria-expanded",t?"true":"false")}setHeaderVisibility(t){t?this._headerElement.style.display="":this._headerElement.style.display="none"}setOpenState(t,n=i.strings.ORIENTATION_VERTICAL,r=!0){let l=this._contentElement.children[0].assignedNodes(),s=this._component.querySelector(i.selectors.OPEN_ICON);if(r&&l&&l.length&&l[0]){let E=({propertyName:g})=>{if(this._component.open!==t){this._contentElement.removeEventListener("transitionend",E);return}(g==="height"||g==="width")&&(this._contentElement.removeEventListener("transitionend",E),this._contentElement.style.removeProperty("transition"),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="":this._contentElement.style.height="",this._contentElement.style.removeProperty("opacity")):this._contentElement.style.visibility="hidden")};this._contentElement.addEventListener("transitionend",E),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._contentElement.style.removeProperty("visibility")):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width=`${this._contentElement.scrollWidth}px`:this._contentElement.style.height=`${this._contentElement.scrollHeight}px`,this._contentElement.style.opacity="1"),n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.transition=i.strings.EXPANSION_HORIZONTAL_TRANSITION:this._contentElement.style.transition=i.strings.EXPANSION_VERTICAL_TRANSITION,window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width=`${this._contentElement.scrollWidth}px`:this._contentElement.style.height=`${this._contentElement.scrollHeight}px`,this._contentElement.style.opacity="1",this._headerElement.setAttribute("aria-expanded","true"),s&&(s.open=!0)):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._headerElement.setAttribute("aria-expanded","false"),s&&(s.open=!1))})})}else this._contentElement.style.removeProperty("transition"),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="":this._contentElement.style.height="",this._contentElement.style.removeProperty("visibility"),this._contentElement.style.removeProperty("opacity"),this._headerElement.setAttribute("aria-expanded","true"),s&&(s.open=!0)):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._contentElement.style.visibility="hidden",this._headerElement.setAttribute("aria-expanded","false"),s&&(s.open=!1))}registerClickListener(t){this._headerElement.addEventListener("click",t)}deregisterClickListener(t){this._headerElement.removeEventListener("click",t)}registerKeydownListener(t){this._headerElement.addEventListener("keydown",t)}deregisterKeydownListener(t){this._headerElement.removeEventListener("keydown",t)}registerHeaderSlotListener(t){this._headerSlotElement.addEventListener("slotchange",t)}deregisterHeaderSlotListener(t){this._headerSlotElement.removeEventListener("slotchange",t)}};var m=class{constructor(e){this._adapter=e;this._open=!1;this._useAnimations=!0;this._orientation=i.strings.ORIENTATION_VERTICAL;this._isInitialized=!1;this._clickListener=u(t=>this._onClick(t),i.numbers.CLICK_DEBOUNCE_THRESHOLD,!0),this._keydownListener=t=>this._onKeydown(t),this._headerSlotChangeListener=t=>this._onHeaderSlotChanged(t)}initialize(){this.connect(),this._adapter.initialize(this._open,this._orientation),this._isInitialized=!0}connect(){this._adapter.registerHeaderSlotListener(this._headerSlotChangeListener),this._adapter.registerClickListener(this._clickListener),this._adapter.registerKeydownListener(this._keydownListener)}disconnect(){this._adapter.deregisterHeaderSlotListener(this._headerSlotChangeListener),this._adapter.deregisterClickListener(this._clickListener),this._adapter.deregisterKeydownListener(this._keydownListener)}setOpenImmediate(e){e?this._openPanel(!1):this._closePanel(!1)}_applyOpen(e){if(!this._isInitialized){this._open=e;return}e?this._openCallback?Promise.resolve(this._openCallback()).then(()=>{this._open=e,this._openPanel(this._useAnimations)}).catch(()=>{}):(this._open=e,this._openPanel(this._useAnimations)):this._closeCallback?Promise.resolve(this._closeCallback()).then(()=>{this._open=e,this._closePanel(this._useAnimations)}).catch(()=>{}):(this._open=e,this._closePanel(this._useAnimations))}get open(){return this._open}set open(e){e=Boolean(e),this._open!==e&&this._applyOpen(e)}get openCallback(){return this._openCallback}set openCallback(e){this._openCallback=e}get closeCallback(){return this._closeCallback}set closeCallback(e){this._closeCallback=e}get orientation(){return this._orientation}set orientation(e){this._orientation=e}get useAnimations(){return this._useAnimations}set useAnimations(e){this._useAnimations!==!!e&&(this._useAnimations=!!e,this._adapter.setHostAttribute(i.attributes.USE_ANIMATIONS,`${this._useAnimations}`))}_onClick(e){e.stopPropagation(),this._toggle(),this._emitEvent()}_onKeydown(e){(e.key===" "||e.key==="Enter")&&(e.stopPropagation(),e.preventDefault(),this._toggle(),this._emitEvent())}_emitEvent(){this._adapter.emitHostEvent(i.events.TOGGLE,this._open)}_toggle(){this.open=!this.open}_openPanel(e){this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.setOpenState(!0,this._orientation,e)}_closePanel(e){this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.setOpenState(!1,this._orientation,e)}_onHeaderSlotChanged(e){this._adapter.setHeaderVisibility(!!e.target.assignedNodes().length)}};var S='<template><div class="forge-expansion-panel" part="root"><div class="forge-expansion-panel__header" role="button" aria-controls="content" aria-expanded="false" part="header"><slot name="header"></slot></div><div id="content" role="group" class="forge-expansion-panel__content" style="height: 0; opacity: 0; visibility: hidden;" part="content"><slot></slot></div></div></template>',R=".forge-expansion-panel{display:block;display:var(--forge-expansion-panel-display,block);height:auto;height:var(--forge-expansion-panel-height,auto)}.forge-expansion-panel__header{outline:0}.forge-expansion-panel__header:hover{cursor:pointer}.forge-expansion-panel__header forge-open-icon{margin-left:auto}.forge-expansion-panel__content{overflow:hidden;overflow:var(--forge-expansion-panel-content-overflow,hidden);max-height:none;max-height:var(--forge-expansion-panel-content-max-height,none)}.forge-expansion-panel__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-expansion-panel__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-expansion-panel__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-expansion-panel__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}:host{display:block}:host([hidden]){display:none}",o=class extends I{constructor(){super();O(this,S,R),this._foundation=new m(new _(this))}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.ORIENTATION,i.attributes.USE_ANIMATIONS]}initializedCallback(){this._foundation.initialize()}connectedCallback(){this._foundation.connect()}attributeChangedCallback(t,n,r){switch(t){case i.attributes.OPEN:this.open=v(r);break;case i.attributes.ORIENTATION:this.orientation=r;break;case i.attributes.USE_ANIMATIONS:this.useAnimations=v(r);break}}disconnectedCallback(){this._foundation.disconnect()}toggle(){this.open=!this.open}setOpenImmediate(t){this._foundation.setOpenImmediate(t)}};a([d()],o.prototype,"open",2),a([d()],o.prototype,"openCallback",2),a([d()],o.prototype,"closeCallback",2),a([d()],o.prototype,"orientation",2),a([d()],o.prototype,"useAnimations",2),o=a([f({name:i.elementName})],o);function te(){N(o)}export{i as a,_ as b,m as c,o as d,te as e};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{a as y}from"./chunk.O4LGKJY6.js";import{a as A}from"./chunk.5PXABBKU.js";import{a as d}from"./chunk.B3IJU6XJ.js";import{a as f,b as T}from"./chunk.OOW3UKT4.js";import{a as N,e as O,g as h,l as I}from"./chunk.MMVZJLXE.js";import{k as v,o as u}from"./chunk.G76HB2FK.js";import{f as a}from"./chunk.MCIQXNKY.js";var L=`${T}expansion-panel`,c={CONTAINER:"forge-expansion-panel",HEADER:"forge-expansion-panel__header",CONTENT:"forge-expansion-panel__content"},C={CONTAINER:`.${c.CONTAINER}`,HEADER:`.${c.HEADER}`,CONTENT:`.${c.CONTENT}`,HEADER_SLOT:`.${c.HEADER} > slot[name=header]`,OPEN_ICON:`[slot=header] ${y.elementName}`},x={TOGGLE:`${L}-toggle`},k={OPEN:"open",ORIENTATION:"orientation",USE_ANIMATIONS:"use-animations"},p={COLLAPSE_ANIMATION_DURATION:400,CLICK_DEBOUNCE_THRESHOLD:200},P={ORIENTATION_VERTICAL:"vertical",ORIENTATION_HORIZONTAL:"horizontal",EXPANSION_VERTICAL_TRANSITION:`height ${p.COLLAPSE_ANIMATION_DURATION}ms cubic-bezier(0.4, 0, 0.2, 1), opacity ${p.COLLAPSE_ANIMATION_DURATION}ms ease-in-out`,EXPANSION_HORIZONTAL_TRANSITION:`width ${p.COLLAPSE_ANIMATION_DURATION}ms cubic-bezier(0.4, 0, 0.2, 1), opacity ${p.COLLAPSE_ANIMATION_DURATION}ms ease-in-out`},i={elementName:L,classes:c,selectors:C,events:x,attributes:k,numbers:p,strings:P};var _=class extends A{constructor(t){super(t);this._headerElement=h(this._component,i.selectors.HEADER),this._contentElement=h(this._component,i.selectors.CONTENT),this._headerSlotElement=h(this._component,i.selectors.HEADER_SLOT)}initialize(t,n="vertical"){let r=this._headerElement.children[0].assignedNodes();if(this.setHeaderVisibility(!!r.length),n===i.strings.ORIENTATION_HORIZONTAL&&(this._contentElement.style.height="",this._contentElement.style.width="0px"),t){n==="vertical"?this._contentElement.style.height="":this._contentElement.style.width="",this._contentElement.style.removeProperty("opacity"),this._contentElement.style.removeProperty("visibility");let l=this._component.querySelector(i.selectors.OPEN_ICON);l&&(l.open=!0)}this._headerElement.setAttribute("aria-expanded",t?"true":"false")}setHeaderVisibility(t){t?this._headerElement.style.display="":this._headerElement.style.display="none"}setOpenState(t,n=i.strings.ORIENTATION_VERTICAL,r=!0){let l=this._contentElement.children[0].assignedNodes(),s=this._component.querySelector(i.selectors.OPEN_ICON);if(r&&l&&l.length&&l[0]){let E=({propertyName:g})=>{if(this._component.open!==t){this._contentElement.removeEventListener("transitionend",E);return}(g==="height"||g==="width")&&(this._contentElement.removeEventListener("transitionend",E),this._contentElement.style.removeProperty("transition"),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="":this._contentElement.style.height="",this._contentElement.style.removeProperty("opacity")):this._contentElement.style.visibility="hidden")};this._contentElement.addEventListener("transitionend",E),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._contentElement.style.removeProperty("visibility")):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width=`${this._contentElement.scrollWidth}px`:this._contentElement.style.height=`${this._contentElement.scrollHeight}px`,this._contentElement.style.opacity="1"),n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.transition=i.strings.EXPANSION_HORIZONTAL_TRANSITION:this._contentElement.style.transition=i.strings.EXPANSION_VERTICAL_TRANSITION,window.requestAnimationFrame(()=>{window.requestAnimationFrame(()=>{t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width=`${this._contentElement.scrollWidth}px`:this._contentElement.style.height=`${this._contentElement.scrollHeight}px`,this._contentElement.style.opacity="1",this._headerElement.setAttribute("aria-expanded","true"),s&&(s.open=!0)):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._headerElement.setAttribute("aria-expanded","false"),s&&(s.open=!1))})})}else this._contentElement.style.removeProperty("transition"),t?(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="":this._contentElement.style.height="",this._contentElement.style.removeProperty("visibility"),this._contentElement.style.removeProperty("opacity"),this._headerElement.setAttribute("aria-expanded","true"),s&&(s.open=!0)):(n===i.strings.ORIENTATION_HORIZONTAL?this._contentElement.style.width="0px":this._contentElement.style.height="0px",this._contentElement.style.opacity="0",this._contentElement.style.visibility="hidden",this._headerElement.setAttribute("aria-expanded","false"),s&&(s.open=!1))}registerClickListener(t){this._headerElement.addEventListener("click",t)}deregisterClickListener(t){this._headerElement.removeEventListener("click",t)}registerKeydownListener(t){this._headerElement.addEventListener("keydown",t)}deregisterKeydownListener(t){this._headerElement.removeEventListener("keydown",t)}registerHeaderSlotListener(t){this._headerSlotElement.addEventListener("slotchange",t)}deregisterHeaderSlotListener(t){this._headerSlotElement.removeEventListener("slotchange",t)}};var m=class{constructor(e){this._adapter=e;this._open=!1;this._useAnimations=!0;this._orientation=i.strings.ORIENTATION_VERTICAL;this._isInitialized=!1;this._clickListener=u(t=>this._onClick(t),i.numbers.CLICK_DEBOUNCE_THRESHOLD,!0),this._keydownListener=t=>this._onKeydown(t),this._headerSlotChangeListener=t=>this._onHeaderSlotChanged(t)}initialize(){this.connect(),this._adapter.initialize(this._open,this._orientation),this._isInitialized=!0}connect(){this._adapter.registerHeaderSlotListener(this._headerSlotChangeListener),this._adapter.registerClickListener(this._clickListener),this._adapter.registerKeydownListener(this._keydownListener)}disconnect(){this._adapter.deregisterHeaderSlotListener(this._headerSlotChangeListener),this._adapter.deregisterClickListener(this._clickListener),this._adapter.deregisterKeydownListener(this._keydownListener)}setOpenImmediate(e){e?this._openPanel(!1):this._closePanel(!1)}_applyOpen(e){if(!this._isInitialized){this._open=e;return}e?this._openCallback?Promise.resolve(this._openCallback()).then(()=>{this._open=e,this._openPanel(this._useAnimations)}).catch(()=>{}):(this._open=e,this._openPanel(this._useAnimations)):this._closeCallback?Promise.resolve(this._closeCallback()).then(()=>{this._open=e,this._closePanel(this._useAnimations)}).catch(()=>{}):(this._open=e,this._closePanel(this._useAnimations))}get open(){return this._open}set open(e){e=Boolean(e),this._open!==e&&this._applyOpen(e)}get openCallback(){return this._openCallback}set openCallback(e){this._openCallback=e}get closeCallback(){return this._closeCallback}set closeCallback(e){this._closeCallback=e}get orientation(){return this._orientation}set orientation(e){this._orientation=e}get useAnimations(){return this._useAnimations}set useAnimations(e){this._useAnimations!==!!e&&(this._useAnimations=!!e,this._adapter.setHostAttribute(i.attributes.USE_ANIMATIONS,`${this._useAnimations}`))}_onClick(e){e.stopPropagation(),this._toggle(),this._emitEvent()}_onKeydown(e){(e.key===" "||e.key==="Enter")&&(e.stopPropagation(),e.preventDefault(),this._toggle(),this._emitEvent())}_emitEvent(){this._adapter.emitHostEvent(i.events.TOGGLE,this._open)}_toggle(){this.open=!this.open}_openPanel(e){this._adapter.setHostAttribute(i.attributes.OPEN,""),this._adapter.setOpenState(!0,this._orientation,e)}_closePanel(e){this._adapter.removeHostAttribute(i.attributes.OPEN),this._adapter.setOpenState(!1,this._orientation,e)}_onHeaderSlotChanged(e){this._adapter.setHeaderVisibility(!!e.target.assignedNodes().length)}};var S='<template><div class="forge-expansion-panel" part="root"><div class="forge-expansion-panel__header" role="button" aria-controls="content" aria-expanded="false" part="header"><slot name="header"></slot></div><div id="content" role="group" class="forge-expansion-panel__content" style="height: 0; opacity: 0; visibility: hidden;" part="content"><slot></slot></div></div></template>',R=".forge-expansion-panel{display:block;display:var(--forge-expansion-panel-display,block);height:auto;height:var(--forge-expansion-panel-height,auto)}.forge-expansion-panel__header{outline:0}.forge-expansion-panel__header:hover{cursor:pointer}.forge-expansion-panel__header forge-open-icon{margin-left:auto}.forge-expansion-panel__content{overflow:hidden;overflow:var(--forge-expansion-panel-content-overflow,hidden);max-height:none;max-height:var(--forge-expansion-panel-content-max-height,none)}.forge-expansion-panel__content::-webkit-scrollbar{width:16px;width:var(--forge-scrollbar-width,16px);height:16px;height:var(--forge-scrollbar-height,16px)}.forge-expansion-panel__content::-webkit-scrollbar-corner{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track{background-color:#f0f0f0;background-color:var(--forge-theme-scrollbar-track,#f0f0f0)}.forge-expansion-panel__content::-webkit-scrollbar-track:hover{background-color:#ececec;background-color:var(--forge-theme-scrollbar-track-hover,#ececec)}.forge-expansion-panel__content::-webkit-scrollbar-thumb{background-color:#bdbdbd;background-color:var(--forge-theme-scrollbar-thumb,#bdbdbd);height:32px;height:var(--forge-scrollbar-min-height,32px);width:32px;width:var(--forge-scrollbar-min-width,32px);border-radius:10px;border-radius:var(--forge-scrollbar-border-radius,10px);border-width:3px;border-width:var(--forge-scrollbar-border-width,3px);border-style:solid;border-color:transparent;background-clip:content-box}.forge-expansion-panel__content::-webkit-scrollbar-thumb:hover{background-color:#9e9e9e;background-color:var(--forge-theme-scrollbar-thumb-hover,#9e9e9e)}:host{display:block}:host([hidden]){display:none}",o=class extends I{constructor(){super();O(this,S,R),this._foundation=new m(new _(this))}static get observedAttributes(){return[i.attributes.OPEN,i.attributes.ORIENTATION,i.attributes.USE_ANIMATIONS]}initializedCallback(){this._foundation.initialize()}connectedCallback(){this._foundation.connect()}attributeChangedCallback(t,n,r){switch(t){case i.attributes.OPEN:this.open=v(r);break;case i.attributes.ORIENTATION:this.orientation=r;break;case i.attributes.USE_ANIMATIONS:this.useAnimations=v(r);break}}disconnectedCallback(){this._foundation.disconnect()}toggle(){this.open=!this.open}setOpenImmediate(t){this._foundation.setOpenImmediate(t)}};a([d()],o.prototype,"open",2),a([d()],o.prototype,"openCallback",2),a([d()],o.prototype,"closeCallback",2),a([d()],o.prototype,"orientation",2),a([d()],o.prototype,"useAnimations",2),o=a([f({name:i.elementName})],o);function te(){N(o)}export{i as a,_ as b,m as c,o as d,te as e};
|
|
7
|
+
//# sourceMappingURL=chunk.FBERE7AL.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as N}from"./chunk.3L7T5WYL.js";import{a as s,f as D,g as L,h as y}from"./chunk.
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as N}from"./chunk.3L7T5WYL.js";import{a as s,f as D,g as L,h as y}from"./chunk.CUT7V2KN.js";import{b as A}from"./chunk.HQJZRTOH.js";import{d as C}from"./chunk.S76NW5JY.js";import{c as b}from"./chunk.HUX56BCR.js";import{e as E}from"./chunk.XY4N4TSH.js";import{d as f}from"./chunk.DRXMITOO.js";import{b as x}from"./chunk.P45HS252.js";import{e as v}from"./chunk.PV5MABYN.js";import{b as S}from"./chunk.EE2LK23T.js";import{a as c}from"./chunk.B3IJU6XJ.js";import{a as _,b as h}from"./chunk.OOW3UKT4.js";import{a as u,e as T}from"./chunk.MMVZJLXE.js";import{k as g}from"./chunk.G76HB2FK.js";import{a as m,f as a}from"./chunk.MCIQXNKY.js";var O=`${h}select-dropdown`,w={TARGET:"target",SELECTED_TEXT_TARGET:"selected-text-target",SYNC_SELECTED_TEXT:"sync-selected-text"},B=m({},w),M={SCROLLED_BOTTOM:`${O}-scrolled-bottom`},o={elementName:O,attributes:B,events:M};var l=class extends D{constructor(t){super(t);this._syncSelectedText=!1;this._originalTargetText="";this._targetDisconnectedListener=()=>this._onTargetDisconnected()}initialize(){this._tryAttach(),super.initialize()}disconnect(){super.disconnect(),this._adapter.isAttached()&&this._detach()}_onDropdownScrollEnd(){this._adapter.emitHostEvent(o.events.SCROLLED_BOTTOM)}_applyValue(t){super._applyValue(t),this._applySelection()}_applySelection(){if(super._applySelection(),this._syncSelectedText||typeof this._selectedTextBuilder=="function"){let t=this._getSelectedText();t||(t=this._originalTargetText),this._adapter.setTargetText(t||"",this._selectedTextTarget)}}_tryAttach(){this._adapter.attach(this._target),this._adapter.isAttached()&&(this._targetDisconnectedDestructor=this._adapter.setTargetDisconnectedListener(this._targetDisconnectedListener),this._originalTargetText=this._adapter.getTargetText(this._selectedTextTarget),this.initializeTarget())}_detach(){this._adapter.detach(),this._targetDisconnectedDestructor&&(this._targetDisconnectedDestructor(),this._targetDisconnectedDestructor=void 0)}_onTargetDisconnected(){this._adapter.detach()}get target(){return this._target}set target(t){this._target!==t&&(this._target=t,this._adapter.isAttached()&&this._detach(),this._tryAttach())}get selectedTextTarget(){return this._selectedTextTarget}set selectedTextTarget(t){this._selectedTextTarget!==t&&(this._selectedTextTarget=t)}get syncSelectedText(){return this._syncSelectedText}set syncSelectedText(t){this._syncSelectedText!==t&&(this._syncSelectedText=t)}};var d=class extends y{constructor(e){super(e)}initializeAccessibility(){this._targetElement.setAttribute("role","listbox"),this._targetElement.setAttribute("aria-live","polite"),this._targetElement.setAttribute("aria-haspopup","true"),this._targetElement.setAttribute("aria-expanded","false")}addClickListener(e){this._targetElement.addEventListener("click",e)}removeClickListener(e){this._targetElement&&this._targetElement.removeEventListener("click",e)}addTargetListener(e,t){let i,r;e==="keydown"&&(i=!1,r=!0),this._targetElement.addEventListener(e,t,{passive:i,capture:r})}removeTargetListener(e,t){this._targetElement&&this._targetElement.removeEventListener(e,t)}updateActiveDescendant(e){e?this._targetElement.setAttribute("aria-activedescendant",e):this._targetElement.removeAttribute("aria-activedescendant")}open(e){super.open(e),this._targetElement.setAttribute("aria-controls",`list-dropdown-popup-${e.id}`),this._targetElement.setAttribute("aria-expanded","true")}close(){this._targetElement.setAttribute("aria-expanded","false"),this._targetElement.removeAttribute("aria-activedescendant"),this._targetElement.removeAttribute("aria-controls"),super.close()}attach(e){let r=(this._component.getRootNode()||HTMLDocument||this._component.ownerDocument||document).querySelector(e);r&&(this._targetElement=r)}detach(){this._targetElement=void 0}setMultiple(e){!this._targetElement||(e?this._targetElement.setAttribute("aria-multiselectable","true"):this._targetElement.removeAttribute("aria-multiselectable"))}setTargetDisconnectedListener(e){if(!this._targetElement||!this._targetElement.parentElement)return()=>{};let t=new MutationObserver(i=>{i.some(I=>Array.from(I.removedNodes).some(R=>R===this._targetElement))&&(t.disconnect(),e())});return t.observe(this._targetElement.parentElement,{childList:!0}),()=>t.disconnect()}isAttached(){return!!this._targetElement}setTargetText(e,t){let i=this._targetElement;if(t){let r=this._getElementBySelector(t);r&&(i=r)}i&&(i.textContent=e)}getTargetText(e){let t=e?this._getElementBySelector(e):this._targetElement;return t?t.innerText:""}_getElementBySelector(e){return this._targetElement.querySelector(e)||this._getRootNode().querySelector(e)}_getRootNode(){return this._component.getRootNode()||this._component.ownerDocument||document}};var P="<template></template>",H=":host{display:none}",n=class extends L{constructor(){super();T(this,P,H),this._foundation=new l(new d(this))}static get observedAttributes(){return[o.attributes.TARGET,o.attributes.SELECTED_TEXT_TARGET,o.attributes.SYNC_SELECTED_TEXT,s.attributes.VALUE,s.attributes.MULTIPLE,s.attributes.OBSERVE_SCROLL,s.attributes.OBSERVE_SCROLL_THRESHOLD,s.attributes.POPUP_CLASSES,s.attributes.OPTION_LIMIT,s.attributes.SYNC_POPUP_WIDTH]}attributeChangedCallback(t,i,r){switch(t){case o.attributes.TARGET:this.target=r;return;case o.attributes.SELECTED_TEXT_TARGET:this.selectedTextTarget=r;return;case o.attributes.SYNC_SELECTED_TEXT:this.syncSelectedText=g(r);return}super.attributeChangedCallback(t,i,r)}};a([c()],n.prototype,"target",2),a([c()],n.prototype,"selectedTextTarget",2),a([c()],n.prototype,"syncSelectedText",2),n=a([_({name:o.elementName,dependencies:[C,A,v,b,E,f,N,x,S]})],n);function pt(){u(n)}export{o as a,l as b,d as c,n as d,pt as e};
|
|
7
|
+
//# sourceMappingURL=chunk.FQEETXUQ.js.map
|
|
@@ -3,5 +3,5 @@
|
|
|
3
3
|
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
4
|
* License: Apache-2.0
|
|
5
5
|
*/
|
|
6
|
-
import{b as h}from"./chunk.BCD4AAI2.js";import{a as f}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as b,b as v}from"./chunk.OOW3UKT4.js";import{e as m,g as p,l as u}from"./chunk.MMVZJLXE.js";import{k as l}from"./chunk.G76HB2FK.js";import{f as i}from"./chunk.MCIQXNKY.js";var y=`${v}button-toggle`,E={VALUE:"value",SELECTED:"selected",DISABLED:"disabled",DENSE:"dense",BUTTON_ARIA_LABEL:"button-aria-label",SELECTED_ADJACENT:"selected-adjacent",SELECTED_ADJACENT_VERTICAL:"selected-adjacent-vertical",STRETCH:"stretch"},_={SELECTED:"forge-button-toggle__selected",DENSE:"forge-button-toggle--dense"},x={BUTTON:".forge-button-toggle",SELECTED:`.${_.SELECTED}`},w={SELECT:`${y}-select`},e={elementName:y,attributes:E,classes:_,selectors:x,events:w};var c=class extends f{constructor(t){super(t);this._buttonElement=p(t,e.selectors.BUTTON)}setSelected(t){t?this._buttonElement.classList.add(e.classes.SELECTED):this._buttonElement.classList.remove(e.classes.SELECTED),this._buttonElement.setAttribute("aria-pressed",t.toString())}addEventListener(t,d){this._buttonElement.addEventListener(t,d)}removeEventListener(t,d){this._buttonElement.removeEventListener(t,d)}initializeRipple(){return new h(this._buttonElement)}setDisabled(t){this._buttonElement.disabled=t,t?this._buttonElement.setAttribute("aria-disabled",t.toString()):this._buttonElement.removeAttribute("aria-disabled")}setDense(t){t?this._buttonElement.classList.add(e.classes.DENSE):this._buttonElement.classList.remove(e.classes.DENSE)}requestFocus(){this._buttonElement.focus()}detectStretchState(){if(this._component.hasAttribute(e.attributes.STRETCH))return;let t=this._component.parentElement;t&&t.hasAttribute(e.attributes.STRETCH)&&t.stretch&&this._component.setAttribute(e.attributes.STRETCH,"")}};var s=class{constructor(r){this._adapter=r;this._selected=!1;this._disabled=!1;this._dense=!1;this._clickListener=t=>this._onClick(t)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addEventListener("click",this._clickListener),this._adapter.setSelected(this._selected),this._adapter.setDisabled(this._disabled),this._adapter.setDense(this._dense),this._adapter.detectStretchState()}disconnect(){this._rippleInstance&&this._rippleInstance.destroy(),this._adapter.removeEventListener("click",this._clickListener)}_onClick(r){this._selected=!this._selected,this._updateSelectedState(),this._adapter.emitHostEvent(e.events.SELECT,{value:this._value,selected:this._selected})}_updateSelectedState(){this._adapter.setSelected(this._selected),this._adapter.setHostAttribute(e.attributes.SELECTED,this._selected.toString())}get value(){return this._value}set value(r){this._value=r}get selected(){return this._selected}set selected(r){this._selected!==r&&(this._selected=r,this._updateSelectedState())}get disabled(){return this._disabled}set disabled(r){this._disabled!==r&&(this._disabled=r,this._adapter.setDisabled(this._disabled))}get dense(){return this._dense}set dense(r){this._dense!==r&&(this._dense=r,this._adapter.setDense(this._dense))}setFocus(){this._adapter.requestFocus()}};var k='<template><button type="button" class="forge-button-toggle" aria-pressed="false" part="button"><slot name="leading"></slot><slot></slot><slot name="trailing"></slot></button></template>',T='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}',o=class extends u{constructor(){super();m(this,k,T),this._foundation=new s(new c(this)),this._buttonElement=p(this,e.selectors.BUTTON)}static get observedAttributes(){return[e.attributes.VALUE,e.attributes.SELECTED,e.attributes.DISABLED,e.attributes.DENSE,e.attributes.BUTTON_ARIA_LABEL]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,d,a){switch(t){case e.attributes.VALUE:this.value=a;break;case e.attributes.SELECTED:this.selected=l(a);break;case e.attributes.DISABLED:this.disabled=l(a);break;case e.attributes.DENSE:this.dense=l(a);break;case e.attributes.BUTTON_ARIA_LABEL:this._buttonElement.setAttribute("aria-label",a);break}}focus(){this._foundation.setFocus()}};i([n()],o.prototype,"value",2),i([n()],o.prototype,"selected",2),i([n()],o.prototype,"disabled",2),i([n()],o.prototype,"dense",2),o=i([b({name:e.elementName})],o);export{e as a,c as b,s as c,o as d};
|
|
7
|
-
//# sourceMappingURL=chunk.
|
|
6
|
+
import{b as h}from"./chunk.N6QJ2RRG.js";import{a as f}from"./chunk.5PXABBKU.js";import{a as n}from"./chunk.B3IJU6XJ.js";import{a as b,b as v}from"./chunk.OOW3UKT4.js";import{e as m,g as p,l as u}from"./chunk.MMVZJLXE.js";import{k as l}from"./chunk.G76HB2FK.js";import{f as i}from"./chunk.MCIQXNKY.js";var y=`${v}button-toggle`,E={VALUE:"value",SELECTED:"selected",DISABLED:"disabled",DENSE:"dense",BUTTON_ARIA_LABEL:"button-aria-label",SELECTED_ADJACENT:"selected-adjacent",SELECTED_ADJACENT_VERTICAL:"selected-adjacent-vertical",STRETCH:"stretch"},_={SELECTED:"forge-button-toggle__selected",DENSE:"forge-button-toggle--dense"},x={BUTTON:".forge-button-toggle",SELECTED:`.${_.SELECTED}`},w={SELECT:`${y}-select`},e={elementName:y,attributes:E,classes:_,selectors:x,events:w};var c=class extends f{constructor(t){super(t);this._buttonElement=p(t,e.selectors.BUTTON)}setSelected(t){t?this._buttonElement.classList.add(e.classes.SELECTED):this._buttonElement.classList.remove(e.classes.SELECTED),this._buttonElement.setAttribute("aria-pressed",t.toString())}addEventListener(t,d){this._buttonElement.addEventListener(t,d)}removeEventListener(t,d){this._buttonElement.removeEventListener(t,d)}initializeRipple(){return new h(this._buttonElement)}setDisabled(t){this._buttonElement.disabled=t,t?this._buttonElement.setAttribute("aria-disabled",t.toString()):this._buttonElement.removeAttribute("aria-disabled")}setDense(t){t?this._buttonElement.classList.add(e.classes.DENSE):this._buttonElement.classList.remove(e.classes.DENSE)}requestFocus(){this._buttonElement.focus()}detectStretchState(){if(this._component.hasAttribute(e.attributes.STRETCH))return;let t=this._component.parentElement;t&&t.hasAttribute(e.attributes.STRETCH)&&t.stretch&&this._component.setAttribute(e.attributes.STRETCH,"")}};var s=class{constructor(r){this._adapter=r;this._selected=!1;this._disabled=!1;this._dense=!1;this._clickListener=t=>this._onClick(t)}initialize(){this._rippleInstance=this._adapter.initializeRipple(),this._adapter.addEventListener("click",this._clickListener),this._adapter.setSelected(this._selected),this._adapter.setDisabled(this._disabled),this._adapter.setDense(this._dense),this._adapter.detectStretchState()}disconnect(){this._rippleInstance&&this._rippleInstance.destroy(),this._adapter.removeEventListener("click",this._clickListener)}_onClick(r){this._selected=!this._selected,this._updateSelectedState(),this._adapter.emitHostEvent(e.events.SELECT,{value:this._value,selected:this._selected})}_updateSelectedState(){this._adapter.setSelected(this._selected),this._adapter.setHostAttribute(e.attributes.SELECTED,this._selected.toString())}get value(){return this._value}set value(r){this._value=r}get selected(){return this._selected}set selected(r){this._selected!==r&&(this._selected=r,this._updateSelectedState())}get disabled(){return this._disabled}set disabled(r){this._disabled!==r&&(this._disabled=r,this._adapter.setDisabled(this._disabled))}get dense(){return this._dense}set dense(r){this._dense!==r&&(this._dense=r,this._adapter.setDense(this._dense))}setFocus(){this._adapter.requestFocus()}};var k='<template><button type="button" class="forge-button-toggle" aria-pressed="false" part="button"><slot name="leading"></slot><slot></slot><slot name="trailing"></slot></button></template>',T='@-webkit-keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@keyframes mdc-ripple-fg-radius-in{from{-webkit-animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-timing-function:cubic-bezier(0.4,0,0.2,1);-webkit-transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1);transform:translate(var(--mdc-ripple-fg-translate-start,0)) scale(1)}to{-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}}@-webkit-keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-in{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@-webkit-keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}@keyframes mdc-ripple-fg-opacity-out{from{-webkit-animation-timing-function:linear;animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;position:relative;outline:0;overflow:hidden}.mdc-ripple-surface::after,.mdc-ripple-surface::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-ripple-surface::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.mdc-ripple-surface::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.mdc-ripple-surface.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.mdc-ripple-surface.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-ripple-surface.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.mdc-ripple-surface::after,.mdc-ripple-surface::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-ripple-surface.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded],.mdc-ripple-upgraded--unbounded{overflow:visible}.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded]::before,.mdc-ripple-upgraded--unbounded::after,.mdc-ripple-upgraded--unbounded::before{top:calc(50% - 50%);left:calc(50% - 50%);width:100%;height:100%}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::before,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::before{top:var(--mdc-ripple-top,calc(50% - 50%));left:var(--mdc-ripple-left,calc(50% - 50%));width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface[data-mdc-ripple-is-unbounded].mdc-ripple-upgraded::after,.mdc-ripple-upgraded--unbounded.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{background-color:#000;background-color:var(--mdc-ripple-color,#000)}.mdc-ripple-surface.mdc-ripple-surface--hover::before,.mdc-ripple-surface:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.mdc-ripple-surface.mdc-ripple-upgraded--background-focused::before,.mdc-ripple-surface:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.mdc-ripple-surface:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.mdc-ripple-surface:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.mdc-ripple-surface.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.mdc-ripple-surface::after,.mdc-ripple-surface::before{--mdc-ripple-color:var(--mdc-theme-on-surface)}.forge-button-toggle{--mdc-ripple-fg-size:0;--mdc-ripple-left:0;--mdc-ripple-top:0;--mdc-ripple-fg-scale:1;--mdc-ripple-fg-translate-end:0;--mdc-ripple-fg-translate-start:0;-webkit-tap-highlight-color:transparent;will-change:transform,opacity;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.875rem;font-size:var(--mdc-typography-button-font-size, .875rem);line-height:2.25rem;line-height:var(--mdc-typography-button-line-height, 2.25rem);font-weight:500;font-weight:var(--mdc-typography-button-font-weight,500);letter-spacing:.0892857143em;letter-spacing:var(--mdc-typography-button-letter-spacing, .0892857143em);text-decoration:none;-webkit-text-decoration:var(--mdc-typography-button-text-decoration,none);text-decoration:var(--mdc-typography-button-text-decoration,none);text-transform:uppercase;text-transform:var(--mdc-typography-button-text-transform,uppercase);position:relative;display:-webkit-inline-box;display:inline-flex;-webkit-box-align:center;align-items:center;-webkit-box-pack:center;justify-content:center;-webkit-box-sizing:border-box;box-sizing:border-box;min-width:64px;border:none;outline:0;line-height:inherit;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-appearance:none;overflow:visible;vertical-align:middle;background:0 0;border-radius:4px;border-radius:var(--mdc-shape-small,4px);height:36px;text-transform:none;box-sizing:border-box;overflow:hidden;border-style:solid;-webkit-transition:border 280ms cubic-bezier(.4, 0, .2, 1);transition:border 280ms cubic-bezier(.4, 0, .2, 1);font-family:Roboto,sans-serif;font-family:var(--mdc-outlined-button-label-text-font, var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif)));font-size:.875rem;font-size:var(--mdc-outlined-button-label-text-size, var(--mdc-typography-button-font-size, .875rem));letter-spacing:.0892857143em;letter-spacing:var(--mdc-outlined-button-label-text-tracking, var(--mdc-typography-button-letter-spacing, .0892857143em));font-weight:500;font-weight:var(--mdc-outlined-button-label-text-weight,var(--mdc-typography-button-font-weight,500));text-transform:uppercase;text-transform:var(--mdc-outlined-button-label-text-transform,var(--mdc-typography-button-text-transform,uppercase));height:36px;height:var(--mdc-outlined-button-container-height,36px);border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px));padding:0 15px 0 15px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px);padding:0 15px 0 15px;border-width:1px;width:100%;box-sizing:border-box;-webkit-transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);transition:background-color 150ms 0s cubic-bezier(0, 0, .2, 1);border-radius:0;border-bottom-width:var(--forge-button-toggle-border-bottom-width,1px);border-right-width:var(--forge-button-toggle-border-right-width,1px);border-top-left-radius:var(--forge-button-toggle-border-top-left-radius,4px);border-bottom-left-radius:var(--forge-button-toggle-border-bottom-left-radius,4px);border-top-right-radius:var(--forge-button-toggle-border-top-right-radius,4px);border-bottom-right-radius:var(--forge-button-toggle-border-bottom-right-radius,4px)}.forge-button-toggle::after,.forge-button-toggle::before{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.forge-button-toggle::before{-webkit-transition:opacity 15ms linear,background-color 15ms linear;transition:opacity 15ms linear,background-color 15ms linear;z-index:1;z-index:var(--mdc-ripple-z-index,1)}.forge-button-toggle::after{z-index:0;z-index:var(--mdc-ripple-z-index,0)}.forge-button-toggle.mdc-ripple-upgraded::before{-webkit-transform:scale(var(--mdc-ripple-fg-scale,1));transform:scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle.mdc-ripple-upgraded::after{top:0;left:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:center center;transform-origin:center center}.forge-button-toggle.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top,0);left:var(--mdc-ripple-left,0)}.forge-button-toggle.mdc-ripple-upgraded--foreground-activation::after{-webkit-animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards;animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.forge-button-toggle.mdc-ripple-upgraded--foreground-deactivation::after{-webkit-animation:mdc-ripple-fg-opacity-out 150ms;animation:mdc-ripple-fg-opacity-out 150ms;-webkit-transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1));transform:translate(var(--mdc-ripple-fg-translate-end,0)) scale(var(--mdc-ripple-fg-scale,1))}.forge-button-toggle::after,.forge-button-toggle::before{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.forge-button-toggle.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size,100%);height:var(--mdc-ripple-fg-size,100%)}.forge-button-toggle::after,.forge-button-toggle::before{background-color:#3f51b5;background-color:var(--mdc-ripple-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover::before,.forge-button-toggle:hover::before{opacity:.04;opacity:var(--mdc-ripple-hover-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-focus-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-ripple-press-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.12)}.forge-button-toggle .mdc-elevation-overlay{width:100%;height:100%;top:0;left:0}.forge-button-toggle::-moz-focus-inner{padding:0;border:0}.forge-button-toggle:active{outline:0}.forge-button-toggle:hover{cursor:pointer}.forge-button-toggle:disabled{cursor:default;pointer-events:none}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-shape-small,4px)}.forge-button-toggle:not(:disabled){background-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle .mdc-button__ripple{border-style:solid;border-color:transparent}.forge-button-toggle:not(:disabled){color:#3f51b5;color:var(--mdc-outlined-button-label-text-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle:disabled{color:rgba(0,0,0,.38);color:var(--mdc-outlined-button-disabled-label-text-color,rgba(0,0,0,.38))}.forge-button-toggle .mdc-button__icon{font-size:1.125rem;font-size:var(--mdc-outlined-button-with-icon-icon-size, 1.125rem);width:1.125rem;width:var(--mdc-outlined-button-with-icon-icon-size,1.125rem);height:1.125rem;height:var(--mdc-outlined-button-with-icon-icon-size,1.125rem)}.forge-button-toggle .mdc-button__ripple::after,.forge-button-toggle .mdc-button__ripple::before{background-color:#3f51b5;background-color:var(--mdc-outlined-button-hover-state-layer-color,var(--mdc-theme-primary,#3f51b5))}.forge-button-toggle.mdc-ripple-surface--hover .mdc-button__ripple::before,.forge-button-toggle:hover .mdc-button__ripple::before{opacity:.04;opacity:var(--mdc-outlined-button-hover-state-layer-opacity, .04)}.forge-button-toggle.mdc-ripple-upgraded--background-focused .mdc-button__ripple::before,.forge-button-toggle:not(.mdc-ripple-upgraded):focus .mdc-button__ripple::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-focus-state-layer-opacity, .12)}.forge-button-toggle:not(.mdc-ripple-upgraded) .mdc-button__ripple::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle:not(.mdc-ripple-upgraded):active .mdc-button__ripple::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.12;opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, .12)}.forge-button-toggle.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-outlined-button-pressed-state-layer-opacity, 0.12)}.forge-button-toggle .mdc-button__ripple{border-radius:4px;border-radius:var(--mdc-outlined-button-container-shape,var(--mdc-shape-small,4px))}.forge-button-toggle:not(:disabled){border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-outline-color,rgba(0,0,0,.12))}.forge-button-toggle:disabled{border-color:rgba(0,0,0,.12);border-color:var(--mdc-outlined-button-disabled-outline-color,rgba(0,0,0,.12))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px;border-width:var(--mdc-outlined-button-outline-width,1px)}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);left:calc(-1 * var(--mdc-outlined-button-outline-width,1px));width:calc(100% + 2 * 1px);width:calc(100% + 2 * var(--mdc-outlined-button-outline-width,1px))}.forge-button-toggle.mdc-button--icon-trailing{padding:0 11px 0 15px}.forge-button-toggle.mdc-button--icon-leading{padding:0 15px 0 11px}.forge-button-toggle .mdc-button__ripple{top:-1px;left:-1px;bottom:-1px;right:-1px;border-width:1px}.forge-button-toggle .mdc-button__touch{left:calc(-1 * 1px);width:calc(100% + 2 * 1px)}.forge-button-toggle:not(:disabled){border-color:#3f51b5;border-color:var(--mdc-theme-primary,#3f51b5)}.forge-button-toggle:disabled{border-color:#e0e0e0;border-color:var(--forge-theme-border-color,#e0e0e0);color:rgba(0,0,0,.38);color:var(--mdc-theme-text-disabled-on-light,rgba(0,0,0,.38))}.forge-button-toggle__selected:not(:disabled){background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87))}.forge-button-toggle__selected:not(:disabled)::after,.forge-button-toggle__selected:not(:disabled)::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:not(:disabled).mdc-ripple-surface--hover::before,.forge-button-toggle__selected:not(:disabled):hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:not(:disabled):not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:not(:disabled).mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle__selected:disabled{background-color:#3f51b5;background-color:var(--mdc-theme-primary,#3f51b5);color:rgba(255,255,255,.87);color:var(--mdc-theme-text-primary-on-dark,rgba(255,255,255,.87));opacity:.37}.forge-button-toggle__selected:disabled::after,.forge-button-toggle__selected:disabled::before{background-color:#fff;background-color:var(--mdc-ripple-color,var(--mdc-theme-on-primary,#fff))}.forge-button-toggle__selected:disabled.mdc-ripple-surface--hover::before,.forge-button-toggle__selected:disabled:hover::before{opacity:.08;opacity:var(--mdc-ripple-hover-opacity, .08)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded--background-focused::before,.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):focus::before{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-focus-opacity, .24)}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded)::after{-webkit-transition:opacity 150ms linear;transition:opacity 150ms linear}.forge-button-toggle__selected:disabled:not(.mdc-ripple-upgraded):active::after{-webkit-transition-duration:75ms;transition-duration:75ms;opacity:.24;opacity:var(--mdc-ripple-press-opacity, .24)}.forge-button-toggle__selected:disabled.mdc-ripple-upgraded{--mdc-ripple-fg-opacity:var(--mdc-ripple-press-opacity, 0.24)}.forge-button-toggle ::slotted([slot=leading]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-right:4px}.forge-button-toggle ::slotted([slot=trailing]){display:inline-block;width:1.125rem;height:1.125rem;font-size:1.125rem!important;vertical-align:top;margin-left:4px}.forge-button-toggle--dense{height:24px;margin-top:0;margin-bottom:0;height:1.5rem;font-size:.75rem}.forge-button-toggle--dense .mdc-button__touch{height:100%}.forge-button-toggle--dense ::slotted([slot=leading]){width:.875rem;height:.875rem;font-size:.875rem!important}.forge-button-toggle--dense ::slotted([slot=trailing]){width:.875rem;height:.875rem;font-size:.875rem!important}:host{display:inline-block}:host([hidden]){display:none}:host([stretch]){width:100%;-webkit-box-flex:1;flex:1}:host([selected-adjacent]) .forge-button-toggle{border-left-color:var(--mdc-theme-text-primary-on-dark)}:host([selected-adjacent-vertical]) .forge-button-toggle{border-top-color:var(--mdc-theme-text-primary-on-dark)}',o=class extends u{constructor(){super();m(this,k,T),this._foundation=new s(new c(this)),this._buttonElement=p(this,e.selectors.BUTTON)}static get observedAttributes(){return[e.attributes.VALUE,e.attributes.SELECTED,e.attributes.DISABLED,e.attributes.DENSE,e.attributes.BUTTON_ARIA_LABEL]}initializedCallback(){this._foundation.initialize()}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,d,a){switch(t){case e.attributes.VALUE:this.value=a;break;case e.attributes.SELECTED:this.selected=l(a);break;case e.attributes.DISABLED:this.disabled=l(a);break;case e.attributes.DENSE:this.dense=l(a);break;case e.attributes.BUTTON_ARIA_LABEL:this._buttonElement.setAttribute("aria-label",a);break}}focus(){this._foundation.setFocus()}};i([n()],o.prototype,"value",2),i([n()],o.prototype,"selected",2),i([n()],o.prototype,"disabled",2),i([n()],o.prototype,"dense",2),o=i([b({name:e.elementName})],o);export{e as a,c as b,s as c,o as d};
|
|
7
|
+
//# sourceMappingURL=chunk.G5JTL66M.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license
|
|
3
|
+
* Copyright 2023 Tyler Technologies, Inc.
|
|
4
|
+
* License: Apache-2.0
|
|
5
|
+
*/
|
|
6
|
+
import{b as N}from"./chunk.IARIRFXO.js";import{b as F,c as S}from"./chunk.EE2LK23T.js";import{k as d,z as m}from"./chunk.LZMYHIO2.js";import{d as h}from"./chunk.ZAKLVVFO.js";import{a as A}from"./chunk.24D46RLZ.js";import{a as C}from"./chunk.5PXABBKU.js";import{a as E}from"./chunk.B3IJU6XJ.js";import{a as B,b as L}from"./chunk.OOW3UKT4.js";import{a as I,e as T,g as c,l as D}from"./chunk.MMVZJLXE.js";import{k as f}from"./chunk.G76HB2FK.js";import{a as _,b as x,f as p}from"./chunk.MCIQXNKY.js";var R=`${L}quantity-field`,q={INVALID:"invalid",REQUIRED:"required",DISABLED:"disabled"},O={ROOT:"forge-quantity-field",INVALID:"forge-quantity-field--invalid",REQUIRED:"forge-quantity-field--required"},a={INCREMENT_BUTTON:"increment-button",DECREMENT_BUTTON:"decrement-button",LABEL:"label",HELPER_TEXT:"helper-text"},w={ROOT:`.${O.ROOT}`,INCREMENT_BUTTON_SLOT:`slot[name=${a.INCREMENT_BUTTON}]`,DECREMENT_BUTTON_SLOT:`slot[name=${a.DECREMENT_BUTTON}]`,INCREMENT_BUTTON:`[slot=${a.INCREMENT_BUTTON}] button, button[slot=${a.INCREMENT_BUTTON}]`,DECREMENT_BUTTON:`[slot=${a.DECREMENT_BUTTON}] button, button[slot=${a.DECREMENT_BUTTON}]`,TEXT_FIELD:"forge-text-field",INPUT:"input[type=number]",LABEL:`[slot=${a.LABEL}]`,HELPER_TEXT:`[slot=${a.HELPER_TEXT}]`},i={elementName:R,classes:O,slots:a,selectors:w,attributes:q};var v=class extends C{constructor(t){super(t);this._rootElement=c(t,i.selectors.ROOT),this._incrementButtonSlot=c(this._component,i.selectors.INCREMENT_BUTTON_SLOT),this._decrementButtonSlot=c(this._component,i.selectors.DECREMENT_BUTTON_SLOT)}initializeButtons(){this._incrementButton&&!this._incrementButton.hasAttribute("tabindex")&&(this._incrementButton.tabIndex=-1),this._decrementButton&&!this._decrementButton.hasAttribute("tabindex")&&(this._decrementButton.tabIndex=-1)}addRootClass(t){this._rootElement.classList.add(t)}removeRootClass(t){this._rootElement.classList.remove(t)}inputHasAttribute(t){return this.inputElement?this.inputElement.hasAttribute(t):!1}addIncrementButtonSlotListener(t){this._incrementButtonSlot.addEventListener("slotchange",t)}removeIncrementButtonSlotListener(t){this._incrementButtonSlot&&this._incrementButtonSlot.removeEventListener("slotchange",t)}addDecrementButtonSlotListener(t){this._decrementButtonSlot.addEventListener("slotchange",t)}removeDecrementButtonSlotListener(t){this._decrementButtonSlot&&this._decrementButtonSlot.removeEventListener("slotchange",t)}addTextFieldAttribute(t,e=""){this._textFieldComponent&&this._textFieldComponent.setAttribute(t,e)}removeTextFieldAttribute(t){this._textFieldComponent&&this._textFieldComponent.removeAttribute(t)}addIncrementEventListener(t,e){this._incrementButtonElement.addEventListener(t,e)}removeIncrementEventListener(t,e){this._incrementButtonElement&&this._incrementButtonElement.removeEventListener(t,e)}addDecrementEventListener(t,e){this._decrementButtonElement.addEventListener(t,e)}removeDecrementEventListener(t,e){this._decrementButtonElement&&this._decrementButtonElement.removeEventListener(t,e)}addIncrementButtonAttribute(t,e=""){this._incrementButtonElement.setAttribute(t,e)}removeIncrementButtonAttribute(t){this._incrementButtonElement.removeAttribute(t)}addDecrementButtonAttribute(t,e=""){this._decrementButtonElement.setAttribute(t,e)}removeDecrementButtonAttribute(t){this._decrementButtonElement.removeAttribute(t)}increment(){let t=this.inputElement;if(!t)return;let e=+t.value,n=this._calcPrecision(this._inputStep),o=parseFloat((e+this._inputStep).toFixed(n));!!this._inputMax&&this._inputMax<o&&(o=this._inputMax),this._setInputValue(o)}decrement(){let t=this.inputElement;if(!t)return;let e=+t.value,n=this._calcPrecision(this._inputStep),o=parseFloat((e-this._inputStep).toFixed(n));!!this._inputMin&&this._inputMin>o&&(o=this._inputMin),this._setInputValue(o)}addInputDisabledAttributeChangeListener(t){this._setupInputDisabledAttributeMutationObserver(t)}removeInputDisabledAttributeChangeListener(){this._cleanupInputDisabledAttributeMutationObserver()}_setInputValue(t){!this.inputElement||(this.inputElement.value=`${t}`,this.inputElement.dispatchEvent(new Event("input")),this.inputElement.dispatchEvent(new Event("change")))}_isNullOrUndefinedOrEmpty(t){return t==null||t===""}_setupInputDisabledAttributeMutationObserver(t){if(!this.inputElement)return;this._cleanupInputDisabledAttributeMutationObserver();let e=o=>this._inputDisabledAttributeMutationCallback(o,t);this._inputAttributeMutationObserver=new MutationObserver(e);let n={attributes:!0,attributeOldValue:!0,attributeFilter:[i.attributes.DISABLED]};this._inputAttributeMutationObserver.observe(this.inputElement,n)}_cleanupInputDisabledAttributeMutationObserver(){this._inputAttributeMutationObserver&&(this._inputAttributeMutationObserver.disconnect(),delete this._inputAttributeMutationObserver)}_inputDisabledAttributeMutationCallback(t,e){for(let n of t)n.type!=="attributes"||!n.attributeName||n.attributeName!==i.attributes.DISABLED||n.target[n.attributeName]===n.oldValue||e()}get _incrementButtonElement(){return this._incrementButton||(this._incrementButton=this._component.querySelector(i.selectors.INCREMENT_BUTTON)),this._incrementButton}get _decrementButtonElement(){return this._decrementButton||(this._decrementButton=this._component.querySelector(i.selectors.DECREMENT_BUTTON)),this._decrementButton}get _textFieldComponent(){return this._textField||(this._textField=this._component.querySelector(i.selectors.TEXT_FIELD)),this._textField}get inputElement(){return this._inputElement||(this._inputElement=this._component.querySelector(i.selectors.INPUT)),this._inputElement}get _inputStep(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.step)?1:+t.step}get _inputMax(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.max)?null:+t.max}get _inputMin(){let t=this.inputElement;return!t||this._isNullOrUndefinedOrEmpty(t.min)?null:+t.min}_calcPrecision(t){let e=String(t);return e.includes(".")?e.split(".")[1].length:0}};var b=class{constructor(r){this._adapter=r;this._incrementValue=()=>this._adapter.increment(),this._decrementValue=()=>this._adapter.decrement(),this._incrementButtonSlotChanged=()=>this._onIncrementButtonSlotChanged(),this._decrementButtonSlotChanged=()=>this._onDecrementButtonSlotChanged(),this._adapter.addIncrementButtonSlotListener(this._incrementButtonSlotChanged),this._adapter.addDecrementButtonSlotListener(this._decrementButtonSlotChanged)}connect(){this._adapter.addInputDisabledAttributeChangeListener(()=>this._syncDisabledStateOfButtons()),this._syncDisabledStateOfButtons(),this._adapter.initializeButtons()}disconnect(){this._removeIncrementEventListener(),this._removeDecrementEventListener(),this._removeIncrementButtonSlotListener(),this._removeDecrementButtonSlotListener(),this._adapter.removeInputDisabledAttributeChangeListener()}_onIncrementButtonSlotChanged(){this._addIncrementEventListener()}_onDecrementButtonSlotChanged(){this._addDecrementEventListener()}_addIncrementEventListener(){this._adapter.addIncrementEventListener("click",this._incrementValue)}_addDecrementEventListener(){this._adapter.addDecrementEventListener("click",this._decrementValue)}_removeIncrementEventListener(){this._adapter.removeIncrementEventListener("click",this._incrementValue)}_removeDecrementEventListener(){this._adapter.removeDecrementEventListener("click",this._decrementValue)}_removeIncrementButtonSlotListener(){this._adapter.removeIncrementButtonSlotListener(this._incrementButtonSlotChanged)}_removeDecrementButtonSlotListener(){this._adapter.removeDecrementButtonSlotListener(this._decrementButtonSlotChanged)}_syncDisabledStateOfButtons(){this._adapter.inputHasAttribute(i.attributes.DISABLED)?(this._adapter.addDecrementButtonAttribute(i.attributes.DISABLED),this._adapter.addIncrementButtonAttribute(i.attributes.DISABLED)):(this._adapter.removeIncrementButtonAttribute(i.attributes.DISABLED),this._adapter.removeDecrementButtonAttribute(i.attributes.DISABLED))}get required(){return this._required}set required(r){this._required!==r&&(this._required=r,this._required?(this._adapter.setHostAttribute(i.attributes.REQUIRED),this._adapter.addRootClass(i.classes.REQUIRED)):(this._adapter.removeHostAttribute(i.attributes.REQUIRED),this._adapter.removeRootClass(i.classes.REQUIRED)))}get invalid(){return this._invalid}set invalid(r){this._invalid!==r&&(this._invalid=r,this._invalid?(this._adapter.setHostAttribute(i.attributes.INVALID),this._adapter.addRootClass(i.classes.INVALID),this._adapter.addTextFieldAttribute(i.attributes.INVALID)):(this._adapter.removeHostAttribute(i.attributes.INVALID),this._adapter.removeRootClass(i.classes.INVALID),this._adapter.removeTextFieldAttribute(i.attributes.INVALID)))}};var U='<template><div class="forge-quantity-field" part="root"><slot name="label"></slot><div class="forge-quantity-field__row" part="row"><slot name="decrement-button"></slot><slot></slot><slot name="increment-button"></slot></div><slot name="helper-text"></slot></div></template>',k='.forge-quantity-field ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:rgba(0,0,0,.54);color:var(--mdc-theme-text-secondary-on-background,rgba(0,0,0,.54))}.forge-quantity-field ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}.forge-quantity-field__row{display:-webkit-box;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;flex-direction:row;-webkit-box-align:center;align-items:center}.forge-quantity-field ::slotted(forge-icon-button:first-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-right:4px}.forge-quantity-field ::slotted(forge-icon-button:last-of-type){color:var(--mdc-theme-text-secondary-on-light);margin-left:4px}.forge-quantity-field ::slotted(forge-text-field){--forge-text-field-margin-top:0;--forge-text-field-margin-bottom:0}.forge-quantity-field--required ::slotted([slot=label])::before{color:#b00020;color:var(--mdc-theme-error,#b00020);content:"*";margin-right:4px}.forge-quantity-field--invalid ::slotted([slot=label]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text]){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto,sans-serif;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:.75rem;font-size:var(--mdc-typography-caption-font-size, .75rem);line-height:1.25rem;line-height:var(--mdc-typography-caption-line-height, 1.25rem);font-weight:400;font-weight:var(--mdc-typography-caption-font-weight,400);letter-spacing:.0333333333em;letter-spacing:var(--mdc-typography-caption-letter-spacing, .0333333333em);text-decoration:inherit;-webkit-text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-decoration:var(--mdc-typography-caption-text-decoration,inherit);text-transform:inherit;text-transform:var(--mdc-typography-caption-text-transform,inherit);height:1rem;color:#b00020;color:var(--mdc-theme-error,#b00020)}.forge-quantity-field--invalid ::slotted([slot=helper-text])::before{display:inline-block;width:0;height:16px;content:"";vertical-align:0}:host{display:inline-block}:host([hidden]){display:none}',s=class extends D{constructor(){super();T(this,U,k),this._foundation=new b(new v(this)),h.define([m,d])}static get observedAttributes(){return[i.attributes.INVALID,i.attributes.REQUIRED]}connectedCallback(){this._requiredElementsPresent()?this._foundation.connect():this._ensureElementsPresent().then(()=>{this._foundation.connect()})}disconnectedCallback(){this._foundation.disconnect()}attributeChangedCallback(t,e,n){switch(t){case i.attributes.INVALID:this.invalid=f(n);break;case i.attributes.REQUIRED:this.required=f(n);break}}_ensureElementsPresent(){return new Promise(t=>{if(this._requiredElementsPresent()){t();return}let e=new MutationObserver(n=>{n.reduce((l,u)=>l+u.addedNodes.length,0)>0&&this._requiredElementsPresent()&&(e.disconnect(),t())});e.observe(this,{childList:!0,subtree:!0})})}_requiredElementsPresent(){let t=this.querySelector(i.selectors.INPUT),e=this.querySelector(i.selectors.DECREMENT_BUTTON),n=this.querySelector(i.selectors.INCREMENT_BUTTON);return!!t&&!!e&&!!n}};p([E()],s.prototype,"invalid",2),p([E()],s.prototype,"required",2),s=p([B({name:i.elementName,dependencies:[F]})],s);var M=class extends A{constructor(t){super(t);h.define([m,d])}_build(){let t=document.createElement(i.elementName);return this._attachButton(t,m.name,"decrement-button"),this._attachTextField(t),this._attachButton(t,d.name,"increment-button"),t}_configure(){var t,e,n,o,l;this.inputElement.value=(e=(t=this._config.options)==null?void 0:t.value)!=null?e:"0",this.inputElement.style.textAlign="center",this.inputElement.style.width="64px",(n=this._config.options)!=null&&n.helperText&&this.setHelperText(this._config.options.helperText),typeof((o=this._config.options)==null?void 0:o.label)=="string"&&this._createLabel(this._config.options.label),((l=this._config.options)==null?void 0:l.step)!==void 0&&(this.inputElement.step=this._config.options.step)}get value(){return this._textFieldDelegate.inputElement.value}set value(t){this._textFieldDelegate.inputElement.value=t}get disabled(){return this._textFieldDelegate.inputElement.disabled}set disabled(t){this._textFieldDelegate.inputElement.disabled=t}get invalid(){return this._element.invalid||!1}set invalid(t){this._element.invalid=t}get inputElement(){return this._textFieldDelegate.inputElement}get labelElement(){return this._labelElement}onChange(t){this._textFieldDelegate.inputElement.addEventListener("input",e=>t(e.target.value))}onFocus(t){this._textFieldDelegate.inputElement.addEventListener("focus",e=>t(e))}onBlur(t){this._textFieldDelegate.inputElement.addEventListener("blur",e=>t(e))}_attachTextField(t){var n,o,l,u,y;let e={props:_({},(o=(n=this._config.options)==null?void 0:n.textFieldDelegateConfig)==null?void 0:o.props),options:x(_({},(u=(l=this._config.options)==null?void 0:l.textFieldDelegateConfig)==null?void 0:u.options),{id:(y=this._config.options)==null?void 0:y.id,type:"number"})};this._textFieldDelegate=new N(e),t.appendChild(this._textFieldDelegate.element)}setLabel(t){t?this._labelElement?this._labelElement.textContent=t:this._createLabel(t):this._labelElement&&(this._element.removeChild(this._labelElement),this._labelElement=void 0)}setHelperText(t){t?(this._helperTextElement||(this._helperTextElement=document.createElement("span"),this._helperTextElement.slot="helper-text",this._element.appendChild(this._helperTextElement)),this._helperTextElement.textContent=t):this._helperTextElement&&(this._element.removeChild(this._helperTextElement),this._helperTextElement=void 0)}_createLabel(t){var e;this._labelElement=document.createElement("label"),this._labelElement.textContent=t,this._labelElement.slot="label",(e=this._config.options)!=null&&e.id&&this._labelElement.setAttribute("for",this._config.options.id),this._element.appendChild(this._labelElement)}_attachButton(t,e,n){return new S({options:{iconName:e,parent:t,attributes:{slot:n}}})}};function gt(){I(s)}export{i as a,v as b,b as c,s as d,M as e,gt as f};
|
|
7
|
+
//# sourceMappingURL=chunk.GVZEMIA3.js.map
|