igniteui-webcomponents 5.1.2 → 5.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 +65 -0
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/avatar/themes/dark/avatar.bootstrap.css.js +1 -1
- package/components/avatar/themes/dark/avatar.bootstrap.css.js.map +1 -1
- package/components/avatar/themes/light/avatar.bootstrap.css.js +1 -1
- package/components/avatar/themes/light/avatar.bootstrap.css.js.map +1 -1
- package/components/avatar/themes/light/avatar.shared.css.js +1 -1
- package/components/avatar/themes/light/avatar.shared.css.js.map +1 -1
- package/components/avatar/themes/shared/avatar.common.css.js +1 -1
- package/components/avatar/themes/shared/avatar.common.css.js.map +1 -1
- package/components/avatar/themes/shared/avatar.indigo.css.js +1 -1
- package/components/avatar/themes/shared/avatar.indigo.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/dark/badge.bootstrap.css.js +1 -1
- package/components/badge/themes/dark/badge.bootstrap.css.js.map +1 -1
- package/components/badge/themes/dark/badge.indigo.css.js +1 -1
- package/components/badge/themes/dark/badge.indigo.css.js.map +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js +1 -1
- package/components/badge/themes/light/badge.bootstrap.css.js.map +1 -1
- package/components/badge/themes/light/badge.indigo.css.js +1 -1
- package/components/badge/themes/light/badge.indigo.css.js.map +1 -1
- package/components/badge/themes/light/badge.shared.css.js +1 -1
- package/components/badge/themes/light/badge.shared.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/badge/themes/shared/badge.indigo.css.js +1 -1
- package/components/badge/themes/shared/badge.indigo.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/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-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/calendar/base.d.ts +7 -7
- package/components/calendar/base.js +23 -16
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/helpers.d.ts +28 -3
- package/components/calendar/helpers.js +36 -11
- package/components/calendar/helpers.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/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/dark/card.fluent.css.js +1 -1
- package/components/card/themes/dark/card.fluent.css.js.map +1 -1
- package/components/card/themes/light/container/card.fluent.css.js +1 -1
- package/components/card/themes/light/container/card.fluent.css.js.map +1 -1
- package/components/carousel/themes/carousel-indicator-container.base.css.js +1 -1
- package/components/carousel/themes/carousel-indicator-container.base.css.js.map +1 -1
- package/components/carousel/themes/carousel-indicator.base.css.js +1 -1
- package/components/carousel/themes/carousel-indicator.base.css.js.map +1 -1
- package/components/carousel/themes/carousel-slide.base.css.js +1 -1
- package/components/carousel/themes/carousel-slide.base.css.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/checkbox/checkbox-base.d.ts +3 -1
- package/components/checkbox/checkbox-base.js +14 -10
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.js +1 -2
- package/components/checkbox/checkbox.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/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.indigo.css.js +1 -1
- package/components/checkbox/themes/dark/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.bootstrap.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.indigo.css.js.map +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.shared.css.js +1 -1
- package/components/checkbox/themes/light/checkbox/checkbox.shared.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/switch.base.css.js +1 -1
- package/components/checkbox/themes/switch.base.css.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/combo/combo-item.d.ts +4 -2
- package/components/combo/combo-item.js +19 -16
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +52 -41
- package/components/combo/combo.js +340 -339
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/data.d.ts +3 -1
- package/components/combo/controllers/data.js +9 -2
- package/components/combo/controllers/data.js.map +1 -1
- package/components/combo/controllers/navigation.d.ts +3 -1
- package/components/combo/controllers/navigation.js +4 -3
- package/components/combo/controllers/navigation.js.map +1 -1
- package/components/combo/controllers/selection.d.ts +14 -6
- package/components/combo/controllers/selection.js +66 -59
- package/components/combo/controllers/selection.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/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/mixins/forms/associated.js +41 -39
- package/components/common/mixins/forms/associated.js.map +1 -1
- package/components/common/mixins/forms/form-value.d.ts +32 -0
- package/components/common/mixins/forms/form-value.js +59 -0
- package/components/common/mixins/forms/form-value.js.map +1 -0
- package/components/common/mixins/forms/types.d.ts +9 -8
- package/components/common/mixins/forms/types.js.map +1 -1
- package/components/common/util.d.ts +3 -0
- package/components/common/util.js +13 -0
- package/components/common/util.js.map +1 -1
- package/components/common/validators.d.ts +7 -7
- package/components/common/validators.js +24 -17
- package/components/common/validators.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +17 -14
- package/components/date-picker/date-picker.js +30 -20
- package/components/date-picker/date-picker.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/validators.js +2 -2
- package/components/date-picker/validators.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +9 -6
- package/components/date-time-input/date-time-input.js +33 -30
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.js +2 -12
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/date-time-input/validators.js +2 -2
- package/components/date-time-input/validators.js.map +1 -1
- package/components/dialog/dialog.d.ts +2 -0
- package/components/dialog/dialog.js +5 -1
- package/components/dialog/dialog.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.fluent.css.js +1 -1
- package/components/dialog/themes/shared/dialog.fluent.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/header.js +7 -0
- package/components/dropdown/themes/header.js.map +1 -1
- package/components/dropdown/themes/shared/dropdown.bootstrap.css.js +1 -1
- package/components/dropdown/themes/shared/dropdown.bootstrap.css.js.map +1 -1
- package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js +3 -0
- package/components/dropdown/themes/shared/header/dropdown-header.fluent.css.js.map +1 -0
- 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/icon/icon-state.broadcast.d.ts +1 -0
- package/components/icon/icon-state.broadcast.js +4 -1
- package/components/icon/icon-state.broadcast.js.map +1 -1
- package/components/icon/registry/types.d.ts +1 -0
- package/components/icon/registry/types.js.map +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.js +8 -2
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +21 -9
- package/components/input/input.js +59 -32
- 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.common.css.js +1 -1
- package/components/input/themes/shared/input.common.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/list.d.ts +1 -1
- package/components/list/list.js +2 -1
- package/components/list/list.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/container.js +2 -3
- package/components/list/themes/container.js.map +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js +1 -1
- package/components/list/themes/dark/container/list.bootstrap.css.js.map +1 -1
- package/components/list/themes/dark/container/list.fluent.css.js +1 -1
- package/components/list/themes/dark/container/list.fluent.css.js.map +1 -1
- package/components/list/themes/dark/container/list.indigo.css.js +1 -1
- package/components/list/themes/dark/container/list.indigo.css.js.map +1 -1
- package/components/list/themes/dark/container/list.material.css.js +1 -1
- package/components/list/themes/dark/container/list.material.css.js.map +1 -1
- package/components/list/themes/dark/header/list-header.bootstrap.css.js +1 -1
- package/components/list/themes/dark/header/list-header.bootstrap.css.js.map +1 -1
- package/components/list/themes/dark/header/list-header.fluent.css.js +1 -1
- package/components/list/themes/dark/header/list-header.fluent.css.js.map +1 -1
- package/components/list/themes/dark/header/list-header.indigo.css.js +1 -1
- package/components/list/themes/dark/header/list-header.indigo.css.js.map +1 -1
- package/components/list/themes/dark/header/list-header.material.css.js +1 -1
- package/components/list/themes/dark/header/list-header.material.css.js.map +1 -1
- package/components/list/themes/dark/item/list-item.bootstrap.css.js +1 -1
- package/components/list/themes/dark/item/list-item.bootstrap.css.js.map +1 -1
- package/components/list/themes/dark/item/list-item.fluent.css.js +1 -1
- package/components/list/themes/dark/item/list-item.fluent.css.js.map +1 -1
- package/components/list/themes/dark/item/list-item.indigo.css.js +1 -1
- package/components/list/themes/dark/item/list-item.indigo.css.js.map +1 -1
- package/components/list/themes/dark/item/list-item.material.css.js +1 -1
- package/components/list/themes/dark/item/list-item.material.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/light/container/list.fluent.css.js +1 -1
- package/components/list/themes/light/container/list.fluent.css.js.map +1 -1
- package/components/list/themes/light/container/list.indigo.css.js +1 -1
- package/components/list/themes/light/container/list.indigo.css.js.map +1 -1
- package/components/list/themes/light/container/list.shared.css.js +1 -1
- package/components/list/themes/light/container/list.shared.css.js.map +1 -1
- package/components/list/themes/light/header/list-header.fluent.css.js +1 -1
- package/components/list/themes/light/header/list-header.fluent.css.js.map +1 -1
- package/components/list/themes/light/header/list-header.indigo.css.js +1 -1
- package/components/list/themes/light/header/list-header.indigo.css.js.map +1 -1
- package/components/list/themes/light/item/list-item.fluent.css.js +1 -1
- package/components/list/themes/light/item/list-item.fluent.css.js.map +1 -1
- package/components/list/themes/light/item/list-item.indigo.css.js +1 -1
- package/components/list/themes/light/item/list-item.indigo.css.js.map +1 -1
- package/components/list/themes/shared/container/list.bootstrap.css.js +1 -1
- package/components/list/themes/shared/container/list.bootstrap.css.js.map +1 -1
- package/components/list/themes/shared/container/list.common.css.d.ts +1 -0
- package/components/list/themes/shared/container/list.common.css.js +3 -0
- package/components/list/themes/shared/container/list.common.css.js.map +1 -0
- package/components/list/themes/shared/container/list.indigo.css.js +1 -1
- package/components/list/themes/shared/container/list.indigo.css.js.map +1 -1
- package/components/list/themes/shared/item/list-item.bootstrap.css.js +1 -1
- package/components/list/themes/shared/item/list-item.bootstrap.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.fluent.css.js +1 -1
- package/components/list/themes/shared/item/list-item.fluent.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 +5 -3
- package/components/mask-input/mask-input.js +35 -23
- package/components/mask-input/mask-input.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/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/navbar/themes/navbar.base.css.js +1 -1
- package/components/navbar/themes/navbar.base.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 +11 -12
- package/components/progress/base.js +59 -70
- package/components/progress/base.js.map +1 -1
- package/components/progress/circular-progress.d.ts +0 -1
- package/components/progress/circular-progress.js +15 -15
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.js +7 -13
- package/components/progress/linear-progress.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/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/circular/shared/circular.progress.common.css.js +1 -1
- package/components/progress/themes/circular/shared/circular.progress.common.css.js.map +1 -1
- package/components/progress/themes/circular/shared/circular.progress.fluent.css.js +1 -1
- package/components/progress/themes/circular/shared/circular.progress.fluent.css.js.map +1 -1
- package/components/progress/themes/circular/shared/circular.progress.indigo.css.js +1 -1
- package/components/progress/themes/circular/shared/circular.progress.indigo.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 -3
- package/components/radio/radio.js +48 -33
- 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-group/radio-group.base.css.js +1 -1
- package/components/radio-group/radio-group.base.css.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +4 -0
- package/components/radio-group/radio-group.js +18 -0
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating-symbol.js +2 -2
- package/components/rating/rating-symbol.js.map +1 -1
- package/components/rating/rating.d.ts +25 -17
- package/components/rating/rating.js +47 -43
- 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/ripple/ripple.material.css.js +1 -1
- package/components/ripple/ripple.material.css.js.map +1 -1
- package/components/select/select.d.ts +7 -9
- package/components/select/select.js +29 -31
- package/components/select/select.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/slider/slider-base.d.ts +0 -1
- package/components/slider/slider-base.js +0 -4
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider.d.ts +3 -2
- package/components/slider/slider.js +9 -9
- package/components/slider/slider.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/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/stepper/step.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/dark/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/dark/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.fluent.css.js +1 -1
- package/components/tabs/themes/dark/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.indigo.css.js +1 -1
- package/components/tabs/themes/dark/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/dark/tab.material.css.js +1 -1
- package/components/tabs/themes/dark/tab.material.css.js.map +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js +1 -1
- package/components/tabs/themes/light/tab.bootstrap.css.js.map +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js +1 -1
- package/components/tabs/themes/light/tab.fluent.css.js.map +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js +1 -1
- package/components/tabs/themes/light/tab.indigo.css.js.map +1 -1
- package/components/tabs/themes/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 +5 -4
- package/components/textarea/textarea.js +15 -8
- package/components/textarea/textarea.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.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/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/shared/item.material.css.js +1 -1
- package/components/tree/themes/shared/item.material.css.js.map +1 -1
- package/custom-elements.json +2196 -1951
- 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 +1 -1
- package/components/list/themes/shared/container/list.material.css.js +0 -3
- package/components/list/themes/shared/container/list.material.css.js.map +0 -1
- /package/components/{list/themes/shared/container/list.material.css.d.ts → dropdown/themes/shared/header/dropdown-header.fluent.css.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedCheckboxRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n createCounter,\n isEmpty,\n isLTR,\n last,\n partNameMap,\n wrap,\n} from '../common/util.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\nimport { radioValidators } from './validators.js';\n\nexport interface RadioChangeEventArgs {\n checked: boolean;\n value?: string;\n}\n\nexport interface IgcRadioComponentEventMap {\n igcChange: CustomEvent<RadioChangeEventArgs>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio input control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedCheckboxRequiredMixin(\n EventEmitterMixin<IgcRadioComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioComponent, IgcValidationContainerComponent);\n }\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return radioValidators;\n }\n\n private inputId = `radio-${IgcRadioComponent.increment()}`;\n private labelId = `radio-label-${this.inputId}`;\n private _kbFocus = addKeyboardFocusRing(this);\n\n protected _checked = false;\n protected _value!: string;\n\n @query('input[type=\"radio\"]')\n protected input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected label!: Array<Node>;\n\n @state()\n private _tabIndex = 0;\n\n @state()\n protected hideLabel = false;\n\n /** Returns all radio elements from the group, that is having the same name property. */\n private get _radios() {\n return getGroup(this).radios;\n }\n\n /** All sibling radio elements of the one invoking the getter. */\n private get _siblings() {\n return getGroup(this).siblings;\n }\n\n /** All non-disabled radio elements from the group. */\n private get _active() {\n return getGroup(this).active;\n }\n\n /** All checked radio elements from the group. */\n private get _checkedRadios() {\n return getGroup(this).checked;\n }\n\n @property({ type: Boolean, reflect: true })\n public override set required(value: boolean) {\n super.required = value;\n\n if (this.hasUpdated) {\n for (const radio of this._siblings) {\n radio._validate();\n }\n }\n }\n\n public override get required(): boolean {\n return this._required;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this._checked) {\n this._setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.checked\", false) */\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n public set checked(value: boolean) {\n this._checked = Boolean(value);\n if (this.hasUpdated) {\n this._checked ? this._updateCheckedState() : this._updateUncheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._checked;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n constructor() {\n super();\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(arrowLeft, () => this.navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.navigate(-1))\n .set(arrowDown, () => this.navigate(1));\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => {\n this.hideLabel = isEmpty(this.label);\n });\n return root;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n this._checked && this === last(this._checkedRadios)\n ? this._updateCheckedState()\n : this._updateValidity();\n }\n\n /** Simulates a click on the radio control. */\n public override click() {\n this.input.click();\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the radio control. */\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the radio control. */\n public override blur() {\n this.input.blur();\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 override setCustomValidity(message: string): void {\n for (const radio of this._radios) {\n radio._validate(message);\n }\n }\n\n private _updateCheckedState() {\n this._setFormValue(this.value || 'on');\n this._validate();\n\n this._tabIndex = 0;\n this.input?.focus();\n\n for (const radio of this._siblings) {\n radio.checked = false;\n radio._tabIndex = -1;\n radio._validate();\n }\n }\n\n private _updateUncheckedState() {\n this._setFormValue(null);\n this._validate();\n\n this._tabIndex = -1;\n\n for (const radio of this._siblings) {\n radio._updateValidity();\n }\n }\n\n protected override formResetCallback() {\n super.formResetCallback();\n this._resetTabIndexes();\n }\n\n /** Called after a form reset callback to restore default keyboard navigation. */\n private _resetTabIndexes() {\n for (const radio of this._radios) {\n radio._tabIndex = 0;\n }\n }\n\n protected handleClick(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.checked) {\n return;\n }\n\n this.checked = true;\n this.emitEvent('igcChange', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n });\n }\n\n protected handleBlur() {\n this._kbFocus.reset();\n }\n\n protected navigate(idx: number) {\n const active = this._active;\n const nextIdx = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[nextIdx];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', {\n detail: { checked: radio.checked, value: radio.value },\n });\n }\n\n protected renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n const checked = this.checked;\n\n return html`\n <label\n part=${partNameMap({\n base: true,\n checked,\n focused: this._kbFocus.focused,\n })}\n for=${this.inputId}\n @pointerdown=${this._kbFocus.reset}\n >\n <input\n id=${this.inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(checked)}\n tabindex=${this._tabIndex}\n aria-checked=${checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${labelledBy ? labelledBy : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n />\n <span part=${partNameMap({ control: true, checked })}>\n <span\n .hidden=${this.disabled}\n part=${partNameMap({ ripple: true, checked })}\n ></span>\n </span>\n <span\n .hidden=${this.hideLabel}\n part=${partNameMap({ label: true, checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n ${this.renderValidatorContainer()}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n tabKey,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedCheckboxRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValue,\n createFormValueState,\n defaultBooleanTransformers,\n} from '../common/mixins/forms/form-value.js';\nimport {\n createCounter,\n isDefined,\n isEmpty,\n isLTR,\n last,\n noop,\n partNameMap,\n wrap,\n} from '../common/util.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\nimport { radioValidators } from './validators.js';\n\nexport interface RadioChangeEventArgs {\n checked: boolean;\n value?: string;\n}\n\nexport interface IgcRadioComponentEventMap {\n igcChange: CustomEvent<RadioChangeEventArgs>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio input control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedCheckboxRequiredMixin(\n EventEmitterMixin<IgcRadioComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioComponent, IgcValidationContainerComponent);\n }\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return radioValidators;\n }\n\n protected override _formValue: FormValue<boolean>;\n\n private inputId = `radio-${IgcRadioComponent.increment()}`;\n private labelId = `radio-label-${this.inputId}`;\n private _kbFocus = addKeyboardFocusRing(this);\n\n protected _value!: string;\n\n @query('input', true)\n protected input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected label!: Array<Node>;\n\n @state()\n protected hideLabel = false;\n\n @state()\n private _tabIndex = 0;\n\n /** Returns all radio elements from the group, that is having the same name property. */\n private get _radios() {\n return getGroup(this).radios;\n }\n\n /** All sibling radio elements of the one invoking the getter. */\n private get _siblings() {\n return getGroup(this).siblings;\n }\n\n /** All non-disabled radio elements from the group. */\n private get _active() {\n return getGroup(this).active;\n }\n\n /** All checked radio elements from the group. */\n private get _checkedRadios() {\n return getGroup(this).checked;\n }\n\n @property({ type: Boolean, reflect: true })\n public override set required(value: boolean) {\n super.required = value;\n\n if (this.hasUpdated) {\n for (const radio of this._siblings) {\n radio._validate();\n }\n }\n }\n\n public override get required(): boolean {\n return this._required;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this.checked) {\n this._setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.checked\", false) */\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n public set checked(value: boolean) {\n this._formValue.setValueAndFormState(value);\n this._tabIndex = this.checked ? 0 : -1;\n this._validate();\n if (this.hasUpdated && this.checked) {\n this._updateCheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._formValue.value;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: 'before' | 'after' = 'after';\n\n constructor() {\n super();\n\n this._formValue = createFormValueState(this, {\n initialValue: false,\n transformers: defaultBooleanTransformers,\n });\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(tabKey, noop, { preventDefault: false })\n .set(arrowLeft, () => this.navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this.navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this.navigate(-1))\n .set(arrowDown, () => this.navigate(1));\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n this.hideLabel = isEmpty(this.label);\n\n root.addEventListener('slotchange', () => {\n this.hideLabel = isEmpty(this.label);\n });\n return root;\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n\n if (this.checked && this === last(this._checkedRadios)) {\n for (const radio of this._siblings) {\n radio.checked = false;\n radio.defaultChecked = false;\n }\n } else {\n this._updateValidity();\n }\n }\n\n protected override _setDefaultValue(current: string | null): void {\n this._formValue.defaultValue = isDefined(current);\n for (const radio of this._siblings) {\n radio.defaultChecked = false;\n }\n }\n\n /** Simulates a click on the radio control. */\n public override click() {\n this.input.click();\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the radio control. */\n public override focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the radio control. */\n public override blur() {\n this.input.blur();\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 override setCustomValidity(message: string): void {\n for (const radio of this._radios) {\n radio._validate(message);\n }\n }\n\n private _updateCheckedState() {\n for (const radio of this._siblings) {\n radio.checked = false;\n }\n }\n\n protected override formResetCallback() {\n super.formResetCallback();\n this._resetTabIndexes();\n }\n\n /** Called after a form reset callback to restore default keyboard navigation. */\n private _resetTabIndexes() {\n const radios = this._radios;\n\n if (isEmpty(this._checkedRadios)) {\n for (const radio of radios) {\n radio._tabIndex = 0;\n }\n } else {\n for (const radio of radios) {\n radio._tabIndex = radio.checked ? 0 : -1;\n }\n }\n }\n\n protected handleClick(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.checked) {\n return;\n }\n\n this.checked = true;\n this.input.focus();\n this.emitEvent('igcChange', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n });\n }\n\n protected handleBlur() {\n this._kbFocus.reset();\n }\n\n protected navigate(idx: number) {\n const active = this._active;\n const next = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[next];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', {\n detail: { checked: radio.checked, value: radio.value },\n });\n }\n\n protected renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n const checked = this.checked;\n\n return html`\n <label\n part=${partNameMap({\n base: true,\n checked,\n focused: this._kbFocus.focused,\n })}\n for=${this.inputId}\n @pointerdown=${this._kbFocus.reset}\n >\n <input\n id=${this.inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(checked)}\n tabindex=${this._tabIndex}\n aria-checked=${checked ? 'true' : 'false'}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-labelledby=${labelledBy ? labelledBy : this.labelId}\n @click=${this.handleClick}\n @blur=${this.handleBlur}\n />\n <span part=${partNameMap({ control: true, checked })}>\n <span\n .hidden=${this.disabled}\n part=${partNameMap({ ripple: true, checked })}\n ></span>\n </span>\n <span\n .hidden=${this.hideLabel}\n part=${partNameMap({ label: true, checked })}\n id=${this.labelId}\n >\n <slot></slot>\n </span>\n </label>\n ${this.renderValidatorContainer()}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:var(--radio-base-display, inline-flex);flex-direction:column;font-family:var(--ig-font-family)}:host([label-position=before]) [part~=label]{order:-1}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:flex;align-items:center;cursor:pointer;transition:color .15s ease-in}[part~=label]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part~=control]{--size: 1.25rem;position:relative;display:inline-flex;width:calc(var(--size)*2);height:calc(var(--size)*2);min-width:calc(var(--size)*2);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease-in}[part~=control]::before,[part~=control]::after{position:absolute;content:"";width:var(--size);height:var(--size);left:50%;top:50%;transform:translate(-50%, -50%);transition:all .15s ease-in}[part~=control]::before{backface-visibility:hidden;transform:translate(-50%, -50%) scale(0.1);transform-origin:center;z-index:1}[part="control checked"]::before{transform:translate(-50%, -50%) scale(0.5)}:host([disabled]),:host(:disabled){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}`;
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:var(--radio-base-display, inline-flex);flex-direction:column;font-family:var(--ig-font-family)}:host([label-position=before]) [part~=label]{order:-1}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:flex;align-items:center;cursor:pointer;transition:color .15s ease-in}[part~=label]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part~=control]{--size: 1.25rem;position:relative;display:inline-flex;width:calc(var(--size)*2);height:calc(var(--size)*2);min-width:calc(var(--size)*2);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease-in}[part~=control]::before,[part~=control]::after{position:absolute;content:"";width:var(--size);height:var(--size);left:50%;top:50%;transform:translate(-50%, -50%);transition:all .15s ease-in}[part~=control]::before{backface-visibility:hidden;transform:translate(-50%, -50%) scale(0.1);transform-origin:center;z-index:1}[part="control checked"]::before{transform:translate(-50%, -50%) scale(0.5)}:host([disabled]),:host(:disabled){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}`;
|
|
3
3
|
//# sourceMappingURL=radio.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.base.css.js","sourceRoot":"","sources":["../../../../src/components/radio/themes/radio.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"radio.base.css.js","sourceRoot":"","sources":["../../../../src/components/radio/themes/radio.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,wlFAAwlF,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:var(--radio-base-display, inline-flex);flex-direction:column;font-family:var(--ig-font-family)}:host([label-position=before]) [part~=label]{order:-1}input[type=radio]{position:absolute;width:1px;height:1px;margin:-1px;border:none;clip:rect(0, 0, 0, 0);outline:0;pointer-events:none;overflow:hidden;-webkit-appearance:none;-moz-appearance:none;appearance:none}[part~=base]{display:flex;align-items:center;cursor:pointer;transition:color .15s ease-in}[part~=label]{font-family:var(--ig-subtitle-1-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-1-font-size);font-weight:var(--ig-subtitle-1-font-weight);font-style:var(--ig-subtitle-1-font-style);line-height:var(--ig-subtitle-1-line-height);letter-spacing:var(--ig-subtitle-1-letter-spacing);text-transform:var(--ig-subtitle-1-text-transform);margin-top:var(--ig-subtitle-1-margin-top);margin-bottom:var(--ig-subtitle-1-margin-bottom)}[part~=control]{--size: 1.25rem;position:relative;display:inline-flex;width:calc(var(--size)*2);height:calc(var(--size)*2);min-width:calc(var(--size)*2);-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background .15s ease-in}[part~=control]::before,[part~=control]::after{position:absolute;content:\"\";width:var(--size);height:var(--size);left:50%;top:50%;transform:translate(-50%, -50%);transition:all .15s ease-in}[part~=control]::before{backface-visibility:hidden;transform:translate(-50%, -50%) scale(0.1);transform-origin:center;z-index:1}[part=\"control checked\"]::before{transform:translate(-50%, -50%) scale(0.5)}:host([disabled]),:host(:disabled){pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}`;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size);height:var(--ig-scrollbar-size);background:var(--ig-scrollbar-track-background)}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background)}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host([alignment=vertical]){display:flex;flex-direction:column;gap:.5rem}:host([alignment=horizontal]){--radio-base-display: contents;display:grid;grid-template-columns:repeat(var(--layout-count), minmax(min-content, max-content));grid-template-rows:auto auto;-moz-column-gap:.5rem;column-gap:.5rem;align-items:start}:host([alignment=horizontal])>*{grid-row:1}`;
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host([alignment=vertical]){display:flex;flex-direction:column;gap:.5rem}:host([alignment=horizontal]){--radio-base-display: contents;display:grid;grid-template-columns:repeat(var(--layout-count), minmax(min-content, max-content));grid-template-rows:auto auto;-moz-column-gap:.5rem;column-gap:.5rem;align-items:start}:host([alignment=horizontal])>*{grid-row:1}`;
|
|
3
3
|
//# sourceMappingURL=radio-group.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.base.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"radio-group.base.css.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,kzCAAkzC,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host([alignment=vertical]){display:flex;flex-direction:column;gap:.5rem}:host([alignment=horizontal]){--radio-base-display: contents;display:grid;grid-template-columns:repeat(var(--layout-count), minmax(min-content, max-content));grid-template-rows:auto auto;-moz-column-gap:.5rem;column-gap:.5rem;align-items:start}:host([alignment=horizontal])>*{grid-row:1}`;\n"]}
|
|
@@ -10,6 +10,7 @@ export default class IgcRadioGroupComponent extends LitElement {
|
|
|
10
10
|
static readonly tagName = "igc-radio-group";
|
|
11
11
|
static styles: import("lit").CSSResult;
|
|
12
12
|
static register(): void;
|
|
13
|
+
private _defaultValue;
|
|
13
14
|
private _internals;
|
|
14
15
|
private _name;
|
|
15
16
|
private _value;
|
|
@@ -19,6 +20,8 @@ export default class IgcRadioGroupComponent extends LitElement {
|
|
|
19
20
|
* @attr
|
|
20
21
|
*/
|
|
21
22
|
alignment: 'vertical' | 'horizontal';
|
|
23
|
+
set defaultValue(value: string);
|
|
24
|
+
get defaultValue(): string;
|
|
22
25
|
/**
|
|
23
26
|
* Gets/Sets the name for all child igc-radio components.
|
|
24
27
|
* @attr
|
|
@@ -35,6 +38,7 @@ export default class IgcRadioGroupComponent extends LitElement {
|
|
|
35
38
|
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
36
39
|
protected firstUpdated(): void;
|
|
37
40
|
private _setCSSGridVars;
|
|
41
|
+
private _setRadiosDefaultChecked;
|
|
38
42
|
private _setRadiosName;
|
|
39
43
|
private _setDefaultValue;
|
|
40
44
|
private _setSelectedRadio;
|
|
@@ -18,6 +18,13 @@ let IgcRadioGroupComponent = IgcRadioGroupComponent_1 = class IgcRadioGroupCompo
|
|
|
18
18
|
static register() {
|
|
19
19
|
registerComponent(IgcRadioGroupComponent_1, IgcRadioComponent);
|
|
20
20
|
}
|
|
21
|
+
set defaultValue(value) {
|
|
22
|
+
this._defaultValue = value;
|
|
23
|
+
this._setRadiosDefaultChecked();
|
|
24
|
+
}
|
|
25
|
+
get defaultValue() {
|
|
26
|
+
return this._defaultValue;
|
|
27
|
+
}
|
|
21
28
|
set name(value) {
|
|
22
29
|
this._name = value;
|
|
23
30
|
this._setRadiosName();
|
|
@@ -51,6 +58,7 @@ let IgcRadioGroupComponent = IgcRadioGroupComponent_1 = class IgcRadioGroupCompo
|
|
|
51
58
|
const radios = Array.from(this._radios);
|
|
52
59
|
const allRadiosUnchecked = radios.every((radio) => !radio.checked);
|
|
53
60
|
this._setRadiosName();
|
|
61
|
+
this._setRadiosDefaultChecked();
|
|
54
62
|
if (allRadiosUnchecked && this._value) {
|
|
55
63
|
this._setSelectedRadio();
|
|
56
64
|
this._setDefaultValue();
|
|
@@ -62,6 +70,13 @@ let IgcRadioGroupComponent = IgcRadioGroupComponent_1 = class IgcRadioGroupCompo
|
|
|
62
70
|
this.style.setProperty('--layout-count', `${slot.assignedElements({ flatten: true }).length}`);
|
|
63
71
|
}
|
|
64
72
|
}
|
|
73
|
+
_setRadiosDefaultChecked() {
|
|
74
|
+
if (this._defaultValue) {
|
|
75
|
+
for (const radio of this._radios) {
|
|
76
|
+
radio.defaultChecked = radio.value === this._defaultValue;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
65
80
|
_setRadiosName() {
|
|
66
81
|
if (this._name) {
|
|
67
82
|
for (const radio of this._radios) {
|
|
@@ -91,6 +106,9 @@ __decorate([
|
|
|
91
106
|
__decorate([
|
|
92
107
|
property({ reflect: true })
|
|
93
108
|
], IgcRadioGroupComponent.prototype, "alignment", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
property({ attribute: false })
|
|
111
|
+
], IgcRadioGroupComponent.prototype, "defaultValue", null);
|
|
94
112
|
__decorate([
|
|
95
113
|
property({ reflect: true })
|
|
96
114
|
], IgcRadioGroupComponent.prototype, "name", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEpE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,iBAAiB,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AAapD,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAKrD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,EAAE,iBAAiB,CAAC,CAAC;IAC/D,CAAC;
|
|
1
|
+
{"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcRadioComponent from '../radio/radio.js';\nimport { styles } from './radio-group.base.css.js';\nimport { styles as fluent } from './radio-group.fluent.css.js';\nimport { styles as indigo } from './radio-group.indigo.css.js';\nimport { styles as material } from './radio-group.material.css.js';\n\n/**\n * The igc-radio-group component unifies one or more igc-radio buttons.\n *\n * @element igc-radio-group\n *\n * @slot - Default slot\n */\n@themes({\n light: { material, fluent, indigo },\n dark: { material, fluent, indigo },\n})\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioGroupComponent, IgcRadioComponent);\n }\n\n private _defaultValue!: string;\n private _internals: ElementInternals;\n private _name!: string;\n private _value!: string;\n\n @queryAssignedElements({ flatten: true })\n private _radios!: NodeListOf<IgcRadioComponent>;\n\n /**\n * Alignment of the radio controls inside this group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'vertical' | 'horizontal' = 'vertical';\n\n /* blazorCSSuppress */\n @property({ attribute: false })\n public set defaultValue(value: string) {\n this._defaultValue = value;\n this._setRadiosDefaultChecked();\n }\n\n public get defaultValue(): string {\n return this._defaultValue;\n }\n\n /**\n * Gets/Sets the name for all child igc-radio components.\n * @attr\n */\n @property({ reflect: true })\n public set name(value: string) {\n this._name = value;\n this._setRadiosName();\n }\n\n public get name(): string {\n return this._name;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n /**\n * Gets/Sets the checked igc-radio element that matches `value`\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n this._setSelectedRadio();\n }\n\n public get value(): string {\n if (this._radios.length) {\n this._value =\n Array.from(this._radios).find((radio) => radio.checked)?.value ?? '';\n }\n\n return this._value;\n }\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this._internals.role = 'radiogroup';\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this._setCSSGridVars());\n return root;\n }\n\n protected override firstUpdated() {\n const radios = Array.from(this._radios);\n const allRadiosUnchecked = radios.every((radio) => !radio.checked);\n\n this._setRadiosName();\n this._setRadiosDefaultChecked();\n\n if (allRadiosUnchecked && this._value) {\n this._setSelectedRadio();\n this._setDefaultValue();\n }\n }\n\n private _setCSSGridVars() {\n const slot = this.renderRoot.querySelector('slot');\n if (slot) {\n this.style.setProperty(\n '--layout-count',\n `${slot.assignedElements({ flatten: true }).length}`\n );\n }\n }\n\n private _setRadiosDefaultChecked() {\n if (this._defaultValue) {\n for (const radio of this._radios) {\n radio.defaultChecked = radio.value === this._defaultValue;\n }\n }\n }\n\n private _setRadiosName() {\n if (this._name) {\n for (const radio of this._radios) {\n radio.name = this._name;\n }\n }\n }\n\n private _setDefaultValue() {\n for (const radio of this._radios) {\n radio.toggleAttribute('checked', radio.checked);\n }\n }\n\n private _setSelectedRadio() {\n for (const radio of this._radios) {\n radio.checked = radio.value === this._value;\n }\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
|
|
@@ -7,12 +7,12 @@ class IgcRatingSymbolComponent extends LitElement {
|
|
|
7
7
|
}
|
|
8
8
|
connectedCallback() {
|
|
9
9
|
super.connectedCallback();
|
|
10
|
-
this.slot = this.slot
|
|
10
|
+
this.slot = this.slot || 'symbol';
|
|
11
11
|
}
|
|
12
12
|
render() {
|
|
13
13
|
return html `
|
|
14
14
|
<div part="symbol full">
|
|
15
|
-
<slot
|
|
15
|
+
<slot></slot>
|
|
16
16
|
</div>
|
|
17
17
|
<div part="symbol empty">
|
|
18
18
|
<slot name="empty"></slot>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAe5D,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAe5D,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACpC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;;AAtBsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;eAFtB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/rating-symbol.base.css.js';\n\n/**\n *\n * Used when a custom icon/symbol/element needs to be passed to the igc-rating component.\n *\n * @element igc-rating-symbol\n *\n * @slot - Default slot for projected full symbols/icons.\n * @slot empty - Default slot for projected empty symbols/icons.\n *\n * @csspart symbol - The symbol wrapping container.\n * @csspart full - The full symbol wrapping container.\n * @csspart empty - The empty symbol wrapping container.\n */\nexport default class IgcRatingSymbolComponent extends LitElement {\n public static readonly tagName = 'igc-rating-symbol';\n public static override styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRatingSymbolComponent);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.slot = this.slot || 'symbol';\n }\n\n protected override render() {\n return html`\n <div part=\"symbol full\">\n <slot></slot>\n </div>\n <div part=\"symbol empty\">\n <slot name=\"empty\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating-symbol': IgcRatingSymbolComponent;\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
import type { Constructor } from '../common/mixins/constructor.js';
|
|
3
|
+
import { type FormValue } from '../common/mixins/forms/form-value.js';
|
|
3
4
|
import IgcRatingSymbolComponent from './rating-symbol.js';
|
|
4
5
|
export interface IgcRatingComponentEventMap {
|
|
5
6
|
igcChange: CustomEvent<number>;
|
|
@@ -33,9 +34,13 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
|
|
|
33
34
|
static readonly tagName = "igc-rating";
|
|
34
35
|
static styles: import("lit").CSSResult[];
|
|
35
36
|
static register(): void;
|
|
36
|
-
protected
|
|
37
|
+
protected _formValue: FormValue<number>;
|
|
38
|
+
private _max;
|
|
39
|
+
private _step;
|
|
40
|
+
private _single;
|
|
41
|
+
protected ratingSymbols: IgcRatingSymbolComponent[];
|
|
37
42
|
protected container: HTMLElement;
|
|
38
|
-
protected valueLabel:
|
|
43
|
+
protected valueLabel: Node[];
|
|
39
44
|
protected hoverValue: number;
|
|
40
45
|
protected hoverState: boolean;
|
|
41
46
|
protected get isInteractive(): boolean;
|
|
@@ -46,19 +51,23 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
|
|
|
46
51
|
*
|
|
47
52
|
* If there are projected symbols, the maximum value will be resolved
|
|
48
53
|
* based on the number of symbols.
|
|
49
|
-
* @attr
|
|
54
|
+
* @attr max
|
|
55
|
+
* @default 5
|
|
50
56
|
*/
|
|
51
|
-
max: number;
|
|
57
|
+
set max(value: number);
|
|
58
|
+
get max(): number;
|
|
52
59
|
/**
|
|
53
60
|
* The minimum value change allowed.
|
|
54
61
|
*
|
|
55
62
|
* Valid values are in the interval between 0 and 1 inclusive.
|
|
56
|
-
* @attr
|
|
63
|
+
* @attr step
|
|
64
|
+
* @default 1
|
|
57
65
|
*/
|
|
58
|
-
step: number;
|
|
66
|
+
set step(value: number);
|
|
67
|
+
get step(): number;
|
|
59
68
|
/**
|
|
60
69
|
* The label of the control.
|
|
61
|
-
* @attr
|
|
70
|
+
* @attr label
|
|
62
71
|
*/
|
|
63
72
|
label: string;
|
|
64
73
|
/**
|
|
@@ -71,9 +80,11 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
|
|
|
71
80
|
valueFormat: string;
|
|
72
81
|
/**
|
|
73
82
|
* The current value of the component
|
|
74
|
-
* @attr
|
|
83
|
+
* @attr value
|
|
84
|
+
* @default 0
|
|
75
85
|
*/
|
|
76
|
-
value: number;
|
|
86
|
+
set value(number: number);
|
|
87
|
+
get value(): number;
|
|
77
88
|
/**
|
|
78
89
|
* Sets hover preview behavior for the component
|
|
79
90
|
* @attr hover-preview
|
|
@@ -86,28 +97,25 @@ export default class IgcRatingComponent extends IgcRatingComponent_base {
|
|
|
86
97
|
readOnly: boolean;
|
|
87
98
|
/**
|
|
88
99
|
* Toggles single selection visual mode.
|
|
89
|
-
* @attr
|
|
100
|
+
* @attr single
|
|
101
|
+
* @default false
|
|
90
102
|
*/
|
|
91
|
-
single: boolean;
|
|
103
|
+
set single(value: boolean);
|
|
104
|
+
get single(): boolean;
|
|
92
105
|
/**
|
|
93
106
|
* Whether to reset the rating when the user selects the same value.
|
|
94
107
|
* @attr allow-reset
|
|
95
108
|
*/
|
|
96
109
|
allowReset: boolean;
|
|
97
|
-
protected handleMaxChange(): void;
|
|
98
|
-
protected handleValueChange(): void;
|
|
99
|
-
protected handlePrecisionChange(): void;
|
|
100
|
-
protected handleSelectionChange(): void;
|
|
101
110
|
constructor();
|
|
111
|
+
protected firstUpdated(): Promise<void>;
|
|
102
112
|
protected handleClick({ clientX }: PointerEvent): void;
|
|
103
113
|
protected handlePointerMove({ clientX }: PointerEvent): void;
|
|
104
114
|
protected emitValueUpdate(value: number): void;
|
|
105
115
|
protected handleSlotChange(): void;
|
|
106
116
|
protected handleHoverEnabled(): void;
|
|
107
117
|
protected handleHoverDisabled(): void;
|
|
108
|
-
protected _setInitialDefaultValue(): void;
|
|
109
118
|
protected calcNewValue(x: number): number;
|
|
110
|
-
protected getPrecision(num: number): number;
|
|
111
119
|
protected round(value: number): number;
|
|
112
120
|
protected clipSymbol(index: number, isLTR?: boolean): {
|
|
113
121
|
backward: string;
|
|
@@ -12,11 +12,11 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
12
12
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
13
13
|
import { themes } from '../../theming/theming-decorator.js';
|
|
14
14
|
import { addKeybindings, arrowDown, arrowLeft, arrowRight, arrowUp, endKey, homeKey, } from '../common/controllers/key-bindings.js';
|
|
15
|
-
import { watch } from '../common/decorators/watch.js';
|
|
16
15
|
import { registerComponent } from '../common/definitions/register.js';
|
|
17
16
|
import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
|
|
18
17
|
import { FormAssociatedMixin } from '../common/mixins/forms/associated.js';
|
|
19
|
-
import {
|
|
18
|
+
import { createFormValueState, defaultNumberTransformers, } from '../common/mixins/forms/form-value.js';
|
|
19
|
+
import { asNumber, clamp, formatString, isEmpty, isLTR, numberOfDecimals, roundPrecise, } from '../common/util.js';
|
|
20
20
|
import IgcIconComponent from '../icon/icon.js';
|
|
21
21
|
import IgcRatingSymbolComponent from './rating-symbol.js';
|
|
22
22
|
import { styles } from './themes/rating.base.css.js';
|
|
@@ -38,39 +38,57 @@ let IgcRatingComponent = IgcRatingComponent_1 = class IgcRatingComponent extends
|
|
|
38
38
|
? formatString(this.valueFormat, value, this.max)
|
|
39
39
|
: `${value} of ${this.max}`;
|
|
40
40
|
}
|
|
41
|
-
|
|
42
|
-
this.
|
|
41
|
+
set max(value) {
|
|
42
|
+
this._max = this.hasProjectedSymbols
|
|
43
43
|
? this.ratingSymbols.length
|
|
44
|
-
: Math.max(0,
|
|
45
|
-
if (this.
|
|
46
|
-
this.value = this.
|
|
44
|
+
: Math.max(0, value);
|
|
45
|
+
if (this._max < this.value) {
|
|
46
|
+
this.value = this._max;
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
get max() {
|
|
50
|
+
return this._max;
|
|
51
|
+
}
|
|
52
|
+
set step(value) {
|
|
53
|
+
this._step = this.single ? 1 : clamp(value, 0.001, 1);
|
|
54
|
+
}
|
|
55
|
+
get step() {
|
|
56
|
+
return this._step;
|
|
57
|
+
}
|
|
58
|
+
set value(number) {
|
|
59
|
+
const value = this.hasUpdated
|
|
60
|
+
? clamp(asNumber(number), 0, this.max)
|
|
61
|
+
: Math.max(asNumber(number), 0);
|
|
62
|
+
this._formValue.setValueAndFormState(value);
|
|
52
63
|
this._validate();
|
|
53
64
|
}
|
|
54
|
-
|
|
55
|
-
|
|
65
|
+
get value() {
|
|
66
|
+
return this._formValue.value;
|
|
56
67
|
}
|
|
57
|
-
|
|
58
|
-
|
|
68
|
+
set single(value) {
|
|
69
|
+
this._single = Boolean(value);
|
|
70
|
+
if (this._single) {
|
|
59
71
|
this.step = 1;
|
|
60
72
|
this.value = Math.ceil(this.value);
|
|
61
73
|
}
|
|
62
74
|
}
|
|
75
|
+
get single() {
|
|
76
|
+
return this._single;
|
|
77
|
+
}
|
|
63
78
|
constructor() {
|
|
64
79
|
super();
|
|
80
|
+
this._max = 5;
|
|
81
|
+
this._step = 1;
|
|
82
|
+
this._single = false;
|
|
65
83
|
this.hoverValue = -1;
|
|
66
84
|
this.hoverState = false;
|
|
67
|
-
this.max = 5;
|
|
68
|
-
this.step = 1;
|
|
69
|
-
this.value = 0;
|
|
70
85
|
this.hoverPreview = false;
|
|
71
86
|
this.readOnly = false;
|
|
72
|
-
this.single = false;
|
|
73
87
|
this.allowReset = false;
|
|
88
|
+
this._formValue = createFormValueState(this, {
|
|
89
|
+
initialValue: 0,
|
|
90
|
+
transformers: defaultNumberTransformers,
|
|
91
|
+
});
|
|
74
92
|
addKeybindings(this, {
|
|
75
93
|
skip: () => !this.isInteractive,
|
|
76
94
|
bindingDefaults: { preventDefault: true },
|
|
@@ -82,6 +100,11 @@ let IgcRatingComponent = IgcRatingComponent_1 = class IgcRatingComponent extends
|
|
|
82
100
|
.set(homeKey, () => this.emitValueUpdate(this.step))
|
|
83
101
|
.set(endKey, () => this.emitValueUpdate(this.max));
|
|
84
102
|
}
|
|
103
|
+
async firstUpdated() {
|
|
104
|
+
await this.updateComplete;
|
|
105
|
+
this._formValue.setValueAndFormState(clamp(this.value, 0, this.max));
|
|
106
|
+
this._pristine = true;
|
|
107
|
+
}
|
|
85
108
|
handleClick({ clientX }) {
|
|
86
109
|
const value = this.calcNewValue(clientX);
|
|
87
110
|
const sameValue = this.value === value;
|
|
@@ -117,21 +140,14 @@ let IgcRatingComponent = IgcRatingComponent_1 = class IgcRatingComponent extends
|
|
|
117
140
|
handleHoverDisabled() {
|
|
118
141
|
this.hoverState = false;
|
|
119
142
|
}
|
|
120
|
-
_setInitialDefaultValue() {
|
|
121
|
-
this._defaultValue = this.value;
|
|
122
|
-
}
|
|
123
143
|
calcNewValue(x) {
|
|
124
144
|
const { width, left, right } = this.container.getBoundingClientRect();
|
|
125
145
|
const percent = isLTR(this) ? (x - left) / width : (right - x) / width;
|
|
126
146
|
const value = this.round(this.max * percent + this.step / 2);
|
|
127
147
|
return clamp(value, this.step, this.max);
|
|
128
148
|
}
|
|
129
|
-
getPrecision(num) {
|
|
130
|
-
const [_, decimal] = num.toString().split('.');
|
|
131
|
-
return decimal ? decimal.length : 0;
|
|
132
|
-
}
|
|
133
149
|
round(value) {
|
|
134
|
-
return
|
|
150
|
+
return roundPrecise(value, numberOfDecimals(this.step));
|
|
135
151
|
}
|
|
136
152
|
clipSymbol(index, isLTR = true) {
|
|
137
153
|
const value = this.hoverState ? this.hoverValue : this.value;
|
|
@@ -255,10 +271,10 @@ __decorate([
|
|
|
255
271
|
], IgcRatingComponent.prototype, "hoverState", void 0);
|
|
256
272
|
__decorate([
|
|
257
273
|
property({ type: Number })
|
|
258
|
-
], IgcRatingComponent.prototype, "max",
|
|
274
|
+
], IgcRatingComponent.prototype, "max", null);
|
|
259
275
|
__decorate([
|
|
260
276
|
property({ type: Number })
|
|
261
|
-
], IgcRatingComponent.prototype, "step",
|
|
277
|
+
], IgcRatingComponent.prototype, "step", null);
|
|
262
278
|
__decorate([
|
|
263
279
|
property()
|
|
264
280
|
], IgcRatingComponent.prototype, "label", void 0);
|
|
@@ -267,7 +283,7 @@ __decorate([
|
|
|
267
283
|
], IgcRatingComponent.prototype, "valueFormat", void 0);
|
|
268
284
|
__decorate([
|
|
269
285
|
property({ type: Number })
|
|
270
|
-
], IgcRatingComponent.prototype, "value",
|
|
286
|
+
], IgcRatingComponent.prototype, "value", null);
|
|
271
287
|
__decorate([
|
|
272
288
|
property({ type: Boolean, reflect: true, attribute: 'hover-preview' })
|
|
273
289
|
], IgcRatingComponent.prototype, "hoverPreview", void 0);
|
|
@@ -275,23 +291,11 @@ __decorate([
|
|
|
275
291
|
property({ type: Boolean, reflect: true, attribute: 'readonly' })
|
|
276
292
|
], IgcRatingComponent.prototype, "readOnly", void 0);
|
|
277
293
|
__decorate([
|
|
278
|
-
property({ type: Boolean })
|
|
279
|
-
], IgcRatingComponent.prototype, "single",
|
|
294
|
+
property({ type: Boolean, reflect: true })
|
|
295
|
+
], IgcRatingComponent.prototype, "single", null);
|
|
280
296
|
__decorate([
|
|
281
297
|
property({ type: Boolean, reflect: true, attribute: 'allow-reset' })
|
|
282
298
|
], IgcRatingComponent.prototype, "allowReset", void 0);
|
|
283
|
-
__decorate([
|
|
284
|
-
watch('max')
|
|
285
|
-
], IgcRatingComponent.prototype, "handleMaxChange", null);
|
|
286
|
-
__decorate([
|
|
287
|
-
watch('value')
|
|
288
|
-
], IgcRatingComponent.prototype, "handleValueChange", null);
|
|
289
|
-
__decorate([
|
|
290
|
-
watch('step')
|
|
291
|
-
], IgcRatingComponent.prototype, "handlePrecisionChange", null);
|
|
292
|
-
__decorate([
|
|
293
|
-
watch('single')
|
|
294
|
-
], IgcRatingComponent.prototype, "handleSelectionChange", null);
|
|
295
299
|
IgcRatingComponent = IgcRatingComponent_1 = __decorate([
|
|
296
300
|
themes(all)
|
|
297
301
|
], IgcRatingComponent);
|