igniteui-webcomponents 6.1.2 → 6.2.1
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 +59 -0
- package/LICENSE +1 -1
- package/README.md +13 -1
- package/components/accordion/accordion.js +1 -4
- 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/banner/themes/banner.base.css.js +1 -1
- package/components/banner/themes/banner.base.css.js.map +1 -1
- package/components/banner/themes/shared/banner.bootstrap.css.js +1 -1
- package/components/banner/themes/shared/banner.bootstrap.css.js.map +1 -1
- package/components/banner/themes/shared/banner.fluent.css.js +1 -1
- package/components/banner/themes/shared/banner.fluent.css.js.map +1 -1
- package/components/banner/themes/shared/banner.indigo.css.js +1 -1
- package/components/banner/themes/shared/banner.indigo.css.js.map +1 -1
- package/components/banner/themes/shared/banner.material.css.js +1 -1
- package/components/banner/themes/shared/banner.material.css.js.map +1 -1
- package/components/button/themes/button/button.base.css.js +1 -1
- package/components/button/themes/button/button.base.css.js.map +1 -1
- package/components/button/themes/button/shared/button.common.css.js +1 -1
- package/components/button/themes/button/shared/button.common.css.js.map +1 -1
- package/components/button/themes/button/shared/button.fluent.css.js +1 -1
- package/components/button/themes/button/shared/button.fluent.css.js.map +1 -1
- package/components/button/themes/button/shared/button.indigo.css.js +1 -1
- package/components/button/themes/button/shared/button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js +1 -1
- package/components/button/themes/icon-button/icon-button.base.css.js.map +1 -1
- package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js +1 -1
- package/components/button/themes/icon-button/shared/icon-button.bootstrap.css.js.map +1 -1
- package/components/button/themes/icon-button/shared/icon-button.fluent.css.js +1 -1
- package/components/button/themes/icon-button/shared/icon-button.fluent.css.js.map +1 -1
- package/components/button/themes/icon-button/shared/icon-button.indigo.css.js +1 -1
- package/components/button/themes/icon-button/shared/icon-button.indigo.css.js.map +1 -1
- package/components/button/themes/icon-button/shared/icon-button.material.css.js +1 -1
- package/components/button/themes/icon-button/shared/icon-button.material.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js +1 -1
- package/components/button-group/themes/shared/button/button.bootstrap.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.common.css.js +1 -1
- package/components/button-group/themes/shared/button/button.common.css.js.map +1 -1
- package/components/button-group/themes/shared/button/button.indigo.css.js +1 -1
- package/components/button-group/themes/shared/button/button.indigo.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +1 -1
- package/components/calendar/days-view/days-view.js +1 -3
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/months-view/months-view.js +1 -3
- package/components/calendar/months-view/months-view.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/shared/bootstrap/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/days-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js +1 -1
- package/components/calendar/themes/shared/bootstrap/year-month-view.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/shared/fluent/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/shared/fluent/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/shared/indigo/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/shared/indigo/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/shared/material/calendar.material.css.js +1 -1
- package/components/calendar/themes/shared/material/calendar.material.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 +1 -3
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/themes/card.actions.base.css.js +1 -1
- package/components/card/themes/card.actions.base.css.js.map +1 -1
- package/components/card/themes/card.content.base.css.js +1 -1
- package/components/card/themes/card.content.base.css.js.map +1 -1
- package/components/card/themes/card.header.base.css.js +1 -1
- package/components/card/themes/card.header.base.css.js.map +1 -1
- package/components/card/themes/content.js +7 -0
- package/components/card/themes/content.js.map +1 -1
- package/components/card/themes/shared/actions/card.actions.bootstrap.css.js +1 -1
- package/components/card/themes/shared/actions/card.actions.bootstrap.css.js.map +1 -1
- package/components/card/themes/shared/actions/card.actions.indigo.css.js +1 -1
- package/components/card/themes/shared/actions/card.actions.indigo.css.js.map +1 -1
- package/components/card/themes/shared/container/card.bootstrap.css.js +1 -1
- package/components/card/themes/shared/container/card.bootstrap.css.js.map +1 -1
- package/components/card/themes/shared/container/card.indigo.css.js +1 -1
- package/components/card/themes/shared/container/card.indigo.css.js.map +1 -1
- package/components/card/themes/shared/content/card.content.bootstrap.css.js +1 -1
- package/components/card/themes/shared/content/card.content.bootstrap.css.js.map +1 -1
- package/components/card/themes/shared/content/card.content.indigo.css.d.ts +1 -0
- package/components/card/themes/shared/content/card.content.indigo.css.js +3 -0
- package/components/card/themes/shared/content/card.content.indigo.css.js.map +1 -0
- package/components/card/themes/shared/header/card.header.fluent.css.js +1 -1
- package/components/card/themes/shared/header/card.header.fluent.css.js.map +1 -1
- package/components/card/themes/shared/header/card.header.indigo.css.js +1 -1
- package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
- package/components/carousel/carousel-indicator.d.ts +1 -1
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +3 -3
- package/components/carousel/carousel-slide.js +7 -13
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +39 -38
- package/components/carousel/carousel.js +160 -156
- package/components/carousel/carousel.js.map +1 -1
- package/components/carousel/themes/carousel.base.css.js +1 -1
- package/components/carousel/themes/carousel.base.css.js.map +1 -1
- package/components/carousel/themes/shared/carousel.indigo.css.js +1 -1
- package/components/carousel/themes/shared/carousel.indigo.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +3 -5
- package/components/checkbox/checkbox-base.js +15 -21
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +3 -4
- package/components/checkbox/checkbox.js +18 -17
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +0 -1
- package/components/checkbox/switch.js +7 -10
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/dark/switch/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/dark/switch/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/dark/switch/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/dark/switch/switch.material.css.js +1 -1
- package/components/checkbox/themes/dark/switch/switch.material.css.js.map +1 -1
- package/components/checkbox/themes/light/switch/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/switch/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/switch/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/light/switch/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/light/switch/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/light/switch/switch.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/switch/switch.material.css.js +1 -1
- package/components/checkbox/themes/light/switch/switch.material.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.common.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.fluent.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js +1 -1
- package/components/checkbox/themes/shared/checkbox/checkbox.material.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.common.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.common.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.fluent.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.fluent.css.js.map +1 -1
- package/components/checkbox/themes/shared/switch/switch.indigo.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.indigo.css.js.map +1 -1
- package/components/chip/chip.d.ts +11 -11
- package/components/chip/chip.js +61 -65
- 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/shared/chip.indigo.css.js +1 -1
- package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
- package/components/combo/combo.d.ts +3 -3
- package/components/combo/combo.js +12 -6
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/navigation.js +1 -1
- package/components/combo/controllers/navigation.js.map +1 -1
- package/components/combo/themes/combo-item.base.css.js +1 -1
- package/components/combo/themes/combo-item.base.css.js.map +1 -1
- package/components/combo/themes/combo.base.css.js +1 -1
- package/components/combo/themes/combo.base.css.js.map +1 -1
- package/components/combo/themes/shared/combo.bootstrap.css.js +1 -1
- package/components/combo/themes/shared/combo.bootstrap.css.js.map +1 -1
- package/components/combo/themes/shared/combo.common.css.js +1 -1
- package/components/combo/themes/shared/combo.common.css.js.map +1 -1
- package/components/combo/themes/shared/combo.fluent.css.js +1 -1
- package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
- package/components/combo/themes/shared/combo.indigo.css.js +1 -1
- package/components/combo/themes/shared/combo.indigo.css.js.map +1 -1
- package/components/combo/themes/shared/combo.material.css.js +1 -1
- package/components/combo/themes/shared/combo.material.css.js.map +1 -1
- package/components/common/controllers/internals.d.ts +66 -2
- package/components/common/controllers/internals.js +21 -0
- package/components/common/controllers/internals.js.map +1 -1
- package/components/common/controllers/key-bindings.js +4 -3
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/slot.d.ts +87 -0
- package/components/common/controllers/slot.js +75 -0
- package/components/common/controllers/slot.js.map +1 -0
- package/components/common/mixins/forms/associated.d.ts +1 -1
- package/components/common/mixins/forms/associated.js +91 -36
- package/components/common/mixins/forms/associated.js.map +1 -1
- package/components/common/mixins/forms/form-transformers.d.ts +21 -0
- package/components/common/mixins/forms/form-transformers.js +64 -0
- package/components/common/mixins/forms/form-transformers.js.map +1 -0
- package/components/common/mixins/forms/form-value.d.ts +7 -36
- package/components/common/mixins/forms/form-value.js +2 -64
- package/components/common/mixins/forms/form-value.js.map +1 -1
- package/components/common/mixins/forms/types.d.ts +19 -10
- package/components/common/mixins/forms/types.js +2 -1
- package/components/common/mixins/forms/types.js.map +1 -1
- package/components/common/util.d.ts +20 -0
- package/components/common/util.js +59 -1
- package/components/common/util.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +1 -3
- package/components/date-picker/date-picker.js +13 -15
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/date-picker.base.css.js +1 -1
- package/components/date-picker/themes/date-picker.base.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -1
- package/components/date-range-picker/date-range-picker.base.css.js +1 -1
- package/components/date-range-picker/date-range-picker.base.css.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +2 -4
- package/components/date-range-picker/date-range-picker.js +19 -27
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/predefined-ranges-area.base.css.js +1 -1
- package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +1 -1
- package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +1 -2
- package/components/date-time-input/date-time-input.js +8 -8
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/dialog/dialog.d.ts +23 -25
- package/components/dialog/dialog.js +108 -115
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/dark/dialog.bootstrap.css.js +1 -1
- package/components/dialog/themes/dark/dialog.bootstrap.css.js.map +1 -1
- package/components/dialog/themes/dialog.base.css.js +1 -1
- package/components/dialog/themes/dialog.base.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.bootstrap.css.js +1 -1
- package/components/dialog/themes/shared/dialog.bootstrap.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.fluent.css.js +1 -1
- package/components/dialog/themes/shared/dialog.fluent.css.js.map +1 -1
- package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
- package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-group.base.css.js.map +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-item.base.css.js.map +1 -1
- package/components/dropdown/themes/shared/dropdown.indigo.css.js +1 -1
- package/components/dropdown/themes/shared/dropdown.indigo.css.js.map +1 -1
- package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js +1 -1
- package/components/dropdown/themes/shared/group/dropdown-group.fluent.css.js.map +1 -1
- package/components/dropdown/themes/shared/header/dropdown-header.common.css.js +1 -1
- package/components/dropdown/themes/shared/header/dropdown-header.common.css.js.map +1 -1
- package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js +1 -1
- package/components/dropdown/themes/shared/header/dropdown-header.indigo.css.js.map +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js +1 -1
- package/components/dropdown/themes/shared/item/dropdown-item.indigo.css.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +12 -14
- package/components/expansion-panel/expansion-panel.js +43 -57
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
- package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js +1 -1
- package/components/expansion-panel/themes/shared/expansion-panel.indigo.css.js.map +1 -1
- package/components/file-input/file-input.d.ts +1 -7
- package/components/file-input/file-input.js +13 -21
- package/components/file-input/file-input.js.map +1 -1
- package/components/file-input/themes/shared/file-input.bootstrap.css.js +1 -1
- package/components/file-input/themes/shared/file-input.bootstrap.css.js.map +1 -1
- package/components/file-input/themes/shared/file-input.material.css.js +1 -1
- package/components/file-input/themes/shared/file-input.material.css.js.map +1 -1
- package/components/input/input.d.ts +1 -8
- package/components/input/input.js +16 -23
- package/components/input/input.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.common.css.js +1 -1
- package/components/input/themes/shared/input.common.css.js.map +1 -1
- package/components/input/themes/shared/input.fluent.css.js +1 -1
- package/components/input/themes/shared/input.fluent.css.js.map +1 -1
- package/components/input/themes/shared/input.indigo.css.js +1 -1
- package/components/input/themes/shared/input.indigo.css.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/list/themes/header.base.css.js +1 -1
- package/components/list/themes/header.base.css.js.map +1 -1
- package/components/list/themes/item.base.css.js +1 -1
- package/components/list/themes/item.base.css.js.map +1 -1
- package/components/list/themes/shared/header/list-header.indigo.css.js +1 -1
- package/components/list/themes/shared/header/list-header.indigo.css.js.map +1 -1
- package/components/list/themes/shared/item/list-item.indigo.css.js +1 -1
- package/components/list/themes/shared/item/list-item.indigo.css.js.map +1 -1
- package/components/mask-input/mask-input-base.js +1 -0
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +2 -3
- package/components/mask-input/mask-input.js +5 -8
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +3 -4
- package/components/nav-drawer/nav-drawer-item.js +15 -18
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +1 -2
- package/components/nav-drawer/nav-drawer.js +9 -11
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/themes/container.base.css.js +1 -1
- package/components/nav-drawer/themes/container.base.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.common.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js +1 -1
- package/components/nav-drawer/themes/shared/header-item/header-item.material.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/shared/item/item.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/item/item.fluent.css.js +1 -1
- package/components/nav-drawer/themes/shared/item/item.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/item/item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/item/item.material.css.js +1 -1
- package/components/nav-drawer/themes/shared/item/item.material.css.js.map +1 -1
- package/components/navbar/themes/navbar.base.css.js +1 -1
- package/components/navbar/themes/navbar.base.css.js.map +1 -1
- package/components/navbar/themes/shared/navbar.bootstrap.css.js +1 -1
- package/components/navbar/themes/shared/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/shared/navbar.indigo.css.js +1 -1
- package/components/navbar/themes/shared/navbar.indigo.css.js.map +1 -1
- package/components/popover/popover.d.ts +17 -16
- package/components/popover/popover.js +81 -91
- package/components/popover/popover.js.map +1 -1
- package/components/progress/base.d.ts +8 -8
- package/components/progress/base.js +19 -23
- package/components/progress/base.js.map +1 -1
- package/components/progress/circular-gradient.js.map +1 -1
- package/components/progress/circular-progress.d.ts +3 -4
- package/components/progress/circular-progress.js +15 -18
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.d.ts +1 -0
- package/components/progress/linear-progress.js +5 -1
- package/components/progress/linear-progress.js.map +1 -1
- package/components/progress/themes/linear/shared/linear.progress.fluent.css.js +1 -1
- package/components/progress/themes/linear/shared/linear.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/linear/shared/linear.progress.indigo.css.js +1 -1
- package/components/progress/themes/linear/shared/linear.progress.indigo.css.js.map +1 -1
- package/components/radio/radio.d.ts +3 -5
- package/components/radio/radio.js +33 -31
- 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/shared/radio.bootstrap.css.js +1 -1
- package/components/radio/themes/shared/radio.bootstrap.css.js.map +1 -1
- package/components/radio/themes/shared/radio.common.css.js +1 -1
- package/components/radio/themes/shared/radio.common.css.js.map +1 -1
- package/components/radio/themes/shared/radio.fluent.css.js +1 -1
- package/components/radio/themes/shared/radio.fluent.css.js.map +1 -1
- package/components/radio/themes/shared/radio.indigo.css.js +1 -1
- package/components/radio/themes/shared/radio.indigo.css.js.map +1 -1
- package/components/radio/themes/shared/radio.material.css.js +1 -1
- package/components/radio/themes/shared/radio.material.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +4 -4
- package/components/radio-group/radio-group.js +24 -21
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/radio-group/themes/radio-group.base.css.js +1 -1
- package/components/radio-group/themes/radio-group.base.css.js.map +1 -1
- package/components/radio-group/themes/shared/radio-group.bootstrap.css.js +1 -1
- package/components/radio-group/themes/shared/radio-group.bootstrap.css.js.map +1 -1
- package/components/radio-group/themes/shared/radio-group.fluent.css.js +1 -1
- package/components/radio-group/themes/shared/radio-group.fluent.css.js.map +1 -1
- package/components/radio-group/themes/shared/radio-group.indigo.css.js +1 -1
- package/components/radio-group/themes/shared/radio-group.indigo.css.js.map +1 -1
- package/components/radio-group/themes/shared/radio-group.material.css.js +1 -1
- package/components/radio-group/themes/shared/radio-group.material.css.js.map +1 -1
- package/components/rating/rating.d.ts +1 -2
- package/components/rating/rating.js +4 -4
- package/components/rating/rating.js.map +1 -1
- package/components/rating/themes/rating.base.css.js +1 -1
- package/components/rating/themes/rating.base.css.js.map +1 -1
- package/components/rating/themes/shared/rating.indigo.css.js +1 -1
- package/components/rating/themes/shared/rating.indigo.css.js.map +1 -1
- package/components/resize-container/resize-container.d.ts +1 -1
- package/components/select/select.d.ts +35 -38
- package/components/select/select.js +138 -147
- package/components/select/select.js.map +1 -1
- package/components/select/themes/dark/select.bootstrap.css.js +1 -1
- package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/light/select.bootstrap.css.js +1 -1
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/shared/select.bootstrap.css.js +1 -1
- package/components/select/themes/shared/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/shared/select.common.css.js +1 -1
- package/components/select/themes/shared/select.common.css.js.map +1 -1
- package/components/select/themes/shared/select.fluent.css.js +1 -1
- package/components/select/themes/shared/select.fluent.css.js.map +1 -1
- package/components/select/themes/shared/select.indigo.css.js +1 -1
- package/components/select/themes/shared/select.indigo.css.js.map +1 -1
- package/components/select/themes/shared/select.material.css.js +1 -1
- package/components/select/themes/shared/select.material.css.js.map +1 -1
- package/components/slider/slider-base.js +0 -1
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider-label.js.map +1 -1
- package/components/slider/slider.d.ts +1 -2
- package/components/slider/slider.js +5 -2
- package/components/slider/slider.js.map +1 -1
- package/components/slider/themes/shared/slider.common.css.js +1 -1
- package/components/slider/themes/shared/slider.common.css.js.map +1 -1
- package/components/slider/themes/slider.base.css.js +1 -1
- package/components/slider/themes/slider.base.css.js.map +1 -1
- package/components/snackbar/themes/shared/snackbar.indigo.css.js +1 -1
- package/components/snackbar/themes/shared/snackbar.indigo.css.js.map +1 -1
- package/components/snackbar/themes/snackbar.base.css.js +1 -1
- package/components/snackbar/themes/snackbar.base.css.js.map +1 -1
- package/components/stepper/step.d.ts +1 -1
- package/components/tabs/tabs.js +0 -1
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.fluent.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.indigo.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/shared/tab/tab.material.css.js +1 -1
- package/components/tabs/themes/shared/tab/tab.material.css.js.map +1 -1
- package/components/textarea/textarea.d.ts +14 -21
- package/components/textarea/textarea.js +66 -90
- package/components/textarea/textarea.js.map +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js +1 -1
- package/components/textarea/themes/shared/textarea.common.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
- package/components/textarea/themes/textarea.base.css.js +1 -1
- package/components/textarea/themes/textarea.base.css.js.map +1 -1
- package/components/tile-manager/position.js +2 -1
- package/components/tile-manager/position.js.map +1 -1
- package/components/tile-manager/resize-state.js +1 -1
- package/components/tile-manager/resize-state.js.map +1 -1
- package/components/tile-manager/tile.d.ts +8 -12
- package/components/tile-manager/tile.js +16 -37
- package/components/tile-manager/tile.js.map +1 -1
- package/components/toast/themes/shared/toast.bootstrap.css.js +1 -1
- package/components/toast/themes/shared/toast.bootstrap.css.js.map +1 -1
- package/components/toast/themes/shared/toast.common.css.js +1 -1
- package/components/toast/themes/shared/toast.common.css.js.map +1 -1
- package/components/toast/themes/shared/toast.fluent.css.js +1 -1
- package/components/toast/themes/shared/toast.fluent.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/tooltip/themes/tooltip.base.css.js +1 -1
- package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
- package/components/tree/themes/item.base.css.js +1 -1
- package/components/tree/themes/item.base.css.js.map +1 -1
- package/components/tree/themes/shared/item.common.css.js +1 -1
- package/components/tree/themes/shared/item.common.css.js.map +1 -1
- package/components/tree/themes/shared/item.indigo.css.js +1 -1
- package/components/tree/themes/shared/item.indigo.css.js.map +1 -1
- package/components/tree/themes/shared/item.material.css.js +1 -1
- package/components/tree/themes/shared/item.material.css.js.map +1 -1
- package/components/tree/tree.js +3 -1
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.navigation.js +3 -3
- package/components/tree/tree.navigation.js.map +1 -1
- package/components/tree/tree.selection.js +6 -2
- package/components/tree/tree.selection.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +2 -1
- package/components/validation-container/validation-container.js +19 -14
- package/components/validation-container/validation-container.js.map +1 -1
- package/custom-elements.json +9456 -6460
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/package.json +1 -1
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/dark/material.css +1 -1
- package/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/themes/light/indigo.css +1 -1
- package/themes/light/material.css +1 -1
- package/web-types.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"combo.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,i/IAAi/I,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);grid-auto-rows:minmax(1.25rem, auto);margin-block-start:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))))}:host ::slotted([slot=suffix]),:host ::slotted([slot=prefix]){height:100%;display:flex;align-items:center}[part=list-wrapper]{border:var(--border-width) solid var(--border-color);background:var(--background-color);border-radius:var(--border-radius)}[part=list-wrapper] igc-input::part(container){background:rgba(0,0,0,0);border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;border-radius:0}[part=list-wrapper] igc-input::part(start){display:none}[part=list-wrapper] igc-input::part(input){border-radius:0;padding:0;border-inline-end:0;border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;box-shadow:none}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(suffix){background:rgba(0,0,0,0);border:none;border-radius:0}[part=list-wrapper] [part=search-input] [part~=case-icon]{border-block-end:.0625rem solid var(--ig-gray-400);transition:border .15s ease-out}[part=list-wrapper] [part=search-input]:focus [part~=case-icon],[part=list-wrapper] [part=search-input]:focus-within [part~=case-icon]{border-block-end:.0625rem solid var(--ig-primary-500)}[part=clear-icon]{border-inline-end:.0625rem solid var(--border-color)}[part=\"case-icon active\"]{color:var(--ig-primary-500)}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder{color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{border-inline-end:.0625rem solid var(--disabled-border-color);background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) [part|=toggle],:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) [part|=toggle]{border-inline-end:.0625rem solid var(--disabled-border-color)}:host(:disabled) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=prefix]){border-inline-start:.0625rem solid var(--disabled-border-color)}:host(:not([disabled])) ::slotted([slot=suffix]),:host(:not([disabled])) [part|=toggle],:host(:not(:disabled)) ::slotted([slot=suffix]),:host(:not(:disabled)) [part|=toggle]{border-inline-end:.0625rem solid var(--border-color)}:host(:not([disabled])) ::slotted([slot=prefix]),:host(:not(:disabled)) ::slotted([slot=prefix]){border-inline-start:.0625rem solid var(--border-color)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host ::part(helper-text){color:var(--helper-text-color)}:host igc-popover::part(container){border-radius:var(--border-radius)}[part=empty]{color:var(--empty-list-placeholder-color)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}[part~=clear-icon]{background:var(--clear-button-background);color:var(--clear-button-foreground)}[part~=clear-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:not([disabled])
|
|
2
|
+
export const styles = css `:host ::part(helper-text){color:var(--helper-text-color)}:host igc-popover::part(container){border-radius:var(--border-radius)}[part=empty]{color:var(--empty-list-placeholder-color)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}[part~=clear-icon]{background:var(--clear-button-background);color:var(--clear-button-foreground)}[part~=clear-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:not([disabled]):state(ig-invalid)) ::part(helper-text),:host(:not(:disabled):state(ig-invalid)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host(:disabled) ::part(helper-text),:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder,:host([disabled]) ::part(helper-text){color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}::slotted([slot=suffix]),::slotted([slot=prefix]){padding-inline:var(--affix-padding)}`;
|
|
3
3
|
//# sourceMappingURL=combo.common.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.common.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"combo.common.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.common.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,gsEAAgsE,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host ::part(helper-text){color:var(--helper-text-color)}:host igc-popover::part(container){border-radius:var(--border-radius)}[part=empty]{color:var(--empty-list-placeholder-color)}[part~=toggle-icon]{background:var(--toggle-button-background);color:var(--toggle-button-foreground)}[part~=toggle-icon] igc-icon{color:inherit}[part~=clear-icon]{background:var(--clear-button-background);color:var(--clear-button-foreground)}[part~=clear-icon] igc-icon{color:inherit}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:not([disabled]):state(ig-invalid)) ::part(helper-text),:host(:not(:disabled):state(ig-invalid)) ::part(helper-text){color:var(--error-secondary-color)}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host(:disabled) ::part(helper-text),:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder,:host([disabled]) ::part(helper-text){color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}::slotted([slot=suffix]),::slotted([slot=prefix]){padding-inline:var(--affix-padding)}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start
|
|
2
|
+
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part=filter-input]{padding:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius)}[part=list-wrapper] igc-input::part(container){background:rgba(0,0,0,0);border-radius:0;border-inline:0;border-block-start:0}[part=list-wrapper] igc-input::part(container)::before{inset-inline-start:0;width:calc(100% - var(--input-border-size));box-shadow:inset 0 calc(var(--input-border-size)*-1) 0 0;border-radius:0}[part=list-wrapper] igc-input:focus-within::part(container)::before{box-shadow:inset 0 calc((var(--input-border-size) + 0.0625rem)*-1) 0 0}[part=list-wrapper] igc-input::part(start){display:none}[part=list-wrapper] igc-input::part(input){border-radius:0;padding:0;border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;box-shadow:none;height:var(--size)}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(suffix){background:rgba(0,0,0,0)}[part=empty]{color:var(--empty-list-placeholder-color)}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder{color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;
|
|
3
3
|
//# sourceMappingURL=combo.fluent.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"combo.fluent.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.fluent.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wxHAAwxH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.3125rem, -1 * 0.3125rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto)}[part=filter-input]{padding:max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0.125rem, -1 * 0.125rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius)}[part=list-wrapper] igc-input::part(container){background:rgba(0,0,0,0);border-radius:0;border-inline:0;border-block-start:0}[part=list-wrapper] igc-input::part(container)::before{inset-inline-start:0;width:calc(100% - var(--input-border-size));box-shadow:inset 0 calc(var(--input-border-size)*-1) 0 0;border-radius:0}[part=list-wrapper] igc-input:focus-within::part(container)::before{box-shadow:inset 0 calc((var(--input-border-size) + 0.0625rem)*-1) 0 0}[part=list-wrapper] igc-input::part(start){display:none}[part=list-wrapper] igc-input::part(input){border-radius:0;padding:0;border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;box-shadow:none;height:var(--size)}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(suffix){background:rgba(0,0,0,0)}[part=empty]{color:var(--empty-list-placeholder-color)}:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus);color:var(--toggle-button-foreground-focus)}:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder{color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host igc-input::part(container){padding-inline:0}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start
|
|
2
|
+
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--input-icon: max(var(--is-large, 1) * max(1.125rem, -1 * 1.125rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.875rem, -1 * 0.875rem));--combo-size: var(--component-size)}:host igc-input::part(container){padding-inline:0}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(0.9375rem, auto)}:host igc-icon,:host ::slotted(igc-icon){--size: var(--input-icon) !important}[part=case-icon]{color:var(--ig-gray-600)}[part="case-icon active"]{color:var(--ig-gray-900)}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius);outline:var(--border-width) solid var(--border-color);padding:max(var(--is-large, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}[part=list-wrapper] igc-input{--ig-theme: indigo;--ig-size: var(--ig-size-medium)}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] [part="case-icon active"]{color:var(--ig-primary-500)}[part=list]{min-height:calc(var(--size)*var(--item-count) + 1rem) !important}[part=filter-input]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host(:focus-within) igc-input::part(label){color:var(--focused-secondary-color)}:host(:hover) [part~=toggle-icon],:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:hover) [part~=toggle-icon] igc-icon,:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:hover) [part~=clear-icon],:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:hover) [part~=clear-icon] igc-icon,:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:not([disabled]):state(ig-invalid)) ::part(helper-text),:host(:not(:disabled):state(ig-invalid)) ::part(helper-text){color:var(--helper-text-color)}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(input)::selection,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;
|
|
3
3
|
//# sourceMappingURL=combo.indigo.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"combo.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,u9IAAu9I,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--input-icon: max(var(--is-large, 1) * max(1.125rem, -1 * 1.125rem), var(--is-medium, 1) * max(1rem, -1 * 1rem), var(--is-small, 1) * max(0.875rem, -1 * 0.875rem));--combo-size: var(--component-size)}:host igc-input::part(container){padding-inline:0}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(0.9375rem, auto)}:host igc-icon,:host ::slotted(igc-icon){--size: var(--input-icon) !important}[part=case-icon]{color:var(--ig-gray-600)}[part=\"case-icon active\"]{color:var(--ig-gray-900)}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius);outline:var(--border-width) solid var(--border-color);padding:max(var(--is-large, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-large, var(--ig-spacing, var(--ig-spacing))),var(--is-medium, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-medium, var(--ig-spacing, var(--ig-spacing))),var(--is-small, 1)*max(0.1875rem, -1 * 0.1875rem)*var(--ig-spacing-small, var(--ig-spacing, var(--ig-spacing))))}[part=list-wrapper] igc-input{--ig-theme: indigo;--ig-size: var(--ig-size-medium)}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] [part=\"case-icon active\"]{color:var(--ig-primary-500)}[part=list]{min-height:calc(var(--size)*var(--item-count) + 1rem) !important}[part=filter-input]{padding:max(var(--is-large, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.75rem, -1 * 0.75rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host(:focus-within) igc-input::part(label){color:var(--focused-secondary-color)}:host(:hover) [part~=toggle-icon],:host(:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border);color:var(--toggle-button-foreground-focus)}:host(:hover) [part~=toggle-icon] igc-icon,:host(:focus-within) [part~=toggle-icon] igc-icon{color:inherit}:host(:hover) [part~=clear-icon],:host(:focus-within) [part~=clear-icon]{background:var(--clear-button-background-focus);color:var(--clear-button-foreground-focus)}:host(:hover) [part~=clear-icon] igc-icon,:host(:focus-within) [part~=clear-icon] igc-icon{color:inherit}:host(:not([disabled]):state(ig-invalid)) ::part(helper-text),:host(:not(:disabled):state(ig-invalid)) ::part(helper-text){color:var(--helper-text-color)}:host(:disabled) igc-input::part(input)::-moz-selection, :host([disabled]) igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(input)::selection,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(input)::selection{background:rgba(0,0,0,0)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start
|
|
2
|
+
export const styles = css `:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto);padding-inline:max(var(--is-large, 1)*max(1.125rem, -1 * 1.125rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.875rem, -1 * 0.875rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host ::slotted([slot=prefix]),:host ::slotted([slot=suffix]){color:inherit}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius)}[part=list-wrapper] igc-input::part(container){background:rgba(0,0,0,0);border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;border-radius:0}[part=list-wrapper] igc-input::part(start){display:none}[part=list-wrapper] igc-input::part(input){border-radius:0;padding:0;border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;box-shadow:none}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] [part=case-icon]{color:var(--ig-gray-600)}[part=list-wrapper] [part="case-icon active"]{color:var(--ig-primary-500)}[part="toggle-icon filled"]{color:var(--toggle-button-foreground-filled)}:host(:not([outlined]):focus-within) igc-input::part(container){--_toggle-focus-background: var(--toggle-button-background);--_toggle-focus-foreground: var(--toggle-button-foreground)}:host(:not([outlined]):focus-within) igc-input::part(container):focus-within{--_toggle-focus-background: var(--toggle-button-background-focus);--_toggle-focus-foreground: var(--toggle-button-foreground-filled)}:host(:not([outlined]):focus-within) [part~=toggle-icon]{color:var(--_toggle-focus-foreground);background:var(--_toggle-focus-background)}:host(:not([outlined]):focus-within) [part="toggle-icon filled"]{color:var(--toggle-button-foreground-filled)}:host([outlined]:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border)}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder{color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}:host(:disabled[outlined]) igc-input::part(filled)+igc-input::part(notch),:host([outlined][disabled]) igc-input::part(filled)+igc-input::part(notch){border-top-color:rgba(0,0,0,0)}`;
|
|
3
3
|
//# sourceMappingURL=combo.material.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo.material.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"combo.material.css.js","sourceRoot":"","sources":["../../../../../src/components/combo/themes/shared/combo.material.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,o2IAAo2I,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--component-size: var(--ig-size, var(--default-size));--combo-size: var(--component-size)}:host ::part(helper-text){font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom);margin-block-start:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing))));grid-auto-rows:minmax(1.125rem, auto);padding-inline:max(var(--is-large, 1)*max(1.125rem, -1 * 1.125rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(1rem, -1 * 1rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.875rem, -1 * 0.875rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))))}:host ::slotted([slot=prefix]),:host ::slotted([slot=suffix]){color:inherit}:host(:not([single-select]))>igc-input::part(input)::-moz-selection{background:rgba(0,0,0,0)}:host(:not([single-select]))>igc-input::part(input)::selection{background:rgba(0,0,0,0)}[part=list-wrapper]{background:var(--background-color);border-radius:var(--border-radius)}[part=list-wrapper] igc-input::part(container){background:rgba(0,0,0,0);border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;border-radius:0}[part=list-wrapper] igc-input::part(start){display:none}[part=list-wrapper] igc-input::part(input){border-radius:0;padding:0;border-inline-start:0;border-inline-end-color:rgba(0,0,0,0);border-block-start:0;box-shadow:none}[part=list-wrapper] igc-input::part(input)::-moz-selection{background:var(--ig-primary-100)}[part=list-wrapper] igc-input::part(input)::selection{background:var(--ig-primary-100)}[part=list-wrapper] [part=case-icon]{color:var(--ig-gray-600)}[part=list-wrapper] [part=\"case-icon active\"]{color:var(--ig-primary-500)}[part=\"toggle-icon filled\"]{color:var(--toggle-button-foreground-filled)}:host(:not([outlined]):focus-within) igc-input::part(container){--_toggle-focus-background: var(--toggle-button-background);--_toggle-focus-foreground: var(--toggle-button-foreground)}:host(:not([outlined]):focus-within) igc-input::part(container):focus-within{--_toggle-focus-background: var(--toggle-button-background-focus);--_toggle-focus-foreground: var(--toggle-button-foreground-filled)}:host(:not([outlined]):focus-within) [part~=toggle-icon]{color:var(--_toggle-focus-foreground);background:var(--_toggle-focus-background)}:host(:not([outlined]):focus-within) [part=\"toggle-icon filled\"]{color:var(--toggle-button-foreground-filled)}:host([outlined]:focus-within) [part~=toggle-icon]{background:var(--toggle-button-background-focus--border)}:host(:disabled) igc-input::part(input)::-moz-placeholder, :host([disabled]) igc-input::part(input)::-moz-placeholder{color:var(--disabled-text-color)}:host(:disabled) ::slotted([slot=prefix]),:host(:disabled) ::slotted([slot=suffix]),:host(:disabled) igc-input::part(label),:host(:disabled) igc-input::part(input)::placeholder,:host([disabled]) ::slotted([slot=prefix]),:host([disabled]) ::slotted([slot=suffix]),:host([disabled]) igc-input::part(label),:host([disabled]) igc-input::part(input)::placeholder{color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon],:host([disabled]) [part~=clear-icon]{background:inherit;color:var(--disabled-text-color)}:host(:disabled) [part~=clear-icon] igc-icon,:host([disabled]) [part~=clear-icon] igc-icon{color:inherit}:host(:disabled) [part~=toggle-icon],:host([disabled]) [part~=toggle-icon]{background:var(--toggle-button-background-disabled);color:var(--toggle-button-foreground-disabled)}:host(:disabled) [part~=toggle-icon] igc-icon,:host([disabled]) [part~=toggle-icon] igc-icon{color:inherit}:host(:disabled[outlined]) igc-input::part(filled)+igc-input::part(notch),:host([outlined][disabled]) igc-input::part(filled)+igc-input::part(notch){border-top-color:rgba(0,0,0,0)}`;\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { LitElement, ReactiveControllerHost } from 'lit';
|
|
2
|
+
import type { FormValueType } from '../mixins/forms/types.js';
|
|
2
3
|
/** Configuration for the ElementInternalsController. */
|
|
3
4
|
type ElementInternalsConfig<T extends keyof ARIAMixin = keyof ARIAMixin> = {
|
|
4
5
|
/** Initial ARIA attributes to set on the element internals. */
|
|
@@ -15,18 +16,81 @@ declare class ElementInternalsController {
|
|
|
15
16
|
* Gets the closest ancestor `<form>` element or `null`.
|
|
16
17
|
*
|
|
17
18
|
* @remarks
|
|
18
|
-
* The host element must be form associated, that is should have
|
|
19
|
+
* The host element must be form associated, that is, it should have
|
|
19
20
|
* `static formAssociated = true` in order to return the parent form.
|
|
20
21
|
*/
|
|
21
22
|
get form(): HTMLFormElement | null;
|
|
23
|
+
/**
|
|
24
|
+
* Returns a `ValidityState` object which represents the different validity states
|
|
25
|
+
* the element can be in, with respect to constraint validation.
|
|
26
|
+
*
|
|
27
|
+
* @remarks
|
|
28
|
+
* The host element must be form associated, that is, it should have
|
|
29
|
+
* `static formAssociated = true`.
|
|
30
|
+
*/
|
|
31
|
+
get validity(): ValidityState;
|
|
32
|
+
/**
|
|
33
|
+
* Returns a string containing the validation message of this element.
|
|
34
|
+
*
|
|
35
|
+
* @remarks
|
|
36
|
+
* The host element must be form associated, that is, it should have
|
|
37
|
+
* `static formAssociated = true`.
|
|
38
|
+
*/
|
|
39
|
+
get validationMessage(): string;
|
|
40
|
+
/**
|
|
41
|
+
* Returns a boolean value which returns true if the element is a submittable element
|
|
42
|
+
* which is a candidate for constraint validation.
|
|
43
|
+
*
|
|
44
|
+
* @remarks
|
|
45
|
+
* The host element must be form associated, that is, it should have
|
|
46
|
+
* `static formAssociated = true`.
|
|
47
|
+
*/
|
|
48
|
+
get willValidate(): boolean;
|
|
22
49
|
constructor(host: ReactiveControllerHost & LitElement, config?: ElementInternalsConfig);
|
|
23
50
|
/** Sets ARIA attributes on the element's internals. */
|
|
24
51
|
setARIA<T extends keyof ARIAMixin = keyof ARIAMixin>(state: Partial<Record<T, ARIAMixin[T]>>): void;
|
|
25
52
|
/**
|
|
26
53
|
* Adds or removes a custom state from the element's internals.
|
|
27
|
-
* Custom states can be styled via `:state()`
|
|
54
|
+
* Custom states can be styled via `:state()` selector in CSS.
|
|
28
55
|
*/
|
|
29
56
|
setState(state: string, value: boolean): void;
|
|
57
|
+
/**
|
|
58
|
+
* Sets both the state and submission value of internals's target element to value.
|
|
59
|
+
*
|
|
60
|
+
* If value is null, the element won't participate in form submission.
|
|
61
|
+
*
|
|
62
|
+
* @remarks
|
|
63
|
+
* The host element must be form associated, that is, it should have
|
|
64
|
+
* `static formAssociated = true`.
|
|
65
|
+
*/
|
|
66
|
+
setFormValue(value: FormValueType, state?: FormValueType): void;
|
|
67
|
+
/**
|
|
68
|
+
* Sets the internal validity state of the host element as well as the validation
|
|
69
|
+
* message.
|
|
70
|
+
*
|
|
71
|
+
* @remarks
|
|
72
|
+
* The host element must be form associated, that is, it should have
|
|
73
|
+
* `static formAssociated = true`.
|
|
74
|
+
*/
|
|
75
|
+
setValidity(flags?: ValidityStateFlags, message?: string): void;
|
|
76
|
+
/**
|
|
77
|
+
* Checks the internal validity of the host element and fires an `invalid` event if
|
|
78
|
+
* the host element fails validation constraints.
|
|
79
|
+
*
|
|
80
|
+
* @remarks
|
|
81
|
+
* The host element must be form associated, that is, it should have
|
|
82
|
+
* `static formAssociated = true`.
|
|
83
|
+
*/
|
|
84
|
+
checkValidity(): boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Checks the internal validity of the host element and fires an `invalid` event if
|
|
87
|
+
* the host element fails validation constraints.
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* The host element must be form associated, that is, it should have
|
|
91
|
+
* `static formAssociated = true`.
|
|
92
|
+
*/
|
|
93
|
+
reportValidity(): boolean;
|
|
30
94
|
}
|
|
31
95
|
/** Creates and adds a {@link ElementInternalsController} to a LitElement host. */
|
|
32
96
|
export declare function addInternalsController(host: ReactiveControllerHost & LitElement, config?: ElementInternalsConfig): ElementInternalsController;
|
|
@@ -2,6 +2,15 @@ class ElementInternalsController {
|
|
|
2
2
|
get form() {
|
|
3
3
|
return this._internals.form;
|
|
4
4
|
}
|
|
5
|
+
get validity() {
|
|
6
|
+
return this._internals.validity;
|
|
7
|
+
}
|
|
8
|
+
get validationMessage() {
|
|
9
|
+
return this._internals.validationMessage;
|
|
10
|
+
}
|
|
11
|
+
get willValidate() {
|
|
12
|
+
return this._internals.willValidate;
|
|
13
|
+
}
|
|
5
14
|
constructor(host, config) {
|
|
6
15
|
this._host = host;
|
|
7
16
|
this._internals = this._host.attachInternals();
|
|
@@ -18,6 +27,18 @@ class ElementInternalsController {
|
|
|
18
27
|
? this._internals.states.add(state)
|
|
19
28
|
: this._internals.states.delete(state);
|
|
20
29
|
}
|
|
30
|
+
setFormValue(value, state) {
|
|
31
|
+
this._internals.setFormValue(value, state);
|
|
32
|
+
}
|
|
33
|
+
setValidity(flags, message) {
|
|
34
|
+
this._internals.setValidity(flags, message);
|
|
35
|
+
}
|
|
36
|
+
checkValidity() {
|
|
37
|
+
return this._internals.checkValidity();
|
|
38
|
+
}
|
|
39
|
+
reportValidity() {
|
|
40
|
+
return this._internals.reportValidity();
|
|
41
|
+
}
|
|
21
42
|
}
|
|
22
43
|
export function addInternalsController(host, config) {
|
|
23
44
|
return new ElementInternalsController(host, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../../../../src/components/common/controllers/internals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"internals.js","sourceRoot":"","sources":["../../../../src/components/common/controllers/internals.ts"],"names":[],"mappings":"AAiBA,MAAM,0BAA0B;IAW9B,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;IAC9B,CAAC;IAUD,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;IAClC,CAAC;IASD,IAAW,iBAAiB;QAC1B,OAAO,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC;IAC3C,CAAC;IAUD,IAAW,YAAY;QACrB,OAAO,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC;IACtC,CAAC;IAED,YACE,IAAyC,EACzC,MAA+B;QAE/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;QAE/C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,aAAa,CAAC,IAA0B,CAAC,CAAC;IACjD,CAAC;IAGM,OAAO,CACZ,KAAuC;QAEvC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IAMM,QAAQ,CAAC,KAAa,EAAE,KAAc;QAC3C,KAAK;YACH,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;YACnC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3C,CAAC;IAWM,YAAY,CAAC,KAAoB,EAAE,KAAqB;QAC7D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;IAUM,WAAW,CAAC,KAA0B,EAAE,OAAgB;QAC7D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAUM,aAAa;QAClB,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC;IACzC,CAAC;IAUM,cAAc;QACnB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,CAAC;CACF;AAGD,MAAM,UAAU,sBAAsB,CACpC,IAAyC,EACzC,MAA+B;IAE/B,OAAO,IAAI,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import type {\n LitElement,\n ReactiveController,\n ReactiveControllerHost,\n} from 'lit';\nimport type { FormValueType } from '../mixins/forms/types.js';\n\n/** Configuration for the ElementInternalsController. */\ntype ElementInternalsConfig<T extends keyof ARIAMixin = keyof ARIAMixin> = {\n /** Initial ARIA attributes to set on the element internals. */\n initialARIA: Partial<Record<T, ARIAMixin[T]>>;\n};\n\n/**\n * A Lit ReactiveController to manage `ElementInternals` for a host element.\n * Provides methods to interact with custom element states and ARIA attributes..\n */\nclass ElementInternalsController {\n private readonly _host: ReactiveControllerHost & LitElement;\n private readonly _internals: ElementInternals;\n\n /**\n * Gets the closest ancestor `<form>` element or `null`.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true` in order to return the parent form.\n */\n public get form(): HTMLFormElement | null {\n return this._internals.form;\n }\n\n /**\n * Returns a `ValidityState` object which represents the different validity states\n * the element can be in, with respect to constraint validation.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public get validity(): ValidityState {\n return this._internals.validity;\n }\n\n /**\n * Returns a string containing the validation message of this element.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public get validationMessage(): string {\n return this._internals.validationMessage;\n }\n\n /**\n * Returns a boolean value which returns true if the element is a submittable element\n * which is a candidate for constraint validation.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public get willValidate(): boolean {\n return this._internals.willValidate;\n }\n\n constructor(\n host: ReactiveControllerHost & LitElement,\n config?: ElementInternalsConfig\n ) {\n this._host = host;\n this._internals = this._host.attachInternals();\n\n if (config?.initialARIA) {\n this.setARIA(config.initialARIA);\n }\n\n host.addController(this as ReactiveController);\n }\n\n /** Sets ARIA attributes on the element's internals. */\n public setARIA<T extends keyof ARIAMixin = keyof ARIAMixin>(\n state: Partial<Record<T, ARIAMixin[T]>>\n ): void {\n Object.assign(this._internals, state);\n }\n\n /**\n * Adds or removes a custom state from the element's internals.\n * Custom states can be styled via `:state()` selector in CSS.\n */\n public setState(state: string, value: boolean): void {\n value\n ? this._internals.states.add(state)\n : this._internals.states.delete(state);\n }\n\n /**\n * Sets both the state and submission value of internals's target element to value.\n *\n * If value is null, the element won't participate in form submission.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public setFormValue(value: FormValueType, state?: FormValueType): void {\n this._internals.setFormValue(value, state);\n }\n\n /**\n * Sets the internal validity state of the host element as well as the validation\n * message.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public setValidity(flags?: ValidityStateFlags, message?: string): void {\n this._internals.setValidity(flags, message);\n }\n\n /**\n * Checks the internal validity of the host element and fires an `invalid` event if\n * the host element fails validation constraints.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public checkValidity(): boolean {\n return this._internals.checkValidity();\n }\n\n /**\n * Checks the internal validity of the host element and fires an `invalid` event if\n * the host element fails validation constraints.\n *\n * @remarks\n * The host element must be form associated, that is, it should have\n * `static formAssociated = true`.\n */\n public reportValidity(): boolean {\n return this._internals.reportValidity();\n }\n}\n\n/** Creates and adds a {@link ElementInternalsController} to a LitElement host. */\nexport function addInternalsController(\n host: ReactiveControllerHost & LitElement,\n config?: ElementInternalsConfig\n): ElementInternalsController {\n return new ElementInternalsController(host, config);\n}\n\nexport type { ElementInternalsController };\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createAbortHandle } from '../abort-handler.js';
|
|
2
|
-
import { asArray, findElementFromEventPath, isFunction } from '../util.js';
|
|
2
|
+
import { asArray, findElementFromEventPath, isFunction, toMerged, } from '../util.js';
|
|
3
3
|
export const arrowLeft = 'ArrowLeft';
|
|
4
4
|
export const arrowRight = 'ArrowRight';
|
|
5
5
|
export const arrowUp = 'ArrowUp';
|
|
@@ -62,7 +62,7 @@ class KeyBindingController {
|
|
|
62
62
|
this._pressedKeys = new Set();
|
|
63
63
|
this._host = host;
|
|
64
64
|
this._ref = options?.ref;
|
|
65
|
-
this._options =
|
|
65
|
+
this._options = toMerged(KeyBindingController._defaultOptions, options ?? {});
|
|
66
66
|
if (Array.isArray(this._options.skip)) {
|
|
67
67
|
this._skipSelector = this._options.skip.join(',');
|
|
68
68
|
}
|
|
@@ -138,7 +138,7 @@ class KeyBindingController {
|
|
|
138
138
|
set(key, handler, bindingOptions) {
|
|
139
139
|
const { keys, modifiers } = parseKeys(key);
|
|
140
140
|
const combination = createCombinationKey(keys, modifiers);
|
|
141
|
-
const options =
|
|
141
|
+
const options = toMerged(this._options.bindingDefaults, bindingOptions ?? {});
|
|
142
142
|
for (const each of [...keys, ...modifiers]) {
|
|
143
143
|
this._allowedKeys.add(each);
|
|
144
144
|
}
|
|
@@ -165,6 +165,7 @@ class KeyBindingController {
|
|
|
165
165
|
}
|
|
166
166
|
KeyBindingController._defaultOptions = {
|
|
167
167
|
skip: ['input', 'textarea', 'select'],
|
|
168
|
+
bindingDefaults: { preventDefault: true },
|
|
168
169
|
};
|
|
169
170
|
export function parseKeys(keys) {
|
|
170
171
|
const normalizedKeys = normalizeKeys(keys);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"key-bindings.js","sourceRoot":"","sources":["../../../../src/components/common/controllers/key-bindings.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { Ref } from 'lit/directives/ref.js';\nimport { createAbortHandle } from '../abort-handler.js';\nimport { asArray, findElementFromEventPath, isFunction } from '../util.js';\n\n//#region Keys and modifiers\n\n/* Common keys */\nexport const arrowLeft = 'ArrowLeft' as const;\nexport const arrowRight = 'ArrowRight' as const;\nexport const arrowUp = 'ArrowUp' as const;\nexport const arrowDown = 'ArrowDown' as const;\nexport const enterKey = 'Enter' as const;\nexport const spaceBar = ' ' as const;\nexport const escapeKey = 'Escape' as const;\nexport const homeKey = 'Home' as const;\nexport const endKey = 'End' as const;\nexport const pageUpKey = 'PageUp' as const;\nexport const pageDownKey = 'PageDown' as const;\nexport const tabKey = 'Tab' as const;\n\n/* Modifiers */\nexport const altKey = 'Alt' as const;\nexport const ctrlKey = 'Ctrl' as const;\nexport const metaKey = 'Meta' as const;\nexport const shiftKey = 'Shift' as const;\n\n//#endregion\n\n//#region Types\n\n/* Types */\ntype KeyBindingHandler = (event: KeyboardEvent) => void;\ntype KeyBindingObserverCleanup = { unsubscribe: () => void };\n\n/**\n * Whether the current event should be ignored by the controller.\n *\n * @param node - The event target\n * @param event - The event object\n *\n * When `true` is returned, the current event is ignored.\n */\ntype KeyBindingSkipCallback = (node: Element, event: KeyboardEvent) => boolean;\n\n/**\n * The event type which will trigger the bound handler.\n *\n * @remarks\n * `keydownRepeat` is similar to `keydown` with the exception\n * that after the handler is invoked the pressed state of the key is reset\n * in the controller.\n */\ntype KeyBindingTrigger = 'keydown' | 'keyup' | 'keydownRepeat';\n\n/**\n * Configuration object for the controller.\n * @ignore\n */\ninterface KeyBindingControllerOptions {\n /**\n * By default, the controller listens for keypress events in the context of the host element.\n * If you pass a `ref`, you can limit the observation to a certain DOM part of the host scope.\n */\n ref?: Ref;\n /**\n * Option to ignore key press events.\n *\n * If passed an array of CSS selectors, it will ignore key presses originating from elements in the event composed path\n * that match one of the selectors.\n * Otherwise you can pass a {@link KeyBindingSkipCallback} function.\n *\n * Defaults to `['input', 'textarea', 'select']`.\n *\n * @example\n * ```ts\n * {\n * // Skip events originating from elements with `readonly` attribute\n * skip: ['[readonly]']\n * }\n * ...\n * {\n * // Same as above but with a callback\n * skip: (node: Element) => node.hasAttribute('readonly')\n * }\n * ```\n */\n skip?: string[] | KeyBindingSkipCallback;\n /**\n * A set of KeyBindingOptions configuration which is applied to every handler\n * that is added to the controller.\n *\n * Any additional KeyBindingOptions values passed when `set` is called\n * will be merged with `bindingDefaults`.\n */\n bindingDefaults?: KeyBindingOptions;\n}\n\n/**\n * Configuration object for customizing the behavior of\n * the registered handler.\n */\ninterface KeyBindingOptions {\n /**\n * The event type(s) on which the handler will be invoked.\n *\n * Defaults to `keydown` if not set.\n */\n triggers?: KeyBindingTrigger[];\n /**\n * Whether to call `preventDefault` on the target event before the handler is invoked.\n */\n preventDefault?: boolean;\n /**\n * Whether to call `stopPropagation` on the target event before the handler is invoked.\n */\n stopPropagation?: boolean;\n}\n\ninterface KeyBinding {\n keys: string[];\n handler: KeyBindingHandler;\n options?: KeyBindingOptions;\n modifiers: string[];\n}\n\n//#endregion\n\n//#region Internal functions and constants\n\nconst Modifiers: Map<string, string> = new Map([\n [altKey.toLowerCase(), altKey.toLowerCase()],\n [ctrlKey.toLowerCase(), ctrlKey.toLowerCase()],\n [metaKey.toLowerCase(), metaKey.toLowerCase()],\n [shiftKey.toLowerCase(), shiftKey.toLowerCase()],\n]);\n\nconst ALL_MODIFIER_VALUES = Array.from(Modifiers.values()).sort();\n\nfunction normalizeKeys(keys: string | string[]): string[] {\n return asArray(keys).map((key) => key.toLowerCase());\n}\n\nfunction isKeydown(event: Event): boolean {\n return event.type === 'keydown';\n}\n\nfunction isKeyup(event: Event): boolean {\n return event.type === 'keyup';\n}\n\nfunction isKeydownTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers\n ? triggers.includes('keydown') || isKeydownRepeatTrigger(triggers)\n : false;\n}\n\nfunction isKeyupTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers ? triggers.includes('keyup') : false;\n}\n\nfunction isKeydownRepeatTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers ? triggers.includes('keydownRepeat') : false;\n}\n\nfunction createCombinationKey(keys: string[], modifiers: string[]): string {\n const sortedKeys = keys.toSorted();\n const sortedModifiers = ALL_MODIFIER_VALUES.filter((mod) =>\n modifiers.includes(mod)\n ).sort();\n\n return sortedModifiers.concat(sortedKeys).join('+');\n}\n\n//#endregion\n\nclass KeyBindingController implements ReactiveController {\n //#region Private properties and state\n\n private static readonly _defaultOptions: KeyBindingControllerOptions = {\n skip: ['input', 'textarea', 'select'],\n };\n\n private readonly _host: ReactiveControllerHost & Element;\n private readonly _ref?: Ref;\n private readonly _abortHandle = createAbortHandle();\n\n private readonly _bindings = new Map<string, KeyBinding>();\n private readonly _allowedKeys = new Set<string>();\n private readonly _pressedKeys = new Set<string>();\n\n private readonly _options: KeyBindingControllerOptions;\n private readonly _skipSelector: string | undefined;\n\n private _observedElement?: Element;\n\n private get _element(): Element {\n if (this._observedElement) {\n return this._observedElement;\n }\n return this._ref?.value || this._host;\n }\n\n //#endregion\n\n constructor(\n host: ReactiveControllerHost & Element,\n options?: KeyBindingControllerOptions\n ) {\n this._host = host;\n this._ref = options?.ref;\n this._options = { ...KeyBindingController._defaultOptions, ...options };\n\n if (Array.isArray(this._options.skip)) {\n this._skipSelector = this._options.skip.join(',');\n }\n\n host.addController(this);\n }\n\n //#region Private API\n\n /**\n * Checks and executes any event modifiers that are present in the matched binding.\n */\n private _applyEventModifiers(\n binding: KeyBinding,\n event: KeyboardEvent\n ): void {\n if (binding.options?.preventDefault) {\n event.preventDefault();\n }\n\n if (binding.options?.stopPropagation) {\n event.stopPropagation();\n }\n }\n\n private _bindingMatches(binding: KeyBinding, event: KeyboardEvent): boolean {\n const triggers = binding.options?.triggers ?? ['keydown'];\n\n if (isKeydown(event) && isKeydownTrigger(triggers)) {\n return true;\n }\n\n if (isKeyup(event) && isKeyupTrigger(triggers)) {\n return true;\n }\n\n return false;\n }\n\n private _shouldSkip(event: KeyboardEvent): boolean {\n const skip = this._options?.skip;\n\n if (!this._allowedKeys.has(event.key.toLowerCase())) {\n return true;\n }\n\n if (!findElementFromEventPath((e) => e === this._element, event)) {\n return true;\n }\n\n if (Array.isArray(skip)) {\n if (!this._skipSelector) {\n return false;\n }\n\n return Boolean(findElementFromEventPath(this._skipSelector, event));\n }\n\n if (isFunction(skip)) {\n return skip.call(this._host, event.target as Element, event);\n }\n\n return false;\n }\n\n //#endregion\n\n //#region Controller specific handlers\n\n /** @internal */\n public hostConnected(): void {\n const { signal } = this._abortHandle;\n this._host.addEventListener('keyup', this, { signal });\n this._host.addEventListener('keydown', this, { signal });\n }\n\n /** @internal */\n public hostDisconnected(): void {\n this._abortHandle.abort();\n }\n\n /** @internal */\n public handleEvent(event: KeyboardEvent): void {\n if (this._shouldSkip(event)) {\n return;\n }\n\n const key = event.key.toLowerCase();\n\n if (!Modifiers.has(key)) {\n this._pressedKeys.add(key);\n }\n\n const activeModifiers = ALL_MODIFIER_VALUES.filter(\n (mod) => event[`${mod}Key` as keyof KeyboardEvent]\n );\n\n const combination = createCombinationKey(\n Array.from(this._pressedKeys),\n activeModifiers\n );\n\n const binding = this._bindings.get(combination);\n\n if (binding && this._bindingMatches(binding, event)) {\n this._applyEventModifiers(binding, event);\n binding.handler.call(this._host, event);\n\n if (isKeydownRepeatTrigger(binding.options?.triggers)) {\n this._pressedKeys.delete(key);\n }\n }\n\n if (isKeyup(event) && !Modifiers.has(key)) {\n this._pressedKeys.delete(key);\n }\n }\n\n //#endregion\n\n //#region Public API\n\n /**\n * Registers a keybinding handler.\n */\n public set(\n key: string | string[],\n handler: KeyBindingHandler,\n bindingOptions?: KeyBindingOptions\n ) {\n const { keys, modifiers } = parseKeys(key);\n const combination = createCombinationKey(keys, modifiers);\n const options = { ...this._options?.bindingDefaults, ...bindingOptions };\n\n for (const each of [...keys, ...modifiers]) {\n this._allowedKeys.add(each);\n }\n\n this._bindings.set(combination, { keys, handler, options, modifiers });\n\n return this;\n }\n\n /**\n * Register a handler function which is called when the target receives a key\n * which \"activates\" it.\n *\n * In the browser context this is usually either an Enter and Space bar keypress.\n */\n public setActivateHandler(\n handler: KeyBindingHandler,\n options?: KeyBindingOptions\n ) {\n this.set(enterKey, handler, options);\n this.set(spaceBar, handler, options);\n\n return this;\n }\n\n /**\n * Sets the controller to listen for keyboard events on an arbitrary `element` in the page context.\n * All the configuration and event handlers are applied as well.\n *\n * Returns an object with an `unsubscribe` function which should be called when the observing of keyboard\n * events on the `element` should cease.\n */\n public observeElement(element: Element): KeyBindingObserverCleanup {\n element.addEventListener('keydown', this);\n element.addEventListener('keyup', this);\n this._observedElement = element;\n\n return {\n unsubscribe: () => {\n this._observedElement?.removeEventListener('keydown', this);\n this._observedElement?.removeEventListener('keyup', this);\n this._observedElement = undefined;\n },\n };\n }\n\n //#endregion\n}\n\n/** @internal */\nexport function parseKeys(keys: string | string[]) {\n const normalizedKeys = normalizeKeys(keys);\n return {\n keys: normalizedKeys.filter((key) => !Modifiers.has(key)),\n modifiers: normalizedKeys.filter((key) => Modifiers.has(key)),\n };\n}\n\n/**\n * Creates a keybinding controller and adds to it to the passed `element`\n * with the provided `options`.\n */\nexport function addKeybindings(\n element: ReactiveControllerHost & Element,\n options?: KeyBindingControllerOptions\n): KeyBindingController {\n return new KeyBindingController(element, options);\n}\n\nexport type {\n KeyBindingHandler,\n KeyBindingObserverCleanup,\n KeyBindingSkipCallback,\n KeyBindingTrigger,\n KeyBindingControllerOptions,\n KeyBindingOptions,\n KeyBindingController,\n};\n"]}
|
|
1
|
+
{"version":3,"file":"key-bindings.js","sourceRoot":"","sources":["../../../../src/components/common/controllers/key-bindings.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from 'lit';\nimport type { Ref } from 'lit/directives/ref.js';\nimport { createAbortHandle } from '../abort-handler.js';\nimport {\n asArray,\n findElementFromEventPath,\n isFunction,\n toMerged,\n} from '../util.js';\n\n//#region Keys and modifiers\n\n/* Common keys */\nexport const arrowLeft = 'ArrowLeft' as const;\nexport const arrowRight = 'ArrowRight' as const;\nexport const arrowUp = 'ArrowUp' as const;\nexport const arrowDown = 'ArrowDown' as const;\nexport const enterKey = 'Enter' as const;\nexport const spaceBar = ' ' as const;\nexport const escapeKey = 'Escape' as const;\nexport const homeKey = 'Home' as const;\nexport const endKey = 'End' as const;\nexport const pageUpKey = 'PageUp' as const;\nexport const pageDownKey = 'PageDown' as const;\nexport const tabKey = 'Tab' as const;\n\n/* Modifiers */\nexport const altKey = 'Alt' as const;\nexport const ctrlKey = 'Ctrl' as const;\nexport const metaKey = 'Meta' as const;\nexport const shiftKey = 'Shift' as const;\n\n//#endregion\n\n//#region Types\n\n/* Types */\ntype KeyBindingHandler = (event: KeyboardEvent) => void;\ntype KeyBindingObserverCleanup = { unsubscribe: () => void };\n\n/**\n * Whether the current event should be ignored by the controller.\n *\n * @param node - The event target\n * @param event - The event object\n *\n * When `true` is returned, the current event is ignored.\n */\ntype KeyBindingSkipCallback = (node: Element, event: KeyboardEvent) => boolean;\n\n/**\n * The event type which will trigger the bound handler.\n *\n * @remarks\n * `keydownRepeat` is similar to `keydown` with the exception\n * that after the handler is invoked the pressed state of the key is reset\n * in the controller.\n */\ntype KeyBindingTrigger = 'keydown' | 'keyup' | 'keydownRepeat';\n\n/**\n * Configuration object for the controller.\n * @ignore\n */\ninterface KeyBindingControllerOptions {\n /**\n * By default, the controller listens for keypress events in the context of the host element.\n * If you pass a `ref`, you can limit the observation to a certain DOM part of the host scope.\n */\n ref?: Ref;\n /**\n * Option to ignore key press events.\n *\n * If passed an array of CSS selectors, it will ignore key presses originating from elements in the event composed path\n * that match one of the selectors.\n * Otherwise you can pass a {@link KeyBindingSkipCallback} function.\n *\n * Defaults to `['input', 'textarea', 'select']`.\n *\n * @example\n * ```ts\n * {\n * // Skip events originating from elements with `readonly` attribute\n * skip: ['[readonly]']\n * }\n * ...\n * {\n * // Same as above but with a callback\n * skip: (node: Element) => node.hasAttribute('readonly')\n * }\n * ```\n */\n skip?: string[] | KeyBindingSkipCallback;\n /**\n * A set of KeyBindingOptions configuration which is applied to every handler\n * that is added to the controller.\n *\n * Any additional KeyBindingOptions values passed when `set` is called\n * will be merged with `bindingDefaults`.\n */\n bindingDefaults?: KeyBindingOptions;\n}\n\n/**\n * Configuration object for customizing the behavior of\n * the registered handler.\n */\ninterface KeyBindingOptions {\n /**\n * The event type(s) on which the handler will be invoked.\n *\n * Defaults to `keydown` if not set.\n */\n triggers?: KeyBindingTrigger[];\n /**\n * Whether to call `preventDefault` on the target event before the handler is invoked.\n */\n preventDefault?: boolean;\n /**\n * Whether to call `stopPropagation` on the target event before the handler is invoked.\n */\n stopPropagation?: boolean;\n}\n\ninterface KeyBinding {\n keys: string[];\n handler: KeyBindingHandler;\n options?: KeyBindingOptions;\n modifiers: string[];\n}\n\n//#endregion\n\n//#region Internal functions and constants\n\nconst Modifiers: Map<string, string> = new Map([\n [altKey.toLowerCase(), altKey.toLowerCase()],\n [ctrlKey.toLowerCase(), ctrlKey.toLowerCase()],\n [metaKey.toLowerCase(), metaKey.toLowerCase()],\n [shiftKey.toLowerCase(), shiftKey.toLowerCase()],\n]);\n\nconst ALL_MODIFIER_VALUES = Array.from(Modifiers.values()).sort();\n\nfunction normalizeKeys(keys: string | string[]): string[] {\n return asArray(keys).map((key) => key.toLowerCase());\n}\n\nfunction isKeydown(event: Event): boolean {\n return event.type === 'keydown';\n}\n\nfunction isKeyup(event: Event): boolean {\n return event.type === 'keyup';\n}\n\nfunction isKeydownTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers\n ? triggers.includes('keydown') || isKeydownRepeatTrigger(triggers)\n : false;\n}\n\nfunction isKeyupTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers ? triggers.includes('keyup') : false;\n}\n\nfunction isKeydownRepeatTrigger(triggers?: KeyBindingTrigger[]): boolean {\n return triggers ? triggers.includes('keydownRepeat') : false;\n}\n\nfunction createCombinationKey(keys: string[], modifiers: string[]): string {\n const sortedKeys = keys.toSorted();\n const sortedModifiers = ALL_MODIFIER_VALUES.filter((mod) =>\n modifiers.includes(mod)\n ).sort();\n\n return sortedModifiers.concat(sortedKeys).join('+');\n}\n\n//#endregion\n\nclass KeyBindingController implements ReactiveController {\n //#region Private properties and state\n\n private static readonly _defaultOptions: KeyBindingControllerOptions = {\n skip: ['input', 'textarea', 'select'],\n bindingDefaults: { preventDefault: true },\n };\n\n private readonly _host: ReactiveControllerHost & Element;\n private readonly _ref?: Ref;\n private readonly _abortHandle = createAbortHandle();\n\n private readonly _bindings = new Map<string, KeyBinding>();\n private readonly _allowedKeys = new Set<string>();\n private readonly _pressedKeys = new Set<string>();\n\n private readonly _options: KeyBindingControllerOptions;\n private readonly _skipSelector: string | undefined;\n\n private _observedElement?: Element;\n\n private get _element(): Element {\n if (this._observedElement) {\n return this._observedElement;\n }\n return this._ref?.value || this._host;\n }\n\n //#endregion\n\n constructor(\n host: ReactiveControllerHost & Element,\n options?: KeyBindingControllerOptions\n ) {\n this._host = host;\n this._ref = options?.ref;\n this._options = toMerged(\n KeyBindingController._defaultOptions,\n options ?? {}\n );\n\n if (Array.isArray(this._options.skip)) {\n this._skipSelector = this._options.skip.join(',');\n }\n\n host.addController(this);\n }\n\n //#region Private API\n\n /**\n * Checks and executes any event modifiers that are present in the matched binding.\n */\n private _applyEventModifiers(\n binding: KeyBinding,\n event: KeyboardEvent\n ): void {\n if (binding.options?.preventDefault) {\n event.preventDefault();\n }\n\n if (binding.options?.stopPropagation) {\n event.stopPropagation();\n }\n }\n\n private _bindingMatches(binding: KeyBinding, event: KeyboardEvent): boolean {\n const triggers = binding.options?.triggers ?? ['keydown'];\n\n if (isKeydown(event) && isKeydownTrigger(triggers)) {\n return true;\n }\n\n if (isKeyup(event) && isKeyupTrigger(triggers)) {\n return true;\n }\n\n return false;\n }\n\n private _shouldSkip(event: KeyboardEvent): boolean {\n const skip = this._options?.skip;\n\n if (!this._allowedKeys.has(event.key.toLowerCase())) {\n return true;\n }\n\n if (!findElementFromEventPath((e) => e === this._element, event)) {\n return true;\n }\n\n if (Array.isArray(skip)) {\n if (!this._skipSelector) {\n return false;\n }\n\n return Boolean(findElementFromEventPath(this._skipSelector, event));\n }\n\n if (isFunction(skip)) {\n return skip.call(this._host, event.target as Element, event);\n }\n\n return false;\n }\n\n //#endregion\n\n //#region Controller specific handlers\n\n /** @internal */\n public hostConnected(): void {\n const { signal } = this._abortHandle;\n this._host.addEventListener('keyup', this, { signal });\n this._host.addEventListener('keydown', this, { signal });\n }\n\n /** @internal */\n public hostDisconnected(): void {\n this._abortHandle.abort();\n }\n\n /** @internal */\n public handleEvent(event: KeyboardEvent): void {\n if (this._shouldSkip(event)) {\n return;\n }\n\n const key = event.key.toLowerCase();\n\n if (!Modifiers.has(key)) {\n this._pressedKeys.add(key);\n }\n\n const activeModifiers = ALL_MODIFIER_VALUES.filter(\n (mod) => event[`${mod}Key` as keyof KeyboardEvent]\n );\n\n const combination = createCombinationKey(\n Array.from(this._pressedKeys),\n activeModifiers\n );\n\n const binding = this._bindings.get(combination);\n\n if (binding && this._bindingMatches(binding, event)) {\n this._applyEventModifiers(binding, event);\n binding.handler.call(this._host, event);\n\n if (isKeydownRepeatTrigger(binding.options?.triggers)) {\n this._pressedKeys.delete(key);\n }\n }\n\n if (isKeyup(event) && !Modifiers.has(key)) {\n this._pressedKeys.delete(key);\n }\n }\n\n //#endregion\n\n //#region Public API\n\n /**\n * Registers a keybinding handler.\n */\n public set(\n key: string | string[],\n handler: KeyBindingHandler,\n bindingOptions?: KeyBindingOptions\n ) {\n const { keys, modifiers } = parseKeys(key);\n const combination = createCombinationKey(keys, modifiers);\n const options = toMerged(\n this._options.bindingDefaults!,\n bindingOptions ?? {}\n );\n\n for (const each of [...keys, ...modifiers]) {\n this._allowedKeys.add(each);\n }\n\n this._bindings.set(combination, { keys, handler, options, modifiers });\n\n return this;\n }\n\n /**\n * Register a handler function which is called when the target receives a key\n * which \"activates\" it.\n *\n * In the browser context this is usually either an Enter and Space bar keypress.\n */\n public setActivateHandler(\n handler: KeyBindingHandler,\n options?: KeyBindingOptions\n ) {\n this.set(enterKey, handler, options);\n this.set(spaceBar, handler, options);\n\n return this;\n }\n\n /**\n * Sets the controller to listen for keyboard events on an arbitrary `element` in the page context.\n * All the configuration and event handlers are applied as well.\n *\n * Returns an object with an `unsubscribe` function which should be called when the observing of keyboard\n * events on the `element` should cease.\n */\n public observeElement(element: Element): KeyBindingObserverCleanup {\n element.addEventListener('keydown', this);\n element.addEventListener('keyup', this);\n this._observedElement = element;\n\n return {\n unsubscribe: () => {\n this._observedElement?.removeEventListener('keydown', this);\n this._observedElement?.removeEventListener('keyup', this);\n this._observedElement = undefined;\n },\n };\n }\n\n //#endregion\n}\n\n/** @internal */\nexport function parseKeys(keys: string | string[]) {\n const normalizedKeys = normalizeKeys(keys);\n return {\n keys: normalizedKeys.filter((key) => !Modifiers.has(key)),\n modifiers: normalizedKeys.filter((key) => Modifiers.has(key)),\n };\n}\n\n/**\n * Creates a keybinding controller and adds to it to the passed `element`\n * with the provided `options`.\n */\nexport function addKeybindings(\n element: ReactiveControllerHost & Element,\n options?: KeyBindingControllerOptions\n): KeyBindingController {\n return new KeyBindingController(element, options);\n}\n\nexport type {\n KeyBindingHandler,\n KeyBindingObserverCleanup,\n KeyBindingSkipCallback,\n KeyBindingTrigger,\n KeyBindingControllerOptions,\n KeyBindingOptions,\n KeyBindingController,\n};\n"]}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import type { LitElement, ReactiveController, ReactiveControllerHost } from 'lit';
|
|
2
|
+
type InferSlotNames<T> = T extends readonly (infer U)[] ? U : never;
|
|
3
|
+
/**
|
|
4
|
+
* Additional query options for the slot controller methods.
|
|
5
|
+
*/
|
|
6
|
+
type SlotQueryOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* If set to `true`, it returns a sequence of both the elements assigned to the queried slot,
|
|
9
|
+
* as well as elements assigned to any other slots that are descendants of this slot. If no
|
|
10
|
+
* assigned elements are found, it returns the slot's fallback content.
|
|
11
|
+
*
|
|
12
|
+
* Defaults to `false`.
|
|
13
|
+
*/
|
|
14
|
+
flatten?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* CSS selector used to filter the elements returned.
|
|
17
|
+
*/
|
|
18
|
+
selector?: string;
|
|
19
|
+
};
|
|
20
|
+
type SlotChangeCallback<T> = (parameters: SlotChangeCallbackParameters<T>) => void;
|
|
21
|
+
type SlotChangeCallbackParameters<T> = {
|
|
22
|
+
/** The slot name that has its assigned nodes changed. */
|
|
23
|
+
slot: T;
|
|
24
|
+
/** `true` if the slot is the default slot. */
|
|
25
|
+
isDefault: boolean;
|
|
26
|
+
/** `true` if the callback handler is called for the initial host update. */
|
|
27
|
+
isInitial: boolean;
|
|
28
|
+
};
|
|
29
|
+
type SlotControllerOptions<T> = {
|
|
30
|
+
/** An iterable collection of slot names to observe. */
|
|
31
|
+
slots?: Iterable<T>;
|
|
32
|
+
/** Callback function which is invoked a slot's assigned nodes change. */
|
|
33
|
+
onChange?: SlotChangeCallback<T>;
|
|
34
|
+
/** If set to `true`, the `onChange` callback is invoked once after the host is updated for the first time. */
|
|
35
|
+
initial?: boolean;
|
|
36
|
+
};
|
|
37
|
+
declare const DefaultSlot = "[default]";
|
|
38
|
+
declare class SlotController<T> implements ReactiveController {
|
|
39
|
+
private readonly _host;
|
|
40
|
+
private readonly _options;
|
|
41
|
+
private readonly _slots?;
|
|
42
|
+
private _initialized;
|
|
43
|
+
constructor(host: ReactiveControllerHost & LitElement, options?: SlotControllerOptions<T>);
|
|
44
|
+
private _getSlot;
|
|
45
|
+
/**
|
|
46
|
+
* Returns an array of the assigned nodes for `slot`.
|
|
47
|
+
*
|
|
48
|
+
* If `flatten` is set to `true`, it returns a sequence of both the nodes assigned to the queried slot,
|
|
49
|
+
* as well as nodes assigned to any other slots that are descendants of this slot. If no
|
|
50
|
+
* assigned nodes are found, it returns the slot's fallback content.
|
|
51
|
+
*/
|
|
52
|
+
getAssignedNodes(slot: T, flatten?: boolean): Node[];
|
|
53
|
+
/**
|
|
54
|
+
* Returns an array of the assigned elements for `slot` with additional `options`.
|
|
55
|
+
*
|
|
56
|
+
* See {@link SlotQueryOptions.flatten} and {@link SlotQueryOptions.selector} for more information.
|
|
57
|
+
*/
|
|
58
|
+
getAssignedElements<U extends Element>(slot: T, options?: SlotQueryOptions): U[];
|
|
59
|
+
/**
|
|
60
|
+
* Return whether `slot` has assigned nodes.
|
|
61
|
+
*
|
|
62
|
+
* If `flatten` is set to `true`, it returns a sequence of both the nodes assigned to the queried slot,
|
|
63
|
+
* as well as nodes assigned to any other slots that are descendants of this slot. If no
|
|
64
|
+
* assigned nodes are found, it returns the slot's fallback content.
|
|
65
|
+
*/
|
|
66
|
+
hasAssignedNodes(slot: T, flatten?: boolean): boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Return whether `slot` has assigned elements accepting additional `options`.
|
|
69
|
+
*
|
|
70
|
+
* See {@link SlotQueryOptions.flatten} and {@link SlotQueryOptions.selector} for more information.
|
|
71
|
+
*/
|
|
72
|
+
hasAssignedElements(slot: T, options?: SlotQueryOptions): boolean;
|
|
73
|
+
/** @internal */
|
|
74
|
+
handleEvent(event: Event): void;
|
|
75
|
+
/** @internal */
|
|
76
|
+
hostConnected(): void;
|
|
77
|
+
/** @internal */
|
|
78
|
+
hostDisconnected(): void;
|
|
79
|
+
/** @internal */
|
|
80
|
+
hostUpdated(): void;
|
|
81
|
+
}
|
|
82
|
+
declare function addSlotController<K extends readonly string[]>(host: ReactiveControllerHost, options?: SlotControllerOptions<InferSlotNames<K>> & {
|
|
83
|
+
slots?: K;
|
|
84
|
+
}): SlotController<InferSlotNames<K>>;
|
|
85
|
+
declare function setSlots<const T extends readonly string[]>(...slots: T): readonly ["[default]", ...T];
|
|
86
|
+
export { addSlotController, DefaultSlot, setSlots };
|
|
87
|
+
export type { InferSlotNames, SlotController, SlotQueryOptions, SlotChangeCallback, SlotChangeCallbackParameters, SlotControllerOptions, };
|