igniteui-webcomponents 4.11.0 → 5.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +79 -0
- package/README.md +168 -110
- package/components/accordion/accordion.d.ts +2 -2
- package/components/accordion/accordion.js +25 -35
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +1 -3
- package/components/avatar/avatar.js +1 -3
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/avatar.base.css.js +1 -1
- package/components/avatar/themes/avatar.base.css.js.map +1 -1
- package/components/badge/badge.d.ts +2 -1
- package/components/badge/badge.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/button/button-base.d.ts +3 -4
- package/components/button/button-base.js +1 -9
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +3 -7
- package/components/button/button.js +4 -5
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.d.ts +2 -2
- package/components/button/icon-button.js +0 -3
- package/components/button/icon-button.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 +65 -0
- package/components/calendar/base.js +150 -0
- package/components/calendar/base.js.map +1 -0
- package/components/calendar/calendar.d.ts +113 -61
- package/components/calendar/calendar.js +417 -514
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +43 -46
- package/components/calendar/days-view/days-view.js +269 -340
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.d.ts +30 -0
- package/components/calendar/helpers.js +99 -0
- package/components/calendar/helpers.js.map +1 -0
- package/components/calendar/model.d.ts +55 -0
- package/components/calendar/model.js +94 -0
- package/components/calendar/model.js.map +1 -0
- package/components/calendar/months-view/months-view.d.ts +12 -12
- package/components/calendar/months-view/months-view.js +72 -79
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/themes/calendar.base.css.js +1 -1
- package/components/calendar/themes/calendar.base.css.js.map +1 -1
- package/components/calendar/types.d.ts +16 -0
- package/components/calendar/types.js +10 -0
- package/components/calendar/types.js.map +1 -0
- package/components/calendar/years-view/years-view.d.ts +13 -12
- package/components/calendar/years-view/years-view.js +58 -73
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/themes/card.actions.base.css.js +1 -1
- package/components/card/themes/card.actions.base.css.js.map +1 -1
- package/components/card/themes/card.content.base.css.js +1 -1
- package/components/card/themes/card.content.base.css.js.map +1 -1
- package/components/card/themes/card.header.base.css.js +1 -1
- package/components/card/themes/card.header.base.css.js.map +1 -1
- package/components/card/themes/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/checkbox/checkbox-base.d.ts +8 -5
- package/components/checkbox/checkbox-base.js +8 -15
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +2 -4
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -3
- package/components/checkbox/switch.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/switch.base.css.js +1 -1
- package/components/checkbox/themes/switch.base.css.js.map +1 -1
- package/components/checkbox/validators.d.ts +3 -0
- package/components/checkbox/validators.js +5 -0
- package/components/checkbox/validators.js.map +1 -0
- package/components/chip/chip.d.ts +4 -3
- package/components/chip/chip.js +11 -19
- package/components/chip/chip.js.map +1 -1
- package/components/chip/themes/chip.base.css.js +1 -1
- package/components/chip/themes/chip.base.css.js.map +1 -1
- package/components/chip/themes/shared/chip.common.css.js +1 -1
- package/components/chip/themes/shared/chip.common.css.js.map +1 -1
- package/components/combo/combo.d.ts +36 -54
- package/components/combo/combo.js +36 -59
- 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/types.d.ts +2 -2
- package/components/combo/types.js.map +1 -1
- package/components/combo/validators.d.ts +3 -0
- package/components/combo/validators.js +9 -0
- package/components/combo/validators.js.map +1 -0
- package/components/common/controllers/key-bindings.d.ts +1 -0
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/mutation-observer.d.ts +1 -0
- package/components/common/controllers/mutation-observer.js.map +1 -1
- package/components/common/controllers/root-click.d.ts +4 -2
- package/components/common/controllers/root-click.js +13 -7
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/definitions/defineAllComponents.js +0 -2
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/localization/intl-formatters.d.ts +17 -0
- package/components/common/localization/intl-formatters.js +46 -0
- package/components/common/localization/intl-formatters.js.map +1 -0
- package/components/common/mixins/alert.d.ts +3 -3
- package/components/common/mixins/alert.js +6 -4
- package/components/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +4 -3
- package/components/common/mixins/combo-box.js +16 -10
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/mixins/form-associated.d.ts +1 -1
- package/components/common/mixins/form-associated.js +4 -2
- package/components/common/mixins/form-associated.js.map +1 -1
- package/components/common/util.d.ts +26 -0
- package/components/common/util.js +34 -0
- package/components/common/util.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +7 -10
- package/components/date-picker/date-picker.js +16 -33
- 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/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/validators.d.ts +3 -0
- package/components/date-picker/validators.js +15 -0
- package/components/date-picker/validators.js.map +1 -0
- package/components/date-time-input/date-time-input.d.ts +3 -22
- package/components/date-time-input/date-time-input.js +8 -36
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.js +3 -1
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/date-time-input/validators.d.ts +3 -0
- package/components/date-time-input/validators.js +18 -0
- package/components/date-time-input/validators.js.map +1 -0
- package/components/dialog/dialog.d.ts +12 -25
- package/components/dialog/dialog.js +55 -77
- 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.common.css.js +1 -1
- package/components/dialog/themes/shared/dialog.common.css.js.map +1 -1
- package/components/divider/divider.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/dropdown-group.d.ts +1 -1
- package/components/dropdown/dropdown-group.js +5 -3
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +4 -11
- package/components/dropdown/dropdown.js +10 -23
- package/components/dropdown/dropdown.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/expansion-panel/expansion-panel.d.ts +10 -10
- package/components/expansion-panel/expansion-panel.js +39 -39
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js +1 -1
- package/components/expansion-panel/themes/expansion-panel.base.css.js.map +1 -1
- package/components/icon/icon-references.d.ts +28 -0
- package/components/icon/icon-references.js +151 -0
- package/components/icon/icon-references.js.map +1 -0
- package/components/icon/icon-state.broadcast.d.ts +10 -0
- package/components/icon/icon-state.broadcast.js +36 -0
- package/components/icon/icon-state.broadcast.js.map +1 -0
- package/components/icon/icon.d.ts +3 -3
- package/components/icon/icon.js +13 -7
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.registry.d.ts +14 -14
- package/components/icon/icon.registry.js +70 -26
- package/components/icon/icon.registry.js.map +1 -1
- package/components/icon/internal-icons-lib.d.ts +2 -2
- package/components/icon/internal-icons-lib.js +2 -2
- package/components/icon/internal-icons-lib.js.map +1 -1
- package/components/icon/registry/default-map.d.ts +12 -0
- package/components/icon/registry/default-map.js +31 -0
- package/components/icon/registry/default-map.js.map +1 -0
- package/components/icon/registry/parser.d.ts +6 -0
- package/components/icon/registry/parser.js +21 -0
- package/components/icon/registry/parser.js.map +1 -0
- package/components/icon/registry/types.d.ts +34 -0
- package/components/icon/registry/types.js +7 -0
- package/components/icon/registry/types.js.map +1 -0
- 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 +8 -21
- package/components/input/input-base.js +12 -41
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +3 -29
- package/components/input/input.js +4 -78
- 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/validators.d.ts +4 -0
- package/components/input/validators.js +30 -0
- package/components/input/validators.js.map +1 -0
- package/components/list/list.d.ts +1 -3
- package/components/list/list.js +1 -2
- 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/mask-input/mask-input-base.d.ts +3 -2
- package/components/mask-input/mask-input-base.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +1 -4
- package/components/mask-input/mask-input.js +7 -17
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/validators.d.ts +3 -0
- package/components/mask-input/validators.js +11 -0
- package/components/mask-input/validators.js.map +1 -0
- package/components/nav-drawer/nav-drawer-item.d.ts +1 -5
- package/components/nav-drawer/nav-drawer-item.js +9 -10
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +4 -3
- package/components/nav-drawer/nav-drawer.js +18 -7
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/nav-drawer/themes/container.base.css.js +1 -1
- package/components/nav-drawer/themes/container.base.css.js.map +1 -1
- package/components/nav-drawer/themes/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 +2 -1
- package/components/progress/base.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/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/radio/radio.d.ts +9 -9
- package/components/radio/radio.js +17 -31
- 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/validators.d.ts +3 -0
- package/components/radio/validators.js +13 -0
- package/components/radio/validators.js.map +1 -0
- 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.map +1 -1
- package/components/rating/rating.d.ts +1 -9
- package/components/rating/rating.js +6 -16
- 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 +5 -33
- package/components/select/select.js +23 -66
- 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/select/validators.d.ts +3 -0
- package/components/select/validators.js +5 -0
- package/components/select/validators.js.map +1 -0
- package/components/slider/range-slider.d.ts +0 -16
- package/components/slider/range-slider.js +0 -18
- package/components/slider/range-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/snackbar.js +3 -7
- package/components/snackbar/snackbar.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/animations.d.ts +7 -1
- package/components/stepper/animations.js +63 -15
- package/components/stepper/animations.js.map +1 -1
- package/components/stepper/step.d.ts +3 -1
- package/components/stepper/step.js +17 -6
- 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/stepper/themes/stepper/stepper.bootstrap.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.bootstrap.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.fluent.css.js.map +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js +1 -1
- package/components/stepper/themes/stepper/stepper.indigo.css.js.map +1 -1
- package/components/tabs/tabs.js +2 -3
- package/components/tabs/tabs.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 +13 -16
- package/components/textarea/textarea.js +10 -12
- package/components/textarea/textarea.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/textarea/validators.d.ts +3 -0
- package/components/textarea/validators.js +7 -0
- package/components/textarea/validators.js.map +1 -0
- 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/tree-item.d.ts +4 -4
- package/components/tree/tree-item.js +11 -23
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +3 -4
- package/components/tree/tree.js +1 -37
- package/components/tree/tree.js.map +1 -1
- package/components/types.d.ts +3 -0
- package/components/types.js +2 -0
- package/components/types.js.map +1 -0
- package/custom-elements.json +30656 -31315
- package/igniteui-webcomponents.css-data.json +5 -928
- package/igniteui-webcomponents.html-data.json +4 -2699
- package/index.d.ts +5 -4
- package/index.js +2 -3
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/theming/config.js +3 -3
- package/theming/config.js.map +1 -1
- package/theming/theming-controller.d.ts +4 -6
- package/theming/theming-controller.js +30 -34
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-decorator.d.ts +29 -11
- package/theming/theming-decorator.js +21 -7
- package/theming/theming-decorator.js.map +1 -1
- package/theming/theming-event.js.map +1 -1
- package/theming/types.d.ts +5 -0
- package/theming/types.js.map +1 -1
- package/theming/utils.d.ts +1 -1
- package/theming/utils.js +8 -8
- package/theming/utils.js.map +1 -1
- package/web-types.json +12 -7621
- package/components/calendar/common/calendar-base.d.ts +0 -40
- package/components/calendar/common/calendar-base.js +0 -118
- package/components/calendar/common/calendar-base.js.map +0 -1
- package/components/calendar/common/calendar.model.d.ts +0 -128
- package/components/calendar/common/calendar.model.js +0 -246
- package/components/calendar/common/calendar.model.js.map +0 -1
- package/components/calendar/common/utils.d.ts +0 -12
- package/components/calendar/common/utils.js +0 -54
- package/components/calendar/common/utils.js.map +0 -1
- package/components/common/decorators/alternateName.d.ts +0 -7
- package/components/common/decorators/alternateName.js +0 -4
- package/components/common/decorators/alternateName.js.map +0 -1
- package/components/common/decorators/blazorSuppress.d.ts +0 -5
- package/components/common/decorators/blazorSuppress.js +0 -4
- package/components/common/decorators/blazorSuppress.js.map +0 -1
- package/components/common/decorators/blazorTwoWayBind.d.ts +0 -7
- package/components/common/decorators/blazorTwoWayBind.js +0 -4
- package/components/common/decorators/blazorTwoWayBind.js.map +0 -1
- package/components/common/mixins/sizable.d.ts +0 -13
- package/components/common/mixins/sizable.js +0 -27
- package/components/common/mixins/sizable.js.map +0 -1
- package/components/form/form.d.ts +0 -48
- package/components/form/form.js +0 -158
- package/components/form/form.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport {\n type Validator,\n emailValidator,\n maxLengthValidator,\n maxValidator,\n minLengthValidator,\n minValidator,\n patternValidator,\n requiredNumberValidator,\n requiredValidator,\n stepValidator,\n urlValidator,\n} from '../common/validators.js';\nimport { IgcInputBaseComponent } from './input-base.js';\n\n/**\n * @element igc-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n *\n * @fires igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\n * @fires igcFocus - Emitted when the control gains focus.\n * @fires igcBlur - Emitted when the control loses focus.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcInputComponent);\n }\n\n private get isStringType() {\n return this.type !== 'number';\n }\n\n protected override validators: Validator<this>[] = [\n {\n ...requiredValidator,\n isValid: () =>\n this.isStringType\n ? requiredValidator.isValid(this)\n : requiredNumberValidator.isValid(this),\n },\n {\n ...minLengthValidator,\n isValid: () =>\n this.isStringType ? minLengthValidator.isValid(this) : true,\n },\n {\n ...maxLengthValidator,\n isValid: () =>\n this.isStringType ? maxLengthValidator.isValid(this) : true,\n },\n {\n ...minValidator,\n isValid: () => (this.isStringType ? true : minValidator.isValid(this)),\n },\n {\n ...maxValidator,\n isValid: () => (this.isStringType ? true : maxValidator.isValid(this)),\n },\n {\n ...stepValidator,\n isValid: () => (this.isStringType ? true : stepValidator.isValid(this)),\n },\n {\n ...patternValidator,\n isValid: () =>\n this.isStringType ? patternValidator.isValid(this) : true,\n },\n {\n key: 'typeMismatch',\n isValid: () => {\n switch (this.type) {\n case 'email':\n return emailValidator.isValid(this);\n case 'url':\n return urlValidator.isValid(this);\n default:\n return true;\n }\n },\n message: () =>\n (this.type === 'email'\n ? emailValidator.message\n : urlValidator.message) as string,\n },\n ];\n\n protected _value = '';\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value ?? '';\n this.setFormValue(value ? value : null);\n this.updateValidity();\n this.setInvalidState();\n }\n\n public get value() {\n return this._value;\n }\n\n /* alternateName: displayType */\n /**\n * The type attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public type:\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url' = 'text';\n\n /* blazorCSSuppress */\n /**\n * The input mode attribute of the control.\n * @prop\n *\n * @deprecated since v4.10.0. Use `inputMode` property instead.\n */\n @property({ attribute: false })\n public set inputmode(value: string) {\n this.inputMode = value;\n }\n\n public get inputmode(): string {\n return this.inputMode;\n }\n\n /**\n * The input mode attribute of the control.\n * See [relevant MDN article](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The pattern attribute of the control.\n * @attr\n */\n @property()\n public pattern!: string;\n\n /**\n * The minimum string length required by the control.\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public minLength!: number;\n\n /* blazorCSSuppress */\n /**\n * The minlength attribute of the control.\n * @prop\n *\n * @deprecated since v4.4.0. Use the `minLength` property instead.\n */\n @property({ attribute: false })\n public set minlength(value: number) {\n this.minLength = value;\n }\n\n public get minlength() {\n return this.minLength;\n }\n\n /**\n * The maximum string length of the control.\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public maxLength!: number;\n\n /* blazorCSSuppress */\n /**\n * The maxlength attribute of the control.\n * @prop\n *\n * @deprecated since v4.4.0. Use the `maxLength` property instead.\n */\n @property({ attribute: false })\n public set maxlength(value: number) {\n this.maxLength = value;\n }\n\n public get maxlength() {\n return this.maxLength;\n }\n\n /**\n * The min attribute of the control.\n * @attr\n */\n @property()\n public min!: number | string;\n\n /**\n * The max attribute of the control.\n * @attr\n */\n @property()\n public max!: number | string;\n\n /**\n * The step attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public step!: number;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The autocomplete attribute of the control.\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property for\n * string-type inputs or allows spin buttons to exceed the predefined `min/max` limits for number-type inputs.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n @watch('min', { waitUntilFirstUpdate: true })\n @watch('max', { waitUntilFirstUpdate: true })\n @watch('minLength', { waitUntilFirstUpdate: true })\n @watch('maxLength', { waitUntilFirstUpdate: true })\n @watch('pattern', { waitUntilFirstUpdate: true })\n @watch('step', { waitUntilFirstUpdate: true })\n protected constraintsChanged() {\n this.updateValidity();\n }\n\n /** @hidden */\n public override connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this._value ? this._value : null);\n this.updateValidity();\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the input. */\n public override setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: 'select' | 'start' | 'end' | 'preserve' = 'preserve'\n ) {\n super.setRangeText(replacement, start, end, selectMode);\n this.value = this.input.value;\n }\n\n /** Selects all text within the input. */\n public select() {\n return this.input.select();\n }\n\n /** Increments the numeric value of the input by one or more steps. */\n public stepUp(n?: number) {\n this.input.stepUp(n);\n this.value = this.input.value;\n }\n\n /** Decrements the numeric value of the input by one or more steps. */\n public stepDown(n?: number) {\n this.input.stepDown(n);\n this.value = this.input.value;\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected override handleFocus(): void {\n this._dirty = true;\n super.handleFocus();\n }\n\n protected override handleBlur(): void {\n this.checkValidity();\n super.handleBlur();\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n type=${ifDefined(this.type)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n .value=${live(this.value)}\n ?readonly=${this.readOnly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n tabindex=${this.tabIndex}\n autocomplete=${ifDefined(this.autocomplete as any)}\n inputmode=${ifDefined(this.inputMode)}\n min=${ifDefined(this.validateOnly ? undefined : this.min)}\n max=${ifDefined(this.validateOnly ? undefined : this.max)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n step=${ifDefined(this.step)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-input': IgcInputComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../src/components/input/input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport type { RangeTextSelectMode } from '../types.js';\nimport { IgcInputBaseComponent } from './input-base.js';\nimport { numberValidators, stringValidators } from './validators.js';\n\n/**\n * @element igc-input\n *\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n *\n * @fires igcInput - Emitted when the control input receives user input.\n * @fires igcChange - Emitted when the control's checked state changes.\n *\n * @csspart container - The main wrapper that holds all main input elements.\n * @csspart input - The native input element.\n * @csspart label - The native label element.\n * @csspart prefix - The prefix wrapper.\n * @csspart suffix - The suffix wrapper.\n * @csspart helper-text - The helper text wrapper.\n */\nexport default class IgcInputComponent extends IgcInputBaseComponent {\n public static readonly tagName = 'igc-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcInputComponent);\n }\n\n private get isStringType() {\n return this.type !== 'number';\n }\n\n protected override get __validators() {\n return this.isStringType ? stringValidators : numberValidators;\n }\n\n protected _value = '';\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /* blazorGenericType */\n /* blazorAlternateType: object */\n /**\n * The value of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value ?? '';\n this.setFormValue(value ? value : null);\n this.updateValidity();\n this.setInvalidState();\n }\n\n public get value() {\n return this._value;\n }\n\n /* alternateName: displayType */\n /**\n * The type attribute of the control.\n * @attr\n */\n @property({ reflect: true })\n public type:\n | 'email'\n | 'number'\n | 'password'\n | 'search'\n | 'tel'\n | 'text'\n | 'url' = 'text';\n\n /**\n * The input mode attribute of the control.\n * See [relevant MDN article](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The pattern attribute of the control.\n * @attr\n */\n @property()\n public pattern!: string;\n\n /**\n * The minimum string length required by the control.\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public minLength!: number;\n\n /**\n * The maximum string length of the control.\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public maxLength!: number;\n\n /**\n * The min attribute of the control.\n * @attr\n */\n @property()\n public min!: number | string;\n\n /**\n * The max attribute of the control.\n * @attr\n */\n @property()\n public max!: number | string;\n\n /**\n * The step attribute of the control.\n * @attr\n */\n @property({ type: Number })\n public step!: number;\n\n /**\n * The autofocus attribute of the control.\n * @attr\n */\n @property({ type: Boolean })\n public override autofocus!: boolean;\n\n /**\n * The autocomplete attribute of the control.\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property for\n * string-type inputs or allows spin buttons to exceed the predefined `min/max` limits for number-type inputs.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n /**\n * @internal\n */\n @property({ type: Number })\n public override tabIndex = 0;\n\n @watch('min', { waitUntilFirstUpdate: true })\n @watch('max', { waitUntilFirstUpdate: true })\n @watch('minLength', { waitUntilFirstUpdate: true })\n @watch('maxLength', { waitUntilFirstUpdate: true })\n @watch('pattern', { waitUntilFirstUpdate: true })\n @watch('step', { waitUntilFirstUpdate: true })\n protected constraintsChanged() {\n this.updateValidity();\n }\n\n /** @hidden */\n public override connectedCallback() {\n super.connectedCallback();\n this.setFormValue(this._value ? this._value : null);\n this.updateValidity();\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the input. */\n public override setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ) {\n super.setRangeText(replacement, start, end, selectMode);\n this.value = this.input.value;\n }\n\n /** Selects all text within the input. */\n public select() {\n return this.input.select();\n }\n\n /** Increments the numeric value of the input by one or more steps. */\n public stepUp(n?: number) {\n this.input.stepUp(n);\n this.value = this.input.value;\n }\n\n /** Decrements the numeric value of the input by one or more steps. */\n public stepDown(n?: number) {\n this.input.stepDown(n);\n this.value = this.input.value;\n }\n\n private handleInput() {\n this.value = this.input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n private handleChange() {\n this.value = this.input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected handleFocus(): void {\n this._dirty = true;\n }\n\n protected handleBlur(): void {\n this.checkValidity();\n }\n\n protected renderInput() {\n return html`\n <input\n id=${this.inputId}\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n type=${ifDefined(this.type)}\n pattern=${ifDefined(this.pattern)}\n placeholder=${ifDefined(this.placeholder)}\n .value=${live(this.value)}\n ?readonly=${this.readOnly}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?autofocus=${this.autofocus}\n tabindex=${this.tabIndex}\n autocomplete=${ifDefined(this.autocomplete as any)}\n inputmode=${ifDefined(this.inputMode)}\n min=${ifDefined(this.validateOnly ? undefined : this.min)}\n max=${ifDefined(this.validateOnly ? undefined : this.max)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n step=${ifDefined(this.step)}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n @change=${this.handleChange}\n @input=${this.handleInput}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-input': IgcInputComponent;\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;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
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;-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=suffixed] [part=suffix],[part~=prefixed] [part=prefix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host{position:relative;display:block;font-family:var(--ig-font-family);outline-style:none}::slotted(igc-icon){--component-size: var(--input-size) !important}[part=label]{display:inline-block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part~=input]{width:100%;border:none;outline-style:none;font-family:var(--ig-font-family);z-index:1}[part^=container]{position:relative;display:grid}[part=prefix],[part=suffix]{display:none;overflow:hidden}:host([required]) [part=label]::after{content:"*"}[part=helper-text]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host([disabled]){pointer-events:none}`;
|
|
3
3
|
//# sourceMappingURL=input.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/input/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,++DAA++D,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;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
1
|
+
{"version":3,"file":"input.base.css.js","sourceRoot":"","sources":["../../../../src/components/input/themes/input.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,++DAA++D,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;-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}[part~=suffixed] [part=suffix],[part~=prefixed] [part=prefix]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}:host{position:relative;display:block;font-family:var(--ig-font-family);outline-style:none}::slotted(igc-icon){--component-size: var(--input-size) !important}[part=label]{display:inline-block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}[part~=input]{width:100%;border:none;outline-style:none;font-family:var(--ig-font-family);z-index:1}[part^=container]{position:relative;display:grid}[part=prefix],[part=suffix]{display:none;overflow:hidden}:host([required]) [part=label]::after{content:\"*\"}[part=helper-text]{font-family:var(--ig-caption-font-family, var(--ig-font-family));font-size:var(--ig-caption-font-size);font-weight:var(--ig-caption-font-weight);font-style:var(--ig-caption-font-style);line-height:var(--ig-caption-line-height);letter-spacing:var(--ig-caption-letter-spacing);text-transform:var(--ig-caption-text-transform);margin-top:var(--ig-caption-margin-top);margin-bottom:var(--ig-caption-margin-bottom)}:host([disabled]){pointer-events:none}`;\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { emailValidator, maxLengthValidator, maxValidator, minLengthValidator, minValidator, patternValidator, requiredNumberValidator, requiredValidator, stepValidator, urlValidator, } from '../common/validators.js';
|
|
2
|
+
export const stringValidators = [
|
|
3
|
+
requiredValidator,
|
|
4
|
+
minLengthValidator,
|
|
5
|
+
maxLengthValidator,
|
|
6
|
+
patternValidator,
|
|
7
|
+
{
|
|
8
|
+
key: 'typeMismatch',
|
|
9
|
+
isValid: (host) => {
|
|
10
|
+
switch (host.type) {
|
|
11
|
+
case 'email':
|
|
12
|
+
return emailValidator.isValid(host);
|
|
13
|
+
case 'url':
|
|
14
|
+
return urlValidator.isValid(host);
|
|
15
|
+
default:
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
message: (host) => (host.type === 'email'
|
|
20
|
+
? emailValidator.message
|
|
21
|
+
: urlValidator.message),
|
|
22
|
+
},
|
|
23
|
+
];
|
|
24
|
+
export const numberValidators = [
|
|
25
|
+
requiredNumberValidator,
|
|
26
|
+
minValidator,
|
|
27
|
+
maxValidator,
|
|
28
|
+
stepValidator,
|
|
29
|
+
];
|
|
30
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,aAAa,EACb,YAAY,GACb,MAAM,yBAAyB,CAAC;AAGjC,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,iBAAiB;IACjB,kBAAkB;IAClB,kBAAkB;IAClB,gBAAgB;IAChB;QACE,GAAG,EAAE,cAAc;QACnB,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YAChB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAClB,KAAK,OAAO;oBACV,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACtC,KAAK,KAAK;oBACR,OAAO,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACpC;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAChB,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO;YACpB,CAAC,CAAC,cAAc,CAAC,OAAO;YACxB,CAAC,CAAC,YAAY,CAAC,OAAO,CAAW;KACtC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAmC;IAC9D,uBAAuB;IACvB,YAAY;IACZ,YAAY;IACZ,aAAa;CACd,CAAC","sourcesContent":["import {\n type Validator,\n emailValidator,\n maxLengthValidator,\n maxValidator,\n minLengthValidator,\n minValidator,\n patternValidator,\n requiredNumberValidator,\n requiredValidator,\n stepValidator,\n urlValidator,\n} from '../common/validators.js';\nimport type IgcInputComponent from './input.js';\n\nexport const stringValidators: Validator<IgcInputComponent>[] = [\n requiredValidator,\n minLengthValidator,\n maxLengthValidator,\n patternValidator,\n {\n key: 'typeMismatch',\n isValid: (host) => {\n switch (host.type) {\n case 'email':\n return emailValidator.isValid(host);\n case 'url':\n return urlValidator.isValid(host);\n default:\n return true;\n }\n },\n message: (host) =>\n (host.type === 'email'\n ? emailValidator.message\n : urlValidator.message) as string,\n },\n];\n\nexport const numberValidators: Validator<IgcInputComponent>[] = [\n requiredNumberValidator,\n minValidator,\n maxValidator,\n stepValidator,\n];\n"]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
declare const IgcListComponent_base: import("../common/mixins/constructor.js").Constructor<import("../common/mixins/sizable.js").SizableInterface> & typeof LitElement;
|
|
3
2
|
/**
|
|
4
3
|
* Displays a collection of data items in a templatable list format.
|
|
5
4
|
*
|
|
@@ -7,7 +6,7 @@ declare const IgcListComponent_base: import("../common/mixins/constructor.js").C
|
|
|
7
6
|
*
|
|
8
7
|
* @slot - Renders the list items and list headers inside default slot.
|
|
9
8
|
*/
|
|
10
|
-
export default class IgcListComponent extends
|
|
9
|
+
export default class IgcListComponent extends LitElement {
|
|
11
10
|
static readonly tagName = "igc-list";
|
|
12
11
|
static styles: import("lit").CSSResult;
|
|
13
12
|
static register(): void;
|
|
@@ -20,4 +19,3 @@ declare global {
|
|
|
20
19
|
'igc-list': IgcListComponent;
|
|
21
20
|
}
|
|
22
21
|
}
|
|
23
|
-
export {};
|
package/components/list/list.js
CHANGED
|
@@ -8,12 +8,11 @@ var IgcListComponent_1;
|
|
|
8
8
|
import { LitElement, html } from 'lit';
|
|
9
9
|
import { themes } from '../../theming/theming-decorator.js';
|
|
10
10
|
import { registerComponent } from '../common/definitions/register.js';
|
|
11
|
-
import { SizableMixin } from '../common/mixins/sizable.js';
|
|
12
11
|
import IgcListHeaderComponent from './list-header.js';
|
|
13
12
|
import IgcListItemComponent from './list-item.js';
|
|
14
13
|
import { styles } from './themes/container.base.css.js';
|
|
15
14
|
import { all } from './themes/container.js';
|
|
16
|
-
let IgcListComponent = IgcListComponent_1 = class IgcListComponent extends
|
|
15
|
+
let IgcListComponent = IgcListComponent_1 = class IgcListComponent extends LitElement {
|
|
17
16
|
static register() {
|
|
18
17
|
registerComponent(IgcListComponent_1, IgcListItemComponent, IgcListHeaderComponent);
|
|
19
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/components/list/list.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/components/list/list.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,sBAAsB,MAAM,kBAAkB,CAAC;AACtD,OAAO,oBAAoB,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAU7B,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAK/C,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,kBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAID;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC;IAChC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAvBsB,wBAAO,GAAG,UAAU,AAAb,CAAc;AACrB,uBAAM,GAAG,MAAM,AAAT,CAAU;AAFpB,gBAAgB;IADpC,MAAM,CAAC,GAAG,CAAC;GACS,gBAAgB,CAyBpC;eAzBoB,gBAAgB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcListHeaderComponent from './list-header.js';\nimport IgcListItemComponent from './list-item.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\n\n/**\n * Displays a collection of data items in a templatable list format.\n *\n * @element igc-list\n *\n * @slot - Renders the list items and list headers inside default slot.\n */\n@themes(all)\nexport default class IgcListComponent extends LitElement {\n public static readonly tagName = 'igc-list';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcListComponent,\n IgcListItemComponent,\n IgcListHeaderComponent\n );\n }\n\n private _internals: ElementInternals;\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this._internals.role = 'list';\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-list': IgcListComponent;\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;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
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;-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;font-family:var(--ig-font-family);overflow:hidden auto;height:auto;background:var(--background);border-radius:var(--border-radius)}`;
|
|
3
3
|
//# sourceMappingURL=container.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.base.css.js","sourceRoot":"","sources":["../../../../src/components/list/themes/container.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ypCAAypC,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;-webkit-box-sizing:border-box;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size);scrollbar-color:var(--ig-scrollbar-thumb-background) var(--ig-scrollbar-track-background)}:host
|
|
1
|
+
{"version":3,"file":"container.base.css.js","sourceRoot":"","sources":["../../../../src/components/list/themes/container.base.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ypCAAypC,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;-webkit-box-sizing:border-box;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{-webkit-box-sizing:border-box;box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column nowrap;flex-flow:column nowrap;font-family:var(--ig-font-family);overflow:hidden auto;height:auto;background:var(--background);border-radius:var(--border-radius)}`;\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IgcInputBaseComponent } from '../input/input-base.js';
|
|
2
|
+
import type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';
|
|
2
3
|
import { MaskParser } from './mask-parser.js';
|
|
3
4
|
export type MaskRange = {
|
|
4
5
|
start: number;
|
|
@@ -25,9 +26,9 @@ export declare abstract class IgcMaskInputBaseComponent extends IgcInputBaseComp
|
|
|
25
26
|
protected handleCompositionStart(): void;
|
|
26
27
|
protected handleCompositionEnd({ data }: CompositionEvent): void;
|
|
27
28
|
protected handleClick(): void;
|
|
28
|
-
setSelectionRange(start: number, end: number, direction?:
|
|
29
|
+
setSelectionRange(start: number, end: number, direction?: SelectionRangeDirection): void;
|
|
29
30
|
/** Replaces the selected text in the control and re-applies the mask */
|
|
30
|
-
setRangeText(replacement: string, start?: number, end?: number, selectMode?:
|
|
31
|
+
setRangeText(replacement: string, start?: number, end?: number, selectMode?: RangeTextSelectMode): void;
|
|
31
32
|
protected abstract _updateSetRangeTextValue(): void;
|
|
32
33
|
protected abstract updateInput(string: string, range: MaskRange): void;
|
|
33
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-input-base.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input-base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"mask-input-base.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { property, state } from 'lit/decorators.js';\n\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { IgcInputBaseComponent } from '../input/input-base.js';\nimport type { RangeTextSelectMode, SelectionRangeDirection } from '../types.js';\nimport { MaskParser } from './mask-parser.js';\n\nexport type MaskRange = {\n start: number;\n end: number;\n};\n\n@blazorDeepImport\nexport abstract class IgcMaskInputBaseComponent extends IgcInputBaseComponent {\n protected parser = new MaskParser();\n protected selection: MaskRange = { start: 0, end: 0 };\n protected compositionStart = 0;\n\n @state()\n protected focused = false;\n\n @state()\n protected maskedValue = '';\n\n @state()\n protected _mask = '';\n\n /** The prompt symbol to use for unfilled parts of the mask. */\n @property()\n public prompt!: string;\n\n protected get inputSelection(): MaskRange {\n return {\n start: this.input.selectionStart || 0,\n end: this.input.selectionEnd || 0,\n };\n }\n\n protected get emptyMask(): string {\n return this.parser.apply();\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n\n this._mask = this._mask || this.parser.mask;\n this.prompt = this.prompt || this.parser.prompt;\n }\n\n /** Selects all text within the input. */\n public select() {\n this.input.select();\n }\n\n protected handleInput({ inputType, isComposing }: InputEvent) {\n const EMPTY = '';\n const value = this.input.value;\n const { start, end } = this.selection;\n const deleteEnd = this.parser.getNextNonLiteralPosition(end) + 1;\n\n switch (inputType) {\n case 'deleteContentForward':\n this.updateInput(EMPTY, { start, end: deleteEnd });\n return this.updateComplete.then(() =>\n this.input.setSelectionRange(deleteEnd, deleteEnd)\n );\n\n case 'deleteContentBackward':\n if (isComposing) return;\n return this.updateInput(EMPTY, {\n start: this.parser.getPreviousNonLiteralPosition(\n this.inputSelection.start\n ),\n end,\n });\n\n case 'deleteByCut':\n return this.updateInput(EMPTY, this.selection);\n\n case 'insertText':\n return this.updateInput(\n value.substring(start, this.inputSelection.end),\n this.selection\n );\n\n case 'insertFromPaste':\n return this.updateInput(\n value.substring(start, this.inputSelection.end),\n {\n start,\n end: this.inputSelection.start,\n }\n );\n\n case 'insertFromDrop':\n return this.updateInput(\n value.substring(this.inputSelection.start, this.inputSelection.end),\n { ...this.inputSelection }\n );\n }\n }\n\n protected handleKeydown({ key }: KeyboardEvent) {\n if (!key) {\n return;\n }\n this.selection = this.inputSelection;\n }\n\n protected handleCut() {\n this.selection = this.inputSelection;\n }\n\n protected handleDragStart() {\n this.selection = this.inputSelection;\n }\n\n protected handleCompositionStart() {\n this.compositionStart = this.inputSelection.start;\n }\n\n protected handleCompositionEnd({ data }: CompositionEvent) {\n this.updateInput(data, {\n start: this.compositionStart,\n end: this.inputSelection.end,\n });\n }\n\n protected handleClick() {\n const { selectionStart: start, selectionEnd: end } = this.input;\n\n // Clicking at the end of the input field will select the entire mask\n if (start === end && start === this.maskedValue.length) {\n this.select();\n }\n }\n\n /* blazorSuppress */\n public override setSelectionRange(\n start: number,\n end: number,\n direction?: SelectionRangeDirection\n ): void {\n super.setSelectionRange(start, end, direction);\n this.selection = { start, end };\n }\n\n /* blazorSuppress */\n /** Replaces the selected text in the control and re-applies the mask */\n public override setRangeText(\n replacement: string,\n start?: number,\n end?: number,\n selectMode?: RangeTextSelectMode\n ) {\n const current = this.inputSelection;\n const _start = start ?? current.start;\n const _end = end ?? current.end;\n\n const result = this.parser.replace(\n this.maskedValue || this.emptyMask,\n replacement,\n _start,\n _end\n );\n this.maskedValue = this.parser.apply(this.parser.parse(result.value));\n this._updateSetRangeTextValue();\n\n this.updateComplete.then(() => {\n switch (selectMode) {\n case 'select':\n this.setSelectionRange(_start, _end);\n break;\n case 'start':\n this.setSelectionRange(_start, _start);\n break;\n case 'end':\n this.setSelectionRange(_end, _end);\n break;\n default:\n this.setSelectionRange(current.start, current.end);\n }\n });\n }\n\n protected abstract _updateSetRangeTextValue(): void;\n protected abstract updateInput(string: string, range: MaskRange): void;\n}\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { type Validator } from '../common/validators.js';
|
|
2
1
|
import { IgcMaskInputBaseComponent, type MaskRange } from './mask-input-base.js';
|
|
3
2
|
/**
|
|
4
3
|
* A masked input is an input field where a developer can control user input and format the visible value,
|
|
@@ -12,8 +11,6 @@ import { IgcMaskInputBaseComponent, type MaskRange } from './mask-input-base.js'
|
|
|
12
11
|
*
|
|
13
12
|
* @fires igcInput - Emitted when the control receives user input
|
|
14
13
|
* @fires igcChange - Emitted when an alteration of the control's value is committed by the user
|
|
15
|
-
* @fires igcFocus - Emitted when the control gains focus
|
|
16
|
-
* @fires igcBlur - Emitted when the control loses focus
|
|
17
14
|
*
|
|
18
15
|
* @csspart container - The main wrapper that holds all main input elements
|
|
19
16
|
* @csspart input - The native input element
|
|
@@ -25,7 +22,7 @@ import { IgcMaskInputBaseComponent, type MaskRange } from './mask-input-base.js'
|
|
|
25
22
|
export default class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
26
23
|
static readonly tagName = "igc-mask-input";
|
|
27
24
|
static register(): void;
|
|
28
|
-
protected
|
|
25
|
+
protected get __validators(): import("../common/validators.js").Validator<IgcMaskInputComponent>[];
|
|
29
26
|
protected _value: string;
|
|
30
27
|
/**
|
|
31
28
|
* Dictates the behavior when retrieving the value of the control:
|
|
@@ -8,30 +8,23 @@ import { html } from 'lit';
|
|
|
8
8
|
import { property } from 'lit/decorators.js';
|
|
9
9
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
10
10
|
import { live } from 'lit/directives/live.js';
|
|
11
|
-
import { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';
|
|
12
11
|
import { watch } from '../common/decorators/watch.js';
|
|
13
12
|
import { registerComponent } from '../common/definitions/register.js';
|
|
14
|
-
import messages from '../common/localization/validation-en.js';
|
|
15
13
|
import { partNameMap } from '../common/util.js';
|
|
16
|
-
import { requiredValidator } from '../common/validators.js';
|
|
17
14
|
import { IgcMaskInputBaseComponent, } from './mask-input-base.js';
|
|
15
|
+
import { maskValidators } from './validators.js';
|
|
18
16
|
class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
19
17
|
constructor() {
|
|
20
18
|
super(...arguments);
|
|
21
|
-
this.validators = [
|
|
22
|
-
requiredValidator,
|
|
23
|
-
{
|
|
24
|
-
key: 'badInput',
|
|
25
|
-
message: messages.mask,
|
|
26
|
-
isValid: () => this.parser.isValidString(this.maskedValue),
|
|
27
|
-
},
|
|
28
|
-
];
|
|
29
19
|
this._value = '';
|
|
30
20
|
this.valueMode = 'raw';
|
|
31
21
|
}
|
|
32
22
|
static register() {
|
|
33
23
|
registerComponent(IgcMaskInputComponent);
|
|
34
24
|
}
|
|
25
|
+
get __validators() {
|
|
26
|
+
return maskValidators;
|
|
27
|
+
}
|
|
35
28
|
get value() {
|
|
36
29
|
return this.valueMode !== 'raw' ? this.maskedValue : this._value;
|
|
37
30
|
}
|
|
@@ -95,8 +88,7 @@ class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
95
88
|
}
|
|
96
89
|
async handleFocus() {
|
|
97
90
|
this.focused = true;
|
|
98
|
-
|
|
99
|
-
if (this.readonly) {
|
|
91
|
+
if (this.readOnly) {
|
|
100
92
|
return;
|
|
101
93
|
}
|
|
102
94
|
if (!this._value) {
|
|
@@ -109,7 +101,6 @@ class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
109
101
|
this.focused = false;
|
|
110
102
|
this.updateMaskedValue();
|
|
111
103
|
this.invalid = !this.checkValidity();
|
|
112
|
-
super.handleBlur();
|
|
113
104
|
}
|
|
114
105
|
handleChange() {
|
|
115
106
|
this.emitEvent('igcChange', { detail: this.value });
|
|
@@ -130,7 +121,7 @@ class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
130
121
|
name=${ifDefined(this.name)}
|
|
131
122
|
.value=${live(this.maskedValue)}
|
|
132
123
|
.placeholder=${live(this.placeholder ?? this.parser.escapedMask)}
|
|
133
|
-
?readonly=${this.
|
|
124
|
+
?readonly=${this.readOnly}
|
|
134
125
|
?disabled=${this.disabled}
|
|
135
126
|
@dragenter=${this.handleDragEnter}
|
|
136
127
|
@dragleave=${this.handleDragLeave}
|
|
@@ -155,8 +146,7 @@ __decorate([
|
|
|
155
146
|
property({ attribute: 'value-mode' })
|
|
156
147
|
], IgcMaskInputComponent.prototype, "valueMode", void 0);
|
|
157
148
|
__decorate([
|
|
158
|
-
property()
|
|
159
|
-
blazorTwoWayBind('igcChange', 'detail')
|
|
149
|
+
property()
|
|
160
150
|
], IgcMaskInputComponent.prototype, "value", null);
|
|
161
151
|
__decorate([
|
|
162
152
|
property()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mask-input.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { blazorTwoWayBind } from '../common/decorators/blazorTwoWayBind.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport messages from '../common/localization/validation-en.js';\nimport { partNameMap } from '../common/util.js';\nimport { type Validator, requiredValidator } from '../common/validators.js';\nimport {\n IgcMaskInputBaseComponent,\n type MaskRange,\n} from './mask-input-base.js';\n\n/**\n * A masked input is an input field where a developer can control user input and format the visible value,\n * based on configurable rules\n *\n * @element igc-mask-input\n *\n * @slot prefix - Renders content before the input\n * @slot suffix - Renders content after the input\n * @slot helper-text - Renders content below the input\n *\n * @fires igcInput - Emitted when the control receives user input\n * @fires igcChange - Emitted when an alteration of the control's value is committed by the user\n * @fires igcFocus - Emitted when the control gains focus\n * @fires igcBlur - Emitted when the control loses focus\n *\n * @csspart container - The main wrapper that holds all main input elements\n * @csspart input - The native input element\n * @csspart label - The native label element\n * @csspart prefix - The prefix wrapper\n * @csspart suffix - The suffix wrapper\n * @csspart helper-text - The helper text wrapper\n */\nexport default class IgcMaskInputComponent extends IgcMaskInputBaseComponent {\n public static readonly tagName = 'igc-mask-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcMaskInputComponent);\n }\n\n protected override validators: Validator<this>[] = [\n requiredValidator,\n {\n key: 'badInput',\n message: messages.mask,\n isValid: () => this.parser.isValidString(this.maskedValue),\n },\n ];\n\n protected _value = '';\n\n /**\n * Dictates the behavior when retrieving the value of the control:\n *\n * - `raw` will return the clean user input.\n * - `withFormatting` will return the value with all literals and prompts.\n * @attr value-mode\n */\n @property({ attribute: 'value-mode' })\n public valueMode: 'raw' | 'withFormatting' = 'raw';\n\n /**\n * The value of the input.\n *\n * Regardless of the currently set `value-mode`, an empty value will return an empty string.\n * @attr\n */\n @property()\n @blazorTwoWayBind('igcChange', 'detail')\n public get value(): string {\n return this.valueMode !== 'raw' ? this.maskedValue : this._value;\n }\n\n public set value(string: string) {\n this._value = string ?? '';\n this.maskedValue = this.parser.apply(this._value);\n this.updateMaskedValue();\n this.updateFormValue();\n }\n\n /**\n * The mask pattern to apply on the input.\n * @attr\n */\n @property()\n public get mask(): string {\n return this._mask;\n }\n\n /** The mask pattern to apply on the input. */\n public set mask(value: string) {\n this._mask = value;\n this.parser.mask = value;\n if (this.value) {\n this.maskedValue = this.parser.apply(this._value);\n }\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.updateValidity();\n }\n\n protected override setDefaultValue(): void {\n this._defaultValue = this._value;\n }\n\n protected updateFormValue() {\n this.valueMode === 'raw'\n ? this.setFormValue(this.value || null, this.value)\n : this.setFormValue(this.maskedValue || null, this.maskedValue);\n this.updateValidity();\n this.setInvalidState();\n }\n\n @watch('prompt')\n protected promptChange() {\n this.parser.prompt = this.prompt;\n if (this.value) {\n this.maskedValue = this.parser.apply(this._value);\n }\n }\n\n protected async updateInput(string: string, range: MaskRange) {\n const { value, end } = this.parser.replace(\n this.maskedValue,\n string,\n range.start,\n range.end\n );\n\n this.maskedValue = value;\n this._value = this.parser.parse(value);\n\n this.updateFormValue();\n this.requestUpdate();\n\n if (range.start !== this.mask.length) {\n this.emitEvent('igcInput', { detail: this.value });\n }\n await this.updateComplete;\n\n this.input.setSelectionRange(end, end);\n }\n\n protected handleDragEnter() {\n if (!this.focused && !this._value) {\n this.maskedValue = this.emptyMask;\n }\n }\n\n protected handleDragLeave() {\n if (!this.focused) {\n this.updateMaskedValue();\n }\n }\n\n protected override async handleFocus() {\n this.focused = true;\n super.handleFocus();\n\n if (this.readonly) {\n return;\n }\n\n if (!this._value) {\n // In case of empty value, select the whole mask\n this.maskedValue = this.emptyMask;\n\n await this.updateComplete;\n this.select();\n }\n }\n\n protected override handleBlur() {\n this.focused = false;\n this.updateMaskedValue();\n this.invalid = !this.checkValidity();\n super.handleBlur();\n }\n\n protected handleChange() {\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected updateMaskedValue() {\n if (this.maskedValue === this.emptyMask) {\n this.maskedValue = '';\n }\n }\n\n protected override _updateSetRangeTextValue() {\n this.value = this.parser.parse(this.maskedValue);\n }\n\n protected override renderInput() {\n return html`\n <input\n type=\"text\"\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n .value=${live(this.maskedValue)}\n .placeholder=${live(this.placeholder ?? this.parser.escapedMask)}\n ?readonly=${this.readonly}\n ?disabled=${this.disabled}\n @dragenter=${this.handleDragEnter}\n @dragleave=${this.handleDragLeave}\n @dragstart=${this.handleDragStart}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @cut=${this.handleCut}\n @change=${this.handleChange}\n @click=${this.handleClick}\n @compositionstart=${this.handleCompositionStart}\n @compositionend=${this.handleCompositionEnd}\n @input=${this.handleInput}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n @keydown=${this.handleKeydown}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-mask-input': IgcMaskInputComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"mask-input.js","sourceRoot":"","sources":["../../../src/components/mask-input/mask-input.ts"],"names":[],"mappings":"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","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport {\n IgcMaskInputBaseComponent,\n type MaskRange,\n} from './mask-input-base.js';\nimport { maskValidators } from './validators.js';\n\n/**\n * A masked input is an input field where a developer can control user input and format the visible value,\n * based on configurable rules\n *\n * @element igc-mask-input\n *\n * @slot prefix - Renders content before the input\n * @slot suffix - Renders content after the input\n * @slot helper-text - Renders content below the input\n *\n * @fires igcInput - Emitted when the control receives user input\n * @fires igcChange - Emitted when an alteration of the control's value is committed by the user\n *\n * @csspart container - The main wrapper that holds all main input elements\n * @csspart input - The native input element\n * @csspart label - The native label element\n * @csspart prefix - The prefix wrapper\n * @csspart suffix - The suffix wrapper\n * @csspart helper-text - The helper text wrapper\n */\nexport default class IgcMaskInputComponent extends IgcMaskInputBaseComponent {\n public static readonly tagName = 'igc-mask-input';\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcMaskInputComponent);\n }\n\n protected override get __validators() {\n return maskValidators;\n }\n\n protected _value = '';\n\n /**\n * Dictates the behavior when retrieving the value of the control:\n *\n * - `raw` will return the clean user input.\n * - `withFormatting` will return the value with all literals and prompts.\n * @attr value-mode\n */\n @property({ attribute: 'value-mode' })\n public valueMode: 'raw' | 'withFormatting' = 'raw';\n\n /**\n * The value of the input.\n *\n * Regardless of the currently set `value-mode`, an empty value will return an empty string.\n * @attr\n */\n public get value(): string {\n return this.valueMode !== 'raw' ? this.maskedValue : this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n @property()\n public set value(string: string) {\n this._value = string ?? '';\n this.maskedValue = this.parser.apply(this._value);\n this.updateMaskedValue();\n this.updateFormValue();\n }\n\n /**\n * The mask pattern to apply on the input.\n * @attr\n */\n @property()\n public get mask(): string {\n return this._mask;\n }\n\n /** The mask pattern to apply on the input. */\n public set mask(value: string) {\n this._mask = value;\n this.parser.mask = value;\n if (this.value) {\n this.maskedValue = this.parser.apply(this._value);\n }\n }\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.updateValidity();\n }\n\n protected override setDefaultValue(): void {\n this._defaultValue = this._value;\n }\n\n protected updateFormValue() {\n this.valueMode === 'raw'\n ? this.setFormValue(this.value || null, this.value)\n : this.setFormValue(this.maskedValue || null, this.maskedValue);\n this.updateValidity();\n this.setInvalidState();\n }\n\n @watch('prompt')\n protected promptChange() {\n this.parser.prompt = this.prompt;\n if (this.value) {\n this.maskedValue = this.parser.apply(this._value);\n }\n }\n\n protected async updateInput(string: string, range: MaskRange) {\n const { value, end } = this.parser.replace(\n this.maskedValue,\n string,\n range.start,\n range.end\n );\n\n this.maskedValue = value;\n this._value = this.parser.parse(value);\n\n this.updateFormValue();\n this.requestUpdate();\n\n if (range.start !== this.mask.length) {\n this.emitEvent('igcInput', { detail: this.value });\n }\n await this.updateComplete;\n\n this.input.setSelectionRange(end, end);\n }\n\n protected handleDragEnter() {\n if (!this.focused && !this._value) {\n this.maskedValue = this.emptyMask;\n }\n }\n\n protected handleDragLeave() {\n if (!this.focused) {\n this.updateMaskedValue();\n }\n }\n\n protected async handleFocus() {\n this.focused = true;\n\n if (this.readOnly) {\n return;\n }\n\n if (!this._value) {\n // In case of empty value, select the whole mask\n this.maskedValue = this.emptyMask;\n\n await this.updateComplete;\n this.select();\n }\n }\n\n protected handleBlur() {\n this.focused = false;\n this.updateMaskedValue();\n this.invalid = !this.checkValidity();\n }\n\n protected handleChange() {\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected updateMaskedValue() {\n if (this.maskedValue === this.emptyMask) {\n this.maskedValue = '';\n }\n }\n\n protected override _updateSetRangeTextValue() {\n this.value = this.parser.parse(this.maskedValue);\n }\n\n protected override renderInput() {\n return html`\n <input\n type=\"text\"\n part=${partNameMap(this.resolvePartNames('input'))}\n name=${ifDefined(this.name)}\n .value=${live(this.maskedValue)}\n .placeholder=${live(this.placeholder ?? this.parser.escapedMask)}\n ?readonly=${this.readOnly}\n ?disabled=${this.disabled}\n @dragenter=${this.handleDragEnter}\n @dragleave=${this.handleDragLeave}\n @dragstart=${this.handleDragStart}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @cut=${this.handleCut}\n @change=${this.handleChange}\n @click=${this.handleClick}\n @compositionstart=${this.handleCompositionStart}\n @compositionend=${this.handleCompositionEnd}\n @input=${this.handleInput}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n @keydown=${this.handleKeydown}\n />\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-mask-input': IgcMaskInputComponent;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import messages from '../common/localization/validation-en.js';
|
|
2
|
+
import { requiredValidator } from '../common/validators.js';
|
|
3
|
+
export const maskValidators = [
|
|
4
|
+
requiredValidator,
|
|
5
|
+
{
|
|
6
|
+
key: 'badInput',
|
|
7
|
+
message: messages.mask,
|
|
8
|
+
isValid: ({ parser, maskedValue }) => parser.isValidString(maskedValue),
|
|
9
|
+
},
|
|
10
|
+
];
|
|
11
|
+
//# sourceMappingURL=validators.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../../../src/components/mask-input/validators.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,yCAAyC,CAAC;AAC/D,OAAO,EAAkB,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5E,MAAM,CAAC,MAAM,cAAc,GAAuC;IAChE,iBAAiB;IACjB;QACE,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,QAAQ,CAAC,IAAI;QAEtB,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC;KACxE;CACF,CAAC","sourcesContent":["import messages from '../common/localization/validation-en.js';\nimport { type Validator, requiredValidator } from '../common/validators.js';\nimport type IgcMaskInputComponent from './mask-input.js';\n\nexport const maskValidators: Validator<IgcMaskInputComponent>[] = [\n requiredValidator,\n {\n key: 'badInput',\n message: messages.mask,\n // @ts-expect-error - protected access\n isValid: ({ parser, maskedValue }) => parser.isValidString(maskedValue),\n },\n];\n"]}
|
|
@@ -28,11 +28,7 @@ export default class IgcNavDrawerItemComponent extends LitElement {
|
|
|
28
28
|
private _textLength;
|
|
29
29
|
private _text;
|
|
30
30
|
protected navdrawerIcon: Array<Node>;
|
|
31
|
-
|
|
32
|
-
protected resolvePartNames(base: string): {
|
|
33
|
-
[x: string]: boolean;
|
|
34
|
-
mini: boolean;
|
|
35
|
-
};
|
|
31
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
36
32
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
37
33
|
}
|
|
38
34
|
declare global {
|
|
@@ -22,21 +22,20 @@ let IgcNavDrawerItemComponent = IgcNavDrawerItemComponent_1 = class IgcNavDrawer
|
|
|
22
22
|
static register() {
|
|
23
23
|
registerComponent(IgcNavDrawerItemComponent_1);
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
super.
|
|
27
|
-
|
|
25
|
+
createRenderRoot() {
|
|
26
|
+
const root = super.createRenderRoot();
|
|
27
|
+
root.addEventListener('slotchange', () => {
|
|
28
28
|
this._textLength = this._text.length;
|
|
29
29
|
});
|
|
30
|
-
|
|
31
|
-
resolvePartNames(base) {
|
|
32
|
-
return {
|
|
33
|
-
[base]: true,
|
|
34
|
-
mini: this._textLength < 1,
|
|
35
|
-
};
|
|
30
|
+
return root;
|
|
36
31
|
}
|
|
37
32
|
render() {
|
|
33
|
+
const parts = partNameMap({
|
|
34
|
+
base: true,
|
|
35
|
+
mini: this._textLength < 1,
|
|
36
|
+
});
|
|
38
37
|
return html `
|
|
39
|
-
<div part
|
|
38
|
+
<div part=${parts}>
|
|
40
39
|
<span part="icon" .hidden="${this.navdrawerIcon.length === 0}">
|
|
41
40
|
<slot name="icon"></slot>
|
|
42
41
|
</span>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav-drawer-item.js","sourceRoot":"","sources":["../../../src/components/nav-drawer/nav-drawer-item.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAe5D,IAAM,yBAAyB,iCAA/B,MAAM,yBAA0B,SAAQ,UAAU;IAAlD;;QAcN,aAAQ,GAAG,KAAK,CAAC;QAOjB,WAAM,GAAG,KAAK,CAAC;IAqCxB,CAAC;IArDQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,2BAAyB,CAAC,CAAC;IAC/C,CAAC;
|
|
1
|
+
{"version":3,"file":"nav-drawer-item.js","sourceRoot":"","sources":["../../../src/components/nav-drawer/nav-drawer-item.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EACL,QAAQ,EACR,qBAAqB,EACrB,kBAAkB,EAClB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,yCAAyC,CAAC;AAe5D,IAAM,yBAAyB,iCAA/B,MAAM,yBAA0B,SAAQ,UAAU;IAAlD;;QAcN,aAAQ,GAAG,KAAK,CAAC;QAOjB,WAAM,GAAG,KAAK,CAAC;IAqCxB,CAAC;IArDQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,2BAAyB,CAAC,CAAC;IAC/C,CAAC;IAyBkB,gBAAgB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,MAAM;QACvB,MAAM,KAAK,GAAG,WAAW,CAAC;YACxB,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,IAAI,CAAC,WAAW,GAAG,CAAC;SAC3B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAA;kBACG,KAAK;qCACc,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;;;;;;;KAO/D,CAAC;IACJ,CAAC;;AAxDsB,iCAAO,GAAG,qBAAqB,AAAxB,CAAyB;AAChC,gCAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAY1C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2DACnB;AAOjB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDACrB;AAGd;IADP,KAAK,EAAE;8DACqB;AAGrB;IADP,qBAAqB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;wDACR;AAGzB;IADT,kBAAkB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gEACd;AA9BnB,yBAAyB;IAD7C,MAAM,CAAC,GAAG,CAAC;GACS,yBAAyB,CA0D7C;eA1DoB,yBAAyB","sourcesContent":["import { LitElement, html } from 'lit';\nimport {\n property,\n queryAssignedElements,\n queryAssignedNodes,\n state,\n} from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport { styles } from './themes/item.base.css.js';\nimport { all } from './themes/item.js';\nimport { styles as shared } from './themes/shared/item/item.common.css.js';\n\n/**\n * Represents a navigation drawer item.\n *\n * @element igc-nav-drawer-item\n *\n * @slot content - The content slot for the drawer item.\n * @slot icon - The slot for the icon of the drawer item.\n *\n * @csspart base - The base wrapper of the drawer item.\n * @csspart icon - The icon container.\n * @csspart content - The content container.\n */\n@themes(all)\nexport default class IgcNavDrawerItemComponent extends LitElement {\n public static readonly tagName = 'igc-nav-drawer-item';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcNavDrawerItemComponent);\n }\n\n /**\n * Determines whether the drawer is disabled.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Determines whether the drawer is active.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public active = false;\n\n @state()\n private _textLength!: number;\n\n @queryAssignedElements({ slot: 'content' })\n private _text!: Array<HTMLElement>;\n\n @queryAssignedNodes({ slot: 'icon', flatten: true })\n protected navdrawerIcon!: Array<Node>;\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => {\n this._textLength = this._text.length;\n });\n\n return root;\n }\n\n protected override render() {\n const parts = partNameMap({\n base: true,\n mini: this._textLength < 1,\n });\n\n return html`\n <div part=${parts}>\n <span part=\"icon\" .hidden=\"${this.navdrawerIcon.length === 0}\">\n <slot name=\"icon\"></slot>\n </span>\n <span part=\"content\">\n <slot name=\"content\"></slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-nav-drawer-item': IgcNavDrawerItemComponent;\n }\n}\n"]}
|
|
@@ -28,12 +28,13 @@ export default class IgcNavDrawerComponent extends LitElement {
|
|
|
28
28
|
*/
|
|
29
29
|
open: boolean;
|
|
30
30
|
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
31
|
+
private _waitTransitions;
|
|
31
32
|
/** Opens the drawer. */
|
|
32
|
-
show():
|
|
33
|
+
show(): Promise<boolean>;
|
|
33
34
|
/** Closes the drawer. */
|
|
34
|
-
hide():
|
|
35
|
+
hide(): Promise<boolean>;
|
|
35
36
|
/** Toggles the open state of the drawer. */
|
|
36
|
-
toggle():
|
|
37
|
+
toggle(): Promise<boolean>;
|
|
37
38
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
38
39
|
}
|
|
39
40
|
declare global {
|
|
@@ -29,20 +29,31 @@ let IgcNavDrawerComponent = IgcNavDrawerComponent_1 = class IgcNavDrawerComponen
|
|
|
29
29
|
root.addEventListener('slotchange', () => this.requestUpdate());
|
|
30
30
|
return root;
|
|
31
31
|
}
|
|
32
|
-
|
|
32
|
+
_waitTransitions() {
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
this.renderRoot.addEventListener('transitionend', resolve, {
|
|
35
|
+
once: true,
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async show() {
|
|
33
40
|
if (this.open) {
|
|
34
|
-
return;
|
|
41
|
+
return false;
|
|
35
42
|
}
|
|
36
43
|
this.open = true;
|
|
44
|
+
await this._waitTransitions();
|
|
45
|
+
return true;
|
|
37
46
|
}
|
|
38
|
-
hide() {
|
|
47
|
+
async hide() {
|
|
39
48
|
if (!this.open) {
|
|
40
|
-
return;
|
|
49
|
+
return false;
|
|
41
50
|
}
|
|
42
51
|
this.open = false;
|
|
52
|
+
await this._waitTransitions();
|
|
53
|
+
return true;
|
|
43
54
|
}
|
|
44
|
-
toggle() {
|
|
45
|
-
this.open ? this.hide() : this.show();
|
|
55
|
+
async toggle() {
|
|
56
|
+
return this.open ? this.hide() : this.show();
|
|
46
57
|
}
|
|
47
58
|
render() {
|
|
48
59
|
const parts = partNameMap({
|
|
@@ -52,7 +63,7 @@ let IgcNavDrawerComponent = IgcNavDrawerComponent_1 = class IgcNavDrawerComponen
|
|
|
52
63
|
return html `
|
|
53
64
|
<div part="overlay" @click=${this.hide}></div>
|
|
54
65
|
|
|
55
|
-
<div part="base">
|
|
66
|
+
<div part="base" .inert=${!this.open}>
|
|
56
67
|
<div part="main">
|
|
57
68
|
<slot></slot>
|
|
58
69
|
</div>
|