igniteui-webcomponents 7.2.4 → 7.3.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +162 -0
- package/animations/player.d.ts +7 -2
- package/animations/player.js +2 -3
- package/animations/player.js.map +1 -1
- package/animations/view-transition.js +1 -1
- package/animations/view-transition.js.map +1 -1
- package/components/accordion/accordion.d.ts +1 -1
- package/components/accordion/accordion.js +11 -22
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +0 -1
- package/components/avatar/avatar.js +8 -12
- 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 +2 -4
- package/components/badge/badge.js +9 -13
- 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 +8 -7
- package/components/banner/banner.js +27 -25
- 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 +3 -3
- package/components/button/button-base.js +9 -8
- 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 +3 -3
- 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 +41 -21
- package/components/button-group/button-group.js +95 -105
- 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 +28 -19
- package/components/calendar/base.js +20 -44
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.d.ts +38 -7
- 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 +8 -22
- 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 +2 -2
- package/components/carousel/carousel-indicator.js +17 -17
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +1 -3
- package/components/carousel/carousel-slide.js +16 -18
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +58 -41
- package/components/carousel/carousel.js +170 -145
- package/components/carousel/carousel.js.map +1 -1
- package/components/carousel/themes/carousel.base.css.js +1 -1
- package/components/carousel/themes/carousel.base.css.js.map +1 -1
- package/components/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 +28 -27
- 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 -6
- package/components/chat/chat.js +13 -19
- 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.d.ts +3 -5
- package/components/checkbox/checkbox.js +40 -50
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -1
- package/components/checkbox/switch.js +30 -40
- 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 -16
- package/components/chip/chip.js +21 -38
- 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 +1 -5
- package/components/combo/combo-item.js +8 -18
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +89 -45
- package/components/combo/combo.js +244 -229
- 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 +297 -0
- package/components/date-picker/date-picker.base.js +473 -0
- package/components/date-picker/date-picker.base.js.map +1 -0
- package/components/date-picker/date-picker.d.ts +53 -174
- package/components/date-picker/date-picker.js +90 -403
- 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 +14 -18
- package/components/date-range-picker/date-range-input.js +39 -126
- 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 +93 -190
- package/components/date-range-picker/date-range-picker.js +208 -543
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/predefined-ranges-area.d.ts +4 -4
- package/components/date-range-picker/predefined-ranges-area.js +8 -10
- 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 +10 -30
- package/components/date-range-picker/validators.js.map +1 -1
- package/components/date-time-input/date-part.d.ts +20 -2
- package/components/date-time-input/date-part.js +48 -75
- package/components/date-time-input/date-part.js.map +1 -1
- package/components/date-time-input/date-time-input.base.d.ts +101 -35
- package/components/date-time-input/date-time-input.base.js +142 -46
- package/components/date-time-input/date-time-input.base.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +14 -26
- package/components/date-time-input/date-time-input.js +37 -90
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/datetime-mask-parser.d.ts +53 -109
- package/components/date-time-input/datetime-mask-parser.js +93 -144
- 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 +3 -14
- package/components/date-time-input/validators.js.map +1 -1
- package/components/dialog/dialog.d.ts +8 -9
- package/components/dialog/dialog.js +38 -44
- 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 +3 -5
- package/components/divider/divider.js +11 -20
- 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 +16 -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 +27 -8
- package/components/expansion-panel/expansion-panel.js +33 -43
- 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 +19 -23
- package/components/file-input/file-input.js +21 -34
- 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.d.ts +6 -8
- package/components/highlight/highlight.js +14 -22
- 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 +11 -23
- package/components/icon/icon.js +36 -28
- 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 +10 -25
- package/components/input/input-base.js +14 -23
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +23 -30
- package/components/input/input.js +38 -69
- 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 -26
- 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 +10 -10
- package/components/nav-drawer/nav-drawer.js +23 -37
- 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 +5 -8
- package/components/progress/base.js +25 -48
- 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 +222 -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 +7 -0
- package/components/radio/controller.js +14 -0
- package/components/radio/controller.js.map +1 -0
- package/components/radio/radio.d.ts +30 -18
- package/components/radio/radio.js +90 -89
- 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 +17 -9
- package/components/radio-group/radio-group.js +46 -44
- 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 +30 -18
- package/components/rating/rating.js +90 -81
- 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/default-ghost.js +4 -3
- package/components/resize-container/default-ghost.js.map +1 -1
- package/components/resize-container/resize-container.d.ts +3 -3
- package/components/resize-container/resize-container.js +9 -7
- package/components/resize-container/resize-container.js.map +1 -1
- package/components/resize-container/resize-controller.js +6 -5
- 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 +11 -3
- package/components/select/select-group.js +21 -9
- 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 +48 -28
- package/components/select/select.js +143 -94
- 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 +5 -4
- package/components/slider/range-slider.js +25 -73
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +9 -6
- package/components/slider/slider-base.js +35 -32
- 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 +15 -11
- 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 +4 -4
- 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 +107 -24
- 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 +4 -1
- package/components/stepper/step.js +16 -12
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/stepper.d.ts +5 -16
- package/components/stepper/stepper.js +27 -89
- 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 +36 -14
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.d.ts +37 -27
- package/components/tabs/tabs.js +118 -129
- 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 +24 -20
- package/components/textarea/textarea.js +25 -27
- 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 +3 -5
- package/components/theme-provider/theme-provider.js +13 -23
- 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 +11 -22
- package/components/tile-manager/tile-manager.js +50 -81
- package/components/tile-manager/tile-manager.js.map +1 -1
- package/components/tile-manager/tile.d.ts +14 -22
- package/components/tile-manager/tile.js +66 -80
- 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 +68 -25
- package/components/tooltip/tooltip.js +130 -88
- 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 +198 -208
- 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 +17 -23
- package/components/tree/tree.js +68 -94
- 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 +2 -3
- package/components/validation-container/validation-container.js +7 -6
- package/components/validation-container/validation-container.js.map +1 -1
- package/components/virtualization/engine.d.ts +94 -0
- package/components/virtualization/engine.js +217 -0
- package/components/virtualization/engine.js.map +1 -0
- package/components/virtualization/types.d.ts +54 -0
- package/components/virtualization/types.js +14 -0
- package/components/virtualization/types.js.map +1 -0
- package/components/virtualization/virtualization.d.ts +249 -0
- package/components/virtualization/virtualization.js +482 -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 +50649 -38832
- 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 +17 -12
- 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/internals/controllers/context-provider.d.ts +48 -0
- package/internals/controllers/context-provider.js +29 -0
- package/internals/controllers/context-provider.js.map +1 -0
- package/{components/common → internals}/controllers/drag.js +8 -7
- 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 +7 -4
- package/internals/controllers/gestures.js.map +1 -0
- package/internals/controllers/group.d.ts +64 -0
- package/internals/controllers/group.js +104 -0
- package/internals/controllers/group.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 +52 -3
- package/{components/common → internals}/controllers/internals.js +35 -0
- package/internals/controllers/internals.js.map +1 -0
- package/{components/common → internals}/controllers/key-bindings.d.ts +8 -5
- package/{components/common → internals}/controllers/key-bindings.js +46 -29
- package/internals/controllers/key-bindings.js.map +1 -0
- package/{components/common → internals}/controllers/mutation-observer.d.ts +3 -2
- package/{components/common → internals}/controllers/mutation-observer.js +24 -22
- 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/internals/controllers/roving-focus.d.ts +72 -0
- package/internals/controllers/roving-focus.js +61 -0
- package/internals/controllers/roving-focus.js.map +1 -0
- package/{components/common → internals}/controllers/slot.d.ts +25 -1
- package/{components/common → internals}/controllers/slot.js +22 -6
- package/internals/controllers/slot.js.map +1 -0
- package/internals/controllers/toggle.d.ts +96 -0
- package/internals/controllers/toggle.js +65 -0
- package/internals/controllers/toggle.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 +70 -0
- package/internals/date/converters.js.map +1 -0
- package/{components/calendar → internals/date}/model.d.ts +10 -3
- package/{components/calendar → internals/date}/model.js +29 -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/coerced-property.d.ts +47 -0
- package/internals/decorators/coerced-property.js +36 -0
- package/internals/decorators/coerced-property.js.map +1 -0
- package/internals/decorators/shadow-options.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/{components/common → internals}/i18n/i18n-controller.d.ts +22 -3
- package/{components/common → internals}/i18n/i18n-controller.js +28 -6
- 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 +3 -3
- package/{components/common → internals}/mixins/alert.js +8 -6
- package/internals/mixins/alert.js.map +1 -0
- package/{components/common → internals}/mixins/combo-box.d.ts +13 -14
- package/{components/common → internals}/mixins/combo-box.js +15 -36
- 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.js +63 -38
- 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 +25 -7
- package/internals/mixins/forms/types.js.map +1 -0
- package/internals/mixins/i18n.d.ts +31 -0
- package/internals/mixins/i18n.js +36 -0
- package/internals/mixins/i18n.js.map +1 -0
- package/{components/common → internals}/mixins/mask-behavior.d.ts +17 -8
- package/{components/common → internals}/mixins/mask-behavior.js +118 -31
- 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 +5 -6
- 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 -4
- package/{components/common → internals}/templates/masked-input.js +4 -3
- package/internals/templates/masked-input.js.map +1 -0
- package/internals/templates/slotted-icon.d.ts +32 -0
- package/internals/templates/slotted-icon.js +19 -0
- package/internals/templates/slotted-icon.js.map +1 -0
- package/internals/templates/toggle-shell.d.ts +46 -0
- package/internals/templates/toggle-shell.js +38 -0
- package/internals/templates/toggle-shell.js.map +1 -0
- package/internals/timing.d.ts +32 -0
- package/internals/timing.js +20 -0
- package/internals/timing.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 +114 -0
- package/internals/utils/dom.js +157 -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 +24 -1
- package/{components/common → internals}/validators.js +25 -2
- package/internals/validators.js.map +1 -0
- package/package.json +15 -7
- 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 +5 -5
- 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.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.d.ts +0 -5
- package/components/common/decorators/watch.js +0 -19
- 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}/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/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/associated.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,5 +1,8 @@
|
|
|
1
|
-
import { createAbortHandle } from '
|
|
2
|
-
import {
|
|
1
|
+
import { createAbortHandle } from '#internals/abort-handler.js';
|
|
2
|
+
import { getElementByIdFromRoot } from '#internals/utils/dom.js';
|
|
3
|
+
import { addWeakEventListener } from '#internals/utils/events.js';
|
|
4
|
+
import { createIdGenerator } from '#internals/utils/strings.js';
|
|
5
|
+
import { isString } from '#internals/utils/types.js';
|
|
3
6
|
import service from './service.js';
|
|
4
7
|
class TooltipController {
|
|
5
8
|
static { this._listeners = [
|
|
@@ -25,9 +28,7 @@ class TooltipController {
|
|
|
25
28
|
}
|
|
26
29
|
}
|
|
27
30
|
get anchor() {
|
|
28
|
-
return this.
|
|
29
|
-
? this._anchor?.deref()
|
|
30
|
-
: this._initialAnchor?.deref();
|
|
31
|
+
return this._anchor?.deref();
|
|
31
32
|
}
|
|
32
33
|
get hideTriggers() {
|
|
33
34
|
return Array.from(this._hideTriggers).join();
|
|
@@ -48,10 +49,11 @@ class TooltipController {
|
|
|
48
49
|
constructor(tooltip, options) {
|
|
49
50
|
this._hostAbortHandle = createAbortHandle();
|
|
50
51
|
this._anchorAbortHandle = createAbortHandle();
|
|
51
|
-
this._showTriggers = new Set(['pointerenter']);
|
|
52
|
-
this._hideTriggers = new Set(['pointerleave', 'click']);
|
|
52
|
+
this._showTriggers = new Set(['pointerenter', 'focusin']);
|
|
53
|
+
this._hideTriggers = new Set(['pointerleave', 'click', 'focusout']);
|
|
53
54
|
this._anchor = null;
|
|
54
55
|
this._initialAnchor = null;
|
|
56
|
+
this._describedElement = null;
|
|
55
57
|
this._isTransient = false;
|
|
56
58
|
this._open = false;
|
|
57
59
|
this._host = tooltip;
|
|
@@ -80,41 +82,63 @@ class TooltipController {
|
|
|
80
82
|
this._host.addEventListener(event, this, { passive: true, signal });
|
|
81
83
|
}
|
|
82
84
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
85
|
+
_syncAnchorARIA() {
|
|
86
|
+
const anchor = this.anchor;
|
|
87
|
+
const previous = this._describedElement?.deref();
|
|
88
|
+
if (previous === anchor) {
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (previous) {
|
|
92
|
+
this._toggleDescribedBy(previous, false);
|
|
93
|
+
}
|
|
94
|
+
this._describedElement = anchor ? new WeakRef(anchor) : null;
|
|
95
|
+
if (anchor) {
|
|
96
|
+
this._toggleDescribedBy(anchor, true);
|
|
93
97
|
}
|
|
94
98
|
}
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
_toggleDescribedBy(element, state) {
|
|
100
|
+
const id = (this._host.id ||= nextTooltipId());
|
|
101
|
+
const tokens = new Set((element.getAttribute('aria-describedby') ?? '')
|
|
102
|
+
.split(/\s+/)
|
|
103
|
+
.filter(Boolean));
|
|
104
|
+
state ? tokens.add(id) : tokens.delete(id);
|
|
105
|
+
tokens.size > 0
|
|
106
|
+
? element.setAttribute('aria-describedby', Array.from(tokens).join(' '))
|
|
107
|
+
: element.removeAttribute('aria-describedby');
|
|
108
|
+
}
|
|
109
|
+
_handleTooltipEvent(event) {
|
|
110
|
+
if (event.type === 'pointerenter') {
|
|
111
|
+
this._options.onShow();
|
|
101
112
|
}
|
|
102
|
-
if (
|
|
103
|
-
|
|
113
|
+
else if (event.type === 'pointerleave') {
|
|
114
|
+
this._options.onHide();
|
|
104
115
|
}
|
|
105
|
-
|
|
106
|
-
|
|
116
|
+
}
|
|
117
|
+
_handleAnchorEvent(event) {
|
|
118
|
+
const isShowTrigger = this._showTriggers.has(event.type);
|
|
119
|
+
const isHideTrigger = this._hideTriggers.has(event.type);
|
|
120
|
+
if (!(isShowTrigger || isHideTrigger)) {
|
|
121
|
+
if (event.type === 'click') {
|
|
122
|
+
this._options.onClick();
|
|
123
|
+
}
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (isShowTrigger && isHideTrigger) {
|
|
127
|
+
this._open ? this._options.onHide() : this._options.onShow();
|
|
128
|
+
return;
|
|
107
129
|
}
|
|
130
|
+
isShowTrigger ? this._options.onShow() : this._options.onHide();
|
|
108
131
|
}
|
|
109
132
|
handleEvent(event) {
|
|
110
|
-
|
|
133
|
+
const target = event.currentTarget;
|
|
134
|
+
if (target === this._host) {
|
|
111
135
|
this._handleTooltipEvent(event);
|
|
112
136
|
}
|
|
113
|
-
else if (
|
|
137
|
+
else if (target === this._anchor?.deref()) {
|
|
114
138
|
this._handleAnchorEvent(event);
|
|
115
139
|
}
|
|
116
|
-
else if (
|
|
117
|
-
this.
|
|
140
|
+
else if (target === this._initialAnchor?.deref()) {
|
|
141
|
+
this._options.onReset();
|
|
118
142
|
this._handleAnchorEvent(event);
|
|
119
143
|
}
|
|
120
144
|
}
|
|
@@ -124,6 +148,7 @@ class TooltipController {
|
|
|
124
148
|
service.remove(this._host);
|
|
125
149
|
this._anchor = null;
|
|
126
150
|
this._initialAnchor = null;
|
|
151
|
+
this._syncAnchorARIA();
|
|
127
152
|
}
|
|
128
153
|
setAnchor(value, transient = false) {
|
|
129
154
|
const newAnchor = isString(value)
|
|
@@ -133,7 +158,7 @@ class TooltipController {
|
|
|
133
158
|
return;
|
|
134
159
|
}
|
|
135
160
|
if (transient && this._open) {
|
|
136
|
-
this.
|
|
161
|
+
this._options.onReset();
|
|
137
162
|
}
|
|
138
163
|
if (this._anchor?.deref() !== this._initialAnchor?.deref()) {
|
|
139
164
|
this._anchorAbortHandle.abort();
|
|
@@ -141,6 +166,7 @@ class TooltipController {
|
|
|
141
166
|
this._anchor = newAnchor ? new WeakRef(newAnchor) : null;
|
|
142
167
|
this._isTransient = transient;
|
|
143
168
|
this._addAnchorListeners();
|
|
169
|
+
this._syncAnchorARIA();
|
|
144
170
|
}
|
|
145
171
|
resolveAnchor(value) {
|
|
146
172
|
const resolvedElement = isString(value)
|
|
@@ -156,16 +182,11 @@ class TooltipController {
|
|
|
156
182
|
this._dispose();
|
|
157
183
|
}
|
|
158
184
|
}
|
|
159
|
-
|
|
160
|
-
|
|
185
|
+
const nextTooltipId = createIdGenerator('igc-tooltip');
|
|
186
|
+
const triggersSeparator = /[,\s]+/;
|
|
187
|
+
function parseTriggers(value) {
|
|
188
|
+
return new Set((value ?? '').split(triggersSeparator).filter((trigger) => trigger.trim()));
|
|
161
189
|
}
|
|
162
|
-
export const TooltipRegexes = Object.freeze({
|
|
163
|
-
triggers: /[,\s]+/,
|
|
164
|
-
horizontalStart: /^(left|right)-start$/,
|
|
165
|
-
horizontalEnd: /^(left|right)-end$/,
|
|
166
|
-
start: /start$/,
|
|
167
|
-
end: /end$/,
|
|
168
|
-
});
|
|
169
190
|
export function addTooltipController(host, options) {
|
|
170
191
|
return new TooltipController(host, options);
|
|
171
192
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/components/tooltip/controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,OAAO,MAAM,cAAc,CAAC;AAGnC,MAAM,iBAAiB;aAGG,eAAU,GAAG;QACnC,cAAc;QACd,cAAc;KACN,AAHwB,CAGvB;IAsBX,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAGD,IAAW,IAAI,CAAC,KAAc;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;YAED,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAKD,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,YAAY;YACtB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,CAAC;IACnC,CAAC;IAKD,IAAW,YAAY;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IASD,IAAW,YAAY,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAKD,IAAW,YAAY;QACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;IASD,IAAW,YAAY,CAAC,KAAa;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAID,YAAY,OAA4B,EAAE,OAAyB;QA1FlD,qBAAgB,GAAG,iBAAiB,EAAE,CAAC;QACvC,uBAAkB,GAAG,iBAAiB,EAAE,CAAC;QAElD,kBAAa,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;QAC1C,kBAAa,GAAG,IAAI,GAAG,CAAC,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnD,YAAO,GAA4B,IAAI,CAAC;QACxC,mBAAc,GAA4B,IAAI,CAAC;QAE/C,iBAAY,GAAG,KAAK,CAAC;QACrB,UAAK,GAAG,KAAK,CAAC;QAiFpB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAIO,mBAAmB;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAE3B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO;QACT,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC;QAE3C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACtC,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,oBAAoB,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,iBAAiB,CAAC,UAAU,EAAE,CAAC;YACjD,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAMO,KAAK,CAAC,mBAAmB,CAAC,KAAY;QAC5C,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,cAAc;gBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM;YACR,KAAK,cAAc;gBACjB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC5C,MAAM;YACR;gBACE,OAAO;QACX,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAY;QAC3C,IACE,CAAC,IAAI,CAAC,IAAI;YACV,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;YACnC,KAAK,CAAC,IAAI,KAAK,OAAO,EACtB,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAGM,WAAW,CAAC,KAAY;QAC7B,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YACzD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAIO,QAAQ;QACd,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAQM,SAAS,CAAC,KAA6B,EAAE,SAAS,GAAG,KAAK;QAC/D,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC/B,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3C,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO;QACT,CAAC;QAGD,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;QACpB,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAC9B,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEM,aAAa,CAAC,KAA6B;QAChD,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC;YACrC,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC;YAC3C,CAAC,CAAC,KAAK,CAAC;QAEV,IAAI,CAAC,cAAc,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5E,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAOM,aAAa;QAClB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAGM,gBAAgB;QACrB,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClB,CAAC;;AAKH,SAAS,aAAa,CAAC,MAAc;IACnC,OAAO,IAAI,GAAG,CACZ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CACtE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;IAE1C,QAAQ,EAAE,QAAQ;IAGlB,eAAe,EAAE,sBAAsB;IAGvC,aAAa,EAAE,oBAAoB;IAGnC,KAAK,EAAE,QAAQ;IAGf,GAAG,EAAE,MAAM;CACZ,CAAC,CAAC;AAEH,MAAM,UAAU,oBAAoB,CAClC,IAAyB,EACzB,OAAyB;IAEzB,OAAO,IAAI,iBAAiB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC","sourcesContent":["import type { ReactiveController } from 'lit';\nimport { createAbortHandle } from '../common/abort-handler.js';\nimport {\n addWeakEventListener,\n getElementByIdFromRoot,\n isString,\n} from '../common/util.js';\nimport service from './service.js';\nimport type IgcTooltipComponent from './tooltip.js';\n\nclass TooltipController implements ReactiveController {\n //#region Internal properties and state\n\n private static readonly _listeners = [\n 'pointerenter',\n 'pointerleave',\n ] as const;\n\n private readonly _host: IgcTooltipComponent;\n private readonly _options: TooltipCallbacks;\n\n private readonly _hostAbortHandle = createAbortHandle();\n private readonly _anchorAbortHandle = createAbortHandle();\n\n private _showTriggers = new Set(['pointerenter']);\n private _hideTriggers = new Set(['pointerleave', 'click']);\n\n private _anchor: WeakRef<Element> | null = null;\n private _initialAnchor: WeakRef<Element> | null = null;\n\n private _isTransient = false;\n private _open = false;\n\n //#endregion\n\n //#region Public properties\n\n /** Whether the tooltip is in shown state. */\n public get open(): boolean {\n return this._open;\n }\n\n /** Sets the shown state of the current tooltip. */\n public set open(value: boolean) {\n this._open = value;\n\n if (this._open) {\n this._addTooltipListeners();\n service.add(this._host, this._options.onEscape);\n } else {\n if (this._isTransient) {\n this._isTransient = false;\n this.setAnchor(this._initialAnchor?.deref());\n }\n\n this._hostAbortHandle.abort();\n service.remove(this._host);\n }\n }\n\n /**\n * Returns the current tooltip anchor target if any.\n */\n public get anchor(): TooltipAnchor {\n return this._isTransient\n ? this._anchor?.deref()\n : this._initialAnchor?.deref();\n }\n\n /**\n * Returns the current set of hide triggers as a comma-separated string.\n */\n public get hideTriggers(): string {\n return Array.from(this._hideTriggers).join();\n }\n\n /**\n * Sets a new set of hide triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set hideTriggers(value: string) {\n this._hideTriggers = parseTriggers(value);\n this._anchorAbortHandle.abort();\n this._addAnchorListeners();\n }\n\n /**\n * Returns the current set of show triggers as a comma-separated string.\n */\n public get showTriggers(): string {\n return Array.from(this._showTriggers).join();\n }\n\n /**\n * Sets a new set of show triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set showTriggers(value: string) {\n this._showTriggers = parseTriggers(value);\n this._anchorAbortHandle.abort();\n this._addAnchorListeners();\n }\n\n //#endregion\n\n constructor(tooltip: IgcTooltipComponent, options: TooltipCallbacks) {\n this._host = tooltip;\n this._options = options;\n this._host.addController(this);\n }\n\n //#region Internal event listeners state\n\n private _addAnchorListeners(): void {\n const anchor = this.anchor;\n\n if (!anchor) {\n return;\n }\n\n const { signal } = this._anchorAbortHandle;\n\n for (const each of this._showTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n\n for (const each of this._hideTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n\n if (!this._showTriggers.has('click') && !this._hideTriggers.has('click')) {\n addWeakEventListener(anchor, 'click', this, { passive: true, signal });\n }\n }\n\n private _addTooltipListeners(): void {\n const { signal } = this._hostAbortHandle;\n\n for (const event of TooltipController._listeners) {\n this._host.addEventListener(event, this, { passive: true, signal });\n }\n }\n\n //#endregion\n\n //#region Event handlers\n\n private async _handleTooltipEvent(event: Event): Promise<void> {\n switch (event.type) {\n case 'pointerenter':\n await this._options.onShow.call(this._host);\n break;\n case 'pointerleave':\n await this._options.onHide.call(this._host);\n break;\n default:\n return;\n }\n }\n\n private async _handleAnchorEvent(event: Event): Promise<void> {\n if (\n !this.open &&\n !this._showTriggers.has(event.type) &&\n event.type === 'click'\n ) {\n this._options.onClick.call(this._host);\n return;\n }\n\n if (!this._open && this._showTriggers.has(event.type)) {\n await this._options.onShow.call(this._host);\n }\n\n if (this._open && this._hideTriggers.has(event.type)) {\n await this._options.onHide.call(this._host);\n }\n }\n\n /** @internal */\n public handleEvent(event: Event): void {\n if (event.target === this._host) {\n this._handleTooltipEvent(event);\n } else if (event.target === this._anchor?.deref()) {\n this._handleAnchorEvent(event);\n } else if (event.target === this._initialAnchor?.deref()) {\n this.open = false;\n this._handleAnchorEvent(event);\n }\n }\n\n //#endregion\n\n private _dispose(): void {\n this._anchorAbortHandle.abort();\n this._hostAbortHandle.abort();\n service.remove(this._host);\n this._anchor = null;\n this._initialAnchor = null;\n }\n\n //#region Public API\n\n /**\n * Removes all triggers from the previous `anchor` target and rebinds the current\n * sets back to the new value if it exists.\n */\n public setAnchor(value: TooltipAnchor | string, transient = false): void {\n const newAnchor = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n if (this._anchor?.deref() === newAnchor) {\n return;\n }\n\n // Tooltip `show()` method called with a target. Set to hidden state.\n if (transient && this._open) {\n this.open = false;\n }\n\n if (this._anchor?.deref() !== this._initialAnchor?.deref()) {\n this._anchorAbortHandle.abort();\n }\n\n this._anchor = newAnchor ? new WeakRef(newAnchor) : null;\n this._isTransient = transient;\n this._addAnchorListeners();\n }\n\n public resolveAnchor(value: TooltipAnchor | string): void {\n const resolvedElement = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n this._initialAnchor = resolvedElement ? new WeakRef(resolvedElement) : null;\n this.setAnchor(resolvedElement);\n }\n\n //#endregion\n\n //#region ReactiveController interface\n\n /** @internal */\n public hostConnected(): void {\n this.resolveAnchor(this._host.anchor);\n }\n\n /** @internal */\n public hostDisconnected(): void {\n this._dispose();\n }\n\n //#endregion\n}\n\nfunction parseTriggers(string: string): Set<string> {\n return new Set(\n (string ?? '').split(TooltipRegexes.triggers).filter((s) => s.trim())\n );\n}\n\nexport const TooltipRegexes = Object.freeze({\n /** Used for parsing the strings passed in the tooltip `show/hide-trigger` properties. */\n triggers: /[,\\s]+/,\n\n /** Matches horizontal `PopoverPlacement` start positions. */\n horizontalStart: /^(left|right)-start$/,\n\n /** Matches horizontal `PopoverPlacement` end positions. */\n horizontalEnd: /^(left|right)-end$/,\n\n /** Matches vertical `PopoverPlacement` start positions. */\n start: /start$/,\n\n /** Matches vertical `PopoverPlacement` end positions. */\n end: /end$/,\n});\n\nexport function addTooltipController(\n host: IgcTooltipComponent,\n options: TooltipCallbacks\n): TooltipController {\n return new TooltipController(host, options);\n}\n\ntype TooltipAnchor = Element | null | undefined;\n\ntype TooltipCallbacks = {\n onShow: (event?: Event) => unknown;\n onHide: (event?: Event) => unknown;\n onEscape: (event?: Event) => unknown;\n onClick: (event?: Event) => unknown;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../src/components/tooltip/controller.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController } from 'lit';\nimport { createAbortHandle } from '#internals/abort-handler.js';\nimport { getElementByIdFromRoot } from '#internals/utils/dom.js';\nimport { addWeakEventListener } from '#internals/utils/events.js';\nimport { createIdGenerator } from '#internals/utils/strings.js';\nimport { isString } from '#internals/utils/types.js';\nimport service from './service.js';\nimport type IgcTooltipComponent from './tooltip.js';\n\nclass TooltipController implements ReactiveController {\n //#region Internal properties and state\n\n private static readonly _listeners = [\n 'pointerenter',\n 'pointerleave',\n ] as const;\n\n private readonly _host: IgcTooltipComponent;\n private readonly _options: TooltipCallbacks;\n\n private readonly _hostAbortHandle = createAbortHandle();\n private readonly _anchorAbortHandle = createAbortHandle();\n\n private _showTriggers = new Set(['pointerenter', 'focusin']);\n private _hideTriggers = new Set(['pointerleave', 'click', 'focusout']);\n\n private _anchor: WeakRef<Element> | null = null;\n private _initialAnchor: WeakRef<Element> | null = null;\n\n /** The element currently describing itself with this tooltip. */\n private _describedElement: WeakRef<Element> | null = null;\n\n private _isTransient = false;\n private _open = false;\n\n //#endregion\n\n //#region Public properties\n\n /** Whether the tooltip is in shown state. */\n public get open(): boolean {\n return this._open;\n }\n\n /** Sets the shown state of the current tooltip. */\n public set open(value: boolean) {\n this._open = value;\n\n if (this._open) {\n this._addTooltipListeners();\n service.add(this._host, this._options.onEscape);\n } else {\n if (this._isTransient) {\n this._isTransient = false;\n this.setAnchor(this._initialAnchor?.deref());\n }\n\n this._hostAbortHandle.abort();\n service.remove(this._host);\n }\n }\n\n /**\n * Returns the current tooltip anchor target if any.\n */\n public get anchor(): TooltipAnchor {\n // `setAnchor` keeps this in sync with `_initialAnchor` unless transient.\n return this._anchor?.deref();\n }\n\n /**\n * Returns the current set of hide triggers as a comma-separated string.\n */\n public get hideTriggers(): string {\n return Array.from(this._hideTriggers).join();\n }\n\n /**\n * Sets a new set of hide triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set hideTriggers(value: string) {\n this._hideTriggers = parseTriggers(value);\n this._anchorAbortHandle.abort();\n this._addAnchorListeners();\n }\n\n /**\n * Returns the current set of show triggers as a comma-separated string.\n */\n public get showTriggers(): string {\n return Array.from(this._showTriggers).join();\n }\n\n /**\n * Sets a new set of show triggers from a comma-separated string.\n *\n * @remarks\n * If the tooltip already has an `anchor` bound it will remove the old\n * set of triggers from it and rebind it with the new one.\n */\n public set showTriggers(value: string) {\n this._showTriggers = parseTriggers(value);\n this._anchorAbortHandle.abort();\n this._addAnchorListeners();\n }\n\n //#endregion\n\n constructor(tooltip: IgcTooltipComponent, options: TooltipCallbacks) {\n this._host = tooltip;\n this._options = options;\n this._host.addController(this);\n }\n\n //#region Internal event listeners state\n\n private _addAnchorListeners(): void {\n const anchor = this.anchor;\n\n if (!anchor) {\n return;\n }\n\n const { signal } = this._anchorAbortHandle;\n\n for (const each of this._showTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n\n for (const each of this._hideTriggers) {\n addWeakEventListener(anchor, each, this, { passive: true, signal });\n }\n\n if (!this._showTriggers.has('click') && !this._hideTriggers.has('click')) {\n addWeakEventListener(anchor, 'click', this, { passive: true, signal });\n }\n }\n\n private _addTooltipListeners(): void {\n const { signal } = this._hostAbortHandle;\n\n for (const event of TooltipController._listeners) {\n this._host.addEventListener(event, this, { passive: true, signal });\n }\n }\n\n /**\n * Points the anchor's `aria-describedby` at the tooltip, releasing the\n * previously described element. Tokens already on the anchor are kept.\n */\n private _syncAnchorARIA(): void {\n const anchor = this.anchor;\n const previous = this._describedElement?.deref();\n\n if (previous === anchor) {\n return;\n }\n\n if (previous) {\n this._toggleDescribedBy(previous, false);\n }\n\n this._describedElement = anchor ? new WeakRef(anchor) : null;\n\n if (anchor) {\n this._toggleDescribedBy(anchor, true);\n }\n }\n\n private _toggleDescribedBy(element: Element, state: boolean): void {\n const id = (this._host.id ||= nextTooltipId());\n const tokens = new Set(\n (element.getAttribute('aria-describedby') ?? '')\n .split(/\\s+/)\n .filter(Boolean)\n );\n\n state ? tokens.add(id) : tokens.delete(id);\n\n tokens.size > 0\n ? element.setAttribute('aria-describedby', Array.from(tokens).join(' '))\n : element.removeAttribute('aria-describedby');\n }\n\n //#endregion\n\n //#region Event handlers\n\n private _handleTooltipEvent(event: Event): void {\n if (event.type === 'pointerenter') {\n this._options.onShow();\n } else if (event.type === 'pointerleave') {\n this._options.onHide();\n }\n }\n\n private _handleAnchorEvent(event: Event): void {\n const isShowTrigger = this._showTriggers.has(event.type);\n const isHideTrigger = this._hideTriggers.has(event.type);\n\n // Not a configured trigger, so this is the synthetic `click` listener.\n // Clicking the anchor cancels a queued show - see issue #1828.\n if (!(isShowTrigger || isHideTrigger)) {\n if (event.type === 'click') {\n this._options.onClick();\n }\n return;\n }\n\n // The same event drives both directions - toggle on the committed state.\n if (isShowTrigger && isHideTrigger) {\n this._open ? this._options.onHide() : this._options.onShow();\n return;\n }\n\n // Deliberately not gated on the committed state - that would swallow\n // triggers arriving while a transition is still running. The host is\n // already a no-op when it is heading to the requested state.\n isShowTrigger ? this._options.onShow() : this._options.onHide();\n }\n\n /** @internal */\n public handleEvent(event: Event): void {\n // The element the listener sits on, not `event.target` - a bubbling\n // trigger such as `click` or `focusin` reports the descendant of the\n // anchor it originated from.\n const target = event.currentTarget;\n\n if (target === this._host) {\n this._handleTooltipEvent(event);\n } else if (target === this._anchor?.deref()) {\n this._handleAnchorEvent(event);\n } else if (target === this._initialAnchor?.deref()) {\n // Interacting with the initial anchor drops the transient one.\n this._options.onReset();\n this._handleAnchorEvent(event);\n }\n }\n\n //#endregion\n\n private _dispose(): void {\n this._anchorAbortHandle.abort();\n this._hostAbortHandle.abort();\n service.remove(this._host);\n this._anchor = null;\n this._initialAnchor = null;\n this._syncAnchorARIA();\n }\n\n //#region Public API\n\n /**\n * Removes all triggers from the previous `anchor` target and rebinds the current\n * sets back to the new value if it exists.\n */\n public setAnchor(value: TooltipAnchor | string, transient = false): void {\n const newAnchor = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n if (this._anchor?.deref() === newAnchor) {\n return;\n }\n\n // `show()` was called with a target while the tooltip is up - close it\n // before it moves to the new anchor.\n if (transient && this._open) {\n this._options.onReset();\n }\n\n if (this._anchor?.deref() !== this._initialAnchor?.deref()) {\n this._anchorAbortHandle.abort();\n }\n\n this._anchor = newAnchor ? new WeakRef(newAnchor) : null;\n this._isTransient = transient;\n this._addAnchorListeners();\n this._syncAnchorARIA();\n }\n\n public resolveAnchor(value: TooltipAnchor | string): void {\n const resolvedElement = isString(value)\n ? getElementByIdFromRoot(this._host, value)\n : value;\n\n this._initialAnchor = resolvedElement ? new WeakRef(resolvedElement) : null;\n this.setAnchor(resolvedElement);\n }\n\n //#endregion\n\n //#region ReactiveController interface\n\n /** @internal */\n public hostConnected(): void {\n this.resolveAnchor(this._host.anchor);\n }\n\n /** @internal */\n public hostDisconnected(): void {\n this._dispose();\n }\n\n //#endregion\n}\n\nconst nextTooltipId = createIdGenerator('igc-tooltip');\n\n/** Splits the strings passed to the `show/hide-triggers` properties. */\nconst triggersSeparator = /[,\\s]+/;\n\nfunction parseTriggers(value: string): Set<string> {\n // Removing the attribute passes `null` through the property accessor.\n return new Set(\n (value ?? '').split(triggersSeparator).filter((trigger) => trigger.trim())\n );\n}\n\nexport function addTooltipController(\n host: IgcTooltipComponent,\n options: TooltipCallbacks\n): TooltipController {\n return new TooltipController(host, options);\n}\n\ntype TooltipAnchor = Element | null | undefined;\n\ntype TooltipCallbacks = {\n /** A show trigger fired, or the pointer entered the tooltip itself. */\n onShow: () => unknown;\n /** A hide trigger fired, or the pointer left the tooltip itself. */\n onHide: () => unknown;\n /** The `Escape` key was pressed while the tooltip is shown. */\n onEscape: () => unknown;\n /** The anchor was clicked with `click` bound to neither trigger set. */\n onClick: () => unknown;\n /** The tooltip must drop the anchor it is currently bound to. */\n onReset: () => unknown;\n};\n"]}
|
|
@@ -2,7 +2,8 @@ import type IgcTooltipComponent from './tooltip.js';
|
|
|
2
2
|
type TooltipHideCallback = () => unknown;
|
|
3
3
|
declare class TooltipEscapeCallbacks {
|
|
4
4
|
private _collection;
|
|
5
|
-
|
|
5
|
+
/** Keeps the global `keydown` listener bound while any tooltip is shown. */
|
|
6
|
+
private _syncListener;
|
|
6
7
|
add(instance: IgcTooltipComponent, hideCallback: TooltipHideCallback): void;
|
|
7
8
|
remove(instance: IgcTooltipComponent): void;
|
|
8
9
|
/** @internal */
|
|
@@ -1,40 +1,35 @@
|
|
|
1
1
|
import { isServer } from 'lit';
|
|
2
|
-
import { escapeKey } from '
|
|
3
|
-
import { isEmpty,
|
|
2
|
+
import { escapeKey } from '#internals/controllers/key-bindings.js';
|
|
3
|
+
import { isEmpty, lastOf } from '#internals/utils/arrays.js';
|
|
4
4
|
class TooltipEscapeCallbacks {
|
|
5
5
|
constructor() {
|
|
6
6
|
this._collection = new Map();
|
|
7
7
|
}
|
|
8
|
-
|
|
8
|
+
_syncListener() {
|
|
9
9
|
if (isServer) {
|
|
10
10
|
return;
|
|
11
11
|
}
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
: globalThis.removeEventListener('keydown', this);
|
|
16
|
-
}
|
|
12
|
+
isEmpty(this._collection)
|
|
13
|
+
? globalThis.removeEventListener('keydown', this)
|
|
14
|
+
: globalThis.addEventListener('keydown', this);
|
|
17
15
|
}
|
|
18
16
|
add(instance, hideCallback) {
|
|
19
17
|
if (this._collection.has(instance)) {
|
|
20
18
|
return;
|
|
21
19
|
}
|
|
22
|
-
this._setListener();
|
|
23
20
|
this._collection.set(instance, hideCallback);
|
|
21
|
+
this._syncListener();
|
|
24
22
|
}
|
|
25
23
|
remove(instance) {
|
|
26
|
-
if (
|
|
27
|
-
|
|
24
|
+
if (this._collection.delete(instance)) {
|
|
25
|
+
this._syncListener();
|
|
28
26
|
}
|
|
29
|
-
this._collection.delete(instance);
|
|
30
|
-
this._setListener(false);
|
|
31
27
|
}
|
|
32
28
|
async handleEvent(event) {
|
|
33
29
|
if (event.key !== escapeKey) {
|
|
34
30
|
return;
|
|
35
31
|
}
|
|
36
|
-
|
|
37
|
-
await callback?.call(tooltip);
|
|
32
|
+
await lastOf(Array.from(this._collection.values()))?.();
|
|
38
33
|
}
|
|
39
34
|
}
|
|
40
35
|
const service = new TooltipEscapeCallbacks();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/components/tooltip/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../../src/components/tooltip/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AAK7D,MAAM,sBAAsB;IAA5B;QACU,gBAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;IAyC5E,CAAC;IAtCS,aAAa;QAEnB,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;YACvB,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC;YACjD,CAAC,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAEM,GAAG,CACR,QAA6B,EAC7B,YAAiC;QAEjC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,QAA6B;QACzC,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;IAGM,KAAK,CAAC,WAAW,CAAC,KAAoB;QAC3C,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QAGD,MAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1D,CAAC;CACF;AAED,MAAM,OAAO,GAAG,IAAI,sBAAsB,EAAE,CAAC;AAC7C,eAAe,OAAO,CAAC","sourcesContent":["import { isServer } from 'lit';\nimport { escapeKey } from '#internals/controllers/key-bindings.js';\nimport { isEmpty, lastOf } from '#internals/utils/arrays.js';\nimport type IgcTooltipComponent from './tooltip.js';\n\ntype TooltipHideCallback = () => unknown;\n\nclass TooltipEscapeCallbacks {\n private _collection = new Map<IgcTooltipComponent, TooltipHideCallback>();\n\n /** Keeps the global `keydown` listener bound while any tooltip is shown. */\n private _syncListener(): void {\n /* c8 ignore next 3 */\n if (isServer) {\n return;\n }\n\n isEmpty(this._collection)\n ? globalThis.removeEventListener('keydown', this)\n : globalThis.addEventListener('keydown', this);\n }\n\n public add(\n instance: IgcTooltipComponent,\n hideCallback: TooltipHideCallback\n ): void {\n if (this._collection.has(instance)) {\n return;\n }\n\n this._collection.set(instance, hideCallback);\n this._syncListener();\n }\n\n public remove(instance: IgcTooltipComponent): void {\n if (this._collection.delete(instance)) {\n this._syncListener();\n }\n }\n\n /** @internal */\n public async handleEvent(event: KeyboardEvent): Promise<void> {\n if (event.key !== escapeKey) {\n return;\n }\n\n // The last registered tooltip is the last one shown.\n await lastOf(Array.from(this._collection.values()))?.();\n }\n}\n\nconst service = new TooltipEscapeCallbacks();\nexport default service;\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `[part
|
|
2
|
+
export const styles = css `[part~=base]{background:var(--background);color:var(--text-color);border-radius:var(--border-radius);box-shadow:var(--elevation)}#arrow[part~=top],#arrow[part~=bottom]{border-left:.25rem solid rgba(0,0,0,0);border-right:.25rem solid rgba(0,0,0,0)}#arrow[part~=top]{border-top:.25rem solid var(--background)}#arrow[part~=bottom]{border-bottom:.25rem solid var(--background)}#arrow[part~=left],#arrow[part~=right]{border-top:.25rem solid rgba(0,0,0,0);border-bottom:.25rem solid rgba(0,0,0,0)}#arrow[part~=left]{border-left:.25rem solid var(--background)}#arrow[part~=right]{border-right:.25rem solid var(--background)}`;
|
|
3
3
|
//# sourceMappingURL=tooltip.common.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.common.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.common.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"tooltip.common.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.common.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,2mBAA2mB,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`[part~=base]{background:var(--background);color:var(--text-color);border-radius:var(--border-radius);box-shadow:var(--elevation)}#arrow[part~=top],#arrow[part~=bottom]{border-left:.25rem solid rgba(0,0,0,0);border-right:.25rem solid rgba(0,0,0,0)}#arrow[part~=top]{border-top:.25rem solid var(--background)}#arrow[part~=bottom]{border-bottom:.25rem solid var(--background)}#arrow[part~=left],#arrow[part~=right]{border-top:.25rem solid rgba(0,0,0,0);border-bottom:.25rem solid rgba(0,0,0,0)}#arrow[part~=left]{border-left:.25rem solid var(--background)}#arrow[part~=right]{border-right:.25rem solid var(--background)}`;\n "]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `[part
|
|
2
|
+
export const styles = css `[part~=base]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}`;
|
|
3
3
|
//# sourceMappingURL=tooltip.indigo.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"tooltip.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/tooltip/themes/shared/tooltip.indigo.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,mcAAmc,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`[part~=base]{font-family:var(--ig-subtitle-2-font-family, var(--ig-font-family));font-size:var(--ig-subtitle-2-font-size);font-weight:var(--ig-subtitle-2-font-weight);font-style:var(--ig-subtitle-2-font-style);line-height:var(--ig-subtitle-2-line-height);letter-spacing:var(--ig-subtitle-2-letter-spacing);text-transform:var(--ig-subtitle-2-text-transform);margin-top:var(--ig-subtitle-2-margin-top);margin-bottom:var(--ig-subtitle-2-margin-bottom)}`;\n "]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import type { Themes } from '
|
|
1
|
+
import type { Themes } from '#theming/types.js';
|
|
2
2
|
export declare const all: Themes;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAI1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACpE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAExE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAElE,MAAM,KAAK,GAAG;IACZ,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,cAAc;GACjB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,WAAW;GACd;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,SAAS,EAAE,GAAG,CAAA;MACV,aAAa;GAChB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,UAAU;GACb;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\nimport type { Themes } from '#theming/types.js';\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/tooltip.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/tooltip.fluent.css.js';\nimport { styles as indigoDark } from './dark/tooltip.indigo.css.js';\nimport { styles as materialDark } from './dark/tooltip.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/tooltip.bootstrap.css.js';\nimport { styles as fluentLight } from './light/tooltip.fluent.css.js';\nimport { styles as indigoLight } from './light/tooltip.indigo.css.js';\nimport { styles as materialLight } from './light/tooltip.material.css.js';\nimport { styles as shared } from './light/tooltip.shared.css.js';\nimport { styles as indigo } from './shared/tooltip.indigo.css.js';\n\nconst light = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n shared: css`\n ${shared}\n `,\n bootstrap: css`\n ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { css } from 'lit';
|
|
2
|
-
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{position:fixed;display:flex;align-items:center;text-align:center}[part~=base]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);padding:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));font-size:.625rem;font-weight:600;line-height:1rem;text-align:start;display:flex;align-items:flex-start;gap:.5rem;position:relative}[part~=simple-text]{max-width:200px}#arrow{position:absolute;width:0;height:0}igc-popover::part(container){background-color:rgba(0,0,0,0)}slot[name=close-button] igc-icon{--component-size: 1}`;
|
|
2
|
+
export const styles = css `:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{position:fixed;display:flex;align-items:center;text-align:center}[part~=base]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);padding:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));font-size:.625rem;font-weight:600;line-height:1rem;text-align:start;display:flex;align-items:flex-start;gap:.5rem;position:relative}[part~=simple-text]{max-width:200px}#arrow{position:absolute;width:0;height:0}igc-popover::part(container){background-color:rgba(0,0,0,0)}slot[name=close-button] button{display:flex;align-items:center;padding:0;border:none;background:none;color:inherit;cursor:pointer}slot[name=close-button] igc-icon{--component-size: 1}`;
|
|
3
3
|
//# sourceMappingURL=tooltip.base.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.base.css.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/tooltip.base.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,
|
|
1
|
+
{"version":3,"file":"tooltip.base.css.js","sourceRoot":"","sources":["../../../../src/components/tooltip/themes/tooltip.base.css.ts"],"names":[],"mappings":"AACE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,ylFAAylF,CAAC","sourcesContent":["\n import { css } from 'lit';\n export const styles = css`:host{--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);--is-medium: min( clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-medium, 2), 1), clamp(0, var(--ig-size-large, 3) - var(--component-size, 1), 1) );--is-small: clamp(0, var(--ig-size-medium) - var(--component-size, 1), 1);position:relative;box-sizing:border-box;scrollbar-width:var(--ig-scrollbar-size, var(--sb-size));scrollbar-color:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color)) var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar{width:var(--ig-scrollbar-size, var(--sb-size));height:var(--ig-scrollbar-size, var(--sb-size));background:var(--ig-scrollbar-track-background, var(--sb-track-bg-color))}:host ::-webkit-scrollbar-thumb{background:var(--ig-scrollbar-thumb-background, var(--sb-thumb-bg-color))}:host *,:host *::before,:host *::after{box-sizing:border-box}:host([hidden]),[hidden]{display:none !important}:host{position:fixed;display:flex;align-items:center;text-align:center}[part~=base]{font-family:var(--ig-body-2-font-family, var(--ig-font-family));font-size:var(--ig-body-2-font-size);font-weight:var(--ig-body-2-font-weight);font-style:var(--ig-body-2-font-style);line-height:var(--ig-body-2-line-height);letter-spacing:var(--ig-body-2-letter-spacing);text-transform:var(--ig-body-2-text-transform);margin-top:var(--ig-body-2-margin-top);margin-bottom:var(--ig-body-2-margin-bottom);padding:max(var(--is-large, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-large, var(--ig-spacing-block, var(--ig-spacing))),var(--is-medium, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-medium, var(--ig-spacing-block, var(--ig-spacing))),var(--is-small, 1)*max(0.25rem, -1 * 0.25rem)*var(--ig-spacing-block-small, var(--ig-spacing-block, var(--ig-spacing)))) max(var(--is-large, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-large, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-medium, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-medium, var(--ig-spacing-inline, var(--ig-spacing))),var(--is-small, 1)*max(0.5rem, -1 * 0.5rem)*var(--ig-spacing-inline-small, var(--ig-spacing-inline, var(--ig-spacing))));font-size:.625rem;font-weight:600;line-height:1rem;text-align:start;display:flex;align-items:flex-start;gap:.5rem;position:relative}[part~=simple-text]{max-width:200px}#arrow{position:absolute;width:0;height:0}igc-popover::part(container){background-color:rgba(0,0,0,0)}slot[name=close-button] button{display:flex;align-items:center;padding:0;border:none;background:none;color:inherit;cursor:pointer}slot[name=close-button] igc-icon{--component-size: 1}`;\n "]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { LitElement, type PropertyValues } from 'lit';
|
|
2
|
-
import type { Constructor } from '
|
|
2
|
+
import type { Constructor } from '#internals/mixins/constructor.js';
|
|
3
3
|
import { type PopoverPlacement } from '../popover/popover.js';
|
|
4
4
|
export interface IgcTooltipComponentEventMap {
|
|
5
5
|
igcOpening: CustomEvent<void>;
|
|
@@ -7,7 +7,7 @@ export interface IgcTooltipComponentEventMap {
|
|
|
7
7
|
igcClosing: CustomEvent<void>;
|
|
8
8
|
igcClosed: CustomEvent<void>;
|
|
9
9
|
}
|
|
10
|
-
declare const IgcTooltipComponent_base: Constructor<import("
|
|
10
|
+
declare const IgcTooltipComponent_base: Constructor<import("#internals/mixins/event-emitter.js").EventEmitterInterface<IgcTooltipComponentEventMap>> & Constructor<LitElement>;
|
|
11
11
|
/**
|
|
12
12
|
* Provides a way to display supplementary information related to an element when a user interacts with it (e.g., hover, focus).
|
|
13
13
|
* It offers features such as placement customization, delays, sticky mode, and animations.
|
|
@@ -19,6 +19,7 @@ declare const IgcTooltipComponent_base: Constructor<import("../common/mixins/eve
|
|
|
19
19
|
*
|
|
20
20
|
* @csspart base - The wrapping container of the tooltip content.
|
|
21
21
|
* @csspart simple-text - The container where the message property of the tooltip is rendered.
|
|
22
|
+
* @csspart close-button - The default sticky-mode close button.
|
|
22
23
|
*
|
|
23
24
|
* @fires igcOpening - Emitted before the tooltip begins to open. Can be canceled to prevent opening.
|
|
24
25
|
* @fires igcOpened - Emitted after the tooltip has successfully opened and is visible.
|
|
@@ -28,20 +29,34 @@ declare const IgcTooltipComponent_base: Constructor<import("../common/mixins/eve
|
|
|
28
29
|
export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
29
30
|
static readonly tagName = "igc-tooltip";
|
|
30
31
|
static styles: import("lit").CSSResult[];
|
|
32
|
+
/** Shared config for the delay properties - a negative delay is no delay. */
|
|
33
|
+
private static readonly _delay;
|
|
31
34
|
static register(): void;
|
|
32
|
-
private readonly _internals;
|
|
33
35
|
private readonly _controller;
|
|
34
36
|
private readonly _containerRef;
|
|
35
37
|
private readonly _player;
|
|
36
38
|
private readonly _slots;
|
|
37
39
|
private readonly _showAnimation;
|
|
38
40
|
private readonly _hideAnimation;
|
|
39
|
-
|
|
40
|
-
private
|
|
41
|
-
|
|
42
|
-
private
|
|
43
|
-
private
|
|
41
|
+
/** The queued, not yet committed transition, if a delay is in effect. */
|
|
42
|
+
private _pending?;
|
|
43
|
+
/** A commit that finishes with a stale id has been superseded. */
|
|
44
|
+
private _transitionId;
|
|
45
|
+
private _animating;
|
|
46
|
+
/**
|
|
47
|
+
* The state the tooltip is heading to. A show commits `open` upfront so the
|
|
48
|
+
* popover renders; a hide commits it only once its animation is done.
|
|
49
|
+
*/
|
|
50
|
+
private _requestedState;
|
|
51
|
+
private readonly _popover;
|
|
52
|
+
private readonly _arrowElement;
|
|
44
53
|
private get _arrowOffset();
|
|
54
|
+
/**
|
|
55
|
+
* Whether the consumer projected anything into the default slot. Queried
|
|
56
|
+
* without flattening, which would report the rendered `message` - the slot's
|
|
57
|
+
* own fallback content - as if it came from the consumer.
|
|
58
|
+
*/
|
|
59
|
+
private get _hasProjectedContent();
|
|
45
60
|
/**
|
|
46
61
|
* Whether the tooltip is showing.
|
|
47
62
|
*
|
|
@@ -65,7 +80,7 @@ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
|
65
80
|
*/
|
|
66
81
|
offset: number;
|
|
67
82
|
/**
|
|
68
|
-
* Where to place the
|
|
83
|
+
* Where to place the tooltip relative to its anchor element.
|
|
69
84
|
*
|
|
70
85
|
* @attr placement
|
|
71
86
|
* @default bottom
|
|
@@ -75,7 +90,7 @@ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
|
75
90
|
* An element instance or an IDREF to use as the anchor for the tooltip.
|
|
76
91
|
*
|
|
77
92
|
* @remarks
|
|
78
|
-
* Trying to bind to an IDREF that does not exist in the current DOM root
|
|
93
|
+
* Trying to bind to an IDREF that does not exist in the current DOM root will not work.
|
|
79
94
|
* In such scenarios, it is better to get a DOM reference and pass it to the tooltip instance.
|
|
80
95
|
*
|
|
81
96
|
* @attr anchor
|
|
@@ -83,19 +98,19 @@ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
|
83
98
|
anchor?: Element | string;
|
|
84
99
|
/**
|
|
85
100
|
* Which event triggers will show the tooltip.
|
|
86
|
-
* Expects a comma
|
|
101
|
+
* Expects a comma separated string of different event triggers.
|
|
87
102
|
*
|
|
88
103
|
* @attr show-triggers
|
|
89
|
-
* @default pointerenter
|
|
104
|
+
* @default pointerenter,focusin
|
|
90
105
|
*/
|
|
91
106
|
set showTriggers(value: string);
|
|
92
107
|
get showTriggers(): string;
|
|
93
108
|
/**
|
|
94
109
|
* Which event triggers will hide the tooltip.
|
|
95
|
-
* Expects a comma
|
|
110
|
+
* Expects a comma separated string of different event triggers.
|
|
96
111
|
*
|
|
97
112
|
* @attr hide-triggers
|
|
98
|
-
* @default pointerleave,
|
|
113
|
+
* @default pointerleave,click,focusout
|
|
99
114
|
*/
|
|
100
115
|
set hideTriggers(value: string);
|
|
101
116
|
get hideTriggers(): string;
|
|
@@ -105,18 +120,16 @@ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
|
105
120
|
* @attr show-delay
|
|
106
121
|
* @default 200
|
|
107
122
|
*/
|
|
108
|
-
|
|
109
|
-
get showDelay(): number;
|
|
123
|
+
showDelay: number;
|
|
110
124
|
/**
|
|
111
125
|
* Specifies the number of milliseconds that should pass before hiding the tooltip.
|
|
112
126
|
*
|
|
113
127
|
* @attr hide-delay
|
|
114
128
|
* @default 300
|
|
115
129
|
*/
|
|
116
|
-
|
|
117
|
-
get hideDelay(): number;
|
|
130
|
+
hideDelay: number;
|
|
118
131
|
/**
|
|
119
|
-
* Specifies
|
|
132
|
+
* Specifies plain text as the tooltip content.
|
|
120
133
|
*
|
|
121
134
|
* @attr message
|
|
122
135
|
*/
|
|
@@ -130,24 +143,54 @@ export default class IgcTooltipComponent extends IgcTooltipComponent_base {
|
|
|
130
143
|
sticky: boolean;
|
|
131
144
|
constructor();
|
|
132
145
|
protected firstUpdated(): void;
|
|
146
|
+
protected updated(changedProperties: PropertyValues<this>): void;
|
|
133
147
|
protected willUpdate(changedProperties: PropertyValues<this>): void;
|
|
134
148
|
private _emitEvent;
|
|
149
|
+
/**
|
|
150
|
+
* Invalidates the queued and/or running transition, resolving a delayed one
|
|
151
|
+
* with `false`. The caller must settle the state it left behind.
|
|
152
|
+
*
|
|
153
|
+
* @returns Whether the aborted transition was mid-animation.
|
|
154
|
+
*/
|
|
155
|
+
private _abortTransition;
|
|
156
|
+
/** Lands the tooltip on `state` after its transition was aborted. */
|
|
157
|
+
private _settleState;
|
|
158
|
+
/**
|
|
159
|
+
* Drops a queued or running transition and settles on `state`, by default
|
|
160
|
+
* the state the tooltip is already committed to.
|
|
161
|
+
*/
|
|
162
|
+
private _cancelTransition;
|
|
135
163
|
private _applyTooltipState;
|
|
136
164
|
/**
|
|
137
|
-
*
|
|
138
|
-
*
|
|
165
|
+
* Shows the tooltip if not already showing.
|
|
166
|
+
* If a target is provided, sets it as a transient anchor.
|
|
167
|
+
*
|
|
168
|
+
* @remarks
|
|
169
|
+
* Bypasses `showDelay` and does not emit `igcOpening`/`igcOpened`.
|
|
170
|
+
* Resolves with whether the tooltip transitioned to a shown state.
|
|
139
171
|
*/
|
|
140
172
|
show(target?: Element | string): Promise<boolean>;
|
|
141
|
-
/**
|
|
173
|
+
/**
|
|
174
|
+
* Hides the tooltip if not already hidden.
|
|
175
|
+
*
|
|
176
|
+
* @remarks
|
|
177
|
+
* Bypasses `hideDelay` and does not emit `igcClosing`/`igcClosed`.
|
|
178
|
+
* Resolves with whether the tooltip transitioned to a hidden state.
|
|
179
|
+
*/
|
|
142
180
|
hide(): Promise<boolean>;
|
|
143
|
-
/**
|
|
181
|
+
/**
|
|
182
|
+
* Toggles the tooltip between shown/hidden state.
|
|
183
|
+
*
|
|
184
|
+
* @remarks
|
|
185
|
+
* Resolves with whether the tooltip transitioned to the opposite state.
|
|
186
|
+
*/
|
|
144
187
|
toggle(): Promise<boolean>;
|
|
145
188
|
protected _showWithEvent(): Promise<boolean>;
|
|
146
189
|
protected _hideWithEvent(): Promise<boolean>;
|
|
147
190
|
private _showOnInteraction;
|
|
148
|
-
private _stopTimeoutAndAnimation;
|
|
149
|
-
private _setAutoHide;
|
|
150
191
|
private _hideOnInteraction;
|
|
192
|
+
/** Sticky mode close action - closes without waiting out `hideDelay`. */
|
|
193
|
+
private _hideOnCloseClick;
|
|
151
194
|
private _hideOnEscape;
|
|
152
195
|
protected render(): import("lit-html").TemplateResult<1>;
|
|
153
196
|
}
|