igniteui-webcomponents 6.0.1 → 6.1.1-alpha.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 +32 -0
- package/components/accordion/accordion.js +3 -3
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +8 -10
- package/components/avatar/avatar.js +26 -26
- package/components/avatar/avatar.js.map +1 -1
- package/components/badge/badge.d.ts +3 -4
- package/components/badge/badge.js +13 -13
- package/components/badge/badge.js.map +1 -1
- package/components/banner/banner.d.ts +2 -3
- package/components/banner/banner.js +8 -4
- package/components/banner/banner.js.map +1 -1
- package/components/button/button-base.d.ts +8 -16
- package/components/button/button-base.js +27 -42
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.d.ts +2 -2
- package/components/button/icon-button.js +1 -1
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/light/button.shared.css.js +1 -1
- package/components/button/themes/button/light/button.shared.css.js.map +1 -1
- package/components/button-group/button-group.js +2 -2
- package/components/button-group/button-group.js.map +1 -1
- package/components/button-group/toggle-button.d.ts +2 -8
- package/components/button-group/toggle-button.js +8 -12
- package/components/button-group/toggle-button.js.map +1 -1
- package/components/calendar/calendar.d.ts +1 -1
- package/components/calendar/calendar.js +13 -10
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +1 -1
- package/components/calendar/days-view/days-view.js +10 -11
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.d.ts +12 -1
- package/components/calendar/helpers.js +35 -10
- package/components/calendar/helpers.js.map +1 -1
- package/components/calendar/model.d.ts +15 -1
- package/components/calendar/model.js +26 -5
- package/components/calendar/model.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +1 -1
- package/components/calendar/months-view/months-view.js +10 -10
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/years-view/years-view.d.ts +1 -1
- package/components/calendar/years-view/years-view.js +10 -10
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/card.actions.js +1 -1
- package/components/card/card.actions.js.map +1 -1
- package/components/card/card.content.js +1 -1
- package/components/card/card.content.js.map +1 -1
- package/components/card/card.header.js +1 -1
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.js +1 -1
- package/components/card/card.js.map +1 -1
- package/components/card/card.media.js +1 -1
- package/components/card/card.media.js.map +1 -1
- package/components/carousel/carousel-indicator-container.d.ts +2 -2
- package/components/carousel/carousel-indicator-container.js +9 -10
- package/components/carousel/carousel-indicator-container.js.map +1 -1
- package/components/carousel/carousel-indicator.d.ts +5 -7
- package/components/carousel/carousel-indicator.js +19 -19
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +2 -3
- package/components/carousel/carousel-slide.js +17 -11
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +6 -8
- package/components/carousel/carousel.js +36 -28
- package/components/carousel/carousel.js.map +1 -1
- package/components/chat/chat-input.d.ts +41 -0
- package/components/chat/chat-input.js +254 -0
- package/components/chat/chat-input.js.map +1 -0
- package/components/chat/chat-message-list.d.ts +24 -0
- package/components/chat/chat-message-list.js +88 -0
- package/components/chat/chat-message-list.js.map +1 -0
- package/components/chat/chat-message.d.ts +21 -0
- package/components/chat/chat-message.js +52 -0
- package/components/chat/chat-message.js.map +1 -0
- package/components/chat/chat.d.ts +41 -0
- package/components/chat/chat.js +98 -0
- package/components/chat/chat.js.map +1 -0
- package/components/chat/markdown-util.d.ts +2 -0
- package/components/chat/markdown-util.js +22 -0
- package/components/chat/markdown-util.js.map +1 -0
- package/components/chat/message-attachments.d.ts +28 -0
- package/components/chat/message-attachments.js +168 -0
- package/components/chat/message-attachments.js.map +1 -0
- package/components/chat/themes/chat.base.css.d.ts +1 -0
- package/components/chat/themes/chat.base.css.js +3 -0
- package/components/chat/themes/chat.base.css.js.map +1 -0
- package/components/chat/themes/input.base.css.d.ts +1 -0
- package/components/chat/themes/input.base.css.js +3 -0
- package/components/chat/themes/input.base.css.js.map +1 -0
- package/components/chat/themes/message-attachments.base.css.d.ts +1 -0
- package/components/chat/themes/message-attachments.base.css.js +3 -0
- package/components/chat/themes/message-attachments.base.css.js.map +1 -0
- package/components/chat/themes/message-list.base.css.d.ts +1 -0
- package/components/chat/themes/message-list.base.css.js +3 -0
- package/components/chat/themes/message-list.base.css.js.map +1 -0
- package/components/chat/themes/message.base.css.d.ts +1 -0
- package/components/chat/themes/message.base.css.js +3 -0
- package/components/chat/themes/message.base.css.js.map +1 -0
- package/components/chat/types.d.ts +46 -0
- package/components/chat/types.js +8 -0
- package/components/chat/types.js.map +1 -0
- package/components/checkbox/checkbox-base.d.ts +8 -10
- package/components/checkbox/checkbox-base.js +20 -23
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.d.ts +3 -3
- package/components/checkbox/checkbox.js +19 -20
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +2 -2
- package/components/checkbox/switch.js +16 -20
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/validators.js.map +1 -1
- package/components/chip/chip.js +4 -4
- package/components/chip/chip.js.map +1 -1
- package/components/combo/combo-header.js +1 -1
- package/components/combo/combo-header.js.map +1 -1
- package/components/combo/combo-item.d.ts +4 -6
- package/components/combo/combo-item.js +20 -18
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +3 -3
- package/components/combo/combo.js +25 -24
- package/components/combo/combo.js.map +1 -1
- package/components/combo/themes/combo.base.css.js +1 -1
- package/components/combo/themes/combo.base.css.js.map +1 -1
- package/components/combo/themes/shared/combo.fluent.css.js +1 -1
- package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
- package/components/common/abort-handler.d.ts +39 -0
- package/components/common/abort-handler.js +19 -0
- package/components/common/abort-handler.js.map +1 -0
- package/components/common/context.d.ts +5 -1
- package/components/common/context.js +2 -1
- package/components/common/context.js.map +1 -1
- package/components/common/controllers/drag.d.ts +3 -2
- package/components/common/controllers/drag.js +7 -6
- package/components/common/controllers/drag.js.map +1 -1
- package/components/common/controllers/focus-ring.d.ts +22 -11
- package/components/common/controllers/focus-ring.js +17 -14
- package/components/common/controllers/focus-ring.js.map +1 -1
- package/components/common/controllers/gestures.d.ts +6 -2
- package/components/common/controllers/gestures.js +15 -11
- package/components/common/controllers/gestures.js.map +1 -1
- package/components/common/controllers/internals.d.ts +33 -0
- package/components/common/controllers/internals.js +25 -0
- package/components/common/controllers/internals.js.map +1 -0
- package/components/common/controllers/key-bindings.d.ts +41 -33
- package/components/common/controllers/key-bindings.js +85 -71
- package/components/common/controllers/key-bindings.js.map +1 -1
- package/components/common/controllers/mutation-observer.d.ts +25 -15
- package/components/common/controllers/mutation-observer.js +23 -12
- package/components/common/controllers/mutation-observer.js.map +1 -1
- package/components/common/controllers/resize-observer.js.map +1 -1
- package/components/common/controllers/root-click.d.ts +58 -13
- package/components/common/controllers/root-click.js +47 -35
- package/components/common/controllers/root-click.js.map +1 -1
- package/components/common/decorators/shadow-options.d.ts +10 -0
- package/components/common/decorators/shadow-options.js +10 -0
- package/components/common/decorators/shadow-options.js.map +1 -0
- package/components/common/definitions/defineAllComponents.js +16 -12
- package/components/common/definitions/defineAllComponents.js.map +1 -1
- package/components/common/i18n/date-range-picker.resources.d.ts +11 -0
- package/components/common/i18n/date-range-picker.resources.js +12 -0
- package/components/common/i18n/date-range-picker.resources.js.map +1 -0
- package/components/common/mixins/alert.d.ts +1 -2
- package/components/common/mixins/alert.js +13 -9
- package/components/common/mixins/alert.js.map +1 -1
- package/components/common/mixins/combo-box.d.ts +2 -1
- package/components/common/mixins/combo-box.js +8 -4
- package/components/common/mixins/combo-box.js.map +1 -1
- package/components/common/mixins/forms/associated.js +2 -2
- package/components/common/mixins/forms/associated.js.map +1 -1
- package/components/common/mixins/forms/form-value.d.ts +15 -1
- package/components/common/mixins/forms/form-value.js +25 -4
- package/components/common/mixins/forms/form-value.js.map +1 -1
- package/components/common/mixins/option.d.ts +3 -3
- package/components/common/mixins/option.js +13 -11
- package/components/common/mixins/option.js.map +1 -1
- package/components/common/part-map.d.ts +17 -0
- package/components/common/part-map.js +46 -0
- package/components/common/part-map.js.map +1 -0
- package/components/common/util.d.ts +14 -6
- package/components/common/util.js +26 -23
- package/components/common/util.js.map +1 -1
- package/components/common/validators.js +3 -7
- package/components/common/validators.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +4 -9
- package/components/date-picker/date-picker.js +24 -24
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
- package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
- package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
- package/components/date-picker/themes/shared/date-picker.material.css.d.ts +1 -0
- package/components/date-picker/themes/shared/date-picker.material.css.js +3 -0
- package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -0
- package/components/date-picker/themes/themes.js +3 -2
- package/components/date-picker/themes/themes.js.map +1 -1
- package/components/date-picker/validators.js.map +1 -1
- package/components/date-range-picker/date-range-picker.base.css.d.ts +1 -0
- package/components/date-range-picker/date-range-picker.base.css.js +3 -0
- package/components/date-range-picker/date-range-picker.base.css.js.map +1 -0
- package/components/date-range-picker/date-range-picker.d.ts +360 -0
- package/components/date-range-picker/date-range-picker.js +811 -0
- package/components/date-range-picker/date-range-picker.js.map +1 -0
- package/components/date-range-picker/predefined-ranges-area.base.css.d.ts +1 -0
- package/components/date-range-picker/predefined-ranges-area.base.css.js +3 -0
- package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -0
- package/components/date-range-picker/predefined-ranges-area.d.ts +36 -0
- package/components/date-range-picker/predefined-ranges-area.js +115 -0
- package/components/date-range-picker/predefined-ranges-area.js.map +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.d.ts +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +3 -0
- package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.d.ts +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +3 -0
- package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.d.ts +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +3 -0
- package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.d.ts +1 -0
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +3 -0
- package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.d.ts +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +3 -0
- package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.fluent.css.d.ts +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +3 -0
- package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.indigo.css.d.ts +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +3 -0
- package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.material.css.d.ts +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.material.css.js +3 -0
- package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.shared.css.d.ts +1 -0
- package/components/date-range-picker/themes/light/date-range-picker.shared.css.js +3 -0
- package/components/date-range-picker/themes/light/date-range-picker.shared.css.js.map +1 -0
- package/components/date-range-picker/themes/ranges-themes.d.ts +2 -0
- package/components/date-range-picker/themes/ranges-themes.js +14 -0
- package/components/date-range-picker/themes/ranges-themes.js.map +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +3 -0
- package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +3 -0
- package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +3 -0
- package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +3 -0
- package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.material.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +3 -0
- package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js +3 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js.map +1 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.d.ts +1 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js +3 -0
- package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js.map +1 -0
- package/components/date-range-picker/themes/themes.d.ts +2 -0
- package/components/date-range-picker/themes/themes.js +50 -0
- package/components/date-range-picker/themes/themes.js.map +1 -0
- package/components/date-range-picker/validators.d.ts +26 -0
- package/components/date-range-picker/validators.js +57 -0
- package/components/date-range-picker/validators.js.map +1 -0
- package/components/date-time-input/date-time-input.d.ts +2 -2
- package/components/date-time-input/date-time-input.js +7 -9
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/date-util.d.ts +7 -0
- package/components/date-time-input/date-util.js +11 -0
- package/components/date-time-input/date-util.js.map +1 -1
- package/components/date-time-input/validators.js.map +1 -1
- package/components/dialog/dialog.js +12 -11
- 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.indigo.css.js +1 -1
- package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
- package/components/divider/divider.d.ts +5 -3
- package/components/divider/divider.js +17 -15
- package/components/divider/divider.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +0 -1
- package/components/dropdown/dropdown-group.js +7 -3
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.js +1 -1
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +2 -1
- package/components/dropdown/dropdown.js +5 -2
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/expansion-panel/expansion-panel.js +1 -1
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/file-input/file-input.d.ts +11 -5
- package/components/file-input/file-input.js +23 -19
- package/components/file-input/file-input.js.map +1 -1
- package/components/file-input/themes/file-input.base.css.js +1 -1
- package/components/file-input/themes/file-input.base.css.js.map +1 -1
- package/components/file-input/validators.js.map +1 -1
- package/components/focus-trap/focus-trap.js +4 -4
- package/components/focus-trap/focus-trap.js.map +1 -1
- package/components/icon/icon.d.ts +1 -1
- package/components/icon/icon.js +7 -5
- package/components/icon/icon.js.map +1 -1
- package/components/input/input-base.d.ts +1 -8
- package/components/input/input-base.js +9 -10
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +2 -3
- package/components/input/input.js +10 -9
- package/components/input/input.js.map +1 -1
- package/components/input/themes/dark/input.bootstrap.css.js +1 -1
- package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/dark/input.indigo.css.js +1 -1
- package/components/input/themes/dark/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.bootstrap.css.js +1 -1
- package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/light/input.indigo.css.js +1 -1
- package/components/input/themes/light/input.indigo.css.js.map +1 -1
- package/components/input/themes/light/input.shared.css.js +1 -1
- package/components/input/themes/light/input.shared.css.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.common.css.js +1 -1
- package/components/input/themes/shared/input.common.css.js.map +1 -1
- package/components/input/themes/shared/input.fluent.css.js +1 -1
- package/components/input/themes/shared/input.fluent.css.js.map +1 -1
- package/components/input/themes/shared/input.indigo.css.js +1 -1
- package/components/input/themes/shared/input.indigo.css.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/input/validators.js.map +1 -1
- package/components/list/list-header.d.ts +0 -1
- package/components/list/list-header.js +5 -3
- package/components/list/list-header.js.map +1 -1
- package/components/list/list-item.d.ts +0 -1
- package/components/list/list-item.js +7 -3
- package/components/list/list-item.js.map +1 -1
- package/components/list/list.d.ts +0 -1
- package/components/list/list.js +7 -3
- package/components/list/list.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +2 -3
- package/components/mask-input/mask-input.js +13 -12
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/mask-parser.d.ts +100 -14
- package/components/mask-input/mask-parser.js +134 -117
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/mask-input/validators.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.js +1 -1
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.js +3 -7
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.js +6 -7
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/navbar/navbar.js +1 -1
- package/components/navbar/navbar.js.map +1 -1
- package/components/popover/popover.js +1 -1
- package/components/popover/popover.js.map +1 -1
- package/components/progress/base.d.ts +1 -2
- package/components/progress/base.js +34 -31
- package/components/progress/base.js.map +1 -1
- package/components/progress/circular-progress.js +7 -15
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.js +5 -5
- package/components/progress/linear-progress.js.map +1 -1
- package/components/radio/radio.d.ts +11 -12
- package/components/radio/radio.js +40 -45
- package/components/radio/radio.js.map +1 -1
- package/components/radio/utils.js +6 -3
- package/components/radio/utils.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +1 -1
- package/components/radio-group/radio-group.js +9 -8
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating-symbol.js +1 -1
- package/components/rating/rating-symbol.js.map +1 -1
- package/components/rating/rating.d.ts +2 -2
- package/components/rating/rating.js +5 -5
- package/components/rating/rating.js.map +1 -1
- package/components/resize-container/resize-container.js +5 -5
- package/components/resize-container/resize-container.js.map +1 -1
- package/components/resize-container/resize-controller.d.ts +3 -2
- package/components/resize-container/resize-controller.js +6 -4
- package/components/resize-container/resize-controller.js.map +1 -1
- package/components/ripple/ripple.js +3 -2
- package/components/ripple/ripple.js.map +1 -1
- package/components/select/select-group.d.ts +1 -1
- package/components/select/select-group.js +9 -5
- package/components/select/select-group.js.map +1 -1
- package/components/select/select-header.js +1 -1
- package/components/select/select-header.js.map +1 -1
- package/components/select/select.d.ts +3 -2
- package/components/select/select.js +19 -15
- package/components/select/select.js.map +1 -1
- package/components/select/themes/shared/select.fluent.css.js +1 -1
- package/components/select/themes/shared/select.fluent.css.js.map +1 -1
- package/components/select/validators.js.map +1 -1
- package/components/slider/range-slider.js +1 -1
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.js +7 -7
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider-label.js +1 -1
- package/components/slider/slider-label.js.map +1 -1
- package/components/slider/slider.d.ts +2 -3
- package/components/slider/slider.js +7 -7
- package/components/slider/slider.js.map +1 -1
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/stepper/step.js +4 -4
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/stepper.js +1 -1
- package/components/stepper/stepper.js.map +1 -1
- package/components/tabs/tab.js +2 -2
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.js +12 -10
- package/components/tabs/tabs.js.map +1 -1
- package/components/textarea/textarea.d.ts +3 -9
- package/components/textarea/textarea.js +13 -14
- package/components/textarea/textarea.js.map +1 -1
- package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/light/textarea.shared.css.js +1 -1
- package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
- package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
- package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
- package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js +1 -1
- package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
- package/components/textarea/themes/textarea.base.css.js +1 -1
- package/components/textarea/themes/textarea.base.css.js.map +1 -1
- package/components/textarea/validators.js.map +1 -1
- package/components/tile-manager/position.d.ts +1 -1
- package/components/tile-manager/position.js.map +1 -1
- package/components/tile-manager/themes/container.js.map +1 -1
- package/components/tile-manager/tile-manager.d.ts +0 -1
- package/components/tile-manager/tile-manager.js +9 -10
- package/components/tile-manager/tile-manager.js.map +1 -1
- package/components/tile-manager/tile.js +7 -6
- package/components/tile-manager/tile.js.map +1 -1
- package/components/tooltip/controller.d.ts +2 -4
- package/components/tooltip/controller.js +11 -20
- package/components/tooltip/controller.js.map +1 -1
- package/components/tooltip/themes/themes.js +1 -1
- package/components/tooltip/themes/themes.js.map +1 -1
- package/components/tooltip/tooltip.d.ts +24 -10
- package/components/tooltip/tooltip.js +56 -49
- package/components/tooltip/tooltip.js.map +1 -1
- package/components/tree/tree-item.d.ts +1 -0
- package/components/tree/tree-item.js +28 -26
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.d.ts +1 -1
- package/components/tree/tree.js +4 -3
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.navigation.d.ts +1 -1
- package/components/tree/tree.navigation.js.map +1 -1
- package/components/tree/tree.selection.d.ts +1 -1
- package/components/tree/tree.selection.js.map +1 -1
- package/components/validation-container/themes/themes.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +1 -1
- package/components/validation-container/validation-container.js +5 -12
- package/components/validation-container/validation-container.js.map +1 -1
- package/custom-elements.json +31449 -26970
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +11 -1
- package/index.js +6 -0
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/theming/theming-controller.d.ts +1 -1
- package/theming/theming-controller.js +1 -1
- package/theming/theming-controller.js.map +1 -1
- package/web-types.json +2 -2
|
@@ -5,8 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var IgcListHeaderComponent_1;
|
|
8
|
-
import {
|
|
8
|
+
import { html, LitElement } from 'lit';
|
|
9
9
|
import { themes } from '../../theming/theming-decorator.js';
|
|
10
|
+
import { addInternalsController } from '../common/controllers/internals.js';
|
|
10
11
|
import { registerComponent } from '../common/definitions/register.js';
|
|
11
12
|
import { styles } from './themes/header.base.css.js';
|
|
12
13
|
import { all } from './themes/header.js';
|
|
@@ -17,8 +18,9 @@ let IgcListHeaderComponent = IgcListHeaderComponent_1 = class IgcListHeaderCompo
|
|
|
17
18
|
}
|
|
18
19
|
constructor() {
|
|
19
20
|
super();
|
|
20
|
-
this
|
|
21
|
-
|
|
21
|
+
addInternalsController(this, {
|
|
22
|
+
initialARIA: { role: 'separator' },
|
|
23
|
+
});
|
|
22
24
|
}
|
|
23
25
|
render() {
|
|
24
26
|
return html `<slot></slot>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-header.js","sourceRoot":"","sources":["../../../src/components/list/list-header.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-header.js","sourceRoot":"","sources":["../../../src/components/list/list-header.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,kDAAkD,CAAC;AAUrE,IAAM,sBAAsB,8BAA5B,MAAM,sBAAuB,SAAQ,UAAU;IAKrD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAsB,CAAC,CAAC;IAC5C,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAER,sBAAsB,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE;SACnC,CAAC,CAAC;IACL,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAlBsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAC5B,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CAoB1C;eApBoB,sBAAsB","sourcesContent":["import { html, LitElement } from 'lit';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/header.base.css.js';\nimport { all } from './themes/header.js';\nimport { styles as shared } from './themes/shared/header/list-header.common.css.js';\n\n/**\n * Header list item.\n *\n * @element igc-list-header\n *\n * @slot - Renders header list item's content.\n */\n@themes(all)\nexport default class IgcListHeaderComponent extends LitElement {\n public static readonly tagName = 'igc-list-header';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcListHeaderComponent);\n }\n\n constructor() {\n super();\n\n addInternalsController(this, {\n initialARIA: { role: 'separator' },\n });\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-list-header': IgcListHeaderComponent;\n }\n}\n"]}
|
|
@@ -5,9 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var IgcListItemComponent_1;
|
|
8
|
-
import {
|
|
8
|
+
import { html, LitElement } from 'lit';
|
|
9
9
|
import { property } from 'lit/decorators.js';
|
|
10
10
|
import { themes } from '../../theming/theming-decorator.js';
|
|
11
|
+
import { addInternalsController } from '../common/controllers/internals.js';
|
|
11
12
|
import { registerComponent } from '../common/definitions/register.js';
|
|
12
13
|
import { styles } from './themes/item.base.css.js';
|
|
13
14
|
import { all } from './themes/item.js';
|
|
@@ -19,8 +20,11 @@ let IgcListItemComponent = IgcListItemComponent_1 = class IgcListItemComponent e
|
|
|
19
20
|
constructor() {
|
|
20
21
|
super();
|
|
21
22
|
this.selected = false;
|
|
22
|
-
this
|
|
23
|
-
|
|
23
|
+
addInternalsController(this, {
|
|
24
|
+
initialARIA: {
|
|
25
|
+
role: 'listitem',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
24
28
|
}
|
|
25
29
|
render() {
|
|
26
30
|
return html `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-item.js","sourceRoot":"","sources":["../../../src/components/list/list-item.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-item.js","sourceRoot":"","sources":["../../../src/components/list/list-item.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAsBjE,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,UAAU;IAKnD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,sBAAoB,CAAC,CAAC;IAC1C,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QAHH,aAAQ,GAAG,KAAK,CAAC;QAKtB,sBAAsB,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE;gBACX,IAAI,EAAE,UAAU;aACjB;SACF,CAAC,CAAC;IACL,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;;;;;;;;KAcV,CAAC;IACJ,CAAC;;AAzCsB,4BAAO,GAAG,eAAe,AAAlB,CAAmB;AAC1B,2BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAY1C;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDACnB;AAdL,oBAAoB;IADxC,MAAM,CAAC,GAAG,CAAC;GACS,oBAAoB,CA2CxC;eA3CoB,oBAAoB","sourcesContent":["import { html, LitElement } from 'lit';\n\nimport { property } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/item.base.css.js';\nimport { all } from './themes/item.js';\nimport { styles as shared } from './themes/shared/item/list-item.common.css.js';\n\n/**\n * The list-item component is a container\n * intended for row items in the list component.\n *\n * @element igc-list-item\n *\n * @slot - Renders custom content.\n * @slot start - Renders content before all other content.\n * @slot end - Renders content after all other content.\n * @slot title - Renders the title.\n * @slot subtitle - Renders the subtitle.\n *\n * @csspart start - The start container.\n * @csspart end - The end container.\n * @csspart content - The header and custom content container.\n * @csspart header - The title and subtitle container.\n * @csspart title - The title container.\n * @csspart subtitle - The subtitle container.\n */\n@themes(all)\nexport default class IgcListItemComponent extends LitElement {\n public static readonly tagName = 'igc-list-item';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcListItemComponent);\n }\n\n /**\n * Defines if the list item is selected or not.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public selected = false;\n\n constructor() {\n super();\n\n addInternalsController(this, {\n initialARIA: {\n role: 'listitem',\n },\n });\n }\n\n protected override render() {\n return html`\n <section part=\"start\">\n <slot name=\"start\"></slot>\n </section>\n <section part=\"content\">\n <header part=\"header\">\n <slot part=\"title\" name=\"title\"></slot>\n <slot part=\"subtitle\" name=\"subtitle\"></slot>\n </header>\n <slot></slot>\n </section>\n <section part=\"end\">\n <slot name=\"end\"></slot>\n </section>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-list-item': IgcListItemComponent;\n }\n}\n"]}
|
|
@@ -10,7 +10,6 @@ export default class IgcListComponent extends LitElement {
|
|
|
10
10
|
static readonly tagName = "igc-list";
|
|
11
11
|
static styles: import("lit").CSSResult[];
|
|
12
12
|
static register(): void;
|
|
13
|
-
private _internals;
|
|
14
13
|
constructor();
|
|
15
14
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
16
15
|
}
|
package/components/list/list.js
CHANGED
|
@@ -5,8 +5,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
var IgcListComponent_1;
|
|
8
|
-
import {
|
|
8
|
+
import { html, LitElement } from 'lit';
|
|
9
9
|
import { themes } from '../../theming/theming-decorator.js';
|
|
10
|
+
import { addInternalsController } from '../common/controllers/internals.js';
|
|
10
11
|
import { registerComponent } from '../common/definitions/register.js';
|
|
11
12
|
import IgcListHeaderComponent from './list-header.js';
|
|
12
13
|
import IgcListItemComponent from './list-item.js';
|
|
@@ -19,8 +20,11 @@ let IgcListComponent = IgcListComponent_1 = class IgcListComponent extends LitEl
|
|
|
19
20
|
}
|
|
20
21
|
constructor() {
|
|
21
22
|
super();
|
|
22
|
-
this
|
|
23
|
-
|
|
23
|
+
addInternalsController(this, {
|
|
24
|
+
initialARIA: {
|
|
25
|
+
role: 'list',
|
|
26
|
+
},
|
|
27
|
+
});
|
|
24
28
|
}
|
|
25
29
|
render() {
|
|
26
30
|
return html `<slot></slot>`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/components/list/list.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/components/list/list.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,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;AAC5C,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,8CAA8C,CAAC;AAUjE,IAAM,gBAAgB,wBAAtB,MAAM,gBAAiB,SAAQ,UAAU;IAK/C,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CACf,kBAAgB,EAChB,oBAAoB,EACpB,sBAAsB,CACvB,CAAC;IACJ,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QAER,sBAAsB,CAAC,IAAI,EAAE;YAC3B,WAAW,EAAE;gBACX,IAAI,EAAE,MAAM;aACb;SACF,CAAC,CAAC;IACL,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA,eAAe,CAAC;IAC7B,CAAC;;AAxBsB,wBAAO,GAAG,UAAU,AAAb,CAAc;AACrB,uBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,gBAAgB;IADpC,MAAM,CAAC,GAAG,CAAC;GACS,gBAAgB,CA0BpC;eA1BoB,gBAAgB","sourcesContent":["import { html, LitElement } from 'lit';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addInternalsController } from '../common/controllers/internals.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';\nimport { styles as shared } from './themes/shared/container/list.common.css.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, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcListComponent,\n IgcListItemComponent,\n IgcListHeaderComponent\n );\n }\n\n constructor() {\n super();\n\n addInternalsController(this, {\n initialARIA: {\n role: 'list',\n },\n });\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,4 +1,4 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type FormValueOf } from '../common/mixins/forms/form-value.js';
|
|
2
2
|
import type { MaskInputValueMode } from '../types.js';
|
|
3
3
|
import { IgcMaskInputBaseComponent, type MaskRange } from './mask-input-base.js';
|
|
4
4
|
/**
|
|
@@ -29,7 +29,7 @@ export default class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
29
29
|
static readonly tagName = "igc-mask-input";
|
|
30
30
|
static register(): void;
|
|
31
31
|
protected get __validators(): import("../common/validators.js").Validator<IgcMaskInputComponent>[];
|
|
32
|
-
protected _formValue:
|
|
32
|
+
protected readonly _formValue: FormValueOf<string>;
|
|
33
33
|
protected get _isRawMode(): boolean;
|
|
34
34
|
/**
|
|
35
35
|
* Dictates the behavior when retrieving the value of the control:
|
|
@@ -54,7 +54,6 @@ export default class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
54
54
|
get mask(): string;
|
|
55
55
|
/** The mask pattern to apply on the input. */
|
|
56
56
|
set mask(value: string);
|
|
57
|
-
constructor();
|
|
58
57
|
protected promptChange(): void;
|
|
59
58
|
protected _restoreDefaultValue(): void;
|
|
60
59
|
protected updateInput(string: string, range: MaskRange): Promise<void>;
|
|
@@ -11,11 +11,22 @@ import { live } from 'lit/directives/live.js';
|
|
|
11
11
|
import { watch } from '../common/decorators/watch.js';
|
|
12
12
|
import { registerComponent } from '../common/definitions/register.js';
|
|
13
13
|
import { createFormValueState, } from '../common/mixins/forms/form-value.js';
|
|
14
|
-
import {
|
|
14
|
+
import { partMap } from '../common/part-map.js';
|
|
15
|
+
import { isEmpty } from '../common/util.js';
|
|
15
16
|
import IgcValidationContainerComponent from '../validation-container/validation-container.js';
|
|
16
17
|
import { IgcMaskInputBaseComponent, } from './mask-input-base.js';
|
|
17
18
|
import { maskValidators } from './validators.js';
|
|
18
19
|
class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
20
|
+
constructor() {
|
|
21
|
+
super(...arguments);
|
|
22
|
+
this._formValue = createFormValueState(this, {
|
|
23
|
+
initialValue: '',
|
|
24
|
+
transformers: {
|
|
25
|
+
setFormValue: (value) => this._isRawMode ? value || null : this.maskedValue || null,
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
this.valueMode = 'raw';
|
|
29
|
+
}
|
|
19
30
|
static register() {
|
|
20
31
|
registerComponent(IgcMaskInputComponent, IgcValidationContainerComponent);
|
|
21
32
|
}
|
|
@@ -49,16 +60,6 @@ class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
49
60
|
this.maskedValue = this.parser.apply(this._formValue.value);
|
|
50
61
|
}
|
|
51
62
|
}
|
|
52
|
-
constructor() {
|
|
53
|
-
super();
|
|
54
|
-
this.valueMode = 'raw';
|
|
55
|
-
this._formValue = createFormValueState(this, {
|
|
56
|
-
initialValue: '',
|
|
57
|
-
transformers: {
|
|
58
|
-
setFormValue: (value) => this._isRawMode ? value || null : this.maskedValue || null,
|
|
59
|
-
},
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
63
|
promptChange() {
|
|
63
64
|
this.parser.prompt = this.prompt;
|
|
64
65
|
if (this.value) {
|
|
@@ -125,7 +126,7 @@ class IgcMaskInputComponent extends IgcMaskInputBaseComponent {
|
|
|
125
126
|
return html `
|
|
126
127
|
<input
|
|
127
128
|
type="text"
|
|
128
|
-
part=${
|
|
129
|
+
part=${partMap(this.resolvePartNames('input'))}
|
|
129
130
|
name=${ifDefined(this.name)}
|
|
130
131
|
.value=${live(this.maskedValue)}
|
|
131
132
|
.placeholder=${live(this.placeholder ?? this.parser.escapedMask)}
|
|
@@ -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, nothing } 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 {\n type FormValue,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport { isEmpty, partNameMap } from '../common/util.js';\nimport type { MaskInputValueMode } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.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 * @slot value-missing - Renders content when the required validation fails.\n * @slot bad-input - Renders content when a required mask pattern 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 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, IgcValidationContainerComponent);\n }\n\n protected override get __validators() {\n return maskValidators;\n }\n\n protected override _formValue: FormValue<string>;\n\n protected get _isRawMode() {\n return this.valueMode === 'raw';\n }\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: MaskInputValueMode = '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 const value = this._formValue.value;\n\n if (this._isRawMode) {\n return value;\n }\n return value ? this.maskedValue : value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n @property()\n public set value(string: string) {\n const value = string ?? '';\n this.maskedValue = this.parser.apply(value);\n this.updateMaskedValue();\n this._formValue.setValueAndFormState(value);\n this._validate();\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._formValue.value);\n }\n }\n\n constructor() {\n super();\n\n this._formValue = createFormValueState(this, {\n initialValue: '',\n transformers: {\n setFormValue: (value) =>\n this._isRawMode ? value || null : this.maskedValue || null,\n },\n });\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._formValue.value);\n }\n }\n\n protected override _restoreDefaultValue(): void {\n const value = this.defaultValue as string;\n\n this.maskedValue = this.parser.apply(value);\n this.updateMaskedValue();\n this._formValue.setValueAndFormState(value);\n this._updateValidity();\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._formValue.setValueAndFormState(this.parser.parse(value));\n this._validate();\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._formValue.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._formValue.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-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\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, nothing } 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 {\n createFormValueState,\n type FormValueOf,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport type { MaskInputValueMode } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.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 * @slot value-missing - Renders content when the required validation fails.\n * @slot bad-input - Renders content when a required mask pattern 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 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, IgcValidationContainerComponent);\n }\n\n protected override get __validators() {\n return maskValidators;\n }\n\n protected override readonly _formValue: FormValueOf<string> =\n createFormValueState(this, {\n initialValue: '',\n transformers: {\n setFormValue: (value) =>\n this._isRawMode ? value || null : this.maskedValue || null,\n },\n });\n\n protected get _isRawMode() {\n return this.valueMode === 'raw';\n }\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: MaskInputValueMode = '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 const value = this._formValue.value;\n\n if (this._isRawMode) {\n return value;\n }\n return value ? this.maskedValue : value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n @property()\n public set value(string: string) {\n const value = string ?? '';\n this.maskedValue = this.parser.apply(value);\n this.updateMaskedValue();\n this._formValue.setValueAndFormState(value);\n this._validate();\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._formValue.value);\n }\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._formValue.value);\n }\n }\n\n protected override _restoreDefaultValue(): void {\n const value = this.defaultValue as string;\n\n this.maskedValue = this.parser.apply(value);\n this.updateMaskedValue();\n this._formValue.setValueAndFormState(value);\n this._updateValidity();\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._formValue.setValueAndFormState(this.parser.parse(value));\n this._validate();\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._formValue.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._formValue.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=${partMap(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-describedby=${ifDefined(\n isEmpty(this._helperText) ? nothing : 'helper-text'\n )}\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,32 +1,118 @@
|
|
|
1
|
+
/** Options for the {@link MaskParser} */
|
|
1
2
|
interface MaskOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The mask format string (e.g., '00/00/0000' for dates, 'AAA-000' for custom IDs).
|
|
5
|
+
*
|
|
6
|
+
* Supported flags: a, A, C, L, 0, 9, #, &, ?.
|
|
7
|
+
*
|
|
8
|
+
* Use `'\'` to escape a flag character if it should be treated as a literal.
|
|
9
|
+
* @default 'CCCCCCCCCC'
|
|
10
|
+
*/
|
|
2
11
|
format: string;
|
|
12
|
+
/**
|
|
13
|
+
* The character used to prompt for input in unfilled mask positions.
|
|
14
|
+
* Must be a single character.
|
|
15
|
+
* @default '_'
|
|
16
|
+
*/
|
|
3
17
|
promptCharacter: string;
|
|
4
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Result type for the replace operation, containing the new masked value and the
|
|
21
|
+
* ideal cursor position.
|
|
22
|
+
*/
|
|
23
|
+
type MaskReplaceResult = {
|
|
24
|
+
value: string;
|
|
25
|
+
end: number;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* A class for parsing and applying masks to strings, typically for input fields.
|
|
29
|
+
* It handles mask definitions, literals, character validation, and cursor positioning.
|
|
30
|
+
*/
|
|
5
31
|
export declare class MaskParser {
|
|
6
|
-
protected
|
|
7
|
-
|
|
8
|
-
protected
|
|
32
|
+
protected readonly _options: MaskOptions;
|
|
33
|
+
/** Stores literal characters and their original positions in the mask (e.g., '(', ')', '-'). */
|
|
34
|
+
protected readonly _literals: Map<number, string>;
|
|
35
|
+
/** A Set of positions where literals occur in the `_escapedMask`. */
|
|
36
|
+
protected _literalPositions: Set<number>;
|
|
37
|
+
/** The mask format after processing escape characters */
|
|
9
38
|
protected _escapedMask: string;
|
|
10
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Returns a set of the all the literal positions in the mask.
|
|
41
|
+
* These positions are fixed characters that are not part of the input.
|
|
42
|
+
*/
|
|
43
|
+
get literalPositions(): Set<number>;
|
|
44
|
+
/**
|
|
45
|
+
* Returns the escaped mask string.
|
|
46
|
+
* This is the mask after processing any escape sequences.
|
|
47
|
+
*/
|
|
11
48
|
get escapedMask(): string;
|
|
49
|
+
/**
|
|
50
|
+
* Gets the unescaped mask string (the original format string).
|
|
51
|
+
* If the mask has no escape sequences, then `mask === escapedMask`.
|
|
52
|
+
*/
|
|
12
53
|
get mask(): string;
|
|
54
|
+
/**
|
|
55
|
+
* Sets the mask of the parser.
|
|
56
|
+
* When the mask is set, it triggers a re-parsing of the mask literals and escaped mask.
|
|
57
|
+
*/
|
|
13
58
|
set mask(value: string);
|
|
59
|
+
/**
|
|
60
|
+
* Gets the prompt character used for unfilled mask positions.
|
|
61
|
+
*/
|
|
14
62
|
get prompt(): string;
|
|
63
|
+
/**
|
|
64
|
+
* Sets the prompt character. Only the first character of the provided string is used.
|
|
65
|
+
*/
|
|
15
66
|
set prompt(value: string);
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
protected
|
|
67
|
+
constructor(options?: MaskOptions);
|
|
68
|
+
/**
|
|
69
|
+
* Parses the mask format string to identify literal characters and
|
|
70
|
+
* create the escaped mask. This method is called whenever the mask format changes.
|
|
71
|
+
*/
|
|
72
|
+
protected _parseMaskLiterals(): void;
|
|
73
|
+
/**
|
|
74
|
+
* Gets an array of positions in the escaped mask that correspond to
|
|
75
|
+
* required input flags (e.g., '0', 'L') and are not literal characters.
|
|
76
|
+
*
|
|
77
|
+
* These positions must be filled for the masked string to be valid.
|
|
78
|
+
*/
|
|
79
|
+
protected _getRequiredNonLiteralPositions(): number[];
|
|
80
|
+
/**
|
|
81
|
+
* Finds the closest non-literal position in the mask *before* the given start position.
|
|
82
|
+
* Useful for backward navigation (e.g., backspace).
|
|
83
|
+
*
|
|
84
|
+
* @remarks
|
|
85
|
+
* If no non-literal is found before `start`, return `start`.
|
|
86
|
+
*/
|
|
22
87
|
getPreviousNonLiteralPosition(start: number): number;
|
|
88
|
+
/**
|
|
89
|
+
* Finds the closest non-literal position in the mask *after* the given start position.
|
|
90
|
+
* Useful for forward navigation (e.g., arrow keys, delete key or initial cursor placement).
|
|
91
|
+
*
|
|
92
|
+
* @remarks
|
|
93
|
+
* If no non-literal is found after `start`, return `start`.
|
|
94
|
+
*/
|
|
23
95
|
getNextNonLiteralPosition(start: number): number;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
96
|
+
/**
|
|
97
|
+
* Replaces a segment of the masked string with new input, simulating typing or pasting.
|
|
98
|
+
* It handles clearing the selected range and inserting new characters according to the mask.
|
|
99
|
+
*/
|
|
100
|
+
replace(maskString: string, value: string, start: number, end: number): MaskReplaceResult;
|
|
101
|
+
/**
|
|
102
|
+
* Parses the masked string, extracting only the valid input characters.
|
|
103
|
+
* This effectively "unmasks" the string, removing prompts and literals.
|
|
104
|
+
*/
|
|
28
105
|
parse(masked?: string): string;
|
|
106
|
+
/**
|
|
107
|
+
* Checks if the masked string is valid, specifically if all required mask positions are filled
|
|
108
|
+
* with valid, non-prompt characters.
|
|
109
|
+
*/
|
|
29
110
|
isValidString(input?: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Applies the mask format to an input string. This attempts to fit the input
|
|
113
|
+
* into the mask from left to right, filling valid positions and skipping invalid
|
|
114
|
+
* input characters.
|
|
115
|
+
*/
|
|
30
116
|
apply(input?: string): string;
|
|
31
117
|
}
|
|
32
118
|
export {};
|