igniteui-webcomponents 7.2.3 → 7.3.0-beta.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 +156 -0
- package/animations/player.d.ts +4 -11
- package/animations/player.js +4 -10
- package/animations/player.js.map +1 -1
- package/animations/view-transition.d.ts +44 -0
- package/animations/view-transition.js +81 -0
- package/animations/view-transition.js.map +1 -0
- package/components/accordion/accordion.d.ts +1 -1
- package/components/accordion/accordion.js +7 -6
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.js +10 -10
- package/components/avatar/avatar.js.map +1 -1
- package/components/avatar/themes/themes.d.ts +1 -1
- package/components/avatar/themes/themes.js.map +1 -1
- package/components/badge/badge.d.ts +1 -1
- package/components/badge/badge.js +5 -5
- package/components/badge/badge.js.map +1 -1
- package/components/badge/themes/themes.d.ts +1 -1
- package/components/badge/themes/themes.js.map +1 -1
- package/components/banner/banner.d.ts +2 -2
- package/components/banner/banner.js +8 -8
- package/components/banner/banner.js.map +1 -1
- package/components/banner/themes/themes.d.ts +1 -1
- package/components/banner/themes/themes.js.map +1 -1
- package/components/button/button-base.d.ts +2 -2
- package/components/button/button-base.js +15 -12
- package/components/button/button-base.js.map +1 -1
- package/components/button/button.d.ts +3 -3
- package/components/button/button.js +2 -2
- package/components/button/button.js.map +1 -1
- package/components/button/icon-button.js +12 -12
- package/components/button/icon-button.js.map +1 -1
- package/components/button/themes/button/themes.d.ts +1 -1
- package/components/button/themes/button/themes.js.map +1 -1
- package/components/button/themes/icon-button/themes.d.ts +1 -1
- package/components/button/themes/icon-button/themes.js.map +1 -1
- package/components/button-group/button-group.d.ts +42 -21
- package/components/button-group/button-group.js +101 -106
- package/components/button-group/button-group.js.map +1 -1
- package/components/button-group/themes/button.d.ts +1 -1
- package/components/button-group/themes/button.js.map +1 -1
- package/components/button-group/themes/group.d.ts +1 -1
- package/components/button-group/themes/group.js.map +1 -1
- package/components/button-group/toggle-button.d.ts +17 -10
- package/components/button-group/toggle-button.js +28 -13
- package/components/button-group/toggle-button.js.map +1 -1
- package/components/calendar/base.d.ts +29 -10
- package/components/calendar/base.js +12 -15
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.d.ts +39 -8
- package/components/calendar/calendar.js +96 -85
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +49 -22
- package/components/calendar/days-view/days-view.js +102 -163
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/calendar/helpers.d.ts +3 -62
- package/components/calendar/helpers.js +6 -110
- package/components/calendar/helpers.js.map +1 -1
- package/components/calendar/months-view/months-view.d.ts +7 -21
- package/components/calendar/months-view/months-view.js +30 -83
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/calendar/selection.d.ts +21 -0
- package/components/calendar/selection.js +42 -0
- package/components/calendar/selection.js.map +1 -0
- package/components/calendar/themes/calendar.d.ts +1 -1
- package/components/calendar/themes/calendar.js.map +1 -1
- package/components/calendar/themes/days.d.ts +1 -1
- package/components/calendar/themes/days.js.map +1 -1
- package/components/calendar/themes/year-month.d.ts +1 -1
- package/components/calendar/themes/year-month.js.map +1 -1
- package/components/calendar/types.d.ts +18 -0
- package/components/calendar/types.js.map +1 -1
- package/components/calendar/year-month-view.base.d.ts +44 -0
- package/components/calendar/year-month-view.base.js +89 -0
- package/components/calendar/year-month-view.base.js.map +1 -0
- package/components/calendar/years-view/years-view.d.ts +7 -20
- package/components/calendar/years-view/years-view.js +25 -79
- package/components/calendar/years-view/years-view.js.map +1 -1
- package/components/card/card.actions.js +2 -2
- package/components/card/card.actions.js.map +1 -1
- package/components/card/card.content.d.ts +1 -1
- package/components/card/card.content.js +2 -2
- package/components/card/card.content.js.map +1 -1
- package/components/card/card.d.ts +1 -1
- package/components/card/card.header.js +2 -2
- package/components/card/card.header.js.map +1 -1
- package/components/card/card.js +2 -2
- package/components/card/card.js.map +1 -1
- package/components/card/card.media.d.ts +1 -1
- package/components/card/card.media.js +1 -1
- package/components/card/card.media.js.map +1 -1
- package/components/card/themes/actions.d.ts +1 -1
- package/components/card/themes/actions.js.map +1 -1
- package/components/card/themes/container.d.ts +1 -1
- package/components/card/themes/container.js.map +1 -1
- package/components/card/themes/content.d.ts +1 -1
- package/components/card/themes/content.js.map +1 -1
- package/components/card/themes/header.d.ts +1 -1
- package/components/card/themes/header.js.map +1 -1
- package/components/carousel/animations.d.ts +1 -1
- package/components/carousel/animations.js +2 -2
- package/components/carousel/animations.js.map +1 -1
- package/components/carousel/carousel-indicator-container.js +4 -4
- package/components/carousel/carousel-indicator-container.js.map +1 -1
- package/components/carousel/carousel-indicator.d.ts +1 -1
- package/components/carousel/carousel-indicator.js +5 -5
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +1 -1
- package/components/carousel/carousel-slide.js +9 -9
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +7 -7
- package/components/carousel/carousel.js +40 -30
- package/components/carousel/carousel.js.map +1 -1
- package/components/carousel/themes/container.d.ts +1 -1
- package/components/carousel/themes/container.js.map +1 -1
- package/components/carousel/themes/indicator-container.d.ts +1 -1
- package/components/carousel/themes/indicator-container.js.map +1 -1
- package/components/chat/chat-input.d.ts +4 -4
- package/components/chat/chat-input.js +13 -12
- package/components/chat/chat-input.js.map +1 -1
- package/components/chat/chat-message.d.ts +1 -1
- package/components/chat/chat-message.js +7 -6
- package/components/chat/chat-message.js.map +1 -1
- package/components/chat/chat-state.d.ts +2 -2
- package/components/chat/chat-state.js +2 -1
- package/components/chat/chat-state.js.map +1 -1
- package/components/chat/chat.d.ts +4 -4
- package/components/chat/chat.js +13 -13
- package/components/chat/chat.js.map +1 -1
- package/components/chat/message-attachments.js +5 -5
- package/components/chat/message-attachments.js.map +1 -1
- package/components/chat/themes/attachments.d.ts +1 -1
- package/components/chat/themes/attachments.js.map +1 -1
- package/components/chat/themes/input.d.ts +1 -1
- package/components/chat/themes/input.js.map +1 -1
- package/components/chat/themes/message.d.ts +1 -1
- package/components/chat/themes/message.js.map +1 -1
- package/components/chat/themes/themes.d.ts +1 -1
- package/components/chat/themes/themes.js.map +1 -1
- package/components/chat/types.d.ts +2 -2
- package/components/chat/types.js.map +1 -1
- package/components/chat/utils.d.ts +1 -1
- package/components/chat/utils.js +3 -3
- package/components/chat/utils.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +7 -7
- package/components/checkbox/checkbox-base.js +7 -7
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.js +7 -6
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.js +7 -6
- package/components/checkbox/switch.js.map +1 -1
- package/components/checkbox/themes/checkbox-themes.d.ts +1 -1
- package/components/checkbox/themes/checkbox-themes.js.map +1 -1
- package/components/checkbox/themes/switch-themes.d.ts +1 -1
- package/components/checkbox/themes/switch-themes.js.map +1 -1
- package/components/checkbox/validators.d.ts +1 -1
- package/components/checkbox/validators.js +1 -1
- package/components/checkbox/validators.js.map +1 -1
- package/components/chip/chip.d.ts +9 -3
- package/components/chip/chip.js +10 -6
- 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/dark/chip.bootstrap.css.js +1 -1
- package/components/chip/themes/dark/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/dark/chip.fluent.css.js +1 -1
- package/components/chip/themes/dark/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js +1 -1
- package/components/chip/themes/dark/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/dark/chip.material.css.js +1 -1
- package/components/chip/themes/dark/chip.material.css.js.map +1 -1
- package/components/chip/themes/light/chip.bootstrap.css.js +1 -1
- package/components/chip/themes/light/chip.bootstrap.css.js.map +1 -1
- package/components/chip/themes/light/chip.fluent.css.js +1 -1
- package/components/chip/themes/light/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/light/chip.indigo.css.js +1 -1
- package/components/chip/themes/light/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/light/chip.material.css.js +1 -1
- package/components/chip/themes/light/chip.material.css.js.map +1 -1
- package/components/chip/themes/light/chip.shared.css.js +1 -1
- package/components/chip/themes/light/chip.shared.css.js.map +1 -1
- package/components/chip/themes/shared/chip.bootstrap.css.js +1 -1
- package/components/chip/themes/shared/chip.bootstrap.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/chip/themes/shared/chip.fluent.css.js +1 -1
- package/components/chip/themes/shared/chip.fluent.css.js.map +1 -1
- package/components/chip/themes/shared/chip.indigo.css.js +1 -1
- package/components/chip/themes/shared/chip.indigo.css.js.map +1 -1
- package/components/chip/themes/themes.d.ts +1 -1
- package/components/chip/themes/themes.js.map +1 -1
- package/components/combo/combo-header.js +2 -2
- package/components/combo/combo-header.js.map +1 -1
- package/components/combo/combo-item.d.ts +0 -2
- package/components/combo/combo-item.js +4 -7
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +84 -26
- package/components/combo/combo.js +197 -152
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/data.d.ts +30 -3
- package/components/combo/controllers/data.js +34 -9
- package/components/combo/controllers/data.js.map +1 -1
- package/components/combo/controllers/navigation.d.ts +8 -2
- package/components/combo/controllers/navigation.js +11 -12
- package/components/combo/controllers/navigation.js.map +1 -1
- package/components/combo/operations/filter.d.ts +17 -1
- package/components/combo/operations/filter.js +29 -9
- package/components/combo/operations/filter.js.map +1 -1
- package/components/combo/operations/group.js +1 -1
- package/components/combo/operations/group.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/themes.d.ts +1 -1
- package/components/combo/themes/themes.js.map +1 -1
- package/components/combo/types.d.ts +8 -4
- package/components/combo/types.js.map +1 -1
- package/components/combo/validators.d.ts +1 -1
- package/components/combo/validators.js.map +1 -1
- package/components/date-picker/date-picker.base.d.ts +294 -0
- package/components/date-picker/date-picker.base.js +480 -0
- package/components/date-picker/date-picker.base.js.map +1 -0
- package/components/date-picker/date-picker.d.ts +52 -172
- package/components/date-picker/date-picker.js +88 -393
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-picker/themes/themes.d.ts +1 -1
- package/components/date-picker/themes/themes.js.map +1 -1
- package/components/date-picker/validators.d.ts +1 -1
- package/components/date-picker/validators.js +2 -2
- package/components/date-picker/validators.js.map +1 -1
- package/components/date-range-picker/date-range-input.d.ts +12 -14
- package/components/date-range-picker/date-range-input.js +42 -98
- package/components/date-range-picker/date-range-input.js.map +1 -1
- package/components/date-range-picker/date-range-mask-parser.d.ts +22 -34
- package/components/date-range-picker/date-range-mask-parser.js +38 -69
- package/components/date-range-picker/date-range-mask-parser.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +98 -191
- package/components/date-range-picker/date-range-picker.js +210 -530
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
- package/components/date-range-picker/predefined-ranges-area.js +5 -5
- package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
- package/components/date-range-picker/themes/ranges-themes.d.ts +1 -1
- package/components/date-range-picker/themes/ranges-themes.js.map +1 -1
- package/components/date-range-picker/themes/themes.d.ts +1 -1
- package/components/date-range-picker/themes/themes.js.map +1 -1
- package/components/date-range-picker/validators.d.ts +1 -1
- package/components/date-range-picker/validators.js +15 -22
- package/components/date-range-picker/validators.js.map +1 -1
- package/components/date-time-input/date-part.d.ts +18 -1
- package/components/date-time-input/date-part.js +10 -0
- package/components/date-time-input/date-part.js.map +1 -1
- package/components/date-time-input/date-time-input.base.d.ts +74 -12
- package/components/date-time-input/date-time-input.base.js +99 -27
- package/components/date-time-input/date-time-input.base.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +13 -23
- package/components/date-time-input/date-time-input.js +45 -65
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/datetime-mask-parser.d.ts +45 -109
- package/components/date-time-input/datetime-mask-parser.js +88 -139
- package/components/date-time-input/datetime-mask-parser.js.map +1 -1
- package/components/date-time-input/validators.d.ts +1 -1
- package/components/date-time-input/validators.js +2 -2
- package/components/date-time-input/validators.js.map +1 -1
- package/components/dialog/dialog.d.ts +2 -2
- package/components/dialog/dialog.js +21 -22
- package/components/dialog/dialog.js.map +1 -1
- package/components/dialog/themes/themes.d.ts +1 -1
- package/components/dialog/themes/themes.js.map +1 -1
- package/components/divider/divider.d.ts +2 -1
- package/components/divider/divider.js +3 -3
- package/components/divider/divider.js.map +1 -1
- package/components/divider/themes/themes.d.ts +1 -1
- package/components/divider/themes/themes.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +10 -3
- package/components/dropdown/dropdown-group.js +21 -5
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown-header.d.ts +2 -2
- package/components/dropdown/dropdown-header.js +7 -2
- package/components/dropdown/dropdown-header.js.map +1 -1
- package/components/dropdown/dropdown-item.d.ts +4 -4
- package/components/dropdown/dropdown-item.js +3 -3
- package/components/dropdown/dropdown-item.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +75 -32
- package/components/dropdown/dropdown.js +189 -110
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/dropdown/themes/container.d.ts +1 -1
- package/components/dropdown/themes/container.js.map +1 -1
- package/components/dropdown/themes/group.d.ts +1 -1
- package/components/dropdown/themes/group.js.map +1 -1
- package/components/dropdown/themes/header.d.ts +1 -1
- package/components/dropdown/themes/header.js.map +1 -1
- package/components/dropdown/themes/item.d.ts +1 -1
- package/components/dropdown/themes/item.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +14 -5
- package/components/expansion-panel/expansion-panel.js +10 -9
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/expansion-panel/themes/themes.d.ts +1 -1
- package/components/expansion-panel/themes/themes.js.map +1 -1
- package/components/file-input/file-input.d.ts +20 -12
- package/components/file-input/file-input.js +17 -12
- package/components/file-input/file-input.js.map +1 -1
- package/components/file-input/themes/themes.d.ts +1 -1
- package/components/file-input/themes/themes.js.map +1 -1
- package/components/file-input/validators.d.ts +1 -1
- package/components/file-input/validators.js +1 -1
- package/components/file-input/validators.js.map +1 -1
- package/components/focus-trap/focus-trap.js +3 -2
- package/components/focus-trap/focus-trap.js.map +1 -1
- package/components/highlight/highlight.js +2 -2
- package/components/highlight/highlight.js.map +1 -1
- package/components/highlight/service.d.ts +4 -1
- package/components/highlight/service.js +23 -7
- package/components/highlight/service.js.map +1 -1
- package/components/highlight/themes/themes.d.ts +1 -1
- package/components/highlight/themes/themes.js.map +1 -1
- package/components/icon/icon-references.d.ts +3 -2
- package/components/icon/icon-references.js +103 -491
- package/components/icon/icon-references.js.map +1 -1
- package/components/icon/icon-state.broadcast.d.ts +14 -17
- package/components/icon/icon-state.broadcast.js +19 -20
- package/components/icon/icon-state.broadcast.js.map +1 -1
- package/components/icon/icon.d.ts +14 -25
- package/components/icon/icon.js +37 -24
- package/components/icon/icon.js.map +1 -1
- package/components/icon/icon.registry.d.ts +69 -131
- package/components/icon/icon.registry.js +51 -53
- package/components/icon/icon.registry.js.map +1 -1
- package/components/icon/internal-icons-lib.js +2 -2
- package/components/icon/internal-icons-lib.js.map +1 -1
- package/components/icon/registry/parser.d.ts +15 -3
- package/components/icon/registry/parser.js +36 -11
- package/components/icon/registry/parser.js.map +1 -1
- package/components/icon/registry/types.d.ts +55 -11
- package/components/icon/registry/types.js.map +1 -1
- package/components/icon/themes/icon.base.css.js +1 -1
- package/components/icon/themes/icon.base.css.js.map +1 -1
- package/components/icon/themes/shared/icon.common.css.js +1 -1
- package/components/icon/themes/shared/icon.common.css.js.map +1 -1
- package/components/icon/themes/themes.d.ts +1 -1
- package/components/icon/themes/themes.js.map +1 -1
- package/components/input/input-base.d.ts +12 -12
- package/components/input/input-base.js +13 -15
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +15 -12
- package/components/input/input.js +8 -8
- package/components/input/input.js.map +1 -1
- package/components/input/themes/input.base.css.js +1 -1
- package/components/input/themes/input.base.css.js.map +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js +1 -1
- package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
- package/components/input/themes/shared/input.common.css.js +1 -1
- package/components/input/themes/shared/input.common.css.js.map +1 -1
- package/components/input/themes/shared/input.fluent.css.js +1 -1
- package/components/input/themes/shared/input.fluent.css.js.map +1 -1
- package/components/input/themes/shared/input.indigo.css.js +1 -1
- package/components/input/themes/shared/input.indigo.css.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/input/themes/themes.d.ts +1 -1
- package/components/input/themes/themes.js.map +1 -1
- package/components/input/validators.d.ts +1 -1
- package/components/input/validators.js +1 -1
- package/components/input/validators.js.map +1 -1
- package/components/list/list-header.js +3 -3
- package/components/list/list-header.js.map +1 -1
- package/components/list/list-item.js +3 -3
- package/components/list/list-item.js.map +1 -1
- package/components/list/list.js +3 -3
- package/components/list/list.js.map +1 -1
- package/components/list/themes/container.d.ts +1 -1
- package/components/list/themes/container.js.map +1 -1
- package/components/list/themes/header.d.ts +1 -1
- package/components/list/themes/header.js.map +1 -1
- package/components/list/themes/item.d.ts +1 -1
- package/components/list/themes/item.js.map +1 -1
- package/components/mask-input/mask-history.d.ts +99 -0
- package/components/mask-input/mask-history.js +95 -0
- package/components/mask-input/mask-history.js.map +1 -0
- package/components/mask-input/mask-input.d.ts +14 -9
- package/components/mask-input/mask-input.js +20 -23
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/mask-input/mask-parser.d.ts +20 -2
- package/components/mask-input/mask-parser.js +21 -13
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/mask-input/validators.d.ts +1 -1
- package/components/mask-input/validators.js +1 -1
- package/components/mask-input/validators.js.map +1 -1
- package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
- package/components/nav-drawer/nav-drawer-header-item.js +2 -2
- package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer-item.d.ts +2 -2
- package/components/nav-drawer/nav-drawer-item.js +4 -4
- package/components/nav-drawer/nav-drawer-item.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +3 -3
- package/components/nav-drawer/nav-drawer.js +11 -14
- 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/container.d.ts +1 -1
- package/components/nav-drawer/themes/container.js +2 -3
- package/components/nav-drawer/themes/container.js.map +1 -1
- package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js +1 -1
- package/components/nav-drawer/themes/dark/container/nav-drawer.shared.css.js.map +1 -1
- package/components/nav-drawer/themes/header-item.d.ts +1 -1
- package/components/nav-drawer/themes/header-item.js.map +1 -1
- package/components/nav-drawer/themes/item.d.ts +1 -1
- package/components/nav-drawer/themes/item.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.fluent.css.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js +1 -1
- package/components/nav-drawer/themes/light/container/nav-drawer.shared.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.bootstrap.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.indigo.css.js.map +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js +1 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.material.css.js.map +1 -1
- package/components/navbar/navbar.js +2 -2
- package/components/navbar/navbar.js.map +1 -1
- package/components/navbar/themes/themes.d.ts +1 -1
- package/components/navbar/themes/themes.js.map +1 -1
- package/components/popover/popover.d.ts +10 -3
- package/components/popover/popover.js +114 -99
- package/components/popover/popover.js.map +1 -1
- package/components/progress/base.d.ts +1 -1
- package/components/progress/base.js +5 -4
- package/components/progress/base.js.map +1 -1
- package/components/progress/circular-gradient.d.ts +2 -2
- package/components/progress/circular-gradient.js +1 -1
- package/components/progress/circular-gradient.js.map +1 -1
- package/components/progress/circular-progress.d.ts +15 -15
- package/components/progress/circular-progress.js +7 -6
- package/components/progress/circular-progress.js.map +1 -1
- package/components/progress/linear-progress.d.ts +12 -12
- package/components/progress/linear-progress.js +4 -4
- package/components/progress/linear-progress.js.map +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js +1 -1
- package/components/progress/themes/circular/circular.progress.base.css.js.map +1 -1
- package/components/progress/themes/circular/themes.d.ts +1 -1
- package/components/progress/themes/circular/themes.js.map +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js +1 -1
- package/components/progress/themes/linear/linear.progress.base.css.js.map +1 -1
- package/components/progress/themes/linear/themes.d.ts +1 -1
- package/components/progress/themes/linear/themes.js.map +1 -1
- package/components/qr-code/model/encode.d.ts +20 -0
- package/components/qr-code/model/encode.js +166 -0
- package/components/qr-code/model/encode.js.map +1 -0
- package/components/qr-code/model/error-correction.d.ts +15 -0
- package/components/qr-code/model/error-correction.js +1114 -0
- package/components/qr-code/model/error-correction.js.map +1 -0
- package/components/qr-code/model/mask.d.ts +11 -0
- package/components/qr-code/model/mask.js +161 -0
- package/components/qr-code/model/mask.js.map +1 -0
- package/components/qr-code/model/matrix.d.ts +15 -0
- package/components/qr-code/model/matrix.js +277 -0
- package/components/qr-code/model/matrix.js.map +1 -0
- package/components/qr-code/qr-code.d.ts +134 -0
- package/components/qr-code/qr-code.js +221 -0
- package/components/qr-code/qr-code.js.map +1 -0
- package/components/qr-code/renderer/constants.d.ts +26 -0
- package/components/qr-code/renderer/constants.js +5 -0
- package/components/qr-code/renderer/constants.js.map +1 -0
- package/components/qr-code/renderer/corner.d.ts +23 -0
- package/components/qr-code/renderer/corner.js +25 -0
- package/components/qr-code/renderer/corner.js.map +1 -0
- package/components/qr-code/renderer/dots.d.ts +14 -0
- package/components/qr-code/renderer/dots.js +7 -0
- package/components/qr-code/renderer/dots.js.map +1 -0
- package/components/qr-code/renderer/helpers.d.ts +18 -0
- package/components/qr-code/renderer/helpers.js +158 -0
- package/components/qr-code/renderer/helpers.js.map +1 -0
- package/components/qr-code/renderer/image.d.ts +23 -0
- package/components/qr-code/renderer/image.js +29 -0
- package/components/qr-code/renderer/image.js.map +1 -0
- package/components/qr-code/themes/dark/qr-code.bootstrap.css.js +3 -0
- package/components/qr-code/themes/dark/qr-code.bootstrap.css.js.map +1 -0
- package/components/qr-code/themes/dark/qr-code.fluent.css.d.ts +1 -0
- package/components/qr-code/themes/dark/qr-code.fluent.css.js +3 -0
- package/components/qr-code/themes/dark/qr-code.fluent.css.js.map +1 -0
- package/components/qr-code/themes/dark/qr-code.indigo.css.d.ts +1 -0
- package/components/qr-code/themes/dark/qr-code.indigo.css.js +3 -0
- package/components/qr-code/themes/dark/qr-code.indigo.css.js.map +1 -0
- package/components/qr-code/themes/dark/qr-code.material.css.d.ts +1 -0
- package/components/qr-code/themes/dark/qr-code.material.css.js +3 -0
- package/components/qr-code/themes/dark/qr-code.material.css.js.map +1 -0
- package/components/qr-code/themes/light/qr-code.bootstrap.css.d.ts +1 -0
- package/components/qr-code/themes/light/qr-code.bootstrap.css.js +3 -0
- package/components/qr-code/themes/light/qr-code.bootstrap.css.js.map +1 -0
- package/components/qr-code/themes/light/qr-code.fluent.css.d.ts +1 -0
- package/components/qr-code/themes/light/qr-code.fluent.css.js +3 -0
- package/components/qr-code/themes/light/qr-code.fluent.css.js.map +1 -0
- package/components/qr-code/themes/light/qr-code.indigo.css.d.ts +1 -0
- package/components/qr-code/themes/light/qr-code.indigo.css.js +3 -0
- package/components/qr-code/themes/light/qr-code.indigo.css.js.map +1 -0
- package/components/qr-code/themes/light/qr-code.material.css.d.ts +1 -0
- package/components/qr-code/themes/light/qr-code.material.css.js +3 -0
- package/components/qr-code/themes/light/qr-code.material.css.js.map +1 -0
- package/components/qr-code/themes/light/qr-code.shared.css.d.ts +1 -0
- package/components/qr-code/themes/light/qr-code.shared.css.js +3 -0
- package/components/qr-code/themes/light/qr-code.shared.css.js.map +1 -0
- package/components/qr-code/themes/qr-code.base.css.d.ts +1 -0
- package/components/qr-code/themes/qr-code.base.css.js +3 -0
- package/components/qr-code/themes/qr-code.base.css.js.map +1 -0
- package/components/qr-code/themes/shared/qr-code.common.css.d.ts +1 -0
- package/components/qr-code/themes/shared/qr-code.common.css.js +3 -0
- package/components/qr-code/themes/shared/qr-code.common.css.js.map +1 -0
- package/components/qr-code/themes/themes.d.ts +2 -0
- package/components/qr-code/themes/themes.js +46 -0
- package/components/qr-code/themes/themes.js.map +1 -0
- package/components/qr-code/types.d.ts +16 -0
- package/components/qr-code/types.js +2 -0
- package/components/qr-code/types.js.map +1 -0
- package/components/radio/controller.d.ts +35 -0
- package/components/radio/controller.js +100 -0
- package/components/radio/controller.js.map +1 -0
- package/components/radio/radio.d.ts +26 -14
- package/components/radio/radio.js +47 -36
- package/components/radio/radio.js.map +1 -1
- package/components/radio/themes/themes.d.ts +1 -1
- package/components/radio/themes/themes.js.map +1 -1
- package/components/radio/validators.d.ts +1 -1
- package/components/radio/validators.js +5 -3
- package/components/radio/validators.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +19 -10
- package/components/radio-group/radio-group.js +50 -41
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/radio-group/themes/themes.d.ts +1 -1
- package/components/radio-group/themes/themes.js.map +1 -1
- package/components/rating/rating-symbol.d.ts +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 +6 -6
- package/components/rating/rating.js +12 -9
- package/components/rating/rating.js.map +1 -1
- package/components/rating/themes/themes.d.ts +1 -1
- package/components/rating/themes/themes.js.map +1 -1
- package/components/resize-container/resize-container.d.ts +4 -4
- package/components/resize-container/resize-container.js +4 -4
- package/components/resize-container/resize-container.js.map +1 -1
- package/components/resize-container/resize-controller.js +2 -2
- package/components/resize-container/resize-controller.js.map +1 -1
- package/components/resize-container/themes/themes.d.ts +1 -1
- package/components/resize-container/themes/themes.js.map +1 -1
- package/components/ripple/ripple.d.ts +1 -1
- package/components/ripple/ripple.js +3 -2
- package/components/ripple/ripple.js.map +1 -1
- package/components/select/select-group.d.ts +9 -2
- package/components/select/select-group.js +21 -5
- package/components/select/select-group.js.map +1 -1
- package/components/select/select-header.d.ts +1 -1
- package/components/select/select-header.js +7 -2
- package/components/select/select-header.js.map +1 -1
- package/components/select/select-item.d.ts +4 -4
- package/components/select/select-item.js +3 -3
- package/components/select/select-item.js.map +1 -1
- package/components/select/select.d.ts +49 -22
- package/components/select/select.js +132 -67
- 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/themes/themes.d.ts +1 -1
- package/components/select/themes/themes.js.map +1 -1
- package/components/select/validators.d.ts +1 -1
- package/components/select/validators.js +1 -1
- package/components/select/validators.js.map +1 -1
- package/components/slider/range-slider.d.ts +2 -2
- package/components/slider/range-slider.js +8 -8
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.js +18 -14
- 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 +3 -3
- package/components/slider/slider.js +6 -6
- package/components/slider/slider.js.map +1 -1
- package/components/slider/themes/themes.d.ts +1 -1
- package/components/slider/themes/themes.js.map +1 -1
- package/components/snackbar/snackbar.d.ts +3 -3
- package/components/snackbar/snackbar.js +8 -8
- package/components/snackbar/snackbar.js.map +1 -1
- package/components/snackbar/themes/themes.d.ts +1 -1
- package/components/snackbar/themes/themes.js.map +1 -1
- package/components/splitter/splitter.d.ts +106 -23
- package/components/splitter/splitter.js +234 -147
- package/components/splitter/splitter.js.map +1 -1
- package/components/splitter/themes/themes.d.ts +1 -1
- package/components/splitter/themes/themes.js.map +1 -1
- package/components/splitter/types.d.ts +14 -3
- package/components/splitter/types.js.map +1 -1
- package/components/stepper/common/animations.d.ts +1 -1
- package/components/stepper/common/animations.js +2 -2
- package/components/stepper/common/animations.js.map +1 -1
- package/components/stepper/step.d.ts +1 -1
- package/components/stepper/step.js +7 -7
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/stepper.d.ts +5 -5
- package/components/stepper/stepper.js +12 -9
- package/components/stepper/stepper.js.map +1 -1
- package/components/stepper/themes/step/themes.d.ts +1 -1
- package/components/stepper/themes/step/themes.js.map +1 -1
- package/components/tabs/tab-dom.d.ts +31 -28
- package/components/tabs/tab-dom.js +84 -34
- package/components/tabs/tab-dom.js.map +1 -1
- package/components/tabs/tab.d.ts +24 -6
- package/components/tabs/tab.js +34 -13
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.d.ts +36 -22
- package/components/tabs/tabs.js +118 -88
- package/components/tabs/tabs.js.map +1 -1
- package/components/tabs/themes/shared/tabs/tabs.indigo.css.js +1 -1
- package/components/tabs/themes/shared/tabs/tabs.indigo.css.js.map +1 -1
- package/components/tabs/themes/tab-themes.d.ts +1 -1
- package/components/tabs/themes/tab-themes.js.map +1 -1
- package/components/tabs/themes/tabs-themes.d.ts +1 -1
- package/components/tabs/themes/tabs-themes.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 +19 -14
- package/components/textarea/textarea.js +22 -16
- package/components/textarea/textarea.js.map +1 -1
- package/components/textarea/themes/themes.d.ts +1 -1
- package/components/textarea/themes/themes.js.map +1 -1
- package/components/textarea/validators.d.ts +1 -1
- package/components/textarea/validators.js +1 -1
- package/components/textarea/validators.js.map +1 -1
- package/components/theme-provider/theme-provider.d.ts +1 -1
- package/components/theme-provider/theme-provider.js +2 -2
- package/components/theme-provider/theme-provider.js.map +1 -1
- package/components/tile-manager/position.d.ts +1 -1
- package/components/tile-manager/position.js +2 -2
- package/components/tile-manager/position.js.map +1 -1
- package/components/tile-manager/resize-state.js +4 -3
- package/components/tile-manager/resize-state.js.map +1 -1
- package/components/tile-manager/themes/container.d.ts +1 -1
- package/components/tile-manager/themes/container.js.map +1 -1
- package/components/tile-manager/themes/tile.d.ts +1 -1
- package/components/tile-manager/themes/tile.js.map +1 -1
- package/components/tile-manager/tile-ghost-util.js +1 -1
- package/components/tile-manager/tile-ghost-util.js.map +1 -1
- package/components/tile-manager/tile-manager.d.ts +1 -1
- package/components/tile-manager/tile-manager.js +7 -7
- package/components/tile-manager/tile-manager.js.map +1 -1
- package/components/tile-manager/tile.d.ts +4 -4
- package/components/tile-manager/tile.js +29 -25
- package/components/tile-manager/tile.js.map +1 -1
- package/components/toast/themes/themes.d.ts +1 -1
- package/components/toast/themes/themes.js.map +1 -1
- package/components/toast/toast.d.ts +1 -1
- package/components/toast/toast.js +3 -3
- package/components/toast/toast.js.map +1 -1
- package/components/tooltip/controller.d.ts +18 -16
- package/components/tooltip/controller.js +62 -41
- package/components/tooltip/controller.js.map +1 -1
- package/components/tooltip/service.d.ts +2 -1
- package/components/tooltip/service.js +10 -15
- package/components/tooltip/service.js.map +1 -1
- package/components/tooltip/themes/shared/tooltip.common.css.js +1 -1
- package/components/tooltip/themes/shared/tooltip.common.css.js.map +1 -1
- package/components/tooltip/themes/shared/tooltip.indigo.css.js +1 -1
- package/components/tooltip/themes/shared/tooltip.indigo.css.js.map +1 -1
- package/components/tooltip/themes/themes.d.ts +1 -1
- package/components/tooltip/themes/themes.js.map +1 -1
- package/components/tooltip/themes/tooltip.base.css.js +1 -1
- package/components/tooltip/themes/tooltip.base.css.js.map +1 -1
- package/components/tooltip/tooltip.d.ts +64 -18
- package/components/tooltip/tooltip.js +112 -62
- package/components/tooltip/tooltip.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/container.d.ts +1 -1
- package/components/tree/themes/container.js.map +1 -1
- package/components/tree/themes/item.base.css.js +1 -1
- package/components/tree/themes/item.base.css.js.map +1 -1
- package/components/tree/themes/item.d.ts +1 -1
- package/components/tree/themes/item.js.map +1 -1
- package/components/tree/tree-item.d.ts +62 -36
- package/components/tree/tree-item.js +223 -233
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.common.d.ts +16 -1
- package/components/tree/tree.common.js +40 -1
- package/components/tree/tree.common.js.map +1 -1
- package/components/tree/tree.d.ts +21 -14
- package/components/tree/tree.js +64 -72
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.navigation.d.ts +39 -29
- package/components/tree/tree.navigation.js +140 -192
- package/components/tree/tree.navigation.js.map +1 -1
- package/components/tree/tree.selection.d.ts +32 -31
- package/components/tree/tree.selection.js +184 -178
- package/components/tree/tree.selection.js.map +1 -1
- package/components/types.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +33 -6
- package/components/validation-container/validation-container.js +81 -70
- package/components/validation-container/validation-container.js.map +1 -1
- package/components/virtualization/engine.d.ts +92 -0
- package/components/virtualization/engine.js +217 -0
- package/components/virtualization/engine.js.map +1 -0
- package/components/virtualization/types.d.ts +53 -0
- package/components/virtualization/types.js +14 -0
- package/components/virtualization/types.js.map +1 -0
- package/components/virtualization/virtualization.d.ts +235 -0
- package/components/virtualization/virtualization.js +474 -0
- package/components/virtualization/virtualization.js.map +1 -0
- package/components/visually-hidden/visually-hidden.js +1 -1
- package/components/visually-hidden/visually-hidden.js.map +1 -1
- package/custom-elements.json +57500 -47242
- package/extras/chat-markdown-renderer.d.ts +1 -1
- package/extras/chat-markdown-renderer.js.map +1 -1
- package/igniteui-webcomponents.css-data.json +2 -2
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +20 -15
- package/index.js +11 -9
- package/index.js.map +1 -1
- package/internals/abort-handler.js.map +1 -0
- package/internals/context.d.ts +39 -0
- package/{components/common → internals}/context.js +2 -1
- package/internals/context.js.map +1 -0
- package/internals/controllers/adopt-styles.d.ts +76 -0
- package/internals/controllers/adopt-styles.js +173 -0
- package/internals/controllers/adopt-styles.js.map +1 -0
- package/internals/controllers/aria-projection.d.ts +144 -0
- package/internals/controllers/aria-projection.js +138 -0
- package/internals/controllers/aria-projection.js.map +1 -0
- package/{components/common → internals}/controllers/async-consumer.js +8 -7
- package/internals/controllers/async-consumer.js.map +1 -0
- package/internals/controllers/command.js.map +1 -0
- package/{components/common → internals}/controllers/drag.js +3 -2
- package/internals/controllers/drag.js.map +1 -0
- package/{components/common → internals}/controllers/focus-ring.js +5 -2
- package/internals/controllers/focus-ring.js.map +1 -0
- package/{components/common → internals}/controllers/fullscreen.js +6 -3
- package/internals/controllers/fullscreen.js.map +1 -0
- package/{components/common → internals}/controllers/gestures.d.ts +1 -1
- package/{components/common → internals}/controllers/gestures.js +4 -4
- package/internals/controllers/gestures.js.map +1 -0
- package/{components/common → internals}/controllers/id-resolver.js +15 -21
- package/internals/controllers/id-resolver.js.map +1 -0
- package/{components/common → internals}/controllers/internals.d.ts +48 -3
- package/{components/common → internals}/controllers/internals.js +32 -0
- package/internals/controllers/internals.js.map +1 -0
- package/{components/common → internals}/controllers/key-bindings.d.ts +3 -6
- package/{components/common → internals}/controllers/key-bindings.js +43 -29
- package/internals/controllers/key-bindings.js.map +1 -0
- package/{components/common → internals}/controllers/mutation-observer.d.ts +5 -4
- package/internals/controllers/mutation-observer.js +74 -0
- package/internals/controllers/mutation-observer.js.map +1 -0
- package/{components/common → internals}/controllers/resize-observer.d.ts +11 -1
- package/{components/common → internals}/controllers/resize-observer.js +13 -2
- package/internals/controllers/resize-observer.js.map +1 -0
- package/{components/common → internals}/controllers/root-click.js +8 -13
- package/internals/controllers/root-click.js.map +1 -0
- package/{components/common → internals}/controllers/root-scroll.d.ts +11 -8
- package/internals/controllers/root-scroll.js +71 -0
- package/internals/controllers/root-scroll.js.map +1 -0
- package/{components/common → internals}/controllers/slot.d.ts +18 -2
- package/{components/common → internals}/controllers/slot.js +21 -6
- package/internals/controllers/slot.js.map +1 -0
- package/internals/date/compare.d.ts +2 -0
- package/internals/date/compare.js +23 -0
- package/internals/date/compare.js.map +1 -0
- package/internals/date/converters.d.ts +18 -0
- package/internals/date/converters.js +73 -0
- package/internals/date/converters.js.map +1 -0
- package/{components/calendar → internals/date}/model.d.ts +6 -3
- package/{components/calendar → internals/date}/model.js +23 -0
- package/internals/date/model.js.map +1 -0
- package/internals/decorators/blazorAdditionalDependencies.js.map +1 -0
- package/internals/decorators/blazorDeepImport.js.map +1 -0
- package/internals/decorators/blazorInclude.js.map +1 -0
- package/internals/decorators/blazorIndirectRender.js.map +1 -0
- package/internals/decorators/blazorSuppressComponent.js.map +1 -0
- package/internals/decorators/shadow-options.js.map +1 -0
- package/internals/decorators/watch.js.map +1 -0
- package/internals/definitions/defineAllComponents.js +153 -0
- package/internals/definitions/defineAllComponents.js.map +1 -0
- package/internals/definitions/defineComponents.js.map +1 -0
- package/internals/definitions/register.js.map +1 -0
- package/{components/common → internals}/i18n/EN/calendar.resources.js +1 -1
- package/internals/i18n/EN/calendar.resources.js.map +1 -0
- package/internals/i18n/EN/chat.resources.js.map +1 -0
- package/internals/i18n/EN/date-picker.resources.js.map +1 -0
- package/internals/i18n/EN/date-range-picker.resources.js.map +1 -0
- package/internals/i18n/i18n-controller.js.map +1 -0
- package/{components/common → internals}/i18n/utils.js +1 -1
- package/internals/i18n/utils.js.map +1 -0
- package/{components/common → internals}/mixins/alert.d.ts +2 -2
- package/{components/common → internals}/mixins/alert.js +3 -3
- package/internals/mixins/alert.js.map +1 -0
- package/{components/common → internals}/mixins/combo-box.d.ts +10 -2
- package/{components/common → internals}/mixins/combo-box.js +9 -4
- package/internals/mixins/combo-box.js.map +1 -0
- package/internals/mixins/constructor.js.map +1 -0
- package/internals/mixins/event-emitter.js.map +1 -0
- package/{components/common → internals}/mixins/forms/associated-required.js +10 -19
- package/internals/mixins/forms/associated-required.js.map +1 -0
- package/{components/common → internals}/mixins/forms/associated.d.ts +1 -1
- package/{components/common → internals}/mixins/forms/associated.js +66 -51
- package/internals/mixins/forms/associated.js.map +1 -0
- package/{components/common → internals}/mixins/forms/form-transformers.d.ts +1 -1
- package/{components/common → internals}/mixins/forms/form-transformers.js +2 -2
- package/internals/mixins/forms/form-transformers.js.map +1 -0
- package/internals/mixins/forms/form-value.js.map +1 -0
- package/{components/common → internals}/mixins/forms/types.d.ts +7 -7
- package/internals/mixins/forms/types.js.map +1 -0
- package/{components/common → internals}/mixins/mask-behavior.d.ts +11 -3
- package/{components/common → internals}/mixins/mask-behavior.js +117 -29
- package/internals/mixins/mask-behavior.js.map +1 -0
- package/{components/common → internals}/mixins/option.d.ts +0 -2
- package/{components/common → internals}/mixins/option.js +1 -4
- package/internals/mixins/option.js.map +1 -0
- package/internals/part-map.js.map +1 -0
- package/{components/common → internals}/templates/input-shell.d.ts +8 -1
- package/{components/common → internals}/templates/input-shell.js +14 -4
- package/internals/templates/input-shell.js.map +1 -0
- package/{components/common → internals}/templates/masked-input.d.ts +8 -2
- package/{components/common → internals}/templates/masked-input.js +5 -3
- package/internals/templates/masked-input.js.map +1 -0
- package/internals/utils/arrays.d.ts +53 -0
- package/internals/utils/arrays.js +31 -0
- package/internals/utils/arrays.js.map +1 -0
- package/internals/utils/dom.d.ts +92 -0
- package/internals/utils/dom.js +143 -0
- package/internals/utils/dom.js.map +1 -0
- package/internals/utils/events.d.ts +41 -0
- package/internals/utils/events.js +37 -0
- package/internals/utils/events.js.map +1 -0
- package/internals/utils/lit.d.ts +8 -0
- package/internals/utils/lit.js +15 -0
- package/internals/utils/lit.js.map +1 -0
- package/internals/utils/math.d.ts +50 -0
- package/internals/utils/math.js +38 -0
- package/internals/utils/math.js.map +1 -0
- package/internals/utils/objects.d.ts +25 -0
- package/internals/utils/objects.js +125 -0
- package/internals/utils/objects.js.map +1 -0
- package/internals/utils/strings.d.ts +44 -0
- package/internals/utils/strings.js +46 -0
- package/internals/utils/strings.js.map +1 -0
- package/internals/utils/types.d.ts +13 -0
- package/internals/utils/types.js +31 -0
- package/internals/utils/types.js.map +1 -0
- package/{components/common → internals}/validators.d.ts +1 -1
- package/{components/common → internals}/validators.js +4 -2
- package/internals/validators.js.map +1 -0
- package/package.json +15 -7
- package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +15 -1
- package/themes/dark/bootstrap.css +1 -1
- package/themes/dark/fluent.css +1 -1
- package/themes/dark/indigo.css +1 -1
- package/themes/dark/material.css +1 -1
- package/themes/light/bootstrap.css +1 -1
- package/themes/light/fluent.css +1 -1
- package/themes/light/indigo.css +1 -1
- package/themes/light/material.css +1 -1
- package/theming/theming-controller.d.ts +2 -2
- package/theming/theming-controller.js.map +1 -1
- package/web-types.json +3 -3
- package/components/calendar/model.js.map +0 -1
- package/components/combo/combo-list.d.ts +0 -11
- package/components/combo/combo-list.js +0 -13
- package/components/combo/combo-list.js.map +0 -1
- package/components/common/abort-handler.js.map +0 -1
- package/components/common/context.d.ts +0 -25
- package/components/common/context.js.map +0 -1
- package/components/common/controllers/adopt-styles.d.ts +0 -124
- package/components/common/controllers/adopt-styles.js +0 -75
- package/components/common/controllers/adopt-styles.js.map +0 -1
- package/components/common/controllers/async-consumer.js.map +0 -1
- package/components/common/controllers/command.js.map +0 -1
- package/components/common/controllers/drag.js.map +0 -1
- package/components/common/controllers/focus-ring.js.map +0 -1
- package/components/common/controllers/fullscreen.js.map +0 -1
- package/components/common/controllers/gestures.js.map +0 -1
- package/components/common/controllers/id-resolver.js.map +0 -1
- package/components/common/controllers/internals.js.map +0 -1
- package/components/common/controllers/key-bindings.js.map +0 -1
- package/components/common/controllers/mutation-observer.js +0 -69
- package/components/common/controllers/mutation-observer.js.map +0 -1
- package/components/common/controllers/resize-observer.js.map +0 -1
- package/components/common/controllers/root-click.js.map +0 -1
- package/components/common/controllers/root-scroll.js +0 -63
- package/components/common/controllers/root-scroll.js.map +0 -1
- package/components/common/controllers/slot.js.map +0 -1
- package/components/common/decorators/blazorAdditionalDependencies.js.map +0 -1
- package/components/common/decorators/blazorDeepImport.js.map +0 -1
- package/components/common/decorators/blazorInclude.js.map +0 -1
- package/components/common/decorators/blazorIndirectRender.js.map +0 -1
- package/components/common/decorators/blazorSuppressComponent.js.map +0 -1
- package/components/common/decorators/shadow-options.js.map +0 -1
- package/components/common/decorators/watch.js.map +0 -1
- package/components/common/definitions/defineAllComponents.js +0 -151
- package/components/common/definitions/defineAllComponents.js.map +0 -1
- package/components/common/definitions/defineComponents.js.map +0 -1
- package/components/common/definitions/register.js.map +0 -1
- package/components/common/i18n/EN/calendar.resources.js.map +0 -1
- package/components/common/i18n/EN/chat.resources.js.map +0 -1
- package/components/common/i18n/EN/date-picker.resources.js.map +0 -1
- package/components/common/i18n/EN/date-range-picker.resources.js.map +0 -1
- package/components/common/i18n/i18n-controller.js.map +0 -1
- package/components/common/i18n/utils.js.map +0 -1
- package/components/common/mixins/alert.js.map +0 -1
- package/components/common/mixins/combo-box.js.map +0 -1
- package/components/common/mixins/constructor.js.map +0 -1
- package/components/common/mixins/event-emitter.js.map +0 -1
- package/components/common/mixins/forms/associated-required.js.map +0 -1
- package/components/common/mixins/forms/associated.js.map +0 -1
- package/components/common/mixins/forms/form-transformers.js.map +0 -1
- package/components/common/mixins/forms/form-value.js.map +0 -1
- package/components/common/mixins/forms/types.js.map +0 -1
- package/components/common/mixins/mask-behavior.js.map +0 -1
- package/components/common/mixins/option.js.map +0 -1
- package/components/common/part-map.js.map +0 -1
- package/components/common/templates/input-shell.js.map +0 -1
- package/components/common/templates/masked-input.js.map +0 -1
- package/components/common/util.d.ts +0 -196
- package/components/common/util.js +0 -390
- package/components/common/util.js.map +0 -1
- package/components/common/validators.js.map +0 -1
- package/components/icon/registry/default-map.d.ts +0 -107
- package/components/icon/registry/default-map.js +0 -25
- package/components/icon/registry/default-map.js.map +0 -1
- package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js +0 -3
- package/components/nav-drawer/themes/shared/container/nav-drawer.fluent.css.js.map +0 -1
- package/components/radio/utils.d.ts +0 -13
- package/components/radio/utils.js +0 -37
- package/components/radio/utils.js.map +0 -1
- /package/components/{nav-drawer/themes/shared/container/nav-drawer.fluent.css.d.ts → qr-code/themes/dark/qr-code.bootstrap.css.d.ts} +0 -0
- /package/{components/common → internals}/abort-handler.d.ts +0 -0
- /package/{components/common → internals}/abort-handler.js +0 -0
- /package/{components/common → internals}/controllers/async-consumer.d.ts +0 -0
- /package/{components/common → internals}/controllers/command.d.ts +0 -0
- /package/{components/common → internals}/controllers/command.js +0 -0
- /package/{components/common → internals}/controllers/drag.d.ts +0 -0
- /package/{components/common → internals}/controllers/focus-ring.d.ts +0 -0
- /package/{components/common → internals}/controllers/fullscreen.d.ts +0 -0
- /package/{components/common → internals}/controllers/id-resolver.d.ts +0 -0
- /package/{components/common → internals}/controllers/root-click.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorAdditionalDependencies.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorAdditionalDependencies.js +0 -0
- /package/{components/common → internals}/decorators/blazorDeepImport.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorDeepImport.js +0 -0
- /package/{components/common → internals}/decorators/blazorInclude.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorInclude.js +0 -0
- /package/{components/common → internals}/decorators/blazorIndirectRender.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorIndirectRender.js +0 -0
- /package/{components/common → internals}/decorators/blazorSuppressComponent.d.ts +0 -0
- /package/{components/common → internals}/decorators/blazorSuppressComponent.js +0 -0
- /package/{components/common → internals}/decorators/shadow-options.d.ts +0 -0
- /package/{components/common → internals}/decorators/shadow-options.js +0 -0
- /package/{components/common → internals}/decorators/watch.d.ts +0 -0
- /package/{components/common → internals}/decorators/watch.js +0 -0
- /package/{components/common → internals}/definitions/defineAllComponents.d.ts +0 -0
- /package/{components/common → internals}/definitions/defineComponents.d.ts +0 -0
- /package/{components/common → internals}/definitions/defineComponents.js +0 -0
- /package/{components/common → internals}/definitions/register.d.ts +0 -0
- /package/{components/common → internals}/definitions/register.js +0 -0
- /package/{components/common → internals}/i18n/EN/calendar.resources.d.ts +0 -0
- /package/{components/common → internals}/i18n/EN/chat.resources.d.ts +0 -0
- /package/{components/common → internals}/i18n/EN/chat.resources.js +0 -0
- /package/{components/common → internals}/i18n/EN/date-picker.resources.d.ts +0 -0
- /package/{components/common → internals}/i18n/EN/date-picker.resources.js +0 -0
- /package/{components/common → internals}/i18n/EN/date-range-picker.resources.d.ts +0 -0
- /package/{components/common → internals}/i18n/EN/date-range-picker.resources.js +0 -0
- /package/{components/common → internals}/i18n/i18n-controller.d.ts +0 -0
- /package/{components/common → internals}/i18n/i18n-controller.js +0 -0
- /package/{components/common → internals}/i18n/utils.d.ts +0 -0
- /package/{components/common → internals}/mixins/constructor.d.ts +0 -0
- /package/{components/common → internals}/mixins/constructor.js +0 -0
- /package/{components/common → internals}/mixins/event-emitter.d.ts +0 -0
- /package/{components/common → internals}/mixins/event-emitter.js +0 -0
- /package/{components/common → internals}/mixins/forms/associated-required.d.ts +0 -0
- /package/{components/common → internals}/mixins/forms/form-value.d.ts +0 -0
- /package/{components/common → internals}/mixins/forms/form-value.js +0 -0
- /package/{components/common → internals}/mixins/forms/types.js +0 -0
- /package/{components/common → internals}/part-map.d.ts +0 -0
- /package/{components/common → internals}/part-map.js +0 -0
|
@@ -1,38 +1,35 @@
|
|
|
1
1
|
import type { BroadcastIconsChangeMessage, IconMeta, IconsCollection, SvgIcon } from './registry/types.js';
|
|
2
2
|
type IconBroadcastEvent = MessageEvent<BroadcastIconsChangeMessage> | PageTransitionEvent;
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Publishes icon registry state to other browsing contexts of the same origin
|
|
5
|
+
* using the BroadcastChannel API.
|
|
5
6
|
*
|
|
6
7
|
* @remarks
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* The traffic is one-way by design: this side broadcasts its own registrations
|
|
9
|
+
* and reference updates, and answers a peer's `SyncState` request with the
|
|
10
|
+
* user-set part of the registry. It never applies inbound state and never
|
|
11
|
+
* requests a sync itself - the Ignite UI for Angular icon service is the peer
|
|
12
|
+
* that consumes these messages.
|
|
10
13
|
*
|
|
11
|
-
* The
|
|
12
|
-
*
|
|
14
|
+
* The channel is created on page show and disposed on page hide, so a page
|
|
15
|
+
* restored from the bfcache gets a working one. Under SSR the instance is inert.
|
|
13
16
|
*/
|
|
14
17
|
export declare class IconsStateBroadcast {
|
|
15
18
|
private static readonly _origin;
|
|
16
19
|
private readonly _iconsCollection;
|
|
17
20
|
private readonly _iconReferences;
|
|
18
21
|
private _channel;
|
|
19
|
-
/**
|
|
20
|
-
* Creates an instance of IconsStateBroadcast.
|
|
21
|
-
*
|
|
22
|
-
* @param iconsCollection - The collection of registered SVG icons.
|
|
23
|
-
* @param iconReferences - The collection of icon references/aliases.
|
|
24
|
-
*/
|
|
25
22
|
constructor(iconsCollection: IconsCollection<SvgIcon>, iconReferences: IconsCollection<IconMeta>);
|
|
26
|
-
/**
|
|
27
|
-
* Sends a message to other browsing contexts via the broadcast channel.
|
|
28
|
-
*/
|
|
23
|
+
/** Posts a message to the other browsing contexts of this origin. */
|
|
29
24
|
send(data: BroadcastIconsChangeMessage): void;
|
|
30
25
|
/** @internal */
|
|
31
26
|
handleEvent(event: IconBroadcastEvent): void;
|
|
32
27
|
private _syncState;
|
|
33
28
|
private _create;
|
|
34
29
|
private _dispose;
|
|
35
|
-
|
|
36
|
-
private
|
|
30
|
+
/** The user-set references, skipping collections that have none. */
|
|
31
|
+
private _userReferences;
|
|
32
|
+
/** Every registered collection except the built-in `internal` one. */
|
|
33
|
+
private _userIcons;
|
|
37
34
|
}
|
|
38
35
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isServer } from 'lit';
|
|
2
2
|
import { ActionType } from './registry/types.js';
|
|
3
3
|
export class IconsStateBroadcast {
|
|
4
4
|
static { this._origin = 'igniteui-webcomponents'; }
|
|
@@ -6,6 +6,9 @@ export class IconsStateBroadcast {
|
|
|
6
6
|
this._channel = null;
|
|
7
7
|
this._iconsCollection = iconsCollection;
|
|
8
8
|
this._iconReferences = iconReferences;
|
|
9
|
+
if (isServer) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
9
12
|
globalThis.addEventListener('pageshow', this);
|
|
10
13
|
globalThis.addEventListener('pagehide', this);
|
|
11
14
|
this._create();
|
|
@@ -33,8 +36,8 @@ export class IconsStateBroadcast {
|
|
|
33
36
|
}
|
|
34
37
|
this.send({
|
|
35
38
|
actionType: ActionType.SyncState,
|
|
36
|
-
collections: this.
|
|
37
|
-
references: this.
|
|
39
|
+
collections: this._userIcons(),
|
|
40
|
+
references: this._userReferences(),
|
|
38
41
|
origin: IconsStateBroadcast._origin,
|
|
39
42
|
});
|
|
40
43
|
}
|
|
@@ -49,28 +52,24 @@ export class IconsStateBroadcast {
|
|
|
49
52
|
this._channel?.close();
|
|
50
53
|
this._channel = null;
|
|
51
54
|
}
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
for (const [
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
55
|
+
_userReferences() {
|
|
56
|
+
const result = new Map();
|
|
57
|
+
for (const [name, references] of this._iconReferences) {
|
|
58
|
+
const external = new Map([...references].filter(([, ref]) => ref.external));
|
|
59
|
+
if (external.size > 0) {
|
|
60
|
+
result.set(name, external);
|
|
59
61
|
}
|
|
60
62
|
}
|
|
61
|
-
return
|
|
63
|
+
return result;
|
|
62
64
|
}
|
|
63
|
-
|
|
64
|
-
const
|
|
65
|
-
for (const [
|
|
66
|
-
if (
|
|
67
|
-
|
|
68
|
-
}
|
|
69
|
-
for (const [iconKey, icon] of collection.entries()) {
|
|
70
|
-
userSetIcons.getOrCreate(collectionKey).set(iconKey, icon);
|
|
65
|
+
_userIcons() {
|
|
66
|
+
const result = new Map();
|
|
67
|
+
for (const [name, icons] of this._iconsCollection) {
|
|
68
|
+
if (name !== 'internal') {
|
|
69
|
+
result.set(name, new Map(icons));
|
|
71
70
|
}
|
|
72
71
|
}
|
|
73
|
-
return
|
|
72
|
+
return result;
|
|
74
73
|
}
|
|
75
74
|
}
|
|
76
75
|
//# sourceMappingURL=icon-state.broadcast.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-state.broadcast.js","sourceRoot":"","sources":["../../../src/components/icon/icon-state.broadcast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"icon-state.broadcast.js","sourceRoot":"","sources":["../../../src/components/icon/icon-state.broadcast.ts"],"names":[],"mappings":"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","sourcesContent":["import { isServer } from 'lit';\n\nimport type {\n BroadcastIconsChangeMessage,\n IconMeta,\n IconsCollection,\n SvgIcon,\n} from './registry/types.js';\nimport { ActionType } from './registry/types.js';\n\ntype IconBroadcastEvent =\n | MessageEvent<BroadcastIconsChangeMessage>\n | PageTransitionEvent;\n\n/**\n * Publishes icon registry state to other browsing contexts of the same origin\n * using the BroadcastChannel API.\n *\n * @remarks\n * The traffic is one-way by design: this side broadcasts its own registrations\n * and reference updates, and answers a peer's `SyncState` request with the\n * user-set part of the registry. It never applies inbound state and never\n * requests a sync itself - the Ignite UI for Angular icon service is the peer\n * that consumes these messages.\n *\n * The channel is created on page show and disposed on page hide, so a page\n * restored from the bfcache gets a working one. Under SSR the instance is inert.\n */\nexport class IconsStateBroadcast {\n private static readonly _origin = 'igniteui-webcomponents';\n\n private readonly _iconsCollection: IconsCollection<SvgIcon>;\n private readonly _iconReferences: IconsCollection<IconMeta>;\n\n private _channel: BroadcastChannel | null = null;\n\n constructor(\n iconsCollection: IconsCollection<SvgIcon>,\n iconReferences: IconsCollection<IconMeta>\n ) {\n this._iconsCollection = iconsCollection;\n this._iconReferences = iconReferences;\n\n if (isServer) {\n return;\n }\n\n globalThis.addEventListener('pageshow', this);\n globalThis.addEventListener('pagehide', this);\n\n this._create();\n }\n\n /** Posts a message to the other browsing contexts of this origin. */\n public send(data: BroadcastIconsChangeMessage): void {\n this._channel?.postMessage(data);\n }\n\n /** @internal */\n public handleEvent(event: IconBroadcastEvent): void {\n switch (event.type) {\n case 'message':\n this._syncState(event as MessageEvent<BroadcastIconsChangeMessage>);\n break;\n case 'pageshow':\n this._create();\n break;\n case 'pagehide':\n this._dispose();\n break;\n }\n }\n\n private _syncState({\n data: { actionType, origin },\n }: MessageEvent<BroadcastIconsChangeMessage>): void {\n // no need to sync with other wc icon services, just with angular elements\n if (\n actionType !== ActionType.SyncState ||\n origin === IconsStateBroadcast._origin\n ) {\n return;\n }\n\n this.send({\n actionType: ActionType.SyncState,\n collections: this._userIcons(),\n references: this._userReferences(),\n origin: IconsStateBroadcast._origin,\n });\n }\n\n private _create(): void {\n if (!this._channel) {\n this._channel = new BroadcastChannel('ignite-ui-icon-channel');\n this._channel.addEventListener('message', this);\n }\n }\n\n private _dispose(): void {\n this._channel?.removeEventListener('message', this);\n this._channel?.close();\n this._channel = null;\n }\n\n /** The user-set references, skipping collections that have none. */\n private _userReferences(): IconsCollection<IconMeta> {\n const result: IconsCollection<IconMeta> = new Map();\n\n for (const [name, references] of this._iconReferences) {\n const external = new Map(\n [...references].filter(([, ref]) => ref.external)\n );\n\n if (external.size > 0) {\n result.set(name, external);\n }\n }\n\n return result;\n }\n\n /** Every registered collection except the built-in `internal` one. */\n private _userIcons(): IconsCollection<SvgIcon> {\n const result: IconsCollection<SvgIcon> = new Map();\n\n for (const [name, icons] of this._iconsCollection) {\n if (name !== 'internal') {\n result.set(name, new Map(icons));\n }\n }\n\n return result;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LitElement, type PropertyValues } from 'lit';
|
|
1
|
+
import { LitElement, nothing, type PropertyValues } from 'lit';
|
|
2
2
|
import type { IconMeta } from './registry/types.js';
|
|
3
3
|
/**
|
|
4
4
|
* The icon component allows visualizing collections of pre-registered SVG icons.
|
|
@@ -11,7 +11,7 @@ import type { IconMeta } from './registry/types.js';
|
|
|
11
11
|
* - Registered dynamically using `registerIcon` or `registerIconFromText`
|
|
12
12
|
* - Referenced by aliases that resolve differently based on the active theme
|
|
13
13
|
*
|
|
14
|
-
* Icons automatically adapt to the current theme when used within
|
|
14
|
+
* Icons automatically adapt to the current theme when used within a theme provider.
|
|
15
15
|
* The component subscribes to the icon registry and updates automatically when icons
|
|
16
16
|
* are registered or references are updated.
|
|
17
17
|
*
|
|
@@ -42,7 +42,12 @@ export default class IgcIconComponent extends LitElement {
|
|
|
42
42
|
static register(): void;
|
|
43
43
|
private readonly _internals;
|
|
44
44
|
private readonly _theming;
|
|
45
|
-
private
|
|
45
|
+
private readonly _onRegistryChange;
|
|
46
|
+
/**
|
|
47
|
+
* Set while a server-rendered host is hydrating, during which `render()`
|
|
48
|
+
* withholds the SVG so both renders match.
|
|
49
|
+
*/
|
|
50
|
+
private _hydrating;
|
|
46
51
|
private _svg;
|
|
47
52
|
/**
|
|
48
53
|
* The name of the icon glyph to draw.
|
|
@@ -86,30 +91,14 @@ export default class IgcIconComponent extends LitElement {
|
|
|
86
91
|
connectedCallback(): void;
|
|
87
92
|
/** @internal */
|
|
88
93
|
disconnectedCallback(): void;
|
|
94
|
+
/** @internal */
|
|
95
|
+
protected createRenderRoot(): HTMLElement | DocumentFragment;
|
|
89
96
|
protected update(props: PropertyValues<this>): void;
|
|
90
|
-
|
|
91
|
-
* Callback invoked when an icon is registered or updated in the registry.
|
|
92
|
-
* Re-fetches the icon if it matches this component's name and collection.
|
|
93
|
-
*
|
|
94
|
-
* @param name - The name of the registered icon
|
|
95
|
-
* @param collection - The collection of the registered icon
|
|
96
|
-
*/
|
|
97
|
-
private _iconLoaded;
|
|
98
|
-
/**
|
|
99
|
-
* Fetches and updates the icon from the registry.
|
|
100
|
-
*
|
|
101
|
-
* @remarks
|
|
102
|
-
* This method:
|
|
103
|
-
* 1. Resolves the icon reference based on the current theme
|
|
104
|
-
* 2. Retrieves the SVG content from the registry
|
|
105
|
-
* 3. Updates the component's rendered SVG
|
|
106
|
-
* 4. Sets the appropriate ARIA label from the icon's title
|
|
107
|
-
*
|
|
108
|
-
*/
|
|
97
|
+
protected firstUpdated(): void;
|
|
109
98
|
private _getIcon;
|
|
110
|
-
protected render(): import("lit-html").TemplateResult<1
|
|
111
|
-
protected registerIcon(name: string, url: string, collection?: string): Promise<void>;
|
|
112
|
-
protected registerIconFromText(name: string, iconText: string, collection?: string): void;
|
|
99
|
+
protected render(): import("lit-html").TemplateResult<1> | typeof nothing;
|
|
100
|
+
protected registerIcon(name: string, url: string, collection?: string, stripMeta?: boolean): Promise<void>;
|
|
101
|
+
protected registerIconFromText(name: string, iconText: string, collection?: string, stripMeta?: boolean): void;
|
|
113
102
|
protected setIconRef(name: string, collection: string, icon: IconMeta): void;
|
|
114
103
|
}
|
|
115
104
|
declare global {
|
package/components/icon/icon.js
CHANGED
|
@@ -4,13 +4,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { html, LitElement } from 'lit';
|
|
7
|
+
import { html, isServer, LitElement, nothing } from 'lit';
|
|
8
8
|
import { property, state } from 'lit/decorators.js';
|
|
9
9
|
import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { addInternalsController } from '#internals/controllers/internals.js';
|
|
11
|
+
import { blazorInclude } from '#internals/decorators/blazorInclude.js';
|
|
12
|
+
import { registerComponent } from '#internals/definitions/register.js';
|
|
13
|
+
import { addThemingController } from '#theming/theming-controller.js';
|
|
14
14
|
import { getIconRegistry, registerIcon as registerIcon_impl, registerIconFromText as registerIconFromText_impl, setIconRef as setIconRef_impl, } from './icon.registry.js';
|
|
15
15
|
import { styles } from './themes/icon.base.css.js';
|
|
16
16
|
import { styles as shared } from './themes/shared/icon.common.css.js';
|
|
@@ -18,12 +18,12 @@ import { all } from './themes/themes.js';
|
|
|
18
18
|
export default class IgcIconComponent extends LitElement {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
21
|
-
this._internals = addInternalsController(this
|
|
22
|
-
initialARIA: { role: 'img' },
|
|
23
|
-
});
|
|
21
|
+
this._internals = addInternalsController(this);
|
|
24
22
|
this._theming = addThemingController(this, all, {
|
|
25
23
|
themeChange: this._getIcon,
|
|
26
24
|
});
|
|
25
|
+
this._onRegistryChange = () => this._getIcon();
|
|
26
|
+
this._hydrating = false;
|
|
27
27
|
this._svg = '';
|
|
28
28
|
this.name = '';
|
|
29
29
|
this.collection = 'default';
|
|
@@ -36,40 +36,53 @@ export default class IgcIconComponent extends LitElement {
|
|
|
36
36
|
}
|
|
37
37
|
connectedCallback() {
|
|
38
38
|
super.connectedCallback();
|
|
39
|
-
|
|
40
|
-
getIconRegistry().subscribe(this._boundIconLoaded);
|
|
39
|
+
getIconRegistry().subscribe(this._onRegistryChange);
|
|
41
40
|
}
|
|
42
41
|
disconnectedCallback() {
|
|
43
|
-
|
|
44
|
-
getIconRegistry().unsubscribe(this._boundIconLoaded);
|
|
45
|
-
}
|
|
42
|
+
getIconRegistry().unsubscribe(this._onRegistryChange);
|
|
46
43
|
super.disconnectedCallback();
|
|
47
44
|
}
|
|
45
|
+
createRenderRoot() {
|
|
46
|
+
this._hydrating = this.shadowRoot !== null;
|
|
47
|
+
return super.createRenderRoot();
|
|
48
|
+
}
|
|
48
49
|
update(props) {
|
|
49
50
|
if (props.has('name') || props.has('collection')) {
|
|
50
51
|
this._getIcon();
|
|
51
52
|
}
|
|
52
53
|
super.update(props);
|
|
53
54
|
}
|
|
54
|
-
|
|
55
|
-
if (this.
|
|
56
|
-
this.
|
|
55
|
+
firstUpdated() {
|
|
56
|
+
if (this._hydrating) {
|
|
57
|
+
this._hydrating = false;
|
|
58
|
+
if (this._svg) {
|
|
59
|
+
queueMicrotask(() => this.requestUpdate());
|
|
60
|
+
}
|
|
57
61
|
}
|
|
58
62
|
}
|
|
59
63
|
_getIcon() {
|
|
60
|
-
const
|
|
61
|
-
const {
|
|
64
|
+
const registry = getIconRegistry();
|
|
65
|
+
const { name, collection } = registry.getIconRef(this.name, this.collection, this._theming.theme);
|
|
66
|
+
const { svg = '', title } = registry.get(name, collection) ?? {};
|
|
67
|
+
const labelled = Boolean(title) ||
|
|
68
|
+
this.hasAttribute('aria-label') ||
|
|
69
|
+
this.hasAttribute('aria-labelledby');
|
|
62
70
|
this._svg = svg;
|
|
63
|
-
this._internals.setARIA({
|
|
71
|
+
this._internals.setARIA({
|
|
72
|
+
role: labelled ? 'img' : null,
|
|
73
|
+
ariaLabel: title ?? null,
|
|
74
|
+
});
|
|
64
75
|
}
|
|
65
76
|
render() {
|
|
66
|
-
return
|
|
77
|
+
return isServer || this._hydrating
|
|
78
|
+
? nothing
|
|
79
|
+
: html `${unsafeSVG(this._svg)}`;
|
|
67
80
|
}
|
|
68
|
-
async registerIcon(name, url, collection = 'default') {
|
|
69
|
-
await registerIcon_impl(name, url, collection);
|
|
81
|
+
async registerIcon(name, url, collection = 'default', stripMeta = false) {
|
|
82
|
+
await registerIcon_impl(name, url, { collection, stripMeta });
|
|
70
83
|
}
|
|
71
|
-
registerIconFromText(name, iconText, collection = 'default') {
|
|
72
|
-
registerIconFromText_impl(name, iconText, collection);
|
|
84
|
+
registerIconFromText(name, iconText, collection = 'default', stripMeta = false) {
|
|
85
|
+
registerIconFromText_impl(name, iconText, { collection, stripMeta });
|
|
73
86
|
}
|
|
74
87
|
setIconRef(name, collection, icon) {
|
|
75
88
|
setIconRef_impl(name, collection, icon);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, type PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\n\nimport { addThemingController } from '../../theming/theming-controller.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n getIconRegistry,\n registerIcon as registerIcon_impl,\n registerIconFromText as registerIconFromText_impl,\n setIconRef as setIconRef_impl,\n} from './icon.registry.js';\nimport type { IconCallback, IconMeta } from './registry/types.js';\nimport { styles } from './themes/icon.base.css.js';\nimport { styles as shared } from './themes/shared/icon.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The icon component allows visualizing collections of pre-registered SVG icons.\n *\n * @element igc-icon\n *\n * @remarks\n * The icon component renders SVG icons from registered icon collections. Icons can be:\n * - Loaded from the internal collection (built-in icons)\n * - Registered dynamically using `registerIcon` or `registerIconFromText`\n * - Referenced by aliases that resolve differently based on the active theme\n *\n * Icons automatically adapt to the current theme when used within an `igc-theme-provider`.\n * The component subscribes to the icon registry and updates automatically when icons\n * are registered or references are updated.\n *\n * @example\n * ```html\n * <!-- Use a built-in icon -->\n * <igc-icon name=\"star\"></igc-icon>\n *\n * <!-- Use an icon from a specific collection -->\n * <igc-icon name=\"search\" collection=\"material\"></igc-icon>\n *\n * <!-- Mirror the icon for RTL layouts -->\n * <igc-icon name=\"arrow-forward\" mirrored></igc-icon>\n * ```\n *\n * @example\n * ```typescript\n * // Register a custom icon\n * import { registerIconFromText } from 'igniteui-webcomponents';\n *\n * const customIconSvg = '<svg viewBox=\"0 0 24 24\">...</svg>';\n * registerIconFromText('custom-icon', customIconSvg, 'my-collection');\n * ```\n */\nexport default class IgcIconComponent extends LitElement {\n public static readonly tagName = 'igc-icon';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcIconComponent);\n }\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: { role: 'img' },\n });\n\n private readonly _theming = addThemingController(this, all, {\n themeChange: this._getIcon,\n });\n\n private _boundIconLoaded?: IconCallback;\n\n @state()\n private _svg = '';\n\n /* alternateName: iconName */\n /**\n * The name of the icon glyph to draw.\n *\n * @attr name\n *\n * @remarks\n * The icon name can be:\n * - A direct reference to a registered icon in the specified collection\n * - An alias that resolves to different icons based on the current theme\n *\n * When the icon name or collection changes, the component automatically\n * fetches and renders the new icon.\n */\n @property()\n public name = '';\n\n /**\n * The name of the registered collection for look up of icons.\n *\n * @attr collection\n * @default \"default\"\n *\n * @remarks\n * Collections allow organizing icons into logical groups. The \"default\"\n * collection is used for most icons.\n * Custom collections can be created by registering icons with a specific collection name.\n */\n @property()\n public collection = 'default';\n\n /**\n * Whether to flip the icon horizontally. Useful for RTL (right-to-left) layouts.\n *\n * @attr mirrored\n * @default false\n *\n * @remarks\n * When true, the icon is flipped horizontally using CSS transform.\n * This is particularly useful for directional icons (arrows, chevrons)\n * in right-to-left language contexts.\n */\n @property({ type: Boolean, reflect: true })\n public mirrored = false;\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this._boundIconLoaded = this._iconLoaded.bind(this);\n getIconRegistry().subscribe(this._boundIconLoaded);\n }\n\n /** @internal */\n public override disconnectedCallback(): void {\n if (this._boundIconLoaded) {\n getIconRegistry().unsubscribe(this._boundIconLoaded);\n }\n super.disconnectedCallback();\n }\n\n protected override update(props: PropertyValues<this>): void {\n if (props.has('name') || props.has('collection')) {\n this._getIcon();\n }\n\n super.update(props);\n }\n\n /**\n * Callback invoked when an icon is registered or updated in the registry.\n * Re-fetches the icon if it matches this component's name and collection.\n *\n * @param name - The name of the registered icon\n * @param collection - The collection of the registered icon\n */\n private _iconLoaded(name: string, collection: string): void {\n if (this.name === name && this.collection === collection) {\n this._getIcon();\n }\n }\n\n /**\n * Fetches and updates the icon from the registry.\n *\n * @remarks\n * This method:\n * 1. Resolves the icon reference based on the current theme\n * 2. Retrieves the SVG content from the registry\n * 3. Updates the component's rendered SVG\n * 4. Sets the appropriate ARIA label from the icon's title\n *\n */\n private _getIcon(): void {\n const { name, collection } = getIconRegistry().getIconRef(\n this.name,\n this.collection,\n this._theming.theme\n );\n const { svg = '', title = null } =\n getIconRegistry().get(name, collection) ?? {};\n\n this._svg = svg;\n this._internals.setARIA({ ariaLabel: title });\n }\n\n protected override render() {\n return html`${unsafeSVG(this._svg)}`;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n\n /* c8 ignore next 4 */\n @blazorInclude()\n protected setIconRef(name: string, collection: string, icon: IconMeta) {\n setIconRef_impl(name, collection, icon);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon': IgcIconComponent;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/components/icon/icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, isServer, LitElement, nothing, type PropertyValues } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { addInternalsController } from '#internals/controllers/internals.js';\nimport { blazorInclude } from '#internals/decorators/blazorInclude.js';\nimport { registerComponent } from '#internals/definitions/register.js';\nimport { addThemingController } from '#theming/theming-controller.js';\nimport {\n getIconRegistry,\n registerIcon as registerIcon_impl,\n registerIconFromText as registerIconFromText_impl,\n setIconRef as setIconRef_impl,\n} from './icon.registry.js';\nimport type { IconMeta } from './registry/types.js';\nimport { styles } from './themes/icon.base.css.js';\nimport { styles as shared } from './themes/shared/icon.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The icon component allows visualizing collections of pre-registered SVG icons.\n *\n * @element igc-icon\n *\n * @remarks\n * The icon component renders SVG icons from registered icon collections. Icons can be:\n * - Loaded from the internal collection (built-in icons)\n * - Registered dynamically using `registerIcon` or `registerIconFromText`\n * - Referenced by aliases that resolve differently based on the active theme\n *\n * Icons automatically adapt to the current theme when used within a theme provider.\n * The component subscribes to the icon registry and updates automatically when icons\n * are registered or references are updated.\n *\n * @example\n * ```html\n * <!-- Use a built-in icon -->\n * <igc-icon name=\"star\"></igc-icon>\n *\n * <!-- Use an icon from a specific collection -->\n * <igc-icon name=\"search\" collection=\"material\"></igc-icon>\n *\n * <!-- Mirror the icon for RTL layouts -->\n * <igc-icon name=\"arrow-forward\" mirrored></igc-icon>\n * ```\n *\n * @example\n * ```typescript\n * // Register a custom icon\n * import { registerIconFromText } from 'igniteui-webcomponents';\n *\n * const customIconSvg = '<svg viewBox=\"0 0 24 24\">...</svg>';\n * registerIconFromText('custom-icon', customIconSvg, 'my-collection');\n * ```\n */\nexport default class IgcIconComponent extends LitElement {\n public static readonly tagName = 'igc-icon';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcIconComponent);\n }\n\n private readonly _internals = addInternalsController(this);\n\n private readonly _theming = addThemingController(this, all, {\n themeChange: this._getIcon,\n });\n\n private readonly _onRegistryChange = (): void => this._getIcon();\n\n /**\n * Set while a server-rendered host is hydrating, during which `render()`\n * withholds the SVG so both renders match.\n */\n private _hydrating = false;\n\n @state()\n private _svg = '';\n\n /* alternateName: iconName */\n /**\n * The name of the icon glyph to draw.\n *\n * @attr name\n *\n * @remarks\n * The icon name can be:\n * - A direct reference to a registered icon in the specified collection\n * - An alias that resolves to different icons based on the current theme\n *\n * When the icon name or collection changes, the component automatically\n * fetches and renders the new icon.\n */\n @property()\n public name = '';\n\n /**\n * The name of the registered collection for look up of icons.\n *\n * @attr collection\n * @default \"default\"\n *\n * @remarks\n * Collections allow organizing icons into logical groups. The \"default\"\n * collection is used for most icons.\n * Custom collections can be created by registering icons with a specific collection name.\n */\n @property()\n public collection = 'default';\n\n /**\n * Whether to flip the icon horizontally. Useful for RTL (right-to-left) layouts.\n *\n * @attr mirrored\n * @default false\n *\n * @remarks\n * When true, the icon is flipped horizontally using CSS transform.\n * This is particularly useful for directional icons (arrows, chevrons)\n * in right-to-left language contexts.\n */\n @property({ type: Boolean, reflect: true })\n public mirrored = false;\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n getIconRegistry().subscribe(this._onRegistryChange);\n }\n\n /** @internal */\n public override disconnectedCallback(): void {\n getIconRegistry().unsubscribe(this._onRegistryChange);\n super.disconnectedCallback();\n }\n\n /** @internal */\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n this._hydrating = this.shadowRoot !== null;\n return super.createRenderRoot();\n }\n\n protected override update(props: PropertyValues<this>): void {\n if (props.has('name') || props.has('collection')) {\n this._getIcon();\n }\n\n super.update(props);\n }\n\n protected override firstUpdated(): void {\n if (this._hydrating) {\n this._hydrating = false;\n\n // Off the current update cycle - avoids Lit's change-in-update warning.\n if (this._svg) {\n queueMicrotask(() => this.requestUpdate());\n }\n }\n }\n\n private _getIcon(): void {\n const registry = getIconRegistry();\n const { name, collection } = registry.getIconRef(\n this.name,\n this.collection,\n this._theming.theme\n );\n const { svg = '', title } = registry.get(name, collection) ?? {};\n\n // An unnamed icon is decorative, and an unnamed `img` is only noise.\n const labelled =\n Boolean(title) ||\n this.hasAttribute('aria-label') ||\n this.hasAttribute('aria-labelledby');\n\n this._svg = svg;\n this._internals.setARIA({\n role: labelled ? 'img' : null,\n ariaLabel: title ?? null,\n });\n }\n\n protected override render() {\n return isServer || this._hydrating\n ? nothing\n : html`${unsafeSVG(this._svg)}`;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default',\n stripMeta = false\n ) {\n await registerIcon_impl(name, url, { collection, stripMeta });\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default',\n stripMeta = false\n ) {\n registerIconFromText_impl(name, iconText, { collection, stripMeta });\n }\n\n /* c8 ignore next 4 */\n @blazorInclude()\n protected setIconRef(name: string, collection: string, icon: IconMeta) {\n setIconRef_impl(name, collection, icon);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon': IgcIconComponent;\n }\n}\n"]}
|