igniteui-webcomponents 4.0.0 → 4.1.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/CHANGELOG.md +10 -0
- package/components/accordion/accordion.d.ts +4 -0
- package/components/accordion/accordion.js +3 -3
- package/components/accordion/accordion.js.map +1 -1
- package/components/accordion/themes/accordion.base.css.js +1 -1
- package/components/accordion/themes/accordion.base.css.js.map +1 -1
- package/components/avatar/avatar.d.ts +16 -4
- package/components/avatar/avatar.js +6 -6
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/avatar/themes/avatar.bootstrap.css.js +1 -1
- package/components/avatar/themes/avatar.bootstrap.css.js.map +1 -1
- package/components/badge/badge.d.ts +12 -3
- package/components/badge/badge.js.map +1 -1
- package/components/badge/themes/light/badge.base.css.js +1 -1
- package/components/badge/themes/light/badge.base.css.js.map +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
- package/components/button/button-base.d.ts +15 -3
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +4 -1
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.d.ts +16 -4
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/dark/button.fluent.css.js +1 -1
- package/components/button/themes/button/dark/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.base.css.js +1 -1
- package/components/button/themes/button/light/button.base.css.js.map +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js +1 -1
- package/components/button/themes/button/light/button.bootstrap.css.js.map +1 -1
- package/components/button/themes/button/light/button.fluent.css.js +1 -1
- package/components/button/themes/button/light/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/light/button.indigo.css.js +1 -1
- package/components/button/themes/button/light/button.indigo.css.js.map +1 -1
- package/components/button/themes/button/light/button.material.css.js +1 -1
- package/components/button/themes/button/light/button.material.css.js.map +1 -1
- package/components/button/themes/icon-button/dark/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/dark/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js +1 -1
- package/components/button/themes/icon-button/light/icon-button.material.css.js.map +1 -1
- package/components/calendar/calendar.js +3 -3
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/common/calendar-base.js.map +1 -1
- package/components/calendar/common/calendar.model.d.ts +1 -1
- package/components/calendar/days-view/days-view.js +6 -6
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/months-view/months-view.js +3 -3
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/bootstrap/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/bootstrap/days-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/themes/days-view.base.css.js +1 -1
- package/components/calendar/themes/days-view.base.css.js.map +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/fluent/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/fluent/days-view.fluent.css.js +1 -1
- package/components/calendar/themes/fluent/days-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/fluent/year-month-view.fluent.css.js +1 -1
- package/components/calendar/themes/fluent/year-month-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/year-month-view.base.css.js +1 -1
- package/components/calendar/themes/year-month-view.base.css.js.map +1 -1
- package/components/calendar/years-view/years-view.js +3 -3
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/card.actions.d.ts +4 -1
- package/components/card/card.actions.js.map +1 -1
- package/components/card/card.content.js.map +1 -1
- package/components/card/card.d.ts +4 -1
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.js.map +1 -1
- package/components/card/themes/light/card.actions.bootstrap.css.js +1 -1
- package/components/card/themes/light/card.actions.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.actions.material.css.js +1 -1
- package/components/card/themes/light/card.actions.material.css.js.map +1 -1
- package/components/card/themes/light/card.bootstrap.css.js +1 -1
- package/components/card/themes/light/card.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.content.bootstrap.css.js +1 -1
- package/components/card/themes/light/card.content.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.content.indigo.css.js +1 -1
- package/components/card/themes/light/card.content.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.content.material.css.js +1 -1
- package/components/card/themes/light/card.content.material.css.js.map +1 -1
- package/components/card/themes/light/card.fluent.css.js +1 -1
- package/components/card/themes/light/card.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js +1 -1
- package/components/card/themes/light/card.header.bootstrap.css.js.map +1 -1
- package/components/card/themes/light/card.header.fluent.css.js +1 -1
- package/components/card/themes/light/card.header.fluent.css.js.map +1 -1
- package/components/card/themes/light/card.header.indigo.css.js +1 -1
- package/components/card/themes/light/card.header.indigo.css.js.map +1 -1
- package/components/card/themes/light/card.header.material.css.js +1 -1
- package/components/card/themes/light/card.header.material.css.js.map +1 -1
- package/components/card/themes/light/card.material.css.js +1 -1
- package/components/card/themes/light/card.material.css.js.map +1 -1
- package/components/card/themes/light/card.media.material.css.js +1 -1
- package/components/card/themes/light/card.media.material.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +31 -7
- package/components/checkbox/checkbox-base.js +14 -1
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +4 -1
- package/components/checkbox/checkbox.js +1 -0
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.js +1 -0
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/dark/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/dark/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.base.css.js +2 -8
- package/components/checkbox/themes/light/checkbox.base.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/light/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.base.css.js +2 -8
- package/components/checkbox/themes/light/switch.base.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/light/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/light/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/switch.material.css.js +1 -1
- package/components/checkbox/themes/light/switch.material.css.js.map +1 -1
- package/components/chip/chip.d.ts +20 -5
- package/components/chip/chip.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/chip.bootstrap.css.js +1 -1
- package/components/chip/themes/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/chip.fluent.css.js +1 -1
- package/components/chip/themes/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/chip.indigo.css.js +1 -1
- package/components/chip/themes/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/chip.material.css.js +1 -1
- package/components/chip/themes/chip.material.css.js.map +1 -1
- package/components/combo/combo-header.d.ts +11 -0
- package/components/combo/combo-header.js +23 -0
- package/components/combo/combo-header.js.map +1 -0
- package/components/combo/combo-item.d.ts +22 -0
- package/components/combo/combo-item.js +67 -0
- package/components/combo/combo-item.js.map +1 -0
- package/components/combo/combo-list.d.ts +11 -0
- package/components/combo/combo-list.js +14 -0
- package/components/combo/combo-list.js.map +1 -0
- package/components/combo/combo.d.ts +254 -0
- package/components/combo/combo.js +518 -0
- package/components/combo/combo.js.map +1 -0
- package/components/combo/controllers/data.d.ts +17 -0
- package/components/combo/controllers/data.js +36 -0
- package/components/combo/controllers/data.js.map +1 -0
- package/components/combo/controllers/navigation.d.ts +43 -0
- package/components/combo/controllers/navigation.js +155 -0
- package/components/combo/controllers/navigation.js.map +1 -0
- package/components/combo/controllers/selection.d.ts +23 -0
- package/components/combo/controllers/selection.js +157 -0
- package/components/combo/controllers/selection.js.map +1 -0
- package/components/combo/operations/filter.d.ts +4 -0
- package/components/combo/operations/filter.js +15 -0
- package/components/combo/operations/filter.js.map +1 -0
- package/components/combo/operations/group.d.ts +9 -0
- package/components/combo/operations/group.js +56 -0
- package/components/combo/operations/group.js.map +1 -0
- package/components/combo/themes/dark/combo.bootstrap.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.bootstrap.css.js +3 -0
- package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -0
- package/components/combo/themes/dark/combo.fluent.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.fluent.css.js +3 -0
- package/components/combo/themes/dark/combo.fluent.css.js.map +1 -0
- package/components/combo/themes/dark/combo.indigo.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.indigo.css.js +3 -0
- package/components/combo/themes/dark/combo.indigo.css.js.map +1 -0
- package/components/combo/themes/dark/combo.material.css.d.ts +1 -0
- package/components/combo/themes/dark/combo.material.css.js +3 -0
- package/components/combo/themes/dark/combo.material.css.js.map +1 -0
- package/components/combo/themes/light/combo.base.css.d.ts +1 -0
- package/components/combo/themes/light/combo.base.css.js +174 -0
- package/components/combo/themes/light/combo.base.css.js.map +1 -0
- package/components/combo/themes/light/combo.bootstrap.css.d.ts +1 -0
- package/components/combo/themes/light/combo.bootstrap.css.js +94 -0
- package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -0
- package/components/combo/themes/light/combo.fluent.css.d.ts +1 -0
- package/components/combo/themes/light/combo.fluent.css.js +70 -0
- package/components/combo/themes/light/combo.fluent.css.js.map +1 -0
- package/components/combo/themes/light/combo.indigo.css.d.ts +1 -0
- package/components/combo/themes/light/combo.indigo.css.js +41 -0
- package/components/combo/themes/light/combo.indigo.css.js.map +1 -0
- package/components/combo/themes/light/combo.material.css.d.ts +1 -0
- package/components/combo/themes/light/combo.material.css.js +84 -0
- package/components/combo/themes/light/combo.material.css.js.map +1 -0
- package/components/combo/themes/light/header/combo-header.base.css.d.ts +1 -0
- package/components/combo/themes/light/header/combo-header.base.css.js +66 -0
- package/components/combo/themes/light/header/combo-header.base.css.js.map +1 -0
- package/components/combo/themes/light/item/combo-item.base.css.d.ts +1 -0
- package/components/combo/themes/light/item/combo-item.base.css.js +135 -0
- package/components/combo/themes/light/item/combo-item.base.css.js.map +1 -0
- package/components/combo/types.d.ts +39 -0
- package/components/combo/types.js +2 -0
- package/components/combo/types.js.map +1 -0
- package/components/combo/utils/converters.d.ts +3 -0
- package/components/combo/utils/converters.js +9 -0
- package/components/combo/utils/converters.js.map +1 -0
- package/components/common/decorators/index.d.ts +9 -9
- package/components/common/decorators/index.js +9 -9
- package/components/common/decorators/index.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +6 -0
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/mixins/constructor.d.ts +2 -2
- package/components/common/mixins/event-emitter.d.ts +2 -2
- package/components/common/mixins/event-emitter.js.map +1 -1
- package/components/common/mixins/sizable.d.ts +1 -1
- package/components/common/mixins/sizable.js.map +1 -1
- package/components/common/types.d.ts +1 -1
- package/components/date-time-input/date-time-input.d.ts +27 -8
- package/components/date-time-input/date-time-input.js +23 -22
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/dialog/dialog.d.ts +17 -4
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/light/dialog.base.css.js +1 -2
- package/components/dialog/themes/light/dialog.base.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.bootstrap.css.js +1 -1
- package/components/dialog/themes/light/dialog.bootstrap.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.fluent.css.js +1 -1
- package/components/dialog/themes/light/dialog.fluent.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.indigo.css.js +1 -1
- package/components/dialog/themes/light/dialog.indigo.css.js.map +1 -1
- package/components/dialog/themes/light/dialog.material.css.js +1 -1
- package/components/dialog/themes/light/dialog.material.css.js.map +1 -1
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown-item.d.ts +4 -0
- package/components/dropdown/dropdown-item.js +1 -1
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +30 -7
- package/components/dropdown/dropdown.js +27 -27
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/dark/dropdown.indigo.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-group.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-header.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-header.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-header.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-header.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-item.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-item.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown-item.indigo.css.js +1 -1
- package/components/dropdown/themes/light/dropdown-item.indigo.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.base.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.base.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
- package/components/dropdown/themes/light/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/light/dropdown.indigo.css.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +12 -3
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.base.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.bootstrap.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.fluent.css.js.map +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js +1 -1
- package/components/expansion-panel/themes/light/expansion-panel.indigo.css.js.map +1 -1
- package/components/form/form.js +1 -0
- package/components/form/form.js.map +1 -1
- package/components/icon/icon.d.ts +6 -10
- package/components/icon/icon.js +17 -25
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.material.css.js +3 -3
- package/components/icon/icon.material.css.js.map +1 -1
- package/components/icon/icon.registry.js +9 -5
- package/components/icon/icon.registry.js.map +1 -1
- package/components/input/input-base.d.ts +32 -7
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +48 -11
- package/components/input/input.js.map +1 -1
- package/components/input/themes/dark/input.dark.indigo.css.js +1 -1
- package/components/input/themes/dark/input.dark.indigo.css.js.map +1 -1
- package/components/input/themes/dark/input.dark.material.css.js +1 -1
- package/components/input/themes/dark/input.dark.material.css.js.map +1 -1
- package/components/input/themes/light/input.base.css.js +8 -2
- package/components/input/themes/light/input.base.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +32 -5
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.fluent.css.js +23 -5
- package/components/input/themes/light/input.fluent.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +16 -9
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.material.css.js +59 -37
- package/components/input/themes/light/input.material.css.js.map +1 -1
- package/components/list/list-header.js.map +1 -1
- package/components/list/list-item.js.map +1 -1
- package/components/list/list.js.map +1 -1
- package/components/list/themes/dark/list.bootstrap.css.js +1 -1
- package/components/list/themes/dark/list.bootstrap.css.js.map +1 -1
- package/components/list/themes/dark/list.fluent.css.js +1 -1
- package/components/list/themes/dark/list.fluent.css.js.map +1 -1
- package/components/list/themes/dark/list.indigo.css.js +1 -1
- package/components/list/themes/dark/list.indigo.css.js.map +1 -1
- package/components/list/themes/light/list-header.base.css.js +1 -1
- package/components/list/themes/light/list-header.base.css.js.map +1 -1
- package/components/list/themes/light/list-header.indigo.css.js +1 -1
- package/components/list/themes/light/list-header.indigo.css.js.map +1 -1
- package/components/list/themes/light/list-item.base.css.js +1 -1
- package/components/list/themes/light/list-item.base.css.js.map +1 -1
- package/components/list/themes/light/list-item.bootstrap.css.js +1 -1
- package/components/list/themes/light/list-item.bootstrap.css.js.map +1 -1
- package/components/list/themes/light/list-item.fluent.css.js +1 -1
- package/components/list/themes/light/list-item.fluent.css.js.map +1 -1
- package/components/list/themes/light/list-item.indigo.css.js +1 -1
- package/components/list/themes/light/list-item.indigo.css.js.map +1 -1
- package/components/list/themes/light/list.base.css.js +1 -1
- package/components/list/themes/light/list.base.css.js.map +1 -1
- package/components/list/themes/light/list.bootstrap.css.js +1 -1
- package/components/list/themes/light/list.bootstrap.css.js.map +1 -1
- package/components/mask-input/mask-input-base.d.ts +6 -7
- package/components/mask-input/mask-input-base.js +22 -13
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +11 -10
- package/components/mask-input/mask-input.js +17 -23
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/mask-parser.d.ts +3 -1
- package/components/mask-input/mask-parser.js +16 -0
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +8 -2
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +8 -2
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/dark/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-header-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/light/fluent/nav-drawer-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-header-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/light/indigo/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js +1 -1
- package/components/nav-drawer/themes/light/nav-drawer-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js +1 -1
- package/components/nav-drawer/themes/light/nav-drawer.base.css.js.map +1 -1
- package/components/navbar/navbar.js.map +1 -1
- package/components/navbar/themes/light/navbar.base.css.js +1 -1
- package/components/navbar/themes/light/navbar.base.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.fluent.css.js +1 -1
- package/components/navbar/themes/light/navbar.fluent.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
- package/components/progress/base.d.ts +25 -6
- package/components/progress/base.js.map +1 -1
- package/components/progress/circular-gradient.d.ts +12 -3
- package/components/progress/circular-gradient.js.map +1 -1
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.d.ts +8 -2
- package/components/progress/linear-progress.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.fluent.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.fluent.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.indigo.css.js.map +1 -1
- package/components/radio/radio.d.ts +35 -8
- package/components/radio/radio.js +15 -1
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/dark/radio.fluent.css.js +1 -1
- package/components/radio/themes/dark/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/dark/radio.indigo.css.js +1 -1
- package/components/radio/themes/dark/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/light/radio.base.css.js +2 -8
- package/components/radio/themes/light/radio.base.css.js.map +1 -1
- package/components/radio/themes/light/radio.bootstrap.css.js +1 -1
- package/components/radio/themes/light/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/light/radio.fluent.css.js +2 -1
- package/components/radio/themes/light/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/light/radio.indigo.css.js +1 -1
- package/components/radio/themes/light/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/light/radio.material.css.js +1 -1
- package/components/radio/themes/light/radio.material.css.js.map +1 -1
- package/components/radio-group/radio-group.base.css.js +1 -1
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +4 -0
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating-symbol.base.css.js +1 -1
- package/components/rating/rating-symbol.base.css.js.map +1 -1
- package/components/rating/rating-symbol.d.ts +1 -0
- package/components/rating/rating-symbol.js +4 -0
- package/components/rating/rating-symbol.js.map +1 -1
- package/components/rating/rating.base.css.js +1 -1
- package/components/rating/rating.base.css.js.map +1 -1
- package/components/rating/rating.bootstrap.css.js +1 -1
- package/components/rating/rating.bootstrap.css.js.map +1 -1
- package/components/rating/rating.d.ts +31 -7
- package/components/rating/rating.fluent.css.js +1 -1
- package/components/rating/rating.fluent.css.js.map +1 -1
- package/components/rating/rating.indigo.css.js +1 -1
- package/components/rating/rating.indigo.css.js.map +1 -1
- package/components/rating/rating.js +15 -15
- package/components/rating/rating.js.map +1 -1
- package/components/select/select-group.d.ts +4 -0
- package/components/select/select-group.js.map +1 -1
- package/components/select/select.d.ts +52 -13
- package/components/select/select.js +17 -7
- package/components/select/select.js.map +1 -1
- package/components/select/themes/dark/select.fluent.css.js +1 -1
- package/components/select/themes/dark/select.fluent.css.js.map +1 -1
- package/components/select/themes/dark/select.indigo.css.js +1 -1
- package/components/select/themes/dark/select.indigo.css.js.map +1 -1
- package/components/select/themes/dark/select.material.css.js +1 -1
- package/components/select/themes/dark/select.material.css.js.map +1 -1
- package/components/select/themes/light/select.base.css.js +5 -1
- package/components/select/themes/light/select.base.css.js.map +1 -1
- package/components/select/themes/light/select.bootstrap.css.js +3 -5
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/light/select.fluent.css.js +1 -1
- package/components/select/themes/light/select.fluent.css.js.map +1 -1
- package/components/select/themes/light/select.indigo.css.js +5 -1
- package/components/select/themes/light/select.indigo.css.js.map +1 -1
- package/components/select/themes/light/select.material.css.js +7 -10
- package/components/select/themes/light/select.material.css.js.map +1 -1
- package/components/slider/range-slider.d.ts +4 -0
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +16 -0
- package/components/slider/slider-base.js +70 -70
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider.d.ts +2 -0
- package/components/slider/slider.js.map +1 -1
- package/components/slider/themes/dark/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/dark/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/dark/slider.fluent.css.js +1 -1
- package/components/slider/themes/dark/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/dark/slider.indigo.css.js +1 -1
- package/components/slider/themes/dark/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.base.css.js +1 -1
- package/components/slider/themes/light/slider.base.css.js.map +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/light/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/light/slider.fluent.css.js +1 -1
- package/components/slider/themes/light/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/light/slider.indigo.css.js +1 -1
- package/components/slider/themes/light/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/light/slider.material.css.js +1 -1
- package/components/slider/themes/light/slider.material.css.js.map +1 -1
- package/components/snackbar/snackbar.d.ts +16 -4
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/dark/snackbar.indigo.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.base.css.js +1 -1
- package/components/snackbar/themes/light/snackbar.base.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js +1 -1
- package/components/snackbar/themes/light/snackbar.bootstrap.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.fluent.css.js +1 -1
- package/components/snackbar/themes/light/snackbar.fluent.css.js.map +1 -1
- package/components/snackbar/themes/light/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/light/snackbar.indigo.css.js.map +1 -1
- package/components/stepper/step.d.ts +94 -0
- package/components/stepper/step.js +211 -0
- package/components/stepper/step.js.map +1 -0
- package/components/stepper/stepper.common.d.ts +11 -0
- package/components/stepper/stepper.common.js +2 -0
- package/components/stepper/stepper.common.js.map +1 -0
- package/components/stepper/stepper.d.ts +110 -0
- package/components/stepper/stepper.js +345 -0
- package/components/stepper/stepper.js.map +1 -0
- package/components/stepper/themes/step/dark/step.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.bootstrap.css.js +3 -0
- package/components/stepper/themes/step/dark/step.bootstrap.css.js.map +1 -0
- package/components/stepper/themes/step/dark/step.fluent.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.fluent.css.js +3 -0
- package/components/stepper/themes/step/dark/step.fluent.css.js.map +1 -0
- package/components/stepper/themes/step/dark/step.indigo.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.indigo.css.js +3 -0
- package/components/stepper/themes/step/dark/step.indigo.css.js.map +1 -0
- package/components/stepper/themes/step/dark/step.material.css.d.ts +1 -0
- package/components/stepper/themes/step/dark/step.material.css.js +3 -0
- package/components/stepper/themes/step/dark/step.material.css.js.map +1 -0
- package/components/stepper/themes/step/light/step.base.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.base.css.js +456 -0
- package/components/stepper/themes/step/light/step.base.css.js.map +1 -0
- package/components/stepper/themes/step/light/step.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.bootstrap.css.js +23 -0
- package/components/stepper/themes/step/light/step.bootstrap.css.js.map +1 -0
- package/components/stepper/themes/step/light/step.fluent.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.fluent.css.js +16 -0
- package/components/stepper/themes/step/light/step.fluent.css.js.map +1 -0
- package/components/stepper/themes/step/light/step.indigo.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.indigo.css.js +29 -0
- package/components/stepper/themes/step/light/step.indigo.css.js.map +1 -0
- package/components/stepper/themes/step/light/step.material.css.d.ts +1 -0
- package/components/stepper/themes/step/light/step.material.css.js +8 -0
- package/components/stepper/themes/step/light/step.material.css.js.map +1 -0
- package/components/stepper/themes/stepper/stepper.base.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.base.css.js +142 -0
- package/components/stepper/themes/stepper/stepper.base.css.js.map +1 -0
- package/components/stepper/themes/stepper/stepper.bootstrap.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js +46 -0
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -0
- package/components/stepper/themes/stepper/stepper.fluent.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.fluent.css.js +40 -0
- package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -0
- package/components/stepper/themes/stepper/stepper.indigo.css.d.ts +1 -0
- package/components/stepper/themes/stepper/stepper.indigo.css.js +40 -0
- package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -0
- package/components/tabs/tab.d.ts +12 -3
- package/components/tabs/tab.js +1 -1
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.d.ts +5 -1
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/dark/tab.dark.base.css.js +1 -1
- package/components/tabs/themes/dark/tab.dark.base.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js +1 -1
- package/components/tabs/themes/dark/tab.dark.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab-panel.base.css.js +1 -1
- package/components/tabs/themes/light/tab-panel.base.css.js.map +1 -1
- package/components/tabs/themes/light/tab.base.css.js +1 -1
- package/components/tabs/themes/light/tab.base.css.js.map +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.base.css.js +1 -1
- package/components/tabs/themes/light/tabs.base.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.bootstrap.css.js +1 -1
- package/components/tabs/themes/light/tabs.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.fluent.css.js +1 -1
- package/components/tabs/themes/light/tabs.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tabs.indigo.css.js +1 -1
- package/components/tabs/themes/light/tabs.indigo.css.js.map +1 -1
- package/components/toast/themes/toast.base.css.js +1 -1
- package/components/toast/themes/toast.base.css.js.map +1 -1
- package/components/toast/themes/toast.bootstrap.css.js +1 -1
- package/components/toast/themes/toast.bootstrap.css.js.map +1 -1
- package/components/toast/themes/toast.fluent.css.js +1 -1
- package/components/toast/themes/toast.fluent.css.js.map +1 -1
- package/components/toast/themes/toast.indigo.css.js +1 -1
- package/components/toast/themes/toast.indigo.css.js.map +1 -1
- package/components/toast/toast.d.ts +13 -6
- package/components/toast/toast.js.map +1 -1
- package/components/toggle/toggle.controller.d.ts +1 -1
- package/components/toggle/toggle.controller.js +13 -13
- package/components/toggle/toggle.controller.js.map +1 -1
- package/components/toggle/toggle.directive.js +10 -10
- package/components/toggle/toggle.directive.js.map +1 -1
- package/components/toggle/types.d.ts +1 -1
- package/components/tree/themes/dark/tree-item.bootstrap.css.js +1 -1
- package/components/tree/themes/dark/tree-item.bootstrap.css.js.map +1 -1
- package/components/tree/themes/dark/tree-item.fluent.css.js +1 -1
- package/components/tree/themes/dark/tree-item.fluent.css.js.map +1 -1
- package/components/tree/themes/dark/tree-item.indigo.css.js +1 -1
- package/components/tree/themes/dark/tree-item.indigo.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.base.css.js +1 -1
- package/components/tree/themes/light/tree-item.base.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.bootstrap.css.js +1 -1
- package/components/tree/themes/light/tree-item.bootstrap.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.fluent.css.js +1 -1
- package/components/tree/themes/light/tree-item.fluent.css.js.map +1 -1
- package/components/tree/themes/light/tree-item.indigo.css.js +1 -1
- package/components/tree/themes/light/tree-item.indigo.css.js.map +1 -1
- package/components/tree/themes/light/tree.base.css.js +1 -1
- package/components/tree/themes/light/tree.base.css.js.map +1 -1
- package/components/tree/tree-item.d.ts +25 -6
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +12 -3
- package/components/tree/tree.js +8 -8
- package/components/tree/tree.js.map +1 -1
- package/custom-elements.json +870 -2
- package/index.d.ts +5 -0
- package/index.js +3 -0
- package/index.js.map +1 -1
- package/package.json +5 -3
- package/themes/dark/bootstrap.css +6 -2
- package/themes/dark/fluent.css +11 -7
- package/themes/dark/indigo.css +6 -2
- package/themes/dark/material.css +6 -2
- package/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +6 -6
- package/themes/light/indigo.css +1 -1
- package/themes/light/material.css +1 -1
- package/theming/theming-event.d.ts +1 -1
- package/theming/types.d.ts +2 -2
- package/vscode-html-custom-data.json +337 -19
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ReactiveController } from 'lit';
|
|
2
|
+
import IgcComboListComponent from '../combo-list.js';
|
|
3
|
+
import { ComboRecord, ComboHost } from '../types.js';
|
|
4
|
+
declare enum DIRECTION {
|
|
5
|
+
Up = -1,
|
|
6
|
+
Down = 1
|
|
7
|
+
}
|
|
8
|
+
export declare class NavigationController<T extends object> implements ReactiveController {
|
|
9
|
+
protected host: ComboHost<T>;
|
|
10
|
+
protected hostHandlers: Map<string, (() => void) | (() => void)>;
|
|
11
|
+
protected searchInputHandlers: Map<string, (() => void) | ((container: IgcComboListComponent) => void)>;
|
|
12
|
+
protected listHandlers: Map<string, (() => void) | ((container: IgcComboListComponent) => void) | ((container: IgcComboListComponent) => void) | (() => void) | (() => void) | ((container: IgcComboListComponent) => void) | ((container: IgcComboListComponent) => void)>;
|
|
13
|
+
protected _active: number;
|
|
14
|
+
get input(): import("../../input/input.js").default;
|
|
15
|
+
get dataState(): ComboRecord<T>[];
|
|
16
|
+
show(): void;
|
|
17
|
+
hide(): void;
|
|
18
|
+
toggleSelect(index: number): void;
|
|
19
|
+
protected get currentItem(): number;
|
|
20
|
+
protected get firstItem(): number;
|
|
21
|
+
protected get lastItem(): number;
|
|
22
|
+
get active(): number;
|
|
23
|
+
set active(node: number);
|
|
24
|
+
constructor(host: ComboHost<T>);
|
|
25
|
+
protected home(container: IgcComboListComponent): void;
|
|
26
|
+
protected end(container: IgcComboListComponent): void;
|
|
27
|
+
protected space(): void;
|
|
28
|
+
protected escape(): void;
|
|
29
|
+
protected enter(): void;
|
|
30
|
+
protected inputArrowDown(container: IgcComboListComponent): void;
|
|
31
|
+
protected hostArrowDown(): void;
|
|
32
|
+
protected arrowDown(container: IgcComboListComponent): void;
|
|
33
|
+
protected arrowUp(container: IgcComboListComponent): void;
|
|
34
|
+
protected getNextItem(direction: DIRECTION): void;
|
|
35
|
+
protected getNearestItem(startIndex: number, direction: number): number;
|
|
36
|
+
hostConnected(): void;
|
|
37
|
+
hostDisconnected(): void;
|
|
38
|
+
navigateTo(item: T, container: IgcComboListComponent): void;
|
|
39
|
+
navigateHost(event: KeyboardEvent): void;
|
|
40
|
+
navigateInput(event: KeyboardEvent, container: IgcComboListComponent): void;
|
|
41
|
+
navigateList(event: KeyboardEvent, container: IgcComboListComponent): void;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
const START_INDEX = -1;
|
|
2
|
+
var DIRECTION;
|
|
3
|
+
(function (DIRECTION) {
|
|
4
|
+
DIRECTION[DIRECTION["Up"] = -1] = "Up";
|
|
5
|
+
DIRECTION[DIRECTION["Down"] = 1] = "Down";
|
|
6
|
+
})(DIRECTION || (DIRECTION = {}));
|
|
7
|
+
export class NavigationController {
|
|
8
|
+
get input() {
|
|
9
|
+
return this.host.input;
|
|
10
|
+
}
|
|
11
|
+
get dataState() {
|
|
12
|
+
return this.host.dataState;
|
|
13
|
+
}
|
|
14
|
+
show() {
|
|
15
|
+
this.host._show(true);
|
|
16
|
+
}
|
|
17
|
+
hide() {
|
|
18
|
+
this.host._hide(true);
|
|
19
|
+
}
|
|
20
|
+
toggleSelect(index) {
|
|
21
|
+
this.host.toggleSelect(index);
|
|
22
|
+
}
|
|
23
|
+
get currentItem() {
|
|
24
|
+
const item = this.active;
|
|
25
|
+
return item === START_INDEX ? START_INDEX : item;
|
|
26
|
+
}
|
|
27
|
+
get firstItem() {
|
|
28
|
+
return this.dataState.findIndex((i) => i.header !== true);
|
|
29
|
+
}
|
|
30
|
+
get lastItem() {
|
|
31
|
+
return this.dataState.length - 1;
|
|
32
|
+
}
|
|
33
|
+
get active() {
|
|
34
|
+
return this._active;
|
|
35
|
+
}
|
|
36
|
+
set active(node) {
|
|
37
|
+
this._active = node;
|
|
38
|
+
this.host.requestUpdate();
|
|
39
|
+
}
|
|
40
|
+
constructor(host) {
|
|
41
|
+
this.host = host;
|
|
42
|
+
this.hostHandlers = new Map(Object.entries({
|
|
43
|
+
Escape: this.escape,
|
|
44
|
+
ArrowDown: this.hostArrowDown,
|
|
45
|
+
}));
|
|
46
|
+
this.searchInputHandlers = new Map(Object.entries({
|
|
47
|
+
Escape: this.escape,
|
|
48
|
+
ArrowUp: this.escape,
|
|
49
|
+
ArrowDown: this.inputArrowDown,
|
|
50
|
+
Tab: this.inputArrowDown,
|
|
51
|
+
}));
|
|
52
|
+
this.listHandlers = new Map(Object.entries({
|
|
53
|
+
ArrowDown: this.arrowDown,
|
|
54
|
+
ArrowUp: this.arrowUp,
|
|
55
|
+
' ': this.space,
|
|
56
|
+
Enter: this.enter,
|
|
57
|
+
Escape: this.escape,
|
|
58
|
+
Tab: this.escape,
|
|
59
|
+
Home: this.home,
|
|
60
|
+
End: this.end,
|
|
61
|
+
}));
|
|
62
|
+
this._active = START_INDEX;
|
|
63
|
+
this.host.addController(this);
|
|
64
|
+
}
|
|
65
|
+
home(container) {
|
|
66
|
+
this.active = this.firstItem;
|
|
67
|
+
container.scrollToIndex(this.active, 'center');
|
|
68
|
+
}
|
|
69
|
+
end(container) {
|
|
70
|
+
this.active = this.lastItem;
|
|
71
|
+
container.scrollToIndex(this.active, 'center');
|
|
72
|
+
}
|
|
73
|
+
space() {
|
|
74
|
+
const item = this.dataState[this.active];
|
|
75
|
+
if (!item.header) {
|
|
76
|
+
this.toggleSelect(this.active);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
escape() {
|
|
80
|
+
this.hide();
|
|
81
|
+
}
|
|
82
|
+
enter() {
|
|
83
|
+
this.space();
|
|
84
|
+
this.hide();
|
|
85
|
+
}
|
|
86
|
+
inputArrowDown(container) {
|
|
87
|
+
container.focus();
|
|
88
|
+
this.arrowDown(container);
|
|
89
|
+
}
|
|
90
|
+
hostArrowDown() {
|
|
91
|
+
this.show();
|
|
92
|
+
}
|
|
93
|
+
arrowDown(container) {
|
|
94
|
+
this.getNextItem(DIRECTION.Down);
|
|
95
|
+
container.scrollToIndex(this.active, 'center');
|
|
96
|
+
}
|
|
97
|
+
arrowUp(container) {
|
|
98
|
+
this.getNextItem(DIRECTION.Up);
|
|
99
|
+
container.scrollToIndex(this.active, 'center');
|
|
100
|
+
}
|
|
101
|
+
getNextItem(direction) {
|
|
102
|
+
const next = this.getNearestItem(this.currentItem, direction);
|
|
103
|
+
if (next === -1) {
|
|
104
|
+
if (this.active === this.firstItem) {
|
|
105
|
+
this.input.focus();
|
|
106
|
+
this.active = START_INDEX;
|
|
107
|
+
}
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
this.active = next;
|
|
111
|
+
}
|
|
112
|
+
getNearestItem(startIndex, direction) {
|
|
113
|
+
var _a;
|
|
114
|
+
let index = startIndex;
|
|
115
|
+
const items = this.dataState;
|
|
116
|
+
while ((_a = items[index + direction]) === null || _a === void 0 ? void 0 : _a.header) {
|
|
117
|
+
index += direction;
|
|
118
|
+
}
|
|
119
|
+
index += direction;
|
|
120
|
+
if (index >= 0 && index < items.length) {
|
|
121
|
+
return index;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
return -1;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
hostConnected() { }
|
|
128
|
+
hostDisconnected() {
|
|
129
|
+
this.active = START_INDEX;
|
|
130
|
+
}
|
|
131
|
+
navigateTo(item, container) {
|
|
132
|
+
this.active = this.dataState.findIndex((i) => i === item);
|
|
133
|
+
container.scrollToIndex(this.active);
|
|
134
|
+
}
|
|
135
|
+
navigateHost(event) {
|
|
136
|
+
if (this.hostHandlers.has(event.key)) {
|
|
137
|
+
event.preventDefault();
|
|
138
|
+
this.hostHandlers.get(event.key).call(this);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
navigateInput(event, container) {
|
|
142
|
+
event.stopPropagation();
|
|
143
|
+
if (this.searchInputHandlers.has(event.key)) {
|
|
144
|
+
event.preventDefault();
|
|
145
|
+
this.searchInputHandlers.get(event.key).call(this, container);
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
navigateList(event, container) {
|
|
149
|
+
if (this.listHandlers.has(event.key)) {
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
this.listHandlers.get(event.key).call(this, container);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=navigation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../../src/components/combo/controllers/navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController } from 'lit';\nimport IgcComboListComponent from '../combo-list.js';\nimport { ComboRecord, ComboHost } from '../types.js';\n\nconst START_INDEX: Readonly<number> = -1;\n\nenum DIRECTION {\n Up = -1,\n Down = 1,\n}\n\nexport class NavigationController<T extends object>\n implements ReactiveController\n{\n protected hostHandlers = new Map(\n Object.entries({\n Escape: this.escape,\n ArrowDown: this.hostArrowDown,\n })\n );\n\n protected searchInputHandlers = new Map(\n Object.entries({\n Escape: this.escape,\n ArrowUp: this.escape,\n ArrowDown: this.inputArrowDown,\n Tab: this.inputArrowDown,\n })\n );\n\n protected listHandlers = new Map(\n Object.entries({\n ArrowDown: this.arrowDown,\n ArrowUp: this.arrowUp,\n ' ': this.space,\n Enter: this.enter,\n Escape: this.escape,\n Tab: this.escape,\n Home: this.home,\n End: this.end,\n })\n );\n\n protected _active = START_INDEX;\n\n public get input() {\n // @ts-expect-error protected access\n return this.host.input;\n }\n\n public get dataState() {\n // @ts-expect-error protected access\n return this.host.dataState;\n }\n\n public show() {\n // @ts-expect-error protected access\n this.host._show(true);\n }\n\n public hide() {\n // @ts-expect-error protected access\n this.host._hide(true);\n }\n\n public toggleSelect(index: number) {\n // @ts-expect-error protected access\n this.host.toggleSelect(index);\n }\n\n protected get currentItem() {\n const item = this.active;\n return item === START_INDEX ? START_INDEX : item;\n }\n\n protected get firstItem() {\n return this.dataState.findIndex((i: ComboRecord<T>) => i.header !== true);\n }\n\n protected get lastItem() {\n return this.dataState.length - 1;\n }\n\n public get active() {\n return this._active;\n }\n\n public set active(node: number) {\n this._active = node;\n this.host.requestUpdate();\n }\n\n constructor(protected host: ComboHost<T>) {\n this.host.addController(this);\n }\n\n protected home(container: IgcComboListComponent) {\n this.active = this.firstItem;\n container.scrollToIndex(this.active, 'center');\n }\n\n protected end(container: IgcComboListComponent) {\n this.active = this.lastItem;\n container.scrollToIndex(this.active, 'center');\n }\n\n protected space() {\n const item = this.dataState[this.active];\n\n if (!item.header) {\n this.toggleSelect(this.active);\n }\n }\n\n protected escape() {\n this.hide();\n }\n\n protected enter() {\n this.space();\n this.hide();\n }\n\n protected inputArrowDown(container: IgcComboListComponent) {\n container.focus();\n this.arrowDown(container);\n }\n\n protected hostArrowDown() {\n this.show();\n }\n\n protected arrowDown(container: IgcComboListComponent) {\n this.getNextItem(DIRECTION.Down);\n container.scrollToIndex(this.active, 'center');\n }\n\n protected arrowUp(container: IgcComboListComponent) {\n this.getNextItem(DIRECTION.Up);\n container.scrollToIndex(this.active, 'center');\n }\n\n protected getNextItem(direction: DIRECTION) {\n const next = this.getNearestItem(this.currentItem, direction);\n\n if (next === -1) {\n if (this.active === this.firstItem) {\n this.input.focus();\n this.active = START_INDEX;\n }\n return;\n }\n\n this.active = next;\n }\n\n protected getNearestItem(startIndex: number, direction: number) {\n let index = startIndex;\n const items = this.dataState;\n\n while (items[index + direction]?.header) {\n index += direction;\n }\n\n index += direction;\n\n if (index >= 0 && index < items.length) {\n return index;\n } else {\n return -1;\n }\n }\n\n public hostConnected() {}\n\n public hostDisconnected() {\n this.active = START_INDEX;\n }\n\n public navigateTo(item: T, container: IgcComboListComponent) {\n this.active = this.dataState.findIndex((i) => i === item);\n container.scrollToIndex(this.active);\n }\n\n public navigateHost(event: KeyboardEvent) {\n if (this.hostHandlers.has(event.key)) {\n event.preventDefault();\n this.hostHandlers.get(event.key)!.call(this);\n }\n }\n\n public navigateInput(event: KeyboardEvent, container: IgcComboListComponent) {\n event.stopPropagation();\n\n if (this.searchInputHandlers.has(event.key)) {\n event.preventDefault();\n this.searchInputHandlers.get(event.key)!.call(this, container);\n }\n }\n\n public navigateList(event: KeyboardEvent, container: IgcComboListComponent) {\n if (this.listHandlers.has(event.key)) {\n event.preventDefault();\n this.listHandlers.get(event.key)!.call(this, container);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ReactiveController } from 'lit';
|
|
2
|
+
import { ComboRecord, ComboHost, Values } from '../types.js';
|
|
3
|
+
export declare class SelectionController<T extends object> implements ReactiveController {
|
|
4
|
+
protected host: ComboHost<T>;
|
|
5
|
+
private _selected;
|
|
6
|
+
get dataState(): ComboRecord<T>[];
|
|
7
|
+
getValue(items: T[]): string;
|
|
8
|
+
private handleChange;
|
|
9
|
+
private getItemsByValueKey;
|
|
10
|
+
private selectValueKeys;
|
|
11
|
+
private deselectValueKeys;
|
|
12
|
+
private selectObjects;
|
|
13
|
+
private deselectObjects;
|
|
14
|
+
private selectAll;
|
|
15
|
+
private deselectAll;
|
|
16
|
+
select(items?: T[] | Values<T>[], emit?: boolean): Promise<void>;
|
|
17
|
+
deselect(items?: T[] | Values<T>[], emit?: boolean): Promise<void>;
|
|
18
|
+
get selected(): Set<T>;
|
|
19
|
+
changeSelection(index: number): void;
|
|
20
|
+
constructor(host: ComboHost<T>);
|
|
21
|
+
hostConnected(): void;
|
|
22
|
+
hostDisconnected(): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export class SelectionController {
|
|
2
|
+
get dataState() {
|
|
3
|
+
return this.host.dataState;
|
|
4
|
+
}
|
|
5
|
+
getValue(items) {
|
|
6
|
+
return items
|
|
7
|
+
.map((value) => {
|
|
8
|
+
if (typeof value === 'object' && value !== null) {
|
|
9
|
+
return this.host.displayKey
|
|
10
|
+
? String(value[this.host.displayKey])
|
|
11
|
+
: String(value);
|
|
12
|
+
}
|
|
13
|
+
else {
|
|
14
|
+
return String(value);
|
|
15
|
+
}
|
|
16
|
+
})
|
|
17
|
+
.join(', ');
|
|
18
|
+
}
|
|
19
|
+
handleChange(detail) {
|
|
20
|
+
this.host.requestUpdate('value');
|
|
21
|
+
return this.host.emitEvent('igcChange', { cancelable: true, detail });
|
|
22
|
+
}
|
|
23
|
+
getItemsByValueKey(keys) {
|
|
24
|
+
return keys.map((key) => this.dataState.find((i) => i[this.host.valueKey] === key));
|
|
25
|
+
}
|
|
26
|
+
selectValueKeys(keys) {
|
|
27
|
+
if (keys.length === 0)
|
|
28
|
+
return;
|
|
29
|
+
this.getItemsByValueKey(keys).forEach((item) => {
|
|
30
|
+
return item && this._selected.add(item);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
deselectValueKeys(keys) {
|
|
34
|
+
if (keys.length === 0)
|
|
35
|
+
return;
|
|
36
|
+
this.getItemsByValueKey(keys).forEach((item) => {
|
|
37
|
+
return item && this._selected.delete(item);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
selectObjects(items) {
|
|
41
|
+
if (items.length === 0)
|
|
42
|
+
return;
|
|
43
|
+
items.forEach((item) => {
|
|
44
|
+
const i = this.dataState.includes(item);
|
|
45
|
+
if (i) {
|
|
46
|
+
this._selected.add(item);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
deselectObjects(items) {
|
|
51
|
+
if (items.length === 0)
|
|
52
|
+
return;
|
|
53
|
+
items.forEach((item) => {
|
|
54
|
+
const i = this.dataState.includes(item);
|
|
55
|
+
if (i) {
|
|
56
|
+
this._selected.delete(item);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
selectAll() {
|
|
61
|
+
this.dataState
|
|
62
|
+
.filter((i) => !i.header)
|
|
63
|
+
.forEach((item) => {
|
|
64
|
+
this._selected.add(item);
|
|
65
|
+
});
|
|
66
|
+
this.host.requestUpdate();
|
|
67
|
+
}
|
|
68
|
+
deselectAll() {
|
|
69
|
+
this._selected.clear();
|
|
70
|
+
this.host.requestUpdate();
|
|
71
|
+
}
|
|
72
|
+
async select(items, emit = false) {
|
|
73
|
+
if (!items || items.length === 0) {
|
|
74
|
+
this.selectAll();
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
const values = this.host.valueKey
|
|
78
|
+
? this.getItemsByValueKey(items)
|
|
79
|
+
: items;
|
|
80
|
+
const selected = Array.from(this._selected.values());
|
|
81
|
+
const payload = [...values, ...selected];
|
|
82
|
+
if (emit &&
|
|
83
|
+
!this.handleChange({
|
|
84
|
+
newValue: this.getValue(payload),
|
|
85
|
+
items: values,
|
|
86
|
+
type: 'selection',
|
|
87
|
+
})) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (this.host.valueKey) {
|
|
91
|
+
this.selectValueKeys(items);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
this.selectObjects(items);
|
|
95
|
+
}
|
|
96
|
+
this.host.requestUpdate();
|
|
97
|
+
}
|
|
98
|
+
async deselect(items, emit = false) {
|
|
99
|
+
if (!items || items.length === 0) {
|
|
100
|
+
if (emit &&
|
|
101
|
+
!this.handleChange({
|
|
102
|
+
newValue: '',
|
|
103
|
+
items: Array.from(this.selected),
|
|
104
|
+
type: 'deselection',
|
|
105
|
+
})) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
this.deselectAll();
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
const values = this.host.valueKey
|
|
112
|
+
? this.getItemsByValueKey(items)
|
|
113
|
+
: items;
|
|
114
|
+
const selected = Array.from(this._selected.values());
|
|
115
|
+
const payload = structuredClone(selected);
|
|
116
|
+
payload.splice(selected.indexOf(values[0]));
|
|
117
|
+
if (emit &&
|
|
118
|
+
!this.handleChange({
|
|
119
|
+
newValue: this.getValue(payload),
|
|
120
|
+
items: values,
|
|
121
|
+
type: 'deselection',
|
|
122
|
+
})) {
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
if (this.host.valueKey) {
|
|
126
|
+
this.deselectValueKeys(items);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
this.deselectObjects(items);
|
|
130
|
+
}
|
|
131
|
+
this.host.requestUpdate();
|
|
132
|
+
}
|
|
133
|
+
get selected() {
|
|
134
|
+
return this._selected;
|
|
135
|
+
}
|
|
136
|
+
changeSelection(index) {
|
|
137
|
+
const item = this.dataState[index];
|
|
138
|
+
if (this.host.valueKey) {
|
|
139
|
+
!this.selected.has(item)
|
|
140
|
+
? this.select([item[this.host.valueKey]], true)
|
|
141
|
+
: this.deselect([item[this.host.valueKey]], true);
|
|
142
|
+
}
|
|
143
|
+
else {
|
|
144
|
+
!this.selected.has(item)
|
|
145
|
+
? this.select([item], true)
|
|
146
|
+
: this.deselect([item], true);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
constructor(host) {
|
|
150
|
+
this.host = host;
|
|
151
|
+
this._selected = new Set();
|
|
152
|
+
this.host.addController(this);
|
|
153
|
+
}
|
|
154
|
+
hostConnected() { }
|
|
155
|
+
hostDisconnected() { }
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../src/components/combo/controllers/selection.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController } from 'lit';\nimport {\n ComboRecord,\n ComboHost,\n Values,\n IgcComboChangeEventArgs,\n} from '../types.js';\n\nexport class SelectionController<T extends object>\n implements ReactiveController\n{\n private _selected: Set<T> = new Set();\n\n public get dataState() {\n // @ts-expect-error protected access\n return this.host.dataState;\n }\n\n public getValue(items: T[]) {\n return items\n .map((value) => {\n if (typeof value === 'object' && value !== null) {\n return this.host.displayKey\n ? String(value[this.host.displayKey])\n : String(value);\n } else {\n return String(value);\n }\n })\n .join(', ');\n }\n\n private handleChange(detail: IgcComboChangeEventArgs) {\n this.host.requestUpdate('value');\n return this.host.emitEvent('igcChange', { cancelable: true, detail });\n }\n\n private getItemsByValueKey(keys: Values<T>[]) {\n return keys.map((key) =>\n this.dataState.find((i) => i[this.host.valueKey!] === key)\n );\n }\n\n private selectValueKeys(keys: Values<T>[]) {\n if (keys.length === 0) return;\n\n this.getItemsByValueKey(keys).forEach((item) => {\n return item && this._selected.add(item);\n });\n }\n\n private deselectValueKeys(keys: Values<T>[]) {\n if (keys.length === 0) return;\n\n this.getItemsByValueKey(keys).forEach((item) => {\n return item && this._selected.delete(item);\n });\n }\n\n private selectObjects(items: T[]) {\n if (items.length === 0) return;\n\n items.forEach((item) => {\n const i = this.dataState.includes(item as ComboRecord<T>);\n if (i) {\n this._selected.add(item);\n }\n });\n }\n\n private deselectObjects(items: T[]) {\n if (items.length === 0) return;\n\n items.forEach((item) => {\n const i = this.dataState.includes(item as ComboRecord<T>);\n if (i) {\n this._selected.delete(item);\n }\n });\n }\n\n private selectAll() {\n this.dataState\n .filter((i) => !i.header)\n .forEach((item) => {\n this._selected.add(item);\n });\n this.host.requestUpdate();\n }\n\n private deselectAll() {\n this._selected.clear();\n this.host.requestUpdate();\n }\n\n public async select(items?: T[] | Values<T>[], emit = false) {\n if (!items || items.length === 0) {\n this.selectAll();\n return;\n }\n\n const values = this.host.valueKey\n ? this.getItemsByValueKey(items as Values<T>[])\n : items;\n const selected = Array.from(this._selected.values());\n const payload = [...values, ...selected] as T[];\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload),\n items: values as T[],\n type: 'selection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.selectValueKeys(items as Values<T>[]);\n } else {\n this.selectObjects(items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public async deselect(items?: T[] | Values<T>[], emit = false) {\n if (!items || items.length === 0) {\n if (\n emit &&\n !this.handleChange({\n newValue: '',\n items: Array.from(this.selected),\n type: 'deselection',\n })\n ) {\n return;\n }\n this.deselectAll();\n return;\n }\n\n const values = this.host.valueKey\n ? this.getItemsByValueKey(items as Values<T>[])\n : items;\n const selected = Array.from(this._selected.values());\n const payload = structuredClone(selected);\n\n payload.splice(selected.indexOf(values[0] as T));\n\n if (\n emit &&\n !this.handleChange({\n newValue: this.getValue(payload),\n items: values as T[],\n type: 'deselection',\n })\n ) {\n return;\n }\n\n if (this.host.valueKey) {\n this.deselectValueKeys(items as Values<T>[]);\n } else {\n this.deselectObjects(items as T[]);\n }\n\n this.host.requestUpdate();\n }\n\n public get selected(): Set<T> {\n return this._selected;\n }\n\n public changeSelection(index: number) {\n const item = this.dataState[index];\n\n if (this.host.valueKey) {\n !this.selected.has(item)\n ? this.select([item[this.host.valueKey]], true)\n : this.deselect([item[this.host.valueKey]], true);\n } else {\n !this.selected.has(item)\n ? this.select([item], true)\n : this.deselect([item], true);\n }\n }\n\n constructor(protected host: ComboHost<T>) {\n this.host.addController(this);\n }\n\n public hostConnected() {}\n\n public hostDisconnected() {}\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default class FilterDataOperation {
|
|
2
|
+
apply(data, controller) {
|
|
3
|
+
const { searchTerm, filteringOptions: { filterKey, caseSensitive }, } = controller;
|
|
4
|
+
if (!searchTerm)
|
|
5
|
+
return data;
|
|
6
|
+
const term = caseSensitive ? searchTerm : searchTerm.toLocaleLowerCase();
|
|
7
|
+
return data.filter((item) => {
|
|
8
|
+
const value = filterKey ? String(item[filterKey]) : String(item);
|
|
9
|
+
return caseSensitive
|
|
10
|
+
? value.includes(term)
|
|
11
|
+
: value.toLocaleLowerCase().includes(term);
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../../src/components/combo/operations/filter.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,OAAO,mBAAmB;IAC/B,KAAK,CAAC,IAAS,EAAE,UAA6B;QACnD,MAAM,EACJ,UAAU,EACV,gBAAgB,EAAE,EAAE,SAAS,EAAE,aAAa,EAAE,GAC/C,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAE7B,MAAM,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAEzE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,IAAO,EAAE,EAAE;YAC7B,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAExE,OAAO,aAAa;gBAClB,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACtB,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { DataController } from '../controllers/data.js';\n\nexport default class FilterDataOperation<T extends object> {\n public apply(data: T[], controller: DataController<T>) {\n const {\n searchTerm,\n filteringOptions: { filterKey, caseSensitive },\n } = controller;\n\n if (!searchTerm) return data;\n\n const term = caseSensitive ? searchTerm : searchTerm.toLocaleLowerCase();\n\n return data.filter((item: T) => {\n const value = filterKey ? String(item[filterKey] as any) : String(item);\n\n return caseSensitive\n ? value.includes(term)\n : value.toLocaleLowerCase().includes(term);\n });\n }\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { DataController } from '../controllers/data.js';
|
|
2
|
+
import { GroupingDirection, Keys, Values } from '../types.js';
|
|
3
|
+
export default class GroupDataOperation<T extends object> {
|
|
4
|
+
protected orderBy: Map<string, number>;
|
|
5
|
+
protected resolveValue(record: T, key: Keys<T>): T[keyof T];
|
|
6
|
+
protected compareValues(first: Values<T>, second: Values<T>): number;
|
|
7
|
+
protected compareObjects(first: T, second: T, key: Keys<T>, direction: GroupingDirection): number;
|
|
8
|
+
apply(data: T[], controller: DataController<T>): any[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export default class GroupDataOperation {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.orderBy = new Map(Object.entries({
|
|
4
|
+
asc: 1,
|
|
5
|
+
desc: -1,
|
|
6
|
+
}));
|
|
7
|
+
}
|
|
8
|
+
resolveValue(record, key) {
|
|
9
|
+
return record[key];
|
|
10
|
+
}
|
|
11
|
+
compareValues(first, second) {
|
|
12
|
+
if (typeof first === 'string' && typeof second === 'string') {
|
|
13
|
+
return first.localeCompare(second);
|
|
14
|
+
}
|
|
15
|
+
return first > second ? 1 : first < second ? -1 : 0;
|
|
16
|
+
}
|
|
17
|
+
compareObjects(first, second, key, direction) {
|
|
18
|
+
const [a, b] = [
|
|
19
|
+
this.resolveValue(first, key),
|
|
20
|
+
this.resolveValue(second, key),
|
|
21
|
+
];
|
|
22
|
+
return this.orderBy.get(direction) * this.compareValues(a, b);
|
|
23
|
+
}
|
|
24
|
+
apply(data, controller) {
|
|
25
|
+
const { groupingOptions: { groupKey, valueKey, displayKey, direction }, } = controller;
|
|
26
|
+
if (!groupKey)
|
|
27
|
+
return data;
|
|
28
|
+
const groups = new Map();
|
|
29
|
+
data.forEach((item) => {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
if (typeof item !== 'object' || item === null)
|
|
32
|
+
return;
|
|
33
|
+
const key = (_a = item[groupKey]) !== null && _a !== void 0 ? _a : 'Other';
|
|
34
|
+
const group = (_b = groups.get(key)) !== null && _b !== void 0 ? _b : [];
|
|
35
|
+
if (group.length === 0) {
|
|
36
|
+
group.push({
|
|
37
|
+
[valueKey]: key,
|
|
38
|
+
[displayKey]: key,
|
|
39
|
+
[groupKey]: key,
|
|
40
|
+
header: true,
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
group.push(item);
|
|
44
|
+
groups.set(key, group);
|
|
45
|
+
});
|
|
46
|
+
groups.forEach((group) => {
|
|
47
|
+
group.sort((a, b) => {
|
|
48
|
+
if (a.header || b.header)
|
|
49
|
+
return;
|
|
50
|
+
return this.compareObjects(a, b, displayKey, direction);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
return Array.from(groups.values()).flat();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=group.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/combo/operations/group.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,OAAO,OAAO,kBAAkB;IAAvC;QACY,YAAO,GAAG,IAAI,GAAG,CACzB,MAAM,CAAC,OAAO,CAAC;YACb,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC,CAAC;SACT,CAAC,CACH,CAAC;IAgEJ,CAAC;IA9DW,YAAY,CAAC,MAAS,EAAE,GAAY;QAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAES,aAAa,CAAC,KAAgB,EAAE,MAAiB;QACzD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;YAC3D,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;SACpC;QACD,OAAO,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAES,cAAc,CACtB,KAAQ,EACR,MAAS,EACT,GAAY,EACZ,SAA4B;QAE5B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG;YACb,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC;YAC7B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;SAC/B,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,IAAS,EAAE,UAA6B;QACnD,MAAM,EACJ,eAAe,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,GAC/D,GAAG,UAAU,CAAC;QAEf,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,OAAO,CAAC,CAAC,IAAO,EAAE,EAAE;;YACvB,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;gBAAE,OAAO;YAEtD,MAAM,GAAG,GAAG,MAAA,IAAI,CAAC,QAAS,CAAC,mCAAI,OAAO,CAAC;YACvC,MAAM,KAAK,GAAG,MAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,mCAAoB,EAAE,CAAC;YAEpD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtB,KAAK,CAAC,IAAI,CAAC;oBACT,CAAC,QAAmB,CAAC,EAAE,GAAG;oBAC1B,CAAC,UAAqB,CAAC,EAAE,GAAG;oBAC5B,CAAC,QAAmB,CAAC,EAAE,GAAG;oBAC1B,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC;aACJ;YAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACvB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE;gBAClD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,MAAM;oBAAE,OAAO;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,UAAW,EAAE,SAAS,CAAC,CAAC;YAC3D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;CACF","sourcesContent":["import { DataController } from '../controllers/data.js';\nimport { ComboRecord, GroupingDirection, Keys, Values } from '../types.js';\n\nexport default class GroupDataOperation<T extends object> {\n protected orderBy = new Map(\n Object.entries({\n asc: 1,\n desc: -1,\n })\n );\n\n protected resolveValue(record: T, key: Keys<T>) {\n return record[key];\n }\n\n protected compareValues(first: Values<T>, second: Values<T>) {\n if (typeof first === 'string' && typeof second === 'string') {\n return first.localeCompare(second);\n }\n return first > second ? 1 : first < second ? -1 : 0;\n }\n\n protected compareObjects(\n first: T,\n second: T,\n key: Keys<T>,\n direction: GroupingDirection\n ) {\n const [a, b] = [\n this.resolveValue(first, key),\n this.resolveValue(second, key),\n ];\n\n return this.orderBy.get(direction)! * this.compareValues(a, b);\n }\n\n public apply(data: T[], controller: DataController<T>) {\n const {\n groupingOptions: { groupKey, valueKey, displayKey, direction },\n } = controller;\n\n if (!groupKey) return data;\n\n const groups = new Map();\n\n data.forEach((item: T) => {\n if (typeof item !== 'object' || item === null) return;\n\n const key = item[groupKey!] ?? 'Other';\n const group = groups.get(key) ?? <ComboRecord<T>>[];\n\n if (group.length === 0) {\n group.push({\n [valueKey as Keys<T>]: key,\n [displayKey as Keys<T>]: key,\n [groupKey as Keys<T>]: key,\n header: true,\n });\n }\n\n group.push(item);\n groups.set(key, group);\n });\n\n groups.forEach((group) => {\n group.sort((a: ComboRecord<T>, b: ComboRecord<T>) => {\n if (a.header || b.header) return;\n return this.compareObjects(a, b, displayKey!, direction);\n });\n });\n\n return Array.from(groups.values()).flat();\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css``;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */`;
|
|
3
|
+
//# sourceMappingURL=combo.indigo.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,y0BAAy0B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */`;
|
|
3
|
+
//# sourceMappingURL=combo.material.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combo.material.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/dark/combo.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,y0BAAy0B,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */`;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|