igniteui-webcomponents 5.0.0 → 5.0.2
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 +21 -0
- package/README.md +3 -3
- package/components/accordion/accordion.d.ts +0 -2
- package/components/accordion/accordion.js +7 -14
- package/components/accordion/accordion.js.map +1 -1
- package/components/accordion/themes/accordion.base.css.js +1 -1
- package/components/accordion/themes/accordion.base.css.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/badge/themes/badge.base.css.js +1 -1
- package/components/badge/themes/badge.base.css.js.map +1 -1
- package/components/badge/themes/shared/badge.bootstrap.css.js +1 -1
- package/components/badge/themes/shared/badge.bootstrap.css.js.map +1 -1
- package/components/badge/themes/shared/badge.common.css.js +1 -1
- package/components/badge/themes/shared/badge.common.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.bootstrap.css.js +1 -1
- package/components/button/themes/button/shared/button.bootstrap.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/button/shared/button.material.css.js +1 -1
- package/components/button/themes/button/shared/button.material.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/button.base.css.js +1 -1
- package/components/button-group/themes/button.base.css.js.map +1 -1
- package/components/button-group/themes/group.base.css.js +1 -1
- package/components/button-group/themes/group.base.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.fluent.css.js +1 -1
- package/components/button-group/themes/shared/button/button.fluent.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/button-group/themes/shared/group/group.common.css.js +1 -1
- package/components/button-group/themes/shared/group/group.common.css.js.map +1 -1
- package/components/calendar/calendar.d.ts +3 -2
- package/components/calendar/calendar.js +10 -9
- package/components/calendar/calendar.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/dark/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/dark/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/dark/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/dark/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/dark/calendar.material.css.js +1 -1
- package/components/calendar/themes/dark/calendar.material.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/light/calendar.bootstrap.css.js +1 -1
- package/components/calendar/themes/light/calendar.bootstrap.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js +1 -1
- package/components/calendar/themes/light/calendar.fluent.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js +1 -1
- package/components/calendar/themes/light/calendar.indigo.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.material.css.js +1 -1
- package/components/calendar/themes/light/calendar.material.css.js.map +1 -1
- package/components/calendar/themes/light/calendar.shared.css.js +1 -1
- package/components/calendar/themes/light/calendar.shared.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/fluent/days-view.fluent.css.js +1 -1
- package/components/calendar/themes/shared/fluent/days-view.fluent.css.js.map +1 -1
- package/components/calendar/themes/shared/fluent/year-month-view.fluent.css.js +1 -1
- package/components/calendar/themes/shared/fluent/year-month-view.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/indigo/days-view.indigo.css.js +1 -1
- package/components/calendar/themes/shared/indigo/days-view.indigo.css.js.map +1 -1
- package/components/calendar/themes/shared/indigo/year-month-view.indigo.css.js +1 -1
- package/components/calendar/themes/shared/indigo/year-month-view.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/shared/material/days-view.material.css.js +1 -1
- package/components/calendar/themes/shared/material/days-view.material.css.js.map +1 -1
- package/components/calendar/themes/shared/material/year-month-view.material.css.js +1 -1
- package/components/calendar/themes/shared/material/year-month-view.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/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/card.media.base.css.js +1 -1
- package/components/card/themes/card.media.base.css.js.map +1 -1
- package/components/card/themes/container.base.css.js +1 -1
- package/components/card/themes/container.base.css.js.map +1 -1
- package/components/card/themes/shared/container/card.common.css.js +1 -1
- package/components/card/themes/shared/container/card.common.css.js.map +1 -1
- package/components/card/themes/shared/container/card.fluent.css.js +1 -1
- package/components/card/themes/shared/container/card.fluent.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/header/card.header.indigo.css.js +1 -1
- package/components/card/themes/shared/header/card.header.indigo.css.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +2 -3
- package/components/checkbox/checkbox-base.js +6 -10
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/themes/checkbox.base.css.js +1 -1
- package/components/checkbox/themes/checkbox.base.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.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/checkbox/themes/shared/switch/switch.material.css.js +1 -1
- package/components/checkbox/themes/shared/switch/switch.material.css.js.map +1 -1
- package/components/checkbox/themes/switch.base.css.js +1 -1
- package/components/checkbox/themes/switch.base.css.js.map +1 -1
- package/components/chip/chip.d.ts +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/combo/combo.d.ts +3 -4
- package/components/combo/combo.js +11 -23
- package/components/combo/combo.js.map +1 -1
- package/components/combo/themes/combo-header.base.css.js +1 -1
- package/components/combo/themes/combo-header.base.css.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/dark/combo.indigo.css.js +1 -1
- package/components/combo/themes/dark/combo.indigo.css.js.map +1 -1
- package/components/combo/themes/light/combo.indigo.css.js +1 -1
- package/components/combo/themes/light/combo.indigo.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/key-bindings.d.ts +3 -3
- package/components/common/controllers/key-bindings.js +48 -49
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +2 -2
- package/components/common/mixins/forms/associated-required.d.ts +13 -0
- package/components/common/mixins/forms/associated-required.js +47 -0
- package/components/common/mixins/forms/associated-required.js.map +1 -0
- package/components/common/mixins/forms/associated.d.ts +11 -0
- package/components/common/mixins/{form-associated.js → forms/associated.js} +102 -57
- package/components/common/mixins/forms/associated.js.map +1 -0
- package/components/common/mixins/forms/types.d.ts +125 -0
- package/components/common/mixins/forms/types.js +2 -0
- package/components/common/mixins/forms/types.js.map +1 -0
- package/components/date-picker/date-picker.d.ts +6 -3
- package/components/date-picker/date-picker.js +30 -24
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.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/dark/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.material.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/light/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.shared.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.shared.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.indigo.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
- package/components/date-time-input/date-time-input.js +5 -6
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/dialog/dialog.d.ts +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/divider/themes/divider.base.css.js +1 -1
- package/components/divider/themes/divider.base.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-header.base.css.js +1 -1
- package/components/dropdown/themes/dropdown-header.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/dropdown.base.css.js +1 -1
- package/components/dropdown/themes/dropdown.base.css.js.map +1 -1
- package/components/dropdown/themes/shared/dropdown.fluent.css.js +1 -1
- package/components/dropdown/themes/shared/dropdown.fluent.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/dropdown.material.css.js +1 -1
- package/components/dropdown/themes/shared/dropdown.material.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 +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/icon/registry/default-map.d.ts +1 -1
- package/components/icon/themes/icon.base.css.js +1 -1
- package/components/icon/themes/icon.base.css.js.map +1 -1
- package/components/input/input-base.d.ts +2 -2
- package/components/input/input-base.js +1 -1
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +0 -2
- package/components/input/input.js +4 -10
- package/components/input/input.js.map +1 -1
- package/components/input/themes/input.base.css.js +1 -1
- package/components/input/themes/input.base.css.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/container.base.css.js +1 -1
- package/components/list/themes/container.base.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/item/list-item.common.css.js +1 -1
- package/components/list/themes/shared/item/list-item.common.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.d.ts +1 -2
- package/components/mask-input/mask-input.js +5 -10
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +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/header-item.base.css.js +1 -1
- package/components/nav-drawer/themes/header-item.base.css.js.map +1 -1
- package/components/nav-drawer/themes/item.base.css.js +1 -1
- package/components/nav-drawer/themes/item.base.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/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/item/item.indigo.css.js +1 -1
- package/components/nav-drawer/themes/shared/item/item.indigo.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.bootstrap.css.js +1 -1
- package/components/navbar/themes/dark/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.indigo.css.js +1 -1
- package/components/navbar/themes/dark/navbar.indigo.css.js.map +1 -1
- package/components/navbar/themes/dark/navbar.material.css.js +1 -1
- package/components/navbar/themes/dark/navbar.material.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js +1 -1
- package/components/navbar/themes/light/navbar.bootstrap.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js +1 -1
- package/components/navbar/themes/light/navbar.indigo.css.js.map +1 -1
- package/components/navbar/themes/light/navbar.shared.css.js +1 -1
- package/components/navbar/themes/light/navbar.shared.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.common.css.js +1 -1
- package/components/navbar/themes/shared/navbar.common.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/themes/light/popover.base.css.js +1 -1
- package/components/popover/themes/light/popover.base.css.js.map +1 -1
- package/components/progress/base.d.ts +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/circular/shared/circular.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js +1 -1
- package/components/progress/themes/linear/shared/linear.progress.bootstrap.css.js.map +1 -1
- package/components/progress/themes/linear/shared/linear.progress.common.css.js +1 -1
- package/components/progress/themes/linear/shared/linear.progress.common.css.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 +4 -5
- package/components/radio/radio.js +24 -32
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/radio.base.css.js +1 -1
- package/components/radio/themes/radio.base.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.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/utils.js +1 -1
- package/components/radio/utils.js.map +1 -1
- package/components/radio-group/radio-group.base.css.js +1 -1
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.js +1 -1
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating.d.ts +4 -3
- package/components/rating/rating.js +26 -25
- package/components/rating/rating.js.map +1 -1
- package/components/rating/themes/rating-symbol.base.css.js +1 -1
- package/components/rating/themes/rating-symbol.base.css.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/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +2 -2
- package/components/select/select.js +12 -15
- 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/dark/select.fluent.css.js +1 -1
- package/components/select/themes/dark/select.fluent.css.js.map +1 -1
- package/components/select/themes/dark/select.indigo.css.js +1 -1
- package/components/select/themes/dark/select.indigo.css.js.map +1 -1
- package/components/select/themes/dark/select.material.css.js +1 -1
- package/components/select/themes/dark/select.material.css.js.map +1 -1
- package/components/select/themes/light/select.bootstrap.css.js +1 -1
- package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
- package/components/select/themes/light/select.fluent.css.js +1 -1
- package/components/select/themes/light/select.fluent.css.js.map +1 -1
- package/components/select/themes/light/select.indigo.css.js +1 -1
- package/components/select/themes/light/select.indigo.css.js.map +1 -1
- package/components/select/themes/light/select.material.css.js +1 -1
- package/components/select/themes/light/select.material.css.js.map +1 -1
- package/components/select/themes/select.base.css.js +1 -1
- package/components/select/themes/select.base.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.d.ts +2 -1
- package/components/slider/slider.js +5 -2
- package/components/slider/slider.js.map +1 -1
- package/components/slider/themes/shared/slider.bootstrap.css.js +1 -1
- package/components/slider/themes/shared/slider.bootstrap.css.js.map +1 -1
- package/components/slider/themes/shared/slider.fluent.css.js +1 -1
- package/components/slider/themes/shared/slider.fluent.css.js.map +1 -1
- package/components/slider/themes/shared/slider.indigo.css.js +1 -1
- package/components/slider/themes/shared/slider.indigo.css.js.map +1 -1
- package/components/slider/themes/shared/slider.material.css.js +1 -1
- package/components/slider/themes/shared/slider.material.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.common.css.js +1 -1
- package/components/snackbar/themes/shared/snackbar.common.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/themes/step/shared/step.bootstrap.css.js +1 -1
- package/components/stepper/themes/step/shared/step.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/step/shared/step.common.css.js +1 -1
- package/components/stepper/themes/step/shared/step.common.css.js.map +1 -1
- package/components/stepper/themes/step/shared/step.fluent.css.js +1 -1
- package/components/stepper/themes/step/shared/step.fluent.css.js.map +1 -1
- package/components/stepper/themes/step/shared/step.indigo.css.js +1 -1
- package/components/stepper/themes/step/shared/step.indigo.css.js.map +1 -1
- package/components/stepper/themes/step/step.base.css.js +1 -1
- package/components/stepper/themes/step/step.base.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.base.css.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/tab-panel.base.css.js +1 -1
- package/components/tabs/themes/tab-panel.base.css.js.map +1 -1
- package/components/tabs/themes/tab.base.css.js +1 -1
- package/components/tabs/themes/tab.base.css.js.map +1 -1
- package/components/tabs/themes/tabs.base.css.js +1 -1
- package/components/tabs/themes/tabs.base.css.js.map +1 -1
- package/components/textarea/textarea.d.ts +1 -1
- package/components/textarea/textarea.js +4 -9
- 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/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/toast.base.css.js +1 -1
- package/components/toast/themes/toast.base.css.js.map +1 -1
- package/components/tree/themes/container.base.css.js +1 -1
- package/components/tree/themes/container.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/custom-elements.json +5994 -2394
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +2 -0
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/light/indigo.css +1 -1
- package/web-types.json +1 -1
- package/components/common/mixins/form-associated-required.d.ts +0 -16
- package/components/common/mixins/form-associated-required.js +0 -29
- package/components/common/mixins/form-associated-required.js.map +0 -1
- package/components/common/mixins/form-associated.d.ts +0 -92
- package/components/common/mixins/form-associated.js.map +0 -1
|
@@ -5,23 +5,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { property } from 'lit/decorators.js';
|
|
8
|
-
|
|
9
|
-
class
|
|
8
|
+
function BaseFormAssociated(base) {
|
|
9
|
+
class BaseFormAssociatedElement extends base {
|
|
10
10
|
get __validators() {
|
|
11
11
|
return [];
|
|
12
12
|
}
|
|
13
|
-
get form() {
|
|
14
|
-
return this.__internals.form;
|
|
15
|
-
}
|
|
16
|
-
get validity() {
|
|
17
|
-
return this.__internals.validity;
|
|
18
|
-
}
|
|
19
|
-
get validationMessage() {
|
|
20
|
-
return this.__internals.validationMessage;
|
|
21
|
-
}
|
|
22
|
-
get willValidate() {
|
|
23
|
-
return this.__internals.willValidate;
|
|
24
|
-
}
|
|
25
13
|
set disabled(value) {
|
|
26
14
|
this._disabled = value;
|
|
27
15
|
this.toggleAttribute('disabled', Boolean(this._disabled));
|
|
@@ -36,56 +24,51 @@ export function FormAssociatedMixin(superClass) {
|
|
|
36
24
|
get invalid() {
|
|
37
25
|
return this._invalid;
|
|
38
26
|
}
|
|
27
|
+
get form() {
|
|
28
|
+
return this.__internals.form;
|
|
29
|
+
}
|
|
30
|
+
get validity() {
|
|
31
|
+
return this.__internals.validity;
|
|
32
|
+
}
|
|
33
|
+
get validationMessage() {
|
|
34
|
+
return this.__internals.validationMessage;
|
|
35
|
+
}
|
|
36
|
+
get willValidate() {
|
|
37
|
+
return this.__internals.willValidate;
|
|
38
|
+
}
|
|
39
39
|
constructor(...args) {
|
|
40
40
|
super(args);
|
|
41
41
|
this._disabled = false;
|
|
42
42
|
this._invalid = false;
|
|
43
43
|
this._dirty = false;
|
|
44
44
|
this.__internals = this.attachInternals();
|
|
45
|
-
this.addEventListener('invalid', this.
|
|
45
|
+
this.addEventListener('invalid', this._handleInvalid);
|
|
46
46
|
}
|
|
47
47
|
connectedCallback() {
|
|
48
48
|
super.connectedCallback();
|
|
49
49
|
this._dirty = false;
|
|
50
|
-
this.
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if ('checked' in this) {
|
|
54
|
-
this._defaultValue = this.checked;
|
|
55
|
-
}
|
|
56
|
-
else if ('value' in this) {
|
|
57
|
-
this._defaultValue = this.value;
|
|
50
|
+
this._updateValidity();
|
|
51
|
+
if (!this.hasUpdated) {
|
|
52
|
+
this._setInitialDefaultValue();
|
|
58
53
|
}
|
|
59
54
|
}
|
|
60
|
-
|
|
61
|
-
if ('checked' in this) {
|
|
62
|
-
this.checked = this._defaultValue;
|
|
63
|
-
}
|
|
64
|
-
else if ('value' in this) {
|
|
65
|
-
this.value = this._defaultValue;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
handleInvalid(event) {
|
|
55
|
+
_handleInvalid(event) {
|
|
69
56
|
event.preventDefault();
|
|
70
57
|
this.invalid = true;
|
|
71
58
|
}
|
|
72
|
-
|
|
73
|
-
this.
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.__internals.setValidity(flags, message, anchor);
|
|
77
|
-
}
|
|
78
|
-
formResetCallback() {
|
|
79
|
-
this.restoreDefaultValue();
|
|
80
|
-
this._dirty = false;
|
|
81
|
-
this.performUpdate();
|
|
82
|
-
this.invalid = false;
|
|
59
|
+
_setInvalidState() {
|
|
60
|
+
if (this.hasUpdated || this._dirty) {
|
|
61
|
+
this.invalid = !this.checkValidity();
|
|
62
|
+
}
|
|
83
63
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
64
|
+
_setInitialDefaultValue() { }
|
|
65
|
+
_setDefaultValue(_prev, _current) { }
|
|
66
|
+
_restoreDefaultValue() { }
|
|
67
|
+
_validate(message) {
|
|
68
|
+
this._updateValidity(message);
|
|
69
|
+
this._setInvalidState();
|
|
87
70
|
}
|
|
88
|
-
|
|
71
|
+
_updateValidity(message) {
|
|
89
72
|
const validity = {};
|
|
90
73
|
let validationMessage = '';
|
|
91
74
|
for (const validator of this.__validators) {
|
|
@@ -104,11 +87,21 @@ export function FormAssociatedMixin(superClass) {
|
|
|
104
87
|
}
|
|
105
88
|
this.__internals.setValidity(validity, validationMessage);
|
|
106
89
|
}
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
this.invalid = !this.checkValidity();
|
|
110
|
-
}
|
|
90
|
+
_setFormValue(value, state) {
|
|
91
|
+
this.__internals.setFormValue(value, state);
|
|
111
92
|
}
|
|
93
|
+
formAssociatedCallback(_form) { }
|
|
94
|
+
formDisabledCallback(state) {
|
|
95
|
+
this._disabled = state;
|
|
96
|
+
this.requestUpdate();
|
|
97
|
+
}
|
|
98
|
+
formResetCallback() {
|
|
99
|
+
this._restoreDefaultValue();
|
|
100
|
+
this._dirty = false;
|
|
101
|
+
this.performUpdate();
|
|
102
|
+
this.invalid = false;
|
|
103
|
+
}
|
|
104
|
+
formStateRestoreCallback(_state, _mode) { }
|
|
112
105
|
reportValidity() {
|
|
113
106
|
return this.__internals.reportValidity();
|
|
114
107
|
}
|
|
@@ -116,20 +109,72 @@ export function FormAssociatedMixin(superClass) {
|
|
|
116
109
|
return this.__internals.checkValidity();
|
|
117
110
|
}
|
|
118
111
|
setCustomValidity(message) {
|
|
119
|
-
this.
|
|
112
|
+
this._updateValidity(message);
|
|
120
113
|
this.invalid = !this.checkValidity();
|
|
121
114
|
}
|
|
122
115
|
}
|
|
123
|
-
|
|
116
|
+
BaseFormAssociatedElement.formAssociated = true;
|
|
124
117
|
__decorate([
|
|
125
118
|
property({ reflect: true })
|
|
126
|
-
],
|
|
119
|
+
], BaseFormAssociatedElement.prototype, "name", void 0);
|
|
127
120
|
__decorate([
|
|
128
121
|
property({ type: Boolean, reflect: true })
|
|
129
|
-
],
|
|
122
|
+
], BaseFormAssociatedElement.prototype, "disabled", null);
|
|
130
123
|
__decorate([
|
|
131
124
|
property({ type: Boolean, reflect: true })
|
|
132
|
-
],
|
|
125
|
+
], BaseFormAssociatedElement.prototype, "invalid", null);
|
|
126
|
+
return BaseFormAssociatedElement;
|
|
127
|
+
}
|
|
128
|
+
export function FormAssociatedMixin(base) {
|
|
129
|
+
class FormAssociatedElement extends BaseFormAssociated(base) {
|
|
130
|
+
attributeChangedCallback(name, prev, current) {
|
|
131
|
+
super.attributeChangedCallback(name, prev, current);
|
|
132
|
+
if (name === 'value') {
|
|
133
|
+
this._setDefaultValue(prev, current);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
_setDefaultValue(_, current) {
|
|
137
|
+
this._defaultValue = current;
|
|
138
|
+
}
|
|
139
|
+
_restoreDefaultValue() {
|
|
140
|
+
if ('value' in this) {
|
|
141
|
+
this.value = this._defaultValue;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
_setInitialDefaultValue() {
|
|
145
|
+
if ('_value' in this) {
|
|
146
|
+
this._defaultValue = this._value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
}
|
|
133
150
|
return FormAssociatedElement;
|
|
134
151
|
}
|
|
135
|
-
|
|
152
|
+
export function FormAssociatedCheckboxMixin(base) {
|
|
153
|
+
class FormAssociatedCheckboxElement extends BaseFormAssociated(base) {
|
|
154
|
+
constructor() {
|
|
155
|
+
super(...arguments);
|
|
156
|
+
this._defaultChecked = false;
|
|
157
|
+
}
|
|
158
|
+
attributeChangedCallback(name, prev, current) {
|
|
159
|
+
super.attributeChangedCallback(name, prev, current);
|
|
160
|
+
if (name === 'checked') {
|
|
161
|
+
this._setDefaultValue(prev, current);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
_setDefaultValue(_, current) {
|
|
165
|
+
this._defaultChecked = current !== null;
|
|
166
|
+
}
|
|
167
|
+
_restoreDefaultValue() {
|
|
168
|
+
if ('checked' in this) {
|
|
169
|
+
this.checked = this._defaultChecked;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
_setInitialDefaultValue() {
|
|
173
|
+
if ('checked' in this) {
|
|
174
|
+
this._defaultChecked = this.checked;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
return FormAssociatedCheckboxElement;
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=associated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"associated.js","sourceRoot":"","sources":["../../../../../src/components/common/mixins/forms/associated.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport type { Validator } from '../../validators.js';\nimport type { Constructor } from '../constructor.js';\nimport type {\n FormAssociatedCheckboxElementInterface,\n FormAssociatedElementInterface,\n FormRestoreMode,\n FormValueType,\n} from './types.js';\n\nfunction BaseFormAssociated<T extends Constructor<LitElement>>(base: T) {\n class BaseFormAssociatedElement extends base {\n public static readonly formAssociated = true;\n\n private __internals: ElementInternals;\n\n protected _disabled = false;\n protected _invalid = false;\n protected _dirty = false;\n\n protected get __validators(): Validator[] {\n return [];\n }\n\n /**\n * The name attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public name!: string;\n\n /**\n * The disabled state of the component.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set disabled(value: boolean) {\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n }\n\n public get disabled(): boolean {\n return this._disabled;\n }\n\n /**\n * Control the validity of the control.\n * @attr\n * @default false\n */\n @property({ type: Boolean, reflect: true })\n public set invalid(value: boolean) {\n this._invalid = value;\n this.toggleAttribute('invalid', Boolean(this._invalid));\n }\n\n public get invalid(): boolean {\n return this._invalid;\n }\n\n /** Returns the HTMLFormElement associated with this element. */\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 public get validity(): ValidityState {\n return this.__internals.validity;\n }\n\n /** A string containing the validation message of this element. */\n public get validationMessage(): string {\n return this.__internals.validationMessage;\n }\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate(): boolean {\n return this.__internals.willValidate;\n }\n\n constructor(...args: any[]) {\n super(args);\n this.__internals = this.attachInternals();\n this.addEventListener('invalid', this._handleInvalid);\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this._dirty = false;\n this._updateValidity();\n\n if (!this.hasUpdated) {\n this._setInitialDefaultValue();\n }\n }\n\n private _handleInvalid(event: Event) {\n event.preventDefault();\n this.invalid = true;\n }\n\n private _setInvalidState(): void {\n if (this.hasUpdated || this._dirty) {\n this.invalid = !this.checkValidity();\n }\n }\n\n /* c8 ignore next 1 */\n protected _setInitialDefaultValue(): void {}\n\n /* c8 ignore next 4 */\n protected _setDefaultValue(\n _prev: string | null,\n _current: string | null\n ): void {}\n\n /* c8 ignore next 1 */\n protected _restoreDefaultValue(): void {}\n\n protected _validate(message?: string): void {\n this._updateValidity(message);\n this._setInvalidState();\n }\n\n protected _updateValidity(message?: string) {\n const validity: ValidityStateFlags = {};\n let validationMessage = '';\n\n for (const validator of this.__validators) {\n const isValid = validator.isValid(this);\n\n validity[validator.key] = !isValid;\n\n if (!isValid) {\n validationMessage =\n typeof validator.message === 'function'\n ? validator.message(this)\n : validator.message;\n }\n }\n\n if (message) {\n validity.customError = true;\n validationMessage = message;\n }\n\n this.__internals.setValidity(validity, validationMessage);\n }\n\n protected _setFormValue(value: FormValueType, state?: FormValueType): void {\n this.__internals.setFormValue(value, state);\n }\n\n protected formAssociatedCallback(_form: HTMLFormElement): void {}\n\n protected formDisabledCallback(state: boolean): void {\n this._disabled = state;\n this.requestUpdate();\n }\n\n protected formResetCallback(): void {\n this._restoreDefaultValue();\n this._dirty = false;\n this.performUpdate();\n this.invalid = false;\n }\n\n /* c8 ignore next 4 */\n protected formStateRestoreCallback(\n _state: FormValueType,\n _mode: FormRestoreMode\n ): void {}\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity() {\n return this.__internals.reportValidity();\n }\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity() {\n return this.__internals.checkValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string) {\n this._updateValidity(message);\n this.invalid = !this.checkValidity();\n }\n }\n return BaseFormAssociatedElement as Constructor<BaseFormAssociatedElement> &\n T;\n}\n\n/**\n * Mixes the passed in class and turns it into a form associated custom element.\n */\nexport function FormAssociatedMixin<T extends Constructor<LitElement>>(\n base: T\n) {\n class FormAssociatedElement extends BaseFormAssociated(base) {\n protected _defaultValue: unknown;\n\n public override attributeChangedCallback(\n name: string,\n prev: string | null,\n current: string | null\n ): void {\n super.attributeChangedCallback(name, prev, current);\n if (name === 'value') {\n this._setDefaultValue(prev, current);\n }\n }\n\n protected override _setDefaultValue(\n _: string | null,\n current: string | null\n ): void {\n this._defaultValue = current;\n }\n\n protected override _restoreDefaultValue(): void {\n if ('value' in this) {\n this.value = this._defaultValue;\n }\n }\n\n protected override _setInitialDefaultValue() {\n if ('_value' in this) {\n this._defaultValue = this._value;\n }\n }\n }\n\n return FormAssociatedElement as unknown as Constructor<FormAssociatedElementInterface> &\n T;\n}\n\n/**\n * Mixes the passed in class and turns it into a form associated custom element.\n */\nexport function FormAssociatedCheckboxMixin<T extends Constructor<LitElement>>(\n base: T\n) {\n class FormAssociatedCheckboxElement extends BaseFormAssociated(base) {\n protected _defaultChecked = false;\n\n public override attributeChangedCallback(\n name: string,\n prev: string | null,\n current: string | null\n ): void {\n super.attributeChangedCallback(name, prev, current);\n if (name === 'checked') {\n this._setDefaultValue(prev, current);\n }\n }\n\n protected override _setDefaultValue(\n _: string | null,\n current: string | null\n ): void {\n this._defaultChecked = current !== null;\n }\n\n protected override _restoreDefaultValue(): void {\n if ('checked' in this) {\n this.checked = this._defaultChecked;\n }\n }\n\n protected override _setInitialDefaultValue() {\n if ('checked' in this) {\n this._defaultChecked = this.checked as boolean;\n }\n }\n }\n\n return FormAssociatedCheckboxElement as unknown as Constructor<FormAssociatedCheckboxElementInterface> &\n T;\n}\n"]}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import type { Validator } from '../../validators.js';
|
|
2
|
+
export type FormRestoreMode = 'autocomplete' | 'restore';
|
|
3
|
+
export type FormValueType = string | File | FormData | null;
|
|
4
|
+
declare class BaseFormAssociatedElement {
|
|
5
|
+
static readonly formAssociated: boolean;
|
|
6
|
+
private __internals;
|
|
7
|
+
protected _dirty: boolean;
|
|
8
|
+
protected _disabled: boolean;
|
|
9
|
+
protected _invalid: boolean;
|
|
10
|
+
protected get __validators(): Validator[];
|
|
11
|
+
/**
|
|
12
|
+
* The disabled state of the component.
|
|
13
|
+
* @attr
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
disabled: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Control the validity of the control.
|
|
19
|
+
* @attr
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
22
|
+
invalid: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* The name attribute of the control.
|
|
25
|
+
* @attr
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
/** Returns the HTMLFormElement associated with this element. */
|
|
29
|
+
get form(): HTMLFormElement | null;
|
|
30
|
+
/**
|
|
31
|
+
* Returns a ValidityState object which represents the different validity states
|
|
32
|
+
* the element can be in, with respect to constraint validation.
|
|
33
|
+
*/
|
|
34
|
+
get validity(): ValidityState;
|
|
35
|
+
/** A string containing the validation message of this element. */
|
|
36
|
+
get validationMessage(): string;
|
|
37
|
+
/**
|
|
38
|
+
* A boolean value which returns true if the element is a submittable element
|
|
39
|
+
* that is a candidate for constraint validation.
|
|
40
|
+
*/
|
|
41
|
+
get willValidate(): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Invoked on the first `connectedCallback` run before the component has been through the
|
|
44
|
+
* firstUpdate lifecycle hook. Sets the default value to the **property** state of the value/checked member.
|
|
45
|
+
*/
|
|
46
|
+
protected _setInitialDefaultValue(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Sets the default value of the component.
|
|
49
|
+
* Called in `attributeChangedCallback`(i.e. when the `value` attribute of the control is set).
|
|
50
|
+
*/
|
|
51
|
+
protected _setDefaultValue(prev: string | null, current: string | null): void;
|
|
52
|
+
/**
|
|
53
|
+
* Called when the associated parent form is reset.
|
|
54
|
+
*/
|
|
55
|
+
protected _restoreDefaultValue(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Executes the {@link BaseFormAssociatedElement._updateValidity | `_updateValidity()`} hook and then applies
|
|
58
|
+
* the {@link BaseFormAssociatedElement.invalid | `invalid`} attribute on the control and the associated styles
|
|
59
|
+
* if the element has completed the first update cycle or it has been interacted with by the user.
|
|
60
|
+
*/
|
|
61
|
+
protected _validate(message?: string): void;
|
|
62
|
+
/**
|
|
63
|
+
* Executes the component's validators and updates the internal validity state.
|
|
64
|
+
*/
|
|
65
|
+
protected _updateValidity(message?: string): void;
|
|
66
|
+
/**
|
|
67
|
+
* Sets the component's submission value and state.
|
|
68
|
+
*/
|
|
69
|
+
protected _setFormValue(value: FormValueType, state?: FormValueType): void;
|
|
70
|
+
/**
|
|
71
|
+
* Called by the browser when it associates/disassociates the component with/from a given form element.
|
|
72
|
+
* Receives the form element as a parameter.
|
|
73
|
+
*
|
|
74
|
+
* @remarks
|
|
75
|
+
* This is not implemented currently.
|
|
76
|
+
*/
|
|
77
|
+
protected formAssociatedCallback(form: HTMLFormElement): void;
|
|
78
|
+
/**
|
|
79
|
+
* Called whenever the component or a parent `fieldset` elements are disabled.
|
|
80
|
+
* Receives the current disabled state.
|
|
81
|
+
*/
|
|
82
|
+
protected formDisabledCallback(state: boolean): void;
|
|
83
|
+
/**
|
|
84
|
+
* Called when the form is reset.
|
|
85
|
+
* Resets the component value/checked state to the default one, internal state and validation.
|
|
86
|
+
*
|
|
87
|
+
* @remarks
|
|
88
|
+
* The default implementation calls {@link BaseFormAssociatedElement._restoreDefaultValue | `_restoreDefaultValue`}.
|
|
89
|
+
* If additional customization is needed, it is better to override that method instead of this callback.
|
|
90
|
+
*/
|
|
91
|
+
protected formResetCallback(): void;
|
|
92
|
+
/**
|
|
93
|
+
* Called when the browser attempts to automatically fill out the component.
|
|
94
|
+
*
|
|
95
|
+
* @remarks
|
|
96
|
+
* This is not implemented currently.
|
|
97
|
+
*/
|
|
98
|
+
protected formStateRestoreCallback(state: FormValueType, mode: FormRestoreMode): void;
|
|
99
|
+
/** Checks for validity of the control and emits the invalid event if it invalid. */
|
|
100
|
+
checkValidity(): boolean;
|
|
101
|
+
/** Checks for validity of the control and shows the browser message if it invalid. */
|
|
102
|
+
reportValidity(): boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Sets a custom validation message for the control.
|
|
105
|
+
* As long as `message` is not empty, the control is considered invalid.
|
|
106
|
+
*/
|
|
107
|
+
setCustomValidity(message: string): void;
|
|
108
|
+
}
|
|
109
|
+
export declare class FormAssociatedElementInterface extends BaseFormAssociatedElement {
|
|
110
|
+
protected _defaultValue: unknown;
|
|
111
|
+
}
|
|
112
|
+
export declare class FormAssociatedCheckboxElementInterface extends BaseFormAssociatedElement {
|
|
113
|
+
protected _defaultChecked: boolean;
|
|
114
|
+
}
|
|
115
|
+
export declare class FormRequiredInterface {
|
|
116
|
+
protected _required: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* When set, makes the component a required field for validation.
|
|
119
|
+
* @attr
|
|
120
|
+
* @default false
|
|
121
|
+
*/
|
|
122
|
+
set required(value: boolean);
|
|
123
|
+
get required(): boolean;
|
|
124
|
+
}
|
|
125
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/components/common/mixins/forms/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { Validator } from '../../validators.js';\n\nexport type FormRestoreMode = 'autocomplete' | 'restore';\nexport type FormValueType = string | File | FormData | null;\n\ndeclare class BaseFormAssociatedElement {\n public static readonly formAssociated: boolean;\n\n private __internals: ElementInternals;\n\n // Properties\n\n protected _dirty: boolean;\n protected _disabled: boolean;\n protected _invalid: boolean;\n\n protected get __validators(): Validator[];\n\n /**\n * The disabled state of the component.\n * @attr\n * @default false\n */\n public disabled: boolean;\n\n /**\n * Control the validity of the control.\n * @attr\n * @default false\n */\n public invalid: boolean;\n\n /**\n * The name attribute of the control.\n * @attr\n */\n public name: string;\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form(): HTMLFormElement | null;\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 public get validity(): ValidityState;\n\n /** A string containing the validation message of this element. */\n public get validationMessage(): string;\n\n /**\n * A boolean value which returns true if the element is a submittable element\n * that is a candidate for constraint validation.\n */\n public get willValidate(): boolean;\n\n // Methods\n\n /**\n * Invoked on the first `connectedCallback` run before the component has been through the\n * firstUpdate lifecycle hook. Sets the default value to the **property** state of the value/checked member.\n */\n protected _setInitialDefaultValue(): void;\n\n /**\n * Sets the default value of the component.\n * Called in `attributeChangedCallback`(i.e. when the `value` attribute of the control is set).\n */\n protected _setDefaultValue(prev: string | null, current: string | null): void;\n\n /**\n * Called when the associated parent form is reset.\n */\n protected _restoreDefaultValue(): void;\n\n /**\n * Executes the {@link BaseFormAssociatedElement._updateValidity | `_updateValidity()`} hook and then applies\n * the {@link BaseFormAssociatedElement.invalid | `invalid`} attribute on the control and the associated styles\n * if the element has completed the first update cycle or it has been interacted with by the user.\n */\n protected _validate(message?: string): void;\n\n /**\n * Executes the component's validators and updates the internal validity state.\n */\n protected _updateValidity(message?: string): void;\n\n /**\n * Sets the component's submission value and state.\n */\n protected _setFormValue(value: FormValueType, state?: FormValueType): void;\n\n /**\n * Called by the browser when it associates/disassociates the component with/from a given form element.\n * Receives the form element as a parameter.\n *\n * @remarks\n * This is not implemented currently.\n */\n protected formAssociatedCallback(form: HTMLFormElement): void;\n\n /**\n * Called whenever the component or a parent `fieldset` elements are disabled.\n * Receives the current disabled state.\n */\n protected formDisabledCallback(state: boolean): void;\n\n /**\n * Called when the form is reset.\n * Resets the component value/checked state to the default one, internal state and validation.\n *\n * @remarks\n * The default implementation calls {@link BaseFormAssociatedElement._restoreDefaultValue | `_restoreDefaultValue`}.\n * If additional customization is needed, it is better to override that method instead of this callback.\n */\n protected formResetCallback(): void;\n\n /**\n * Called when the browser attempts to automatically fill out the component.\n *\n * @remarks\n * This is not implemented currently.\n */\n protected formStateRestoreCallback(\n state: FormValueType,\n mode: FormRestoreMode\n ): void;\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public checkValidity(): boolean;\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public reportValidity(): boolean;\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public setCustomValidity(message: string): void;\n}\n\nexport declare class FormAssociatedElementInterface extends BaseFormAssociatedElement {\n protected _defaultValue: unknown;\n}\n\nexport declare class FormAssociatedCheckboxElementInterface extends BaseFormAssociatedElement {\n protected _defaultChecked: boolean;\n}\n\nexport declare class FormRequiredInterface {\n protected _required: boolean;\n\n /**\n * When set, makes the component a required field for validation.\n * @attr\n * @default false\n */\n public set required(value: boolean);\n public get required(): boolean;\n}\n"]}
|
|
@@ -12,7 +12,7 @@ export interface IgcDatepickerEventMap {
|
|
|
12
12
|
igcChange: CustomEvent<Date>;
|
|
13
13
|
igcInput: CustomEvent<Date>;
|
|
14
14
|
}
|
|
15
|
-
declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/
|
|
15
|
+
declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/forms/types.js").FormRequiredInterface & import("../common/mixins/forms/types.js").FormAssociatedElementInterface> & import("../common/mixins/constructor.js").Constructor<import("../common/mixins/event-emitter.js").EventEmitterInterface<IgcDatepickerEventMap>> & AbstractConstructor<IgcBaseComboBoxLikeComponent>;
|
|
16
16
|
/**
|
|
17
17
|
* igc-date-picker is a feature rich component used for entering a date through manual text input or
|
|
18
18
|
* choosing date values from a calendar dialog that pops up.
|
|
@@ -23,6 +23,7 @@ declare const IgcDatePickerComponent_base: import("../common/mixins/constructor.
|
|
|
23
23
|
* @slot suffix - Renders content after the input.
|
|
24
24
|
* @slot helper-text - Renders content below the input.
|
|
25
25
|
* @slot title - Renders content in the calendar title.
|
|
26
|
+
* @slot header-date - Renders content instead of the current date/range in the calendar header.
|
|
26
27
|
* @slot clear-icon - Renders a clear icon template.
|
|
27
28
|
* @slot calendar-icon - Renders the icon/content for the calendar picker.
|
|
28
29
|
* @slot calendar-icon-open - Renders the icon/content for the picker in open state.
|
|
@@ -109,6 +110,7 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
|
|
|
109
110
|
private prefixes;
|
|
110
111
|
private suffixes;
|
|
111
112
|
private actions;
|
|
113
|
+
private headerDateSlotItems;
|
|
112
114
|
private helperText;
|
|
113
115
|
protected get _isMaterialTheme(): boolean;
|
|
114
116
|
/**
|
|
@@ -231,8 +233,7 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
|
|
|
231
233
|
/** Sets the start day of the week for the calendar. */
|
|
232
234
|
weekStart: WeekDays;
|
|
233
235
|
constructor();
|
|
234
|
-
|
|
235
|
-
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
236
|
+
protected createRenderRoot(): DocumentFragment | HTMLElement;
|
|
236
237
|
/** Clears the input part of the component of any user input */
|
|
237
238
|
clear(): void;
|
|
238
239
|
/** Increments the passed in date part */
|
|
@@ -257,9 +258,11 @@ export default class IgcDatePickerComponent extends IgcDatePickerComponent_base
|
|
|
257
258
|
protected handleClosing(): void;
|
|
258
259
|
protected handleDialogClosing(event: Event): void;
|
|
259
260
|
protected handleDialogClosed(event: Event): void;
|
|
261
|
+
protected _setDefaultValue(_: string | null, current: string | null): void;
|
|
260
262
|
private setDateConstraints;
|
|
261
263
|
private renderClearIcon;
|
|
262
264
|
private renderCalendarIcon;
|
|
265
|
+
private renderCalendarSlots;
|
|
263
266
|
private renderCalendar;
|
|
264
267
|
protected renderActions(): import("lit-html").TemplateResult<1>;
|
|
265
268
|
protected renderPicker(id: string): import("lit-html").TemplateResult<1>;
|
|
@@ -11,6 +11,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
11
11
|
import { live } from 'lit/directives/live.js';
|
|
12
12
|
import { getThemeController, themes } from '../../theming/theming-decorator.js';
|
|
13
13
|
import IgcCalendarComponent, { focusActiveDate } from '../calendar/calendar.js';
|
|
14
|
+
import { dateFromISOString } from '../calendar/helpers.js';
|
|
14
15
|
import { DateRangeType, } from '../calendar/types.js';
|
|
15
16
|
import { addKeybindings, altKey, arrowDown, arrowUp, escapeKey, } from '../common/controllers/key-bindings.js';
|
|
16
17
|
import { blazorAdditionalDependencies } from '../common/decorators/blazorAdditionalDependencies.js';
|
|
@@ -19,7 +20,7 @@ import { registerComponent } from '../common/definitions/register.js';
|
|
|
19
20
|
import { IgcCalendarResourceStringEN, } from '../common/i18n/calendar.resources.js';
|
|
20
21
|
import { IgcBaseComboBoxLikeComponent } from '../common/mixins/combo-box.js';
|
|
21
22
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
22
|
-
import { FormAssociatedRequiredMixin } from '../common/mixins/
|
|
23
|
+
import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
|
|
23
24
|
import { createCounter, findElementFromEventPath } from '../common/util.js';
|
|
24
25
|
import IgcDateTimeInputComponent from '../date-time-input/date-time-input.js';
|
|
25
26
|
import IgcDialogComponent from '../dialog/dialog.js';
|
|
@@ -30,10 +31,6 @@ import { styles } from './themes/date-picker.base.css.js';
|
|
|
30
31
|
import { styles as shared } from './themes/shared/date-picker.common.css.js';
|
|
31
32
|
import { all } from './themes/themes.js';
|
|
32
33
|
import { datePickerValidators } from './validators.js';
|
|
33
|
-
const converter = {
|
|
34
|
-
fromAttribute: (value) => (value ? new Date(value) : undefined),
|
|
35
|
-
toAttribute: (value) => value.toISOString(),
|
|
36
|
-
};
|
|
37
34
|
const formats = new Set(['short', 'medium', 'long', 'full']);
|
|
38
35
|
let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerComponent extends FormAssociatedRequiredMixin(EventEmitterMixin(IgcBaseComboBoxLikeComponent)) {
|
|
39
36
|
get __validators() {
|
|
@@ -50,9 +47,8 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
50
47
|
}
|
|
51
48
|
set value(value) {
|
|
52
49
|
this._value = value;
|
|
53
|
-
this.
|
|
54
|
-
this.
|
|
55
|
-
this.setInvalidState();
|
|
50
|
+
this._setFormValue(value ? value.toISOString() : null);
|
|
51
|
+
this._validate();
|
|
56
52
|
}
|
|
57
53
|
get value() {
|
|
58
54
|
return this._value ?? null;
|
|
@@ -66,7 +62,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
66
62
|
set min(value) {
|
|
67
63
|
this._min = value;
|
|
68
64
|
this.setDateConstraints();
|
|
69
|
-
this.
|
|
65
|
+
this._updateValidity();
|
|
70
66
|
}
|
|
71
67
|
get min() {
|
|
72
68
|
return this._min;
|
|
@@ -74,7 +70,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
74
70
|
set max(value) {
|
|
75
71
|
this._max = value;
|
|
76
72
|
this.setDateConstraints();
|
|
77
|
-
this.
|
|
73
|
+
this._updateValidity();
|
|
78
74
|
}
|
|
79
75
|
get max() {
|
|
80
76
|
return this._max;
|
|
@@ -82,7 +78,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
82
78
|
set disabledDates(dates) {
|
|
83
79
|
this._disabledDates = dates;
|
|
84
80
|
this.setDateConstraints();
|
|
85
|
-
this.
|
|
81
|
+
this._updateValidity();
|
|
86
82
|
}
|
|
87
83
|
get disabledDates() {
|
|
88
84
|
return this._disabledDates;
|
|
@@ -131,10 +127,6 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
131
127
|
.set([altKey, arrowUp], this.onEscapeKey)
|
|
132
128
|
.set(escapeKey, this.onEscapeKey);
|
|
133
129
|
}
|
|
134
|
-
connectedCallback() {
|
|
135
|
-
super.connectedCallback();
|
|
136
|
-
this.updateValidity();
|
|
137
|
-
}
|
|
138
130
|
createRenderRoot() {
|
|
139
131
|
const root = super.createRenderRoot();
|
|
140
132
|
root.addEventListener('slotchange', () => this.requestUpdate());
|
|
@@ -228,6 +220,9 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
228
220
|
handleDialogClosed(event) {
|
|
229
221
|
event.stopPropagation();
|
|
230
222
|
}
|
|
223
|
+
_setDefaultValue(_, current) {
|
|
224
|
+
this._defaultValue = dateFromISOString(current);
|
|
225
|
+
}
|
|
231
226
|
setDateConstraints() {
|
|
232
227
|
const dates = [];
|
|
233
228
|
if (this._min) {
|
|
@@ -272,6 +267,18 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
272
267
|
</span>
|
|
273
268
|
`;
|
|
274
269
|
}
|
|
270
|
+
renderCalendarSlots() {
|
|
271
|
+
if (this.isDropDown) {
|
|
272
|
+
return nothing;
|
|
273
|
+
}
|
|
274
|
+
const hasHeaderDate = this.headerDateSlotItems.length ? 'header-date' : '';
|
|
275
|
+
return html `
|
|
276
|
+
<slot name="title" slot="title">
|
|
277
|
+
${this.resourceStrings.selectDate}
|
|
278
|
+
</slot>
|
|
279
|
+
<slot name="header-date" slot=${hasHeaderDate}></slot>
|
|
280
|
+
`;
|
|
281
|
+
}
|
|
275
282
|
renderCalendar(id) {
|
|
276
283
|
const hideHeader = this.isDropDown ? true : this.hideHeader;
|
|
277
284
|
return html `
|
|
@@ -298,11 +305,7 @@ let IgcDatePickerComponent = IgcDatePickerComponent_1 = class IgcDatePickerCompo
|
|
|
298
305
|
date-inner, first, last, inactive, hidden, weekend, range, special, disabled, single, preview,
|
|
299
306
|
month, month-inner, year, year-inner, selected, current"
|
|
300
307
|
>
|
|
301
|
-
${
|
|
302
|
-
? html `<slot name="title" slot="title"
|
|
303
|
-
>${this.resourceStrings.selectDate}</slot
|
|
304
|
-
>`
|
|
305
|
-
: nothing}
|
|
308
|
+
${this.renderCalendarSlots()}
|
|
306
309
|
</igc-calendar>
|
|
307
310
|
`;
|
|
308
311
|
}
|
|
@@ -428,6 +431,9 @@ __decorate([
|
|
|
428
431
|
__decorate([
|
|
429
432
|
queryAssignedElements({ slot: 'actions' })
|
|
430
433
|
], IgcDatePickerComponent.prototype, "actions", void 0);
|
|
434
|
+
__decorate([
|
|
435
|
+
queryAssignedElements({ slot: 'header-date' })
|
|
436
|
+
], IgcDatePickerComponent.prototype, "headerDateSlotItems", void 0);
|
|
431
437
|
__decorate([
|
|
432
438
|
queryAssignedElements({ slot: 'helper-text' })
|
|
433
439
|
], IgcDatePickerComponent.prototype, "helperText", void 0);
|
|
@@ -447,16 +453,16 @@ __decorate([
|
|
|
447
453
|
property({ type: Boolean, reflect: true, attribute: 'readonly' })
|
|
448
454
|
], IgcDatePickerComponent.prototype, "readOnly", void 0);
|
|
449
455
|
__decorate([
|
|
450
|
-
property({ converter:
|
|
456
|
+
property({ converter: dateFromISOString })
|
|
451
457
|
], IgcDatePickerComponent.prototype, "value", null);
|
|
452
458
|
__decorate([
|
|
453
|
-
property({ attribute: 'active-date', converter:
|
|
459
|
+
property({ attribute: 'active-date', converter: dateFromISOString })
|
|
454
460
|
], IgcDatePickerComponent.prototype, "activeDate", null);
|
|
455
461
|
__decorate([
|
|
456
|
-
property({ converter:
|
|
462
|
+
property({ converter: dateFromISOString })
|
|
457
463
|
], IgcDatePickerComponent.prototype, "min", null);
|
|
458
464
|
__decorate([
|
|
459
|
-
property({ converter:
|
|
465
|
+
property({ converter: dateFromISOString })
|
|
460
466
|
], IgcDatePickerComponent.prototype, "max", null);
|
|
461
467
|
__decorate([
|
|
462
468
|
property({ attribute: 'header-orientation', reflect: true })
|