igniteui-webcomponents 7.3.2 → 7.4.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 +87 -0
- package/animations/easings.d.ts +21 -31
- package/animations/easings.js +21 -34
- package/animations/easings.js.map +1 -1
- package/animations/player.d.ts +8 -16
- package/animations/player.js +5 -8
- package/animations/player.js.map +1 -1
- package/animations/view-transition.d.ts +10 -10
- package/animations/view-transition.js +26 -37
- package/animations/view-transition.js.map +1 -1
- package/components/breadcrumb/breadcrumb.d.ts +74 -0
- package/components/breadcrumb/breadcrumb.js +107 -0
- package/components/breadcrumb/breadcrumb.js.map +1 -0
- package/components/breadcrumb/breadcrumbs.d.ts +60 -0
- package/components/breadcrumb/breadcrumbs.js +50 -0
- package/components/breadcrumb/breadcrumbs.js.map +1 -0
- package/components/breadcrumb/themes/breadcrumb.base.css.js +3 -0
- package/components/breadcrumb/themes/breadcrumb.base.css.js.map +1 -0
- package/components/breadcrumb/themes/breadcrumbs.base.css.d.ts +1 -0
- package/components/{resize-container/themes/resize-container.base.css.js → breadcrumb/themes/breadcrumbs.base.css.js} +2 -2
- package/components/breadcrumb/themes/breadcrumbs.base.css.js.map +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.d.ts +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.js +3 -0
- package/components/breadcrumb/themes/dark/breadcrumb.bootstrap.css.js.map +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.d.ts +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.js +3 -0
- package/components/breadcrumb/themes/dark/breadcrumb.fluent.css.js.map +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.d.ts +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.js +3 -0
- package/components/breadcrumb/themes/dark/breadcrumb.indigo.css.js.map +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.material.css.d.ts +1 -0
- package/components/breadcrumb/themes/dark/breadcrumb.material.css.js +3 -0
- package/components/breadcrumb/themes/dark/breadcrumb.material.css.js.map +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.d.ts +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.js +3 -0
- package/components/breadcrumb/themes/light/breadcrumb.bootstrap.css.js.map +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.fluent.css.d.ts +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.fluent.css.js +3 -0
- package/components/breadcrumb/themes/light/breadcrumb.fluent.css.js.map +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.indigo.css.d.ts +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.indigo.css.js +3 -0
- package/components/breadcrumb/themes/light/breadcrumb.indigo.css.js.map +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.material.css.d.ts +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.material.css.js +3 -0
- package/components/breadcrumb/themes/light/breadcrumb.material.css.js.map +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.shared.css.d.ts +1 -0
- package/components/breadcrumb/themes/light/breadcrumb.shared.css.js +3 -0
- package/components/breadcrumb/themes/light/breadcrumb.shared.css.js.map +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.d.ts +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.js +3 -0
- package/components/breadcrumb/themes/shared/breadcrumb.bootstrap.css.js.map +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.common.css.d.ts +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.common.css.js +3 -0
- package/components/breadcrumb/themes/shared/breadcrumb.common.css.js.map +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.d.ts +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.js +3 -0
- package/components/breadcrumb/themes/shared/breadcrumb.fluent.css.js.map +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.d.ts +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.js +3 -0
- package/components/breadcrumb/themes/shared/breadcrumb.indigo.css.js.map +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.material.css.d.ts +1 -0
- package/components/breadcrumb/themes/shared/breadcrumb.material.css.js +3 -0
- package/components/breadcrumb/themes/shared/breadcrumb.material.css.js.map +1 -0
- package/components/breadcrumb/themes/themes.d.ts +2 -0
- package/components/breadcrumb/themes/themes.js +50 -0
- package/components/breadcrumb/themes/themes.js.map +1 -0
- package/components/button/button.d.ts +0 -2
- package/components/button/button.js.map +1 -1
- package/components/button-group/button-group.d.ts +42 -12
- package/components/button-group/button-group.js +82 -34
- package/components/button-group/button-group.js.map +1 -1
- package/components/button-group/toggle-button.d.ts +6 -1
- package/components/button-group/toggle-button.js +28 -2
- package/components/button-group/toggle-button.js.map +1 -1
- package/components/calendar/base.js +2 -1
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.d.ts +2 -3
- package/components/calendar/calendar.js.map +1 -1
- package/components/calendar/days-view/days-view.d.ts +2 -2
- package/components/calendar/days-view/days-view.js.map +1 -1
- package/components/carousel/carousel-indicator.js +1 -0
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +1 -1
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +3 -3
- package/components/carousel/carousel.js.map +1 -1
- package/components/chat/chat-input.d.ts +1 -2
- package/components/chat/chat-input.js +1 -1
- package/components/chat/chat-input.js.map +1 -1
- package/components/chat/chat-state.d.ts +8 -9
- package/components/chat/chat-state.js.map +1 -1
- package/components/chat/chat.d.ts +1 -3
- package/components/chat/chat.js +2 -2
- package/components/chat/chat.js.map +1 -1
- package/components/chat/message-attachments.d.ts +6 -15
- package/components/chat/message-attachments.js.map +1 -1
- package/components/chat/utils.d.ts +0 -1
- package/components/chat/utils.js +1 -1
- package/components/chat/utils.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +3 -1
- package/components/checkbox/checkbox-base.js +4 -0
- package/components/checkbox/checkbox-base.js.map +1 -1
- package/components/checkbox/checkbox.js +4 -12
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.js +1 -8
- package/components/checkbox/switch.js.map +1 -1
- package/components/chip/chip.d.ts +2 -2
- package/components/chip/chip.js.map +1 -1
- package/components/color-picker/color-picker.d.ts +35 -34
- package/components/color-picker/color-picker.js +12 -7
- package/components/color-picker/color-picker.js.map +1 -1
- package/components/color-picker/common.d.ts +0 -2
- package/components/color-picker/common.js +2 -2
- package/components/color-picker/common.js.map +1 -1
- package/components/color-picker/converters.js.map +1 -1
- package/components/color-picker/picker-canvas.js.map +1 -1
- package/components/combo/combo.d.ts +24 -24
- package/components/combo/combo.js +21 -26
- package/components/combo/combo.js.map +1 -1
- package/components/combo/controllers/data.d.ts +7 -10
- package/components/combo/controllers/data.js.map +1 -1
- package/components/date-picker/date-picker.base.d.ts +22 -27
- package/components/date-picker/date-picker.base.js +9 -3
- package/components/date-picker/date-picker.base.js.map +1 -1
- package/components/date-picker/date-picker.d.ts +1 -1
- package/components/date-picker/date-picker.js +5 -3
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-range-picker/date-range-input.d.ts +0 -2
- package/components/date-range-picker/date-range-input.js +0 -6
- package/components/date-range-picker/date-range-input.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +22 -31
- package/components/date-range-picker/date-range-picker.js +7 -7
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/i18n.d.ts +21 -0
- package/components/date-range-picker/i18n.js +10 -0
- package/components/date-range-picker/i18n.js.map +1 -0
- package/components/date-range-picker/predefined-ranges-area.d.ts +3 -3
- package/components/date-range-picker/predefined-ranges-area.js +2 -5
- package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
- package/components/date-range-picker/validators.d.ts +0 -4
- package/components/date-range-picker/validators.js +4 -4
- package/components/date-range-picker/validators.js.map +1 -1
- package/components/date-time-input/date-time-input.base.d.ts +42 -40
- package/components/date-time-input/date-time-input.base.js +9 -5
- package/components/date-time-input/date-time-input.base.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +1 -11
- package/components/date-time-input/date-time-input.js +0 -6
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/datetime-mask-parser.d.ts +0 -10
- package/components/date-time-input/datetime-mask-parser.js +1 -1
- package/components/date-time-input/datetime-mask-parser.js.map +1 -1
- package/components/dialog/dialog.js.map +1 -1
- package/components/dropdown/dropdown-group.d.ts +2 -10
- package/components/dropdown/dropdown-group.js +2 -27
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/dropdown/dropdown.d.ts +17 -23
- package/components/dropdown/dropdown.js +5 -17
- package/components/dropdown/dropdown.js.map +1 -1
- package/components/file-input/file-input.d.ts +7 -2
- package/components/file-input/file-input.js +4 -0
- package/components/file-input/file-input.js.map +1 -1
- package/components/icon/icon.d.ts +1 -1
- package/components/icon/icon.registry.d.ts +6 -6
- package/components/icon/icon.registry.js.map +1 -1
- package/components/input/input-base.d.ts +2 -2
- package/components/input/input-base.js +3 -5
- package/components/input/input-base.js.map +1 -1
- package/components/input/input.d.ts +3 -3
- package/components/input/input.js.map +1 -1
- package/components/mask-input/mask-history.d.ts +22 -18
- package/components/mask-input/mask-history.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +1 -1
- package/components/mask-input/mask-parser.d.ts +11 -13
- package/components/mask-input/mask-parser.js.map +1 -1
- package/components/popover/popover.d.ts +45 -34
- package/components/popover/popover.js +54 -122
- package/components/popover/popover.js.map +1 -1
- package/components/popover/position/arrow.d.ts +19 -0
- package/components/popover/position/arrow.js +33 -0
- package/components/popover/position/arrow.js.map +1 -0
- package/components/popover/position/floating.d.ts +40 -0
- package/components/popover/position/floating.js +146 -0
- package/components/popover/position/floating.js.map +1 -0
- package/components/popover/position/native.d.ts +45 -0
- package/components/popover/position/native.js +158 -0
- package/components/popover/position/native.js.map +1 -0
- package/components/popover/position/strategy.d.ts +37 -0
- package/components/popover/position/strategy.js +21 -0
- package/components/popover/position/strategy.js.map +1 -0
- package/components/popover/position/types.d.ts +26 -0
- package/components/popover/position/types.js +15 -0
- package/components/popover/position/types.js.map +1 -0
- package/components/popover/themes/light/popover.base.css.js +1 -1
- package/components/popover/themes/light/popover.base.css.js.map +1 -1
- package/components/progress/circular-progress.d.ts +0 -5
- package/components/progress/circular-progress.js.map +1 -1
- package/components/qr-code/qr-code.d.ts +1 -1
- package/components/radio/radio.d.ts +6 -4
- package/components/radio/radio.js +24 -25
- package/components/radio/radio.js.map +1 -1
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating.d.ts +9 -6
- package/components/rating/rating.js +17 -18
- package/components/rating/rating.js.map +1 -1
- package/components/select/select-group.d.ts +5 -10
- package/components/select/select-group.js +10 -34
- package/components/select/select-group.js.map +1 -1
- package/components/select/select.d.ts +12 -20
- package/components/select/select.js +5 -15
- package/components/select/select.js.map +1 -1
- package/components/slider/range-slider.d.ts +0 -1
- package/components/slider/range-slider.js +6 -11
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +4 -1
- package/components/slider/slider-base.js +20 -18
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider.d.ts +2 -0
- package/components/slider/slider.js +5 -1
- package/components/slider/slider.js.map +1 -1
- package/components/splitter/splitter.d.ts +6 -6
- package/components/splitter/splitter.js.map +1 -1
- package/components/textarea/textarea.d.ts +2 -5
- package/components/textarea/textarea.js +3 -5
- package/components/textarea/textarea.js.map +1 -1
- package/components/tile-manager/tile-manager.d.ts +6 -7
- package/components/tile-manager/tile-manager.js.map +1 -1
- package/components/tile-manager/tile.d.ts +3 -3
- package/components/tile-manager/tile.js.map +1 -1
- package/components/toast/toast.d.ts +0 -2
- package/components/toast/toast.js.map +1 -1
- package/components/tooltip/controller.js.map +1 -1
- package/components/tooltip/service.js +4 -5
- package/components/tooltip/service.js.map +1 -1
- package/components/tooltip/tooltip.d.ts +34 -13
- package/components/tooltip/tooltip.js +8 -4
- package/components/tooltip/tooltip.js.map +1 -1
- package/components/tree/tree-item.d.ts +6 -6
- package/components/tree/tree-item.js.map +1 -1
- package/components/tree/tree.navigation.d.ts +5 -6
- package/components/tree/tree.navigation.js.map +1 -1
- package/components/tree/tree.selection.js.map +1 -1
- package/components/types.d.ts +1 -1
- package/components/types.js.map +1 -1
- package/components/validation-container/validation-container.js +2 -1
- package/components/validation-container/validation-container.js.map +1 -1
- package/components/virtualization/engine.d.ts +40 -9
- package/components/virtualization/engine.js +126 -61
- package/components/virtualization/engine.js.map +1 -1
- package/components/virtualization/recycle.d.ts +13 -0
- package/components/virtualization/recycle.js +152 -0
- package/components/virtualization/recycle.js.map +1 -0
- package/components/virtualization/virtualization.d.ts +84 -65
- package/components/virtualization/virtualization.js +20 -16
- package/components/virtualization/virtualization.js.map +1 -1
- package/custom-elements.json +18455 -19551
- package/igniteui-webcomponents.css-data.json +2 -2
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +3 -1
- package/index.js +2 -0
- package/index.js.map +1 -1
- package/internals/abort-handler.d.ts +13 -25
- package/internals/abort-handler.js +4 -6
- package/internals/abort-handler.js.map +1 -1
- package/internals/context.d.ts +13 -7
- package/internals/context.js +2 -1
- package/internals/context.js.map +1 -1
- package/internals/controllers/adopt-styles.d.ts +19 -20
- package/internals/controllers/adopt-styles.js +3 -8
- package/internals/controllers/adopt-styles.js.map +1 -1
- package/internals/controllers/aria-projection.d.ts +100 -61
- package/internals/controllers/aria-projection.js +81 -31
- package/internals/controllers/aria-projection.js.map +1 -1
- package/internals/controllers/async-consumer.js.map +1 -1
- package/internals/controllers/command.d.ts +15 -30
- package/internals/controllers/command.js +2 -7
- package/internals/controllers/command.js.map +1 -1
- package/internals/controllers/context-provider.d.ts +7 -13
- package/internals/controllers/context-provider.js.map +1 -1
- package/internals/controllers/focus-ring.d.ts +10 -30
- package/internals/controllers/focus-ring.js +6 -12
- package/internals/controllers/focus-ring.js.map +1 -1
- package/internals/controllers/fullscreen.d.ts +7 -23
- package/internals/controllers/fullscreen.js +3 -9
- package/internals/controllers/fullscreen.js.map +1 -1
- package/internals/controllers/gestures.d.ts +10 -29
- package/internals/controllers/gestures.js +1 -3
- package/internals/controllers/gestures.js.map +1 -1
- package/internals/controllers/group.d.ts +13 -30
- package/internals/controllers/group.js.map +1 -1
- package/internals/controllers/host-listeners.d.ts +28 -0
- package/internals/controllers/host-listeners.js +27 -0
- package/internals/controllers/host-listeners.js.map +1 -0
- package/internals/controllers/id-resolver.d.ts +8 -9
- package/internals/controllers/id-resolver.js +6 -14
- package/internals/controllers/id-resolver.js.map +1 -1
- package/internals/controllers/internals.d.ts +53 -104
- package/internals/controllers/internals.js +40 -13
- package/internals/controllers/internals.js.map +1 -1
- package/internals/controllers/key-bindings.d.ts +61 -158
- package/internals/controllers/key-bindings.js +68 -67
- package/internals/controllers/key-bindings.js.map +1 -1
- package/internals/controllers/keys.d.ts +32 -0
- package/internals/controllers/keys.js +20 -0
- package/internals/controllers/keys.js.map +1 -0
- package/internals/controllers/mutation-observer.d.ts +14 -37
- package/internals/controllers/mutation-observer.js +1 -1
- package/internals/controllers/mutation-observer.js.map +1 -1
- package/internals/controllers/resize-observer.d.ts +9 -19
- package/internals/controllers/resize-observer.js.map +1 -1
- package/internals/controllers/root-click.d.ts +11 -42
- package/internals/controllers/root-click.js +4 -6
- package/internals/controllers/root-click.js.map +1 -1
- package/internals/controllers/roving-focus.d.ts +16 -35
- package/internals/controllers/roving-focus.js.map +1 -1
- package/internals/controllers/slot.d.ts +25 -54
- package/internals/controllers/slot.js +6 -6
- package/internals/controllers/slot.js.map +1 -1
- package/internals/controllers/toggle.d.ts +44 -48
- package/internals/controllers/toggle.js.map +1 -1
- package/internals/date/compare.js.map +1 -1
- package/internals/date/converters.d.ts +10 -7
- package/internals/date/converters.js.map +1 -1
- package/internals/date/model.d.ts +9 -16
- package/internals/date/model.js +22 -25
- package/internals/date/model.js.map +1 -1
- package/internals/decorators/blazorAdditionalDependencies.d.ts +4 -2
- package/internals/decorators/blazorAdditionalDependencies.js.map +1 -1
- package/internals/decorators/blazorDeepImport.d.ts +1 -3
- package/internals/decorators/blazorDeepImport.js.map +1 -1
- package/internals/decorators/blazorInclude.d.ts +3 -2
- package/internals/decorators/blazorInclude.js.map +1 -1
- package/internals/decorators/blazorIndirectRender.d.ts +1 -3
- package/internals/decorators/blazorIndirectRender.js.map +1 -1
- package/internals/decorators/blazorSuppressComponent.d.ts +1 -3
- package/internals/decorators/blazorSuppressComponent.js.map +1 -1
- package/internals/decorators/coerced-property.d.ts +14 -20
- package/internals/decorators/coerced-property.js.map +1 -1
- package/internals/decorators/shadow-options.d.ts +2 -5
- package/internals/decorators/shadow-options.js.map +1 -1
- package/internals/definitions/defineAllComponents.js +2 -0
- package/internals/definitions/defineAllComponents.js.map +1 -1
- package/internals/directives/drag.d.ts +51 -81
- package/internals/directives/drag.js +27 -89
- package/internals/directives/drag.js.map +1 -1
- package/internals/directives/pointer-operation.d.ts +75 -0
- package/internals/directives/pointer-operation.js +92 -0
- package/internals/directives/pointer-operation.js.map +1 -0
- package/internals/directives/resize.d.ts +36 -64
- package/internals/directives/resize.js +18 -85
- package/internals/directives/resize.js.map +1 -1
- package/internals/i18n/EN/calendar.resources.d.ts +8 -2
- package/internals/i18n/EN/calendar.resources.js +2 -2
- package/internals/i18n/EN/calendar.resources.js.map +1 -1
- package/internals/i18n/EN/chat.resources.d.ts +8 -2
- package/internals/i18n/EN/chat.resources.js +3 -10
- package/internals/i18n/EN/chat.resources.js.map +1 -1
- package/internals/i18n/EN/date-picker.resources.d.ts +6 -4
- package/internals/i18n/EN/date-picker.resources.js +1 -7
- package/internals/i18n/EN/date-picker.resources.js.map +1 -1
- package/internals/i18n/EN/date-range-picker.resources.d.ts +9 -2
- package/internals/i18n/EN/date-range-picker.resources.js +2 -2
- package/internals/i18n/EN/date-range-picker.resources.js.map +1 -1
- package/internals/i18n/i18n-controller.d.ts +44 -46
- package/internals/i18n/i18n-controller.js +46 -33
- package/internals/i18n/i18n-controller.js.map +1 -1
- package/internals/i18n/utils.d.ts +9 -4
- package/internals/i18n/utils.js +4 -27
- package/internals/i18n/utils.js.map +1 -1
- package/internals/mixins/alert.d.ts +10 -25
- package/internals/mixins/alert.js.map +1 -1
- package/internals/mixins/combo-box.d.ts +21 -11
- package/internals/mixins/combo-box.js +16 -22
- package/internals/mixins/combo-box.js.map +1 -1
- package/internals/mixins/event-emitter.js +9 -11
- package/internals/mixins/event-emitter.js.map +1 -1
- package/internals/mixins/forms/associated-required.d.ts +4 -4
- package/internals/mixins/forms/associated-required.js.map +1 -1
- package/internals/mixins/forms/associated.d.ts +4 -2
- package/internals/mixins/forms/associated.js +42 -19
- package/internals/mixins/forms/associated.js.map +1 -1
- package/internals/mixins/forms/form-transformers.js.map +1 -1
- package/internals/mixins/forms/types.d.ts +27 -78
- package/internals/mixins/forms/types.js.map +1 -1
- package/internals/mixins/group.d.ts +18 -0
- package/internals/mixins/group.js +37 -0
- package/internals/mixins/group.js.map +1 -0
- package/internals/mixins/i18n.d.ts +10 -16
- package/internals/mixins/i18n.js.map +1 -1
- package/internals/mixins/mask-behavior.d.ts +8 -22
- package/internals/mixins/mask-behavior.js +1 -2
- package/internals/mixins/mask-behavior.js.map +1 -1
- package/internals/mixins/option.d.ts +1 -2
- package/internals/mixins/option.js +2 -1
- package/internals/mixins/option.js.map +1 -1
- package/internals/part-map.d.ts +4 -2
- package/internals/part-map.js +1 -1
- package/internals/part-map.js.map +1 -1
- package/internals/templates/input-shell.d.ts +8 -17
- package/internals/templates/input-shell.js +4 -1
- package/internals/templates/input-shell.js.map +1 -1
- package/internals/templates/masked-input.d.ts +7 -8
- package/internals/templates/masked-input.js.map +1 -1
- package/internals/templates/slotted-icon.d.ts +7 -12
- package/internals/templates/slotted-icon.js.map +1 -1
- package/internals/templates/toggle-shell.d.ts +19 -19
- package/internals/templates/toggle-shell.js +12 -8
- package/internals/templates/toggle-shell.js.map +1 -1
- package/internals/timing.d.ts +5 -14
- package/internals/timing.js.map +1 -1
- package/internals/utils/arrays.d.ts +21 -21
- package/internals/utils/arrays.js +14 -0
- package/internals/utils/arrays.js.map +1 -1
- package/internals/utils/dom.d.ts +53 -41
- package/internals/utils/dom.js +3 -4
- package/internals/utils/dom.js.map +1 -1
- package/internals/utils/events.d.ts +29 -16
- package/internals/utils/events.js +9 -1
- package/internals/utils/events.js.map +1 -1
- package/internals/utils/lit.d.ts +5 -2
- package/internals/utils/lit.js.map +1 -1
- package/internals/utils/math.d.ts +8 -6
- package/internals/utils/math.js.map +1 -1
- package/internals/utils/objects.d.ts +3 -20
- package/internals/utils/objects.js +1 -39
- package/internals/utils/objects.js.map +1 -1
- package/internals/utils/strings.d.ts +9 -11
- package/internals/utils/strings.js.map +1 -1
- package/internals/utils/types.d.ts +16 -3
- package/internals/utils/types.js +3 -0
- package/internals/utils/types.js.map +1 -1
- package/internals/validators.d.ts +9 -8
- package/internals/validators.js +12 -6
- package/internals/validators.js.map +1 -1
- package/package.json +1 -1
- package/skills/README.md +4 -3
- package/skills/igniteui-wc-choose-components/SKILL.md +2 -1
- package/skills/igniteui-wc-customize-component-theme/SKILL.md +2 -1
- package/skills/igniteui-wc-figma-to-app/SKILL.md +328 -0
- package/skills/igniteui-wc-figma-to-app/references/asset-extraction.md +343 -0
- package/skills/igniteui-wc-figma-to-app/references/design-provenance.md +199 -0
- package/skills/igniteui-wc-figma-to-app/references/design-token-bridge.md +489 -0
- package/skills/igniteui-wc-figma-to-app/references/figma-component-map.md +370 -0
- package/skills/igniteui-wc-figma-to-app/references/figma-exploration.md +222 -0
- package/skills/igniteui-wc-figma-to-app/references/mcp-setup.md +363 -0
- package/skills/igniteui-wc-figma-to-app/references/project-setup.md +105 -0
- package/skills/igniteui-wc-figma-to-app/references/theme-generation.md +180 -0
- package/skills/igniteui-wc-figma-to-app/references/validation-patterns.md +370 -0
- package/skills/igniteui-wc-generate-from-image-design/SKILL.md +2 -1
- package/skills/igniteui-wc-generate-from-image-design/references/gotchas.md +3 -3
- package/skills/igniteui-wc-grids/SKILL.md +133 -0
- package/skills/igniteui-wc-integrate-with-framework/SKILL.md +2 -1
- package/skills/igniteui-wc-migrate-grid-lite-to-premium/SKILL.md +2 -1
- package/skills/igniteui-wc-optimize-bundle-size/SKILL.md +2 -1
- package/theming/config.d.ts +14 -5
- package/theming/config.js +38 -18
- package/theming/config.js.map +1 -1
- package/theming/context.d.ts +1 -23
- package/theming/context.js.map +1 -1
- package/theming/theming-controller.d.ts +2 -32
- package/theming/theming-controller.js +15 -21
- package/theming/theming-controller.js.map +1 -1
- package/theming/theming-event.d.ts +0 -7
- package/theming/theming-event.js +0 -13
- package/theming/theming-event.js.map +1 -1
- package/theming/types.d.ts +1 -8
- package/theming/types.js.map +1 -1
- package/web-types.json +3 -3
- package/animations/presets/slide/index.d.ts +0 -3
- package/animations/presets/slide/index.js +0 -16
- package/animations/presets/slide/index.js.map +0 -1
- package/components/resize-container/themes/resize-container.base.css.js.map +0 -1
- package/internals/controllers/root-scroll.d.ts +0 -31
- package/internals/controllers/root-scroll.js +0 -71
- package/internals/controllers/root-scroll.js.map +0 -1
- package/theming/utils.d.ts +0 -11
- package/theming/utils.js +0 -20
- package/theming/utils.js.map +0 -1
- /package/components/{resize-container/themes/resize-container.base.css.d.ts → breadcrumb/themes/breadcrumb.base.css.d.ts} +0 -0
package/index.d.ts
CHANGED
|
@@ -73,8 +73,10 @@ export { default as IgcHighlightComponent } from './components/highlight/highlig
|
|
|
73
73
|
export { default as IgcTooltipComponent } from './components/tooltip/tooltip.js';
|
|
74
74
|
export { default as IgcThemeProviderComponent } from './components/theme-provider/theme-provider.js';
|
|
75
75
|
export { default as IgcQrCodeComponent } from './components/qr-code/qr-code.js';
|
|
76
|
+
export { default as IgcBreadcrumbsComponent } from './components/breadcrumb/breadcrumbs.js';
|
|
77
|
+
export { default as IgcBreadcrumbComponent } from './components/breadcrumb/breadcrumb.js';
|
|
76
78
|
export { default as IgcVirtualScrollComponent } from './components/virtualization/virtualization.js';
|
|
77
|
-
export type { IgcVirtualScrollComponentEventMap, VirtualScrollItemTemplate, } from './components/virtualization/virtualization.js';
|
|
79
|
+
export type { IgcVirtualScrollComponentEventMap, VirtualScrollItemTemplate, VirtualScrollKeyFunction, } from './components/virtualization/virtualization.js';
|
|
78
80
|
export type { VirtualScrollItemContext, VirtualScrollState, VirtualScrollDataRequest, } from './components/virtualization/types.js';
|
|
79
81
|
export { defineComponents } from '#internals/definitions/defineComponents.js';
|
|
80
82
|
export { defineAllComponents } from '#internals/definitions/defineAllComponents.js';
|
package/index.js
CHANGED
|
@@ -73,6 +73,8 @@ export { default as IgcHighlightComponent } from './components/highlight/highlig
|
|
|
73
73
|
export { default as IgcTooltipComponent } from './components/tooltip/tooltip.js';
|
|
74
74
|
export { default as IgcThemeProviderComponent } from './components/theme-provider/theme-provider.js';
|
|
75
75
|
export { default as IgcQrCodeComponent } from './components/qr-code/qr-code.js';
|
|
76
|
+
export { default as IgcBreadcrumbsComponent } from './components/breadcrumb/breadcrumbs.js';
|
|
77
|
+
export { default as IgcBreadcrumbComponent } from './components/breadcrumb/breadcrumb.js';
|
|
76
78
|
export { default as IgcVirtualScrollComponent } from './components/virtualization/virtualization.js';
|
|
77
79
|
export { defineComponents } from '#internals/definitions/defineComponents.js';
|
|
78
80
|
export { defineAllComponents } from '#internals/definitions/defineAllComponents.js';
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nexport { default as IgcAvatarComponent } from './components/avatar/avatar.js';\nexport { default as IgcAccordionComponent } from './components/accordion/accordion.js';\nexport { default as IgcBadgeComponent } from './components/badge/badge.js';\nexport { default as IgcBannerComponent } from './components/banner/banner.js';\nexport { default as IgcButtonComponent } from './components/button/button.js';\nexport { default as IgcButtonGroupComponent } from './components/button-group/button-group.js';\nexport { default as IgcCalendarComponent } from './components/calendar/calendar.js';\nexport { default as IgcCardComponent } from './components/card/card.js';\nexport { default as IgcCardActionsComponent } from './components/card/card.actions.js';\nexport { default as IgcCardContentComponent } from './components/card/card.content.js';\nexport { default as IgcCardHeaderComponent } from './components/card/card.header.js';\nexport { default as IgcCardMediaComponent } from './components/card/card.media.js';\nexport { default as IgcCarouselComponent } from './components/carousel/carousel.js';\nexport { default as IgcCarouselIndicatorComponent } from './components/carousel/carousel-indicator.js';\nexport { default as IgcCarouselSlideComponent } from './components/carousel/carousel-slide.js';\nexport { default as IgcChatComponent } from './components/chat/chat.js';\nexport { default as IgcColorPickerComponent } from './components/color-picker/color-picker.js';\nexport { default as IgcCheckboxComponent } from './components/checkbox/checkbox.js';\nexport { default as IgcCircularProgressComponent } from './components/progress/circular-progress.js';\nexport { default as IgcCircularGradientComponent } from './components/progress/circular-gradient.js';\nexport { default as IgcChipComponent } from './components/chip/chip.js';\nexport { default as IgcComboComponent } from './components/combo/combo.js';\nexport { default as IgcDatePickerComponent } from './components/date-picker/date-picker.js';\nexport { default as IgcDateRangePickerComponent } from './components/date-range-picker/date-range-picker.js';\nexport { default as IgcDateTimeInputComponent } from './components/date-time-input/date-time-input.js';\nexport { default as IgcDialogComponent } from './components/dialog/dialog.js';\nexport { default as IgcDividerComponent } from './components/divider/divider.js';\nexport { default as IgcDropdownComponent } from './components/dropdown/dropdown.js';\nexport { default as IgcDropdownGroupComponent } from './components/dropdown/dropdown-group.js';\nexport { default as IgcDropdownHeaderComponent } from './components/dropdown/dropdown-header.js';\nexport { default as IgcDropdownItemComponent } from './components/dropdown/dropdown-item.js';\nexport { default as IgcFileInputComponent } from './components/file-input/file-input.js';\nexport { default as IgcSelectComponent } from './components/select/select.js';\nexport { default as IgcSelectGroupComponent } from './components/select/select-group.js';\nexport { default as IgcSelectHeaderComponent } from './components/select/select-header.js';\nexport { default as IgcSelectItemComponent } from './components/select/select-item.js';\nexport { default as IgcExpansionPanelComponent } from './components/expansion-panel/expansion-panel.js';\nexport { default as IgcIconComponent } from './components/icon/icon.js';\nexport { default as IgcIconButtonComponent } from './components/button/icon-button.js';\nexport { default as IgcInputComponent } from './components/input/input.js';\nexport { default as IgcLinearProgressComponent } from './components/progress/linear-progress.js';\nexport { default as IgcListComponent } from './components/list/list.js';\nexport { default as IgcListHeaderComponent } from './components/list/list-header.js';\nexport { default as IgcListItemComponent } from './components/list/list-item.js';\nexport { default as IgcMaskInputComponent } from './components/mask-input/mask-input.js';\nexport { default as IgcNavDrawerComponent } from './components/nav-drawer/nav-drawer.js';\nexport { default as IgcNavDrawerHeaderItemComponent } from './components/nav-drawer/nav-drawer-header-item.js';\nexport { default as IgcNavDrawerItemComponent } from './components/nav-drawer/nav-drawer-item.js';\nexport { default as IgcNavbarComponent } from './components/navbar/navbar.js';\nexport { default as IgcRadioGroupComponent } from './components/radio-group/radio-group.js';\nexport { default as IgcRadioComponent } from './components/radio/radio.js';\nexport { default as IgcRatingComponent } from './components/rating/rating.js';\nexport { default as IgcRatingSymbolComponent } from './components/rating/rating-symbol.js';\nexport { default as IgcRippleComponent } from './components/ripple/ripple.js';\nexport { default as IgcRangeSliderComponent } from './components/slider/range-slider.js';\nexport { default as IgcSnackbarComponent } from './components/snackbar/snackbar.js';\nexport { default as IgcSliderComponent } from './components/slider/slider.js';\nexport { default as IgcSliderLabelComponent } from './components/slider/slider-label.js';\nexport { default as IgcTabsComponent } from './components/tabs/tabs.js';\nexport { default as IgcTabComponent } from './components/tabs/tab.js';\nexport { default as IgcTileComponent } from './components/tile-manager/tile.js';\nexport { default as IgcTileManagerComponent } from './components/tile-manager/tile-manager.js';\nexport { default as IgcToastComponent } from './components/toast/toast.js';\nexport { default as IgcToggleButtonComponent } from './components/button-group/toggle-button.js';\nexport { default as IgcSwitchComponent } from './components/checkbox/switch.js';\nexport { default as IgcTextareaComponent } from './components/textarea/textarea.js';\nexport { default as IgcTreeComponent } from './components/tree/tree.js';\nexport { default as IgcTreeItemComponent } from './components/tree/tree-item.js';\nexport { default as IgcSplitterComponent } from './components/splitter/splitter.js';\nexport { default as IgcStepperComponent } from './components/stepper/stepper.js';\nexport { default as IgcStepComponent } from './components/stepper/step.js';\nexport { default as IgcHighlightComponent } from './components/highlight/highlight.js';\nexport { default as IgcTooltipComponent } from './components/tooltip/tooltip.js';\nexport { default as IgcThemeProviderComponent } from './components/theme-provider/theme-provider.js';\nexport { default as IgcQrCodeComponent } from './components/qr-code/qr-code.js';\nexport { default as IgcVirtualScrollComponent } from './components/virtualization/virtualization.js';\nexport type {\n IgcVirtualScrollComponentEventMap,\n VirtualScrollItemTemplate,\n} from './components/virtualization/virtualization.js';\nexport type {\n VirtualScrollItemContext,\n VirtualScrollState,\n VirtualScrollDataRequest,\n} from './components/virtualization/types.js';\n\n// definitions\nexport { defineComponents } from '#internals/definitions/defineComponents.js';\nexport { defineAllComponents } from '#internals/definitions/defineAllComponents.js';\n\n// icon registration\nexport {\n registerIcon,\n registerIconFromText,\n setIconRef,\n} from './components/icon/icon.registry.js';\n\n// theming configuration\nexport { configureTheme } from '#theming/config.js';\nexport type { Theme, ThemeVariant } from '#theming/types.js';\n\n// localization objects\nexport {\n IgcCalendarResourceStringEN,\n type IgcCalendarResourceStrings,\n} from '#internals/i18n/EN/calendar.resources.js';\nexport {\n IgcDateRangePickerResourceStringsEN,\n type IgcDateRangePickerResourceStrings,\n} from '#internals/i18n/EN/date-range-picker.resources.js';\nexport {\n IgcChatResourceStringEN,\n type IgcChatResourceStrings,\n} from '#internals/i18n/EN/chat.resources.js';\nexport {\n type ICalendarResourceStrings,\n type ICarouselResourceStrings,\n type IChatResourceStrings,\n type IChipResourceStrings,\n type IComboResourceStrings,\n type IDatePickerResourceStrings,\n type IDateRangePickerResourceStrings,\n type IFileInputResourceStrings,\n type ITreeResourceStrings,\n CalendarResourceStringsEN,\n CarouselResourceStringsEN,\n ChatResourceStringsEN,\n ChipResourceStringsEN,\n ComboResourceStringsEN,\n DatePickerResourceStringsEN,\n DateRangePickerResourceStringsEN,\n FileInputResourceStringsEN,\n TreeResourceStringsEN,\n registerI18n,\n setCurrentI18n,\n} from 'igniteui-i18n-core';\n\n// Event maps\nexport type { IgcBannerComponentEventMap } from './components/banner/banner.js';\nexport type { IgcButtonGroupComponentEventMap } from './components/button-group/button-group.js';\nexport type { IgcCalendarComponentEventMap } from './components/calendar/types.js';\nexport type { IgcCarouselComponentEventMap } from './components/carousel/carousel.js';\nexport type { IgcChatComponentEventMap } from './components/chat/chat.js';\nexport type { IgcCheckboxComponentEventMap } from './components/checkbox/checkbox-base.js';\nexport type { IgcCheckboxComponentEventMap as IgcSwitchComponentEventMap } from './components/checkbox/checkbox-base.js';\nexport type { IgcChipComponentEventMap } from './components/chip/chip.js';\nexport type { IgcComboComponentEventMap } from './components/combo/types.js';\nexport type { IgcColorPickerComponentEventMap } from './components/color-picker/color-picker.js';\nexport type { IgcDatePickerComponentEventMap } from './components/date-picker/date-picker.js';\nexport type { IgcDateRangePickerComponentEventMap } from './components/date-range-picker/date-range-picker.js';\nexport type { IgcDateTimeInputComponentEventMap } from './components/date-time-input/date-time-input.js';\nexport type { IgcDialogComponentEventMap } from './components/dialog/dialog.js';\nexport type { IgcDropdownComponentEventMap } from './components/dropdown/dropdown.js';\nexport type { IgcExpansionPanelComponentEventMap } from './components/expansion-panel/expansion-panel.js';\nexport type { IgcInputComponentEventMap } from './components/input/input-base.js';\nexport type { IgcInputComponentEventMap as IgcMaskInputComponentEventMap } from './components/input/input-base.js';\nexport type { IgcNavDrawerComponentEventMap } from './components/nav-drawer/nav-drawer.js';\nexport type { IgcFileInputComponentEventMap } from './components/file-input/file-input.js';\nexport type { IgcRadioComponentEventMap } from './components/radio/radio.js';\nexport type { IgcRatingComponentEventMap } from './components/rating/rating.js';\nexport type { IgcSelectComponentEventMap } from './components/select/select.js';\nexport type { IgcSliderComponentEventMap } from './components/slider/slider.js';\nexport type { IgcRangeSliderComponentEventMap } from './components/slider/range-slider.js';\nexport type { IgcSnackbarComponentEventMap } from './components/snackbar/snackbar.js';\nexport type { IgcSplitterComponentEventMap } from './components/splitter/splitter.js';\nexport type { IgcStepperComponentEventMap } from './components/stepper/common/types.js';\nexport type { IgcTabsComponentEventMap } from './components/tabs/tabs.js';\nexport type { IgcTextareaComponentEventMap } from './components/textarea/textarea.js';\nexport type { IgcTileComponentEventMap } from './components/tile-manager/tile.js';\nexport type { IgcTreeComponentEventMap } from './components/tree/tree.common.js';\nexport type { IgcTooltipComponentEventMap } from './components/tooltip/tooltip.js';\n\n// Public types\nexport type * from './components/types.js';\nexport type { IgcTileChangeStateEventArgs } from './components/tile-manager/tile.js';\nexport type {\n CalendarActiveView,\n CalendarHeaderOrientation,\n CalendarSelection,\n DateRangeDescriptor,\n WeekDays,\n} from './components/calendar/types.js';\nexport { DateRangeType } from './components/calendar/types.js';\nexport type { IgcCheckboxChangeEventArgs } from './components/checkbox/checkbox-base.js';\nexport { DatePart } from './components/date-time-input/date-part.js';\nexport type { DatePartDeltas } from './components/date-time-input/date-part.js';\nexport type {\n CustomDateRange,\n DateRangeValue,\n} from './components/date-range-picker/date-range-picker.js';\nexport type { PopoverPlacement } from './components/popover/popover.js';\nexport type { IgcRadioChangeEventArgs } from './components/radio/radio.js';\nexport type { IgcRangeSliderValueEventArgs } from './components/slider/range-slider.js';\nexport type {\n IgcSplitterResizeEventArgs,\n IgcSplitterResizeEventDetail,\n IgcSplitterLayoutChangedEventArgs,\n} from './components/splitter/splitter.js';\nexport type {\n IgcActiveStepChangingEventArgs,\n IgcActiveStepChangedEventArgs,\n} from './components/stepper/common/types.js';\nexport type { IgcTreeSelectionEventArgs } from './components/tree/tree.common.js';\nexport type {\n ComboItemTemplate,\n ComboTemplateProps,\n FilteringOptions,\n GroupingDirection,\n IgcComboChangeEventArgs,\n} from './components/combo/types.js';\nexport type {\n IconMeta,\n RegisterIconOptions,\n} from './components/icon/registry/types.js';\nexport type * from './components/chat/types.js';\nexport type {\n QrCodeExportFormat,\n QrCodeExportOptions,\n QrCornerSquareStyle,\n QrDotStyle,\n QrErrorCorrectionLevel,\n} from './components/qr-code/types.js';\n\n// Internal exports for other packages\n/** @hidden @internal */\nexport { addThemingController as θaddThemingController } from '#theming/theming-controller.js';\n\n/** @hidden @internal */\nexport { addAdoptedStylesController as θaddAdoptedStylesController } from '#internals/controllers/adopt-styles.js';\n\n/** @hidden @internal */\nexport { createAbortHandle as θcreateAbortHandle } from '#internals/abort-handler.js';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Components\nexport { default as IgcAvatarComponent } from './components/avatar/avatar.js';\nexport { default as IgcAccordionComponent } from './components/accordion/accordion.js';\nexport { default as IgcBadgeComponent } from './components/badge/badge.js';\nexport { default as IgcBannerComponent } from './components/banner/banner.js';\nexport { default as IgcButtonComponent } from './components/button/button.js';\nexport { default as IgcButtonGroupComponent } from './components/button-group/button-group.js';\nexport { default as IgcCalendarComponent } from './components/calendar/calendar.js';\nexport { default as IgcCardComponent } from './components/card/card.js';\nexport { default as IgcCardActionsComponent } from './components/card/card.actions.js';\nexport { default as IgcCardContentComponent } from './components/card/card.content.js';\nexport { default as IgcCardHeaderComponent } from './components/card/card.header.js';\nexport { default as IgcCardMediaComponent } from './components/card/card.media.js';\nexport { default as IgcCarouselComponent } from './components/carousel/carousel.js';\nexport { default as IgcCarouselIndicatorComponent } from './components/carousel/carousel-indicator.js';\nexport { default as IgcCarouselSlideComponent } from './components/carousel/carousel-slide.js';\nexport { default as IgcChatComponent } from './components/chat/chat.js';\nexport { default as IgcColorPickerComponent } from './components/color-picker/color-picker.js';\nexport { default as IgcCheckboxComponent } from './components/checkbox/checkbox.js';\nexport { default as IgcCircularProgressComponent } from './components/progress/circular-progress.js';\nexport { default as IgcCircularGradientComponent } from './components/progress/circular-gradient.js';\nexport { default as IgcChipComponent } from './components/chip/chip.js';\nexport { default as IgcComboComponent } from './components/combo/combo.js';\nexport { default as IgcDatePickerComponent } from './components/date-picker/date-picker.js';\nexport { default as IgcDateRangePickerComponent } from './components/date-range-picker/date-range-picker.js';\nexport { default as IgcDateTimeInputComponent } from './components/date-time-input/date-time-input.js';\nexport { default as IgcDialogComponent } from './components/dialog/dialog.js';\nexport { default as IgcDividerComponent } from './components/divider/divider.js';\nexport { default as IgcDropdownComponent } from './components/dropdown/dropdown.js';\nexport { default as IgcDropdownGroupComponent } from './components/dropdown/dropdown-group.js';\nexport { default as IgcDropdownHeaderComponent } from './components/dropdown/dropdown-header.js';\nexport { default as IgcDropdownItemComponent } from './components/dropdown/dropdown-item.js';\nexport { default as IgcFileInputComponent } from './components/file-input/file-input.js';\nexport { default as IgcSelectComponent } from './components/select/select.js';\nexport { default as IgcSelectGroupComponent } from './components/select/select-group.js';\nexport { default as IgcSelectHeaderComponent } from './components/select/select-header.js';\nexport { default as IgcSelectItemComponent } from './components/select/select-item.js';\nexport { default as IgcExpansionPanelComponent } from './components/expansion-panel/expansion-panel.js';\nexport { default as IgcIconComponent } from './components/icon/icon.js';\nexport { default as IgcIconButtonComponent } from './components/button/icon-button.js';\nexport { default as IgcInputComponent } from './components/input/input.js';\nexport { default as IgcLinearProgressComponent } from './components/progress/linear-progress.js';\nexport { default as IgcListComponent } from './components/list/list.js';\nexport { default as IgcListHeaderComponent } from './components/list/list-header.js';\nexport { default as IgcListItemComponent } from './components/list/list-item.js';\nexport { default as IgcMaskInputComponent } from './components/mask-input/mask-input.js';\nexport { default as IgcNavDrawerComponent } from './components/nav-drawer/nav-drawer.js';\nexport { default as IgcNavDrawerHeaderItemComponent } from './components/nav-drawer/nav-drawer-header-item.js';\nexport { default as IgcNavDrawerItemComponent } from './components/nav-drawer/nav-drawer-item.js';\nexport { default as IgcNavbarComponent } from './components/navbar/navbar.js';\nexport { default as IgcRadioGroupComponent } from './components/radio-group/radio-group.js';\nexport { default as IgcRadioComponent } from './components/radio/radio.js';\nexport { default as IgcRatingComponent } from './components/rating/rating.js';\nexport { default as IgcRatingSymbolComponent } from './components/rating/rating-symbol.js';\nexport { default as IgcRippleComponent } from './components/ripple/ripple.js';\nexport { default as IgcRangeSliderComponent } from './components/slider/range-slider.js';\nexport { default as IgcSnackbarComponent } from './components/snackbar/snackbar.js';\nexport { default as IgcSliderComponent } from './components/slider/slider.js';\nexport { default as IgcSliderLabelComponent } from './components/slider/slider-label.js';\nexport { default as IgcTabsComponent } from './components/tabs/tabs.js';\nexport { default as IgcTabComponent } from './components/tabs/tab.js';\nexport { default as IgcTileComponent } from './components/tile-manager/tile.js';\nexport { default as IgcTileManagerComponent } from './components/tile-manager/tile-manager.js';\nexport { default as IgcToastComponent } from './components/toast/toast.js';\nexport { default as IgcToggleButtonComponent } from './components/button-group/toggle-button.js';\nexport { default as IgcSwitchComponent } from './components/checkbox/switch.js';\nexport { default as IgcTextareaComponent } from './components/textarea/textarea.js';\nexport { default as IgcTreeComponent } from './components/tree/tree.js';\nexport { default as IgcTreeItemComponent } from './components/tree/tree-item.js';\nexport { default as IgcSplitterComponent } from './components/splitter/splitter.js';\nexport { default as IgcStepperComponent } from './components/stepper/stepper.js';\nexport { default as IgcStepComponent } from './components/stepper/step.js';\nexport { default as IgcHighlightComponent } from './components/highlight/highlight.js';\nexport { default as IgcTooltipComponent } from './components/tooltip/tooltip.js';\nexport { default as IgcThemeProviderComponent } from './components/theme-provider/theme-provider.js';\nexport { default as IgcQrCodeComponent } from './components/qr-code/qr-code.js';\nexport { default as IgcBreadcrumbsComponent } from './components/breadcrumb/breadcrumbs.js';\nexport { default as IgcBreadcrumbComponent } from './components/breadcrumb/breadcrumb.js';\nexport { default as IgcVirtualScrollComponent } from './components/virtualization/virtualization.js';\nexport type {\n IgcVirtualScrollComponentEventMap,\n VirtualScrollItemTemplate,\n VirtualScrollKeyFunction,\n} from './components/virtualization/virtualization.js';\nexport type {\n VirtualScrollItemContext,\n VirtualScrollState,\n VirtualScrollDataRequest,\n} from './components/virtualization/types.js';\n\n// definitions\nexport { defineComponents } from '#internals/definitions/defineComponents.js';\nexport { defineAllComponents } from '#internals/definitions/defineAllComponents.js';\n\n// icon registration\nexport {\n registerIcon,\n registerIconFromText,\n setIconRef,\n} from './components/icon/icon.registry.js';\n\n// theming configuration\nexport { configureTheme } from '#theming/config.js';\nexport type { Theme, ThemeVariant } from '#theming/types.js';\n\n// localization objects\nexport {\n IgcCalendarResourceStringEN,\n type IgcCalendarResourceStrings,\n} from '#internals/i18n/EN/calendar.resources.js';\nexport {\n IgcDateRangePickerResourceStringsEN,\n type IgcDateRangePickerResourceStrings,\n} from '#internals/i18n/EN/date-range-picker.resources.js';\nexport {\n IgcChatResourceStringEN,\n type IgcChatResourceStrings,\n} from '#internals/i18n/EN/chat.resources.js';\nexport {\n type ICalendarResourceStrings,\n type ICarouselResourceStrings,\n type IChatResourceStrings,\n type IChipResourceStrings,\n type IComboResourceStrings,\n type IDatePickerResourceStrings,\n type IDateRangePickerResourceStrings,\n type IFileInputResourceStrings,\n type ITreeResourceStrings,\n CalendarResourceStringsEN,\n CarouselResourceStringsEN,\n ChatResourceStringsEN,\n ChipResourceStringsEN,\n ComboResourceStringsEN,\n DatePickerResourceStringsEN,\n DateRangePickerResourceStringsEN,\n FileInputResourceStringsEN,\n TreeResourceStringsEN,\n registerI18n,\n setCurrentI18n,\n} from 'igniteui-i18n-core';\n\n// Event maps\nexport type { IgcBannerComponentEventMap } from './components/banner/banner.js';\nexport type { IgcButtonGroupComponentEventMap } from './components/button-group/button-group.js';\nexport type { IgcCalendarComponentEventMap } from './components/calendar/types.js';\nexport type { IgcCarouselComponentEventMap } from './components/carousel/carousel.js';\nexport type { IgcChatComponentEventMap } from './components/chat/chat.js';\nexport type { IgcCheckboxComponentEventMap } from './components/checkbox/checkbox-base.js';\nexport type { IgcCheckboxComponentEventMap as IgcSwitchComponentEventMap } from './components/checkbox/checkbox-base.js';\nexport type { IgcChipComponentEventMap } from './components/chip/chip.js';\nexport type { IgcComboComponentEventMap } from './components/combo/types.js';\nexport type { IgcColorPickerComponentEventMap } from './components/color-picker/color-picker.js';\nexport type { IgcDatePickerComponentEventMap } from './components/date-picker/date-picker.js';\nexport type { IgcDateRangePickerComponentEventMap } from './components/date-range-picker/date-range-picker.js';\nexport type { IgcDateTimeInputComponentEventMap } from './components/date-time-input/date-time-input.js';\nexport type { IgcDialogComponentEventMap } from './components/dialog/dialog.js';\nexport type { IgcDropdownComponentEventMap } from './components/dropdown/dropdown.js';\nexport type { IgcExpansionPanelComponentEventMap } from './components/expansion-panel/expansion-panel.js';\nexport type { IgcInputComponentEventMap } from './components/input/input-base.js';\nexport type { IgcInputComponentEventMap as IgcMaskInputComponentEventMap } from './components/input/input-base.js';\nexport type { IgcNavDrawerComponentEventMap } from './components/nav-drawer/nav-drawer.js';\nexport type { IgcFileInputComponentEventMap } from './components/file-input/file-input.js';\nexport type { IgcRadioComponentEventMap } from './components/radio/radio.js';\nexport type { IgcRatingComponentEventMap } from './components/rating/rating.js';\nexport type { IgcSelectComponentEventMap } from './components/select/select.js';\nexport type { IgcSliderComponentEventMap } from './components/slider/slider.js';\nexport type { IgcRangeSliderComponentEventMap } from './components/slider/range-slider.js';\nexport type { IgcSnackbarComponentEventMap } from './components/snackbar/snackbar.js';\nexport type { IgcSplitterComponentEventMap } from './components/splitter/splitter.js';\nexport type { IgcStepperComponentEventMap } from './components/stepper/common/types.js';\nexport type { IgcTabsComponentEventMap } from './components/tabs/tabs.js';\nexport type { IgcTextareaComponentEventMap } from './components/textarea/textarea.js';\nexport type { IgcTileComponentEventMap } from './components/tile-manager/tile.js';\nexport type { IgcTreeComponentEventMap } from './components/tree/tree.common.js';\nexport type { IgcTooltipComponentEventMap } from './components/tooltip/tooltip.js';\n\n// Public types\nexport type * from './components/types.js';\nexport type { IgcTileChangeStateEventArgs } from './components/tile-manager/tile.js';\nexport type {\n CalendarActiveView,\n CalendarHeaderOrientation,\n CalendarSelection,\n DateRangeDescriptor,\n WeekDays,\n} from './components/calendar/types.js';\nexport { DateRangeType } from './components/calendar/types.js';\nexport type { IgcCheckboxChangeEventArgs } from './components/checkbox/checkbox-base.js';\nexport { DatePart } from './components/date-time-input/date-part.js';\nexport type { DatePartDeltas } from './components/date-time-input/date-part.js';\nexport type {\n CustomDateRange,\n DateRangeValue,\n} from './components/date-range-picker/date-range-picker.js';\nexport type { PopoverPlacement } from './components/popover/popover.js';\nexport type { IgcRadioChangeEventArgs } from './components/radio/radio.js';\nexport type { IgcRangeSliderValueEventArgs } from './components/slider/range-slider.js';\nexport type {\n IgcSplitterResizeEventArgs,\n IgcSplitterResizeEventDetail,\n IgcSplitterLayoutChangedEventArgs,\n} from './components/splitter/splitter.js';\nexport type {\n IgcActiveStepChangingEventArgs,\n IgcActiveStepChangedEventArgs,\n} from './components/stepper/common/types.js';\nexport type { IgcTreeSelectionEventArgs } from './components/tree/tree.common.js';\nexport type {\n ComboItemTemplate,\n ComboTemplateProps,\n FilteringOptions,\n GroupingDirection,\n IgcComboChangeEventArgs,\n} from './components/combo/types.js';\nexport type {\n IconMeta,\n RegisterIconOptions,\n} from './components/icon/registry/types.js';\nexport type * from './components/chat/types.js';\nexport type {\n QrCodeExportFormat,\n QrCodeExportOptions,\n QrCornerSquareStyle,\n QrDotStyle,\n QrErrorCorrectionLevel,\n} from './components/qr-code/types.js';\n\n// Internal exports for other packages\n/** @hidden @internal */\nexport { addThemingController as θaddThemingController } from '#theming/theming-controller.js';\n\n/** @hidden @internal */\nexport { addAdoptedStylesController as θaddAdoptedStylesController } from '#internals/controllers/adopt-styles.js';\n\n/** @hidden @internal */\nexport { createAbortHandle as θcreateAbortHandle } from '#internals/abort-handler.js';\n"]}
|
|
@@ -1,39 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* A utility class that wraps AbortController, allowing its signal to be
|
|
3
|
-
* used for event listeners and providing a mechanism to reset it,
|
|
4
|
-
* effectively generating a fresh AbortController instance on subsequent access
|
|
5
|
-
* after an abort call.
|
|
6
|
-
*/
|
|
1
|
+
/** A resettable `AbortController`. See {@link createAbortHandle}. */
|
|
7
2
|
declare class AbortHandle {
|
|
8
|
-
private _controller;
|
|
9
|
-
constructor();
|
|
10
3
|
/**
|
|
11
|
-
*
|
|
12
|
-
*
|
|
4
|
+
* The current controller, created by a read of `signal`. A handle that
|
|
5
|
+
* aborts without such a read allocates nothing.
|
|
13
6
|
*/
|
|
7
|
+
private _controller?;
|
|
8
|
+
/** The signal of the current controller. */
|
|
14
9
|
get signal(): AbortSignal;
|
|
15
10
|
/**
|
|
16
|
-
* Aborts the current
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* Any operations or event listeners associated with the previous signal
|
|
20
|
-
* will be aborted. Subsequent accesses to `signal` will return the
|
|
21
|
-
* signal from the new controller.
|
|
11
|
+
* Aborts the current controller, then drops it. The next read of `signal`
|
|
12
|
+
* gives the signal of a new controller.
|
|
22
13
|
*/
|
|
23
14
|
abort(reason?: unknown): void;
|
|
24
15
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* aborting any ongoing operations from the previous signal.
|
|
16
|
+
* Drops the current controller without aborting it, to get a new signal
|
|
17
|
+
* while the previous operations continue.
|
|
28
18
|
*/
|
|
29
19
|
reset(): void;
|
|
30
20
|
}
|
|
31
21
|
/**
|
|
32
|
-
* Creates
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* reset the underlying AbortController to get a fresh signal without
|
|
36
|
-
* needing to create a new wrapper object.
|
|
22
|
+
* Creates an `AbortHandle`, which wraps an `AbortController` and gives a
|
|
23
|
+
* signal that the caller can reset. An abort or a reset installs a new
|
|
24
|
+
* controller, so the caller keeps the same handle.
|
|
37
25
|
*/
|
|
38
26
|
export declare function createAbortHandle(): AbortHandle;
|
|
39
|
-
export {};
|
|
27
|
+
export type { AbortHandle };
|
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
class AbortHandle {
|
|
2
|
-
constructor() {
|
|
3
|
-
this._controller = new AbortController();
|
|
4
|
-
}
|
|
5
2
|
get signal() {
|
|
3
|
+
this._controller ??= new AbortController();
|
|
6
4
|
return this._controller.signal;
|
|
7
5
|
}
|
|
8
6
|
abort(reason) {
|
|
9
|
-
this._controller
|
|
10
|
-
this._controller =
|
|
7
|
+
this._controller?.abort(reason);
|
|
8
|
+
this._controller = undefined;
|
|
11
9
|
}
|
|
12
10
|
reset() {
|
|
13
|
-
this._controller =
|
|
11
|
+
this._controller = undefined;
|
|
14
12
|
}
|
|
15
13
|
}
|
|
16
14
|
export function createAbortHandle() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abort-handler.js","sourceRoot":"","sources":["../../src/internals/abort-handler.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abort-handler.js","sourceRoot":"","sources":["../../src/internals/abort-handler.ts"],"names":[],"mappings":"AACA,MAAM,WAAW;IAQf,IAAW,MAAM;QACf,IAAI,CAAC,WAAW,KAAK,IAAI,eAAe,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;IACjC,CAAC;IAMM,KAAK,CAAC,MAAgB;QAC3B,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;IAMM,KAAK;QACV,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAC/B,CAAC;CACF;AAOD,MAAM,UAAU,iBAAiB;IAC/B,OAAO,IAAI,WAAW,EAAE,CAAC;AAC3B,CAAC","sourcesContent":["/** A resettable `AbortController`. See {@link createAbortHandle}. */\nclass AbortHandle {\n /**\n * The current controller, created by a read of `signal`. A handle that\n * aborts without such a read allocates nothing.\n */\n private _controller?: AbortController;\n\n /** The signal of the current controller. */\n public get signal(): AbortSignal {\n this._controller ??= new AbortController();\n return this._controller.signal;\n }\n\n /**\n * Aborts the current controller, then drops it. The next read of `signal`\n * gives the signal of a new controller.\n */\n public abort(reason?: unknown): void {\n this._controller?.abort(reason);\n this._controller = undefined;\n }\n\n /**\n * Drops the current controller without aborting it, to get a new signal\n * while the previous operations continue.\n */\n public reset(): void {\n this._controller = undefined;\n }\n}\n\n/**\n * Creates an `AbortHandle`, which wraps an `AbortController` and gives a\n * signal that the caller can reset. An abort or a reset installs a new\n * controller, so the caller keeps the same handle.\n */\nexport function createAbortHandle(): AbortHandle {\n return new AbortHandle();\n}\n\nexport type { AbortHandle };\n"]}
|
package/internals/context.d.ts
CHANGED
|
@@ -5,18 +5,21 @@ import type IgcCarouselComponent from '../components/carousel/carousel.js';
|
|
|
5
5
|
import type { ChatState } from '../components/chat/chat-state.js';
|
|
6
6
|
import type IgcTileManagerComponent from '../components/tile-manager/tile-manager.js';
|
|
7
7
|
export type ButtonGroupContext = {
|
|
8
|
-
/** The igc-button-group instance. */
|
|
8
|
+
/** The `igc-button-group` instance. */
|
|
9
9
|
instance: IgcButtonGroupComponent;
|
|
10
10
|
/**
|
|
11
|
-
* Reconciles the group with a button that
|
|
12
|
-
*
|
|
11
|
+
* Reconciles the group with a button that changes its own state. A single
|
|
12
|
+
* selection mode drops the previous selection, and the roving tab stop
|
|
13
|
+
* moves off a button that can no longer hold it.
|
|
13
14
|
*/
|
|
14
|
-
|
|
15
|
+
syncState: (button: IgcToggleButtonComponent) => void;
|
|
16
|
+
/** Whether `button` is the tab stop of the group. */
|
|
17
|
+
isTabStop: (button: IgcToggleButtonComponent) => boolean;
|
|
15
18
|
};
|
|
16
19
|
export type TileManagerContext = {
|
|
17
|
-
/** The igc-tile-manager instance. */
|
|
20
|
+
/** The `igc-tile-manager` instance. */
|
|
18
21
|
instance: IgcTileManagerComponent;
|
|
19
|
-
/** The internal CSS grid container of the igc-tile-manager
|
|
22
|
+
/** The internal CSS grid container of the `igc-tile-manager`. */
|
|
20
23
|
grid: Ref<HTMLElement>;
|
|
21
24
|
/** Synchronizes the tile manager with the maximized state of its tiles. */
|
|
22
25
|
setMaximizedState: () => void;
|
|
@@ -36,4 +39,7 @@ declare const chatContext: {
|
|
|
36
39
|
declare const chatUserInputContext: {
|
|
37
40
|
__context__: ChatState;
|
|
38
41
|
};
|
|
39
|
-
|
|
42
|
+
declare const breadcrumbsContext: {
|
|
43
|
+
__context__: string;
|
|
44
|
+
};
|
|
45
|
+
export { breadcrumbsContext, buttonGroupContext, carouselContext, chatContext, chatUserInputContext, tileManagerContext, };
|
package/internals/context.js
CHANGED
|
@@ -4,5 +4,6 @@ const carouselContext = createContext(Symbol('carousel-context'));
|
|
|
4
4
|
const tileManagerContext = createContext(Symbol('tile-manager-context'));
|
|
5
5
|
const chatContext = createContext(Symbol('chat-context'));
|
|
6
6
|
const chatUserInputContext = createContext(Symbol('chat-user-input-context'));
|
|
7
|
-
|
|
7
|
+
const breadcrumbsContext = createContext(Symbol('breadcrumbs-context'));
|
|
8
|
+
export { breadcrumbsContext, buttonGroupContext, carouselContext, chatContext, chatUserInputContext, tileManagerContext, };
|
|
8
9
|
//# sourceMappingURL=context.js.map
|
package/internals/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/internals/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA8B7C,MAAM,kBAAkB,GAAG,aAAa,CACtC,MAAM,CAAC,sBAAsB,CAAC,CAC/B,CAAC;AAEF,MAAM,eAAe,GAAG,aAAa,CACnC,MAAM,CAAC,kBAAkB,CAAC,CAC3B,CAAC;AAEF,MAAM,kBAAkB,GAAG,aAAa,CACtC,MAAM,CAAC,sBAAsB,CAAC,CAC/B,CAAC;AAEF,MAAM,WAAW,GAAG,aAAa,CAAY,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC;AACrE,MAAM,oBAAoB,GAAG,aAAa,CACxC,MAAM,CAAC,yBAAyB,CAAC,CAClC,CAAC;AAEF,MAAM,kBAAkB,GAAG,aAAa,CAAS,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAEhF,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,kBAAkB,GACnB,CAAC","sourcesContent":["import { createContext } from '@lit/context';\nimport type { Ref } from 'lit/directives/ref.js';\nimport type IgcButtonGroupComponent from '../components/button-group/button-group.js';\nimport type IgcToggleButtonComponent from '../components/button-group/toggle-button.js';\nimport type IgcCarouselComponent from '../components/carousel/carousel.js';\nimport type { ChatState } from '../components/chat/chat-state.js';\nimport type IgcTileManagerComponent from '../components/tile-manager/tile-manager.js';\n\nexport type ButtonGroupContext = {\n /** The `igc-button-group` instance. */\n instance: IgcButtonGroupComponent;\n /**\n * Reconciles the group with a button that changes its own state. A single\n * selection mode drops the previous selection, and the roving tab stop\n * moves off a button that can no longer hold it.\n */\n syncState: (button: IgcToggleButtonComponent) => void;\n /** Whether `button` is the tab stop of the group. */\n isTabStop: (button: IgcToggleButtonComponent) => boolean;\n};\n\nexport type TileManagerContext = {\n /** The `igc-tile-manager` instance. */\n instance: IgcTileManagerComponent;\n /** The internal CSS grid container of the `igc-tile-manager`. */\n grid: Ref<HTMLElement>;\n /** Synchronizes the tile manager with the maximized state of its tiles. */\n setMaximizedState: () => void;\n};\n\nconst buttonGroupContext = createContext<ButtonGroupContext>(\n Symbol('button-group-context')\n);\n\nconst carouselContext = createContext<IgcCarouselComponent>(\n Symbol('carousel-context')\n);\n\nconst tileManagerContext = createContext<TileManagerContext>(\n Symbol('tile-manager-context')\n);\n\nconst chatContext = createContext<ChatState>(Symbol('chat-context'));\nconst chatUserInputContext = createContext<ChatState>(\n Symbol('chat-user-input-context')\n);\n\nconst breadcrumbsContext = createContext<string>(Symbol('breadcrumbs-context'));\n\nexport {\n breadcrumbsContext,\n buttonGroupContext,\n carouselContext,\n chatContext,\n chatUserInputContext,\n tileManagerContext,\n};\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { type LitElement, type ReactiveController, type ReactiveControllerHost } from 'lit';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
* its
|
|
3
|
+
* Adopts the document stylesheets into the shadow root of the host, across
|
|
4
|
+
* its style encapsulation boundary.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* The controller tracks the document while the host adopts, so a later
|
|
8
|
+
* addition or removal reaches the shadow root too. It removes only the
|
|
9
|
+
* stylesheets that it adopted, and leaves component and theme styles intact.
|
|
10
10
|
*/
|
|
11
11
|
declare class AdoptedStylesController implements ReactiveController {
|
|
12
12
|
private readonly _host;
|
|
@@ -14,21 +14,19 @@ declare class AdoptedStylesController implements ReactiveController {
|
|
|
14
14
|
private _shouldAdopt;
|
|
15
15
|
private _hasAdoptedStyles;
|
|
16
16
|
private get _documentStyles();
|
|
17
|
-
/** Whether the document styles are adopted in the host's shadow root. */
|
|
18
|
-
get hasAdoptedStyles(): boolean;
|
|
19
17
|
constructor(host: ReactiveControllerHost & LitElement);
|
|
20
18
|
/**
|
|
21
|
-
* Restores the styles
|
|
19
|
+
* Restores the styles that the previous disconnect cleared.
|
|
22
20
|
* @internal
|
|
23
21
|
*/
|
|
24
22
|
hostConnected(): void;
|
|
25
23
|
/**
|
|
26
|
-
* Clears the adopted styles to prevent memory
|
|
24
|
+
* Clears the adopted styles to prevent a memory leak.
|
|
27
25
|
* @internal
|
|
28
26
|
*/
|
|
29
27
|
hostDisconnected(): void;
|
|
30
28
|
/**
|
|
31
|
-
* Adopts
|
|
29
|
+
* Adopts the document styles, or clears them, based on `condition`.
|
|
32
30
|
*
|
|
33
31
|
* @example
|
|
34
32
|
* ```typescript
|
|
@@ -37,26 +35,27 @@ declare class AdoptedStylesController implements ReactiveController {
|
|
|
37
35
|
*/
|
|
38
36
|
shouldAdoptStyles(condition: boolean): void;
|
|
39
37
|
/**
|
|
40
|
-
* Invalidates the cloned stylesheets of the given document
|
|
41
|
-
* re-clones them. Additions and removals are picked up on their own - this is meant for
|
|
42
|
-
* changes the document cannot be observed for, such as a theme rewriting a stylesheet
|
|
43
|
-
* in place.
|
|
38
|
+
* Invalidates the cloned stylesheets of the given document.
|
|
44
39
|
*
|
|
45
|
-
* @
|
|
40
|
+
* @remarks
|
|
41
|
+
* The tracker sees an addition and a removal on its own. Use this for a
|
|
42
|
+
* change it cannot see, such as a theme that rewrites a sheet in place.
|
|
43
|
+
*
|
|
44
|
+
* @param doc - The document whose cache to invalidate.
|
|
46
45
|
*/
|
|
47
|
-
invalidateCache(doc
|
|
46
|
+
invalidateCache(doc: Document): void;
|
|
48
47
|
/**
|
|
49
|
-
*
|
|
48
|
+
* Adopts the document styles again. The tracker calls it on a change.
|
|
50
49
|
* @internal
|
|
51
50
|
*/
|
|
52
51
|
updateAdoptedStyles(): void;
|
|
53
52
|
private _adoptRootStyles;
|
|
54
53
|
private _clearAdoptedStyles;
|
|
55
|
-
/** Returns the
|
|
54
|
+
/** Returns the shadow root stylesheets that this controller does not own. */
|
|
56
55
|
private _getHostSheets;
|
|
57
56
|
}
|
|
58
57
|
/**
|
|
59
|
-
* Creates
|
|
58
|
+
* Creates an {@link AdoptedStylesController} and adds it to a Lit component.
|
|
60
59
|
*
|
|
61
60
|
* @example
|
|
62
61
|
* ```typescript
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import { adoptStyles, } from 'lit';
|
|
2
|
+
import { sameItems } from '../utils/arrays.js';
|
|
2
3
|
const observerConfig = { childList: true, subtree: true };
|
|
3
|
-
function isSameCollection(a, b) {
|
|
4
|
-
return a.length === b.length && a.every((sheet, index) => sheet === b[index]);
|
|
5
|
-
}
|
|
6
4
|
function getCloneableRules(sheet) {
|
|
7
5
|
try {
|
|
8
6
|
return Array.from(sheet.cssRules).filter((rule) => !(rule instanceof CSSImportRule));
|
|
@@ -77,7 +75,7 @@ class DocumentStyleSheets {
|
|
|
77
75
|
}
|
|
78
76
|
}
|
|
79
77
|
this._isStale = false;
|
|
80
|
-
if (
|
|
78
|
+
if (sameItems(sheets, this._sheets)) {
|
|
81
79
|
return false;
|
|
82
80
|
}
|
|
83
81
|
this._sheets = sheets;
|
|
@@ -111,9 +109,6 @@ class AdoptedStylesController {
|
|
|
111
109
|
get _documentStyles() {
|
|
112
110
|
return DocumentStyleSheets.for(this._host.ownerDocument);
|
|
113
111
|
}
|
|
114
|
-
get hasAdoptedStyles() {
|
|
115
|
-
return this._hasAdoptedStyles;
|
|
116
|
-
}
|
|
117
112
|
constructor(host) {
|
|
118
113
|
this._adoptedSheets = new Set();
|
|
119
114
|
this._shouldAdopt = false;
|
|
@@ -132,7 +127,7 @@ class AdoptedStylesController {
|
|
|
132
127
|
condition ? this._adoptRootStyles() : this._clearAdoptedStyles();
|
|
133
128
|
}
|
|
134
129
|
invalidateCache(doc) {
|
|
135
|
-
DocumentStyleSheets.for(doc
|
|
130
|
+
DocumentStyleSheets.for(doc).invalidate();
|
|
136
131
|
}
|
|
137
132
|
updateAdoptedStyles() {
|
|
138
133
|
if (this._shouldAdopt) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adopt-styles.js","sourceRoot":"","sources":["../../../src/internals/controllers/adopt-styles.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n adoptStyles,\n type LitElement,\n type ReactiveController,\n type ReactiveControllerHost,\n} from 'lit';\n\nconst observerConfig: MutationObserverInit = { childList: true, subtree: true };\n\n/** Shallow identity comparison of two stylesheet collections. */\nfunction isSameCollection(\n a: readonly CSSStyleSheet[],\n b: readonly CSSStyleSheet[]\n): boolean {\n return a.length === b.length && a.every((sheet, index) => sheet === b[index]);\n}\n\n/**\n * Returns the rules of a stylesheet which can be re-inserted in a constructable one.\n *\n * Cross-origin stylesheets are not readable and yield no rules, as do `@import` rules,\n * which cannot be inserted in a constructable stylesheet.\n */\nfunction getCloneableRules(sheet: CSSStyleSheet): CSSRule[] {\n try {\n return Array.from(sheet.cssRules).filter(\n (rule) => !(rule instanceof CSSImportRule)\n );\n } catch {\n return [];\n }\n}\n\n/**\n * Tracks the stylesheets of a document and mirrors them as constructable stylesheets\n * which can be adopted by shadow roots.\n *\n * A single instance per document is shared by all the {@link AdoptedStylesController}\n * instances whose hosts belong to it.\n *\n * The document is observed for as long as at least one controller is adopting styles,\n * so that stylesheets appearing after the initial adoption - such as the ones injected\n * at runtime by framework renderers - are picked up and pushed to the shadow roots\n * which have already adopted. A stylesheet which has already been cloned is not read\n * again - one rewritten in place needs an explicit {@link invalidate}.\n */\nclass DocumentStyleSheets {\n //#region Instances\n\n private static readonly _instances = new WeakMap<\n Document,\n DocumentStyleSheets\n >();\n\n /** Returns the tracker of the given document, creating it if necessary. */\n public static for(document: Document): DocumentStyleSheets {\n let instance = DocumentStyleSheets._instances.get(document);\n\n if (!instance) {\n instance = new DocumentStyleSheets(document);\n DocumentStyleSheets._instances.set(document, instance);\n }\n\n return instance;\n }\n\n //#endregion\n\n //#region Internal state\n\n private readonly _document: Document;\n private readonly _observer: MutationObserver;\n private readonly _consumers = new Set<AdoptedStylesController>();\n\n private _clones = new WeakMap<CSSStyleSheet, CSSStyleSheet>();\n private _sheets: CSSStyleSheet[] = [];\n private _isStale = true;\n\n /**\n * The node under which stylesheets are expected to appear.\n *\n * Style injection targets the head by convention, so observing it keeps the browser\n * from recording a mutation for every DOM change in the page. The fallbacks cover\n * documents without a head, such as ones created through `DOMImplementation`.\n */\n private get _observedRoot(): Node {\n return (\n this._document.head ?? this._document.documentElement ?? this._document\n );\n }\n\n //#endregion\n\n //#region Public properties\n\n /** The clones of the document stylesheets. */\n public get sheets(): CSSStyleSheet[] {\n if (this._isStale) {\n this._collect();\n }\n\n return this._sheets;\n }\n\n //#endregion\n\n constructor(document: Document) {\n this._document = document;\n this._observer = new MutationObserver(() => this._synchronize());\n }\n\n //#region Public API\n\n /** Registers a consumer, starting the document observation if it is the first one. */\n public subscribe(consumer: AdoptedStylesController): void {\n this._consumers.add(consumer);\n\n if (this._consumers.size === 1) {\n this._observer.observe(this._observedRoot, observerConfig);\n this._document.addEventListener('load', this, { capture: true });\n }\n }\n\n /** Unregisters a consumer, stopping the document observation if it was the last one. */\n public unsubscribe(consumer: AdoptedStylesController): void {\n if (this._consumers.delete(consumer) && this._consumers.size === 0) {\n this._observer.disconnect();\n this._document.removeEventListener('load', this, { capture: true });\n }\n }\n\n /** Drops the cloned stylesheets, forcing a re-clone on the next access. */\n public invalidate(): void {\n this._clones = new WeakMap();\n this._isStale = true;\n }\n\n //#endregion\n\n //#region Event handling\n\n /**\n * Stylesheet links have no CSSOM representation at the time they are appended to\n * the document, so they are picked up when they finish loading.\n *\n * The listener is capturing and document wide - it sees the load event of every\n * resource - hence the check for an element which has just produced a stylesheet.\n *\n * @internal\n */\n public handleEvent(event: Event): void {\n const target = event.target as Partial<HTMLLinkElement> | null;\n\n if (target?.sheet) {\n this._synchronize();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n /** Re-clones the document stylesheets and notifies the consumers if they have changed. */\n private _synchronize(): void {\n if (this._collect()) {\n for (const consumer of this._consumers) {\n consumer.updateAdoptedStyles();\n }\n }\n }\n\n /**\n * Mirrors the stylesheets currently in the document.\n *\n * Change is decided on the clones rather than on the document collection, so that a\n * stylesheet which yielded nothing before - an empty one, for instance - is re-read on\n * every pass, while a change to the document which produces the same clones, such as\n * an unreadable stylesheet being added, leaves the consumers alone.\n *\n * @returns Whether the mirrored collection has changed.\n */\n private _collect(): boolean {\n const sheets: CSSStyleSheet[] = [];\n\n for (const source of this._document.styleSheets) {\n const clone = this._clone(source);\n\n if (clone) {\n sheets.push(clone);\n }\n }\n\n this._isStale = false;\n\n if (isSameCollection(sheets, this._sheets)) {\n return false;\n }\n\n this._sheets = sheets;\n return true;\n }\n\n /**\n * Clones the given stylesheet into a constructable one, keeping the rules in their\n * original order. Rules which cannot be inserted, such as ones with invalid syntax,\n * are skipped.\n *\n * Nothing is cached for a stylesheet which yields no rules, so one that is appended\n * empty and populated afterwards is picked up by a later pass.\n *\n * @returns The cloned stylesheet or null when there is nothing to clone.\n */\n private _clone(sheet: CSSStyleSheet): CSSStyleSheet | null {\n const cached = this._clones.get(sheet);\n\n if (cached) {\n return cached;\n }\n\n const rules = getCloneableRules(sheet);\n\n if (rules.length === 0) {\n return null;\n }\n\n const clone = new CSSStyleSheet();\n\n for (const rule of rules) {\n try {\n clone.insertRule(rule.cssText, clone.cssRules.length);\n } catch {\n // Skip rules that cannot be cloned\n }\n }\n\n if (clone.cssRules.length === 0) {\n return null;\n }\n\n this._clones.set(sheet, clone);\n return clone;\n }\n\n //#endregion\n}\n\n/**\n * Reactive controller which adopts the document stylesheets into the shadow root of\n * its host, effectively bridging the style encapsulation boundary when needed.\n *\n * The document is tracked for as long as the styles are adopted, so stylesheets added\n * to or removed from it afterwards are reflected in the shadow root as well. Only the\n * stylesheets the controller itself adopted are ever removed - the styles of the\n * component and of its theme are left intact.\n */\nclass AdoptedStylesController implements ReactiveController {\n //#region Internal state\n\n private readonly _host: ReactiveControllerHost & LitElement;\n\n private _adoptedSheets: ReadonlySet<CSSStyleSheet> = new Set();\n private _shouldAdopt = false;\n private _hasAdoptedStyles = false;\n\n private get _documentStyles(): DocumentStyleSheets {\n return DocumentStyleSheets.for(this._host.ownerDocument);\n }\n\n //#endregion\n\n //#region Public properties\n\n /** Whether the document styles are adopted in the host's shadow root. */\n public get hasAdoptedStyles(): boolean {\n return this._hasAdoptedStyles;\n }\n\n //#endregion\n\n constructor(host: ReactiveControllerHost & LitElement) {\n this._host = host;\n host.addController(this);\n }\n\n //#region ReactiveController implementation\n\n /**\n * Restores the styles cleared on the previous disconnect.\n * @internal\n */\n public hostConnected(): void {\n this.updateAdoptedStyles();\n }\n\n /**\n * Clears the adopted styles to prevent memory leaks.\n * @internal\n */\n public hostDisconnected(): void {\n this._clearAdoptedStyles();\n }\n\n //#endregion\n\n //#region Public API\n\n /**\n * Adopts or clears the document styles based on the passed condition.\n *\n * @example\n * ```typescript\n * this._adoptedStyles.shouldAdoptStyles(this.options?.adoptRootStyles);\n * ```\n */\n public shouldAdoptStyles(condition: boolean): void {\n this._shouldAdopt = condition;\n condition ? this._adoptRootStyles() : this._clearAdoptedStyles();\n }\n\n /**\n * Invalidates the cloned stylesheets of the given document, so that the next adoption\n * re-clones them. Additions and removals are picked up on their own - this is meant for\n * changes the document cannot be observed for, such as a theme rewriting a stylesheet\n * in place.\n *\n * @param doc - The document whose cache to invalidate. Defaults to the global document.\n */\n public invalidateCache(doc?: Document): void {\n DocumentStyleSheets.for(doc ?? document).invalidate();\n }\n\n /**\n * Re-adopts the document styles. Invoked when the tracked stylesheets change.\n * @internal\n */\n public updateAdoptedStyles(): void {\n if (this._shouldAdopt) {\n this._adoptRootStyles();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n private _adoptRootStyles(): void {\n const shadowRoot = this._host.shadowRoot;\n\n if (!shadowRoot) {\n return;\n }\n\n const documentStyles = this._documentStyles;\n const sheets = documentStyles.sheets;\n\n adoptStyles(shadowRoot, [...this._getHostSheets(shadowRoot), ...sheets]);\n\n this._adoptedSheets = new Set(sheets);\n this._hasAdoptedStyles = true;\n\n documentStyles.subscribe(this);\n }\n\n private _clearAdoptedStyles(): void {\n if (!this._hasAdoptedStyles) {\n return;\n }\n\n const shadowRoot = this._host.shadowRoot;\n\n if (shadowRoot) {\n adoptStyles(shadowRoot, this._getHostSheets(shadowRoot));\n }\n\n this._adoptedSheets = new Set();\n this._hasAdoptedStyles = false;\n this._documentStyles.unsubscribe(this);\n }\n\n /** Returns the stylesheets of the shadow root which are not managed by this controller. */\n private _getHostSheets(shadowRoot: ShadowRoot): CSSStyleSheet[] {\n return shadowRoot.adoptedStyleSheets.filter(\n (sheet) => !this._adoptedSheets.has(sheet)\n );\n }\n\n //#endregion\n}\n\n/**\n * Creates and attaches an {@link AdoptedStylesController} to a Lit component.\n *\n * @example\n * ```typescript\n * class MyComponent extends LitElement {\n * private readonly _adoptedStyles = addAdoptedStylesController(this);\n *\n * protected override update(props: PropertyValues): void {\n * if (props.has('shouldAdopt')) {\n * this._adoptedStyles.shouldAdoptStyles(this.shouldAdopt);\n * }\n * super.update(props);\n * }\n * }\n * ```\n */\nexport function addAdoptedStylesController(\n host: ReactiveControllerHost & LitElement\n): AdoptedStylesController {\n return new AdoptedStylesController(host);\n}\n\nexport type { AdoptedStylesController };\n"]}
|
|
1
|
+
{"version":3,"file":"adopt-styles.js","sourceRoot":"","sources":["../../../src/internals/controllers/adopt-styles.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n adoptStyles,\n type LitElement,\n type ReactiveController,\n type ReactiveControllerHost,\n} from 'lit';\nimport { sameItems } from '../utils/arrays.js';\n\nconst observerConfig: MutationObserverInit = { childList: true, subtree: true };\n\n/**\n * Returns the rules that a constructable stylesheet accepts. A cross-origin\n * stylesheet is not readable and gives none; an `@import` rule is dropped.\n */\nfunction getCloneableRules(sheet: CSSStyleSheet): CSSRule[] {\n try {\n return Array.from(sheet.cssRules).filter(\n (rule) => !(rule instanceof CSSImportRule)\n );\n } catch {\n return [];\n }\n}\n\n/**\n * Tracks the stylesheets of a document as constructable clones that a shadow\n * root adopts. All {@link AdoptedStylesController} instances of one document\n * share a tracker.\n *\n * @remarks\n * The tracker observes the document while at least one controller adopts, so\n * a stylesheet injected at runtime reaches the shadow roots that already\n * adopted. A stylesheet that changes in place needs an {@link invalidate}\n * call.\n */\nclass DocumentStyleSheets {\n //#region Instances\n\n private static readonly _instances = new WeakMap<\n Document,\n DocumentStyleSheets\n >();\n\n /** Returns the tracker of the document, and creates a missing one. */\n public static for(document: Document): DocumentStyleSheets {\n let instance = DocumentStyleSheets._instances.get(document);\n\n if (!instance) {\n instance = new DocumentStyleSheets(document);\n DocumentStyleSheets._instances.set(document, instance);\n }\n\n return instance;\n }\n\n //#endregion\n\n //#region Internal state\n\n private readonly _document: Document;\n private readonly _observer: MutationObserver;\n private readonly _consumers = new Set<AdoptedStylesController>();\n\n private _clones = new WeakMap<CSSStyleSheet, CSSStyleSheet>();\n private _sheets: CSSStyleSheet[] = [];\n private _isStale = true;\n\n /**\n * The node to observe for stylesheets: the head by convention, which avoids\n * a mutation record for every DOM change in the page. The fallbacks cover a\n * document without a head, such as one that `DOMImplementation` creates.\n */\n private get _observedRoot(): Node {\n return (\n this._document.head ?? this._document.documentElement ?? this._document\n );\n }\n\n //#endregion\n\n //#region Public properties\n\n /** The clones of the document stylesheets. */\n public get sheets(): CSSStyleSheet[] {\n if (this._isStale) {\n this._collect();\n }\n\n return this._sheets;\n }\n\n //#endregion\n\n constructor(document: Document) {\n this._document = document;\n this._observer = new MutationObserver(() => this._synchronize());\n }\n\n //#region Public API\n\n /** Registers a consumer. The first consumer starts the observation. */\n public subscribe(consumer: AdoptedStylesController): void {\n this._consumers.add(consumer);\n\n if (this._consumers.size === 1) {\n this._observer.observe(this._observedRoot, observerConfig);\n this._document.addEventListener('load', this, { capture: true });\n }\n }\n\n /** Unregisters a consumer. The last consumer stops the observation. */\n public unsubscribe(consumer: AdoptedStylesController): void {\n if (this._consumers.delete(consumer) && this._consumers.size === 0) {\n this._observer.disconnect();\n this._document.removeEventListener('load', this, { capture: true });\n }\n }\n\n /** Drops the cloned stylesheets. The next access clones them again. */\n public invalidate(): void {\n this._clones = new WeakMap();\n this._isStale = true;\n }\n\n //#endregion\n\n //#region Event handling\n\n /**\n * Synchronizes the tracker when a stylesheet link finishes its load. A link\n * has no CSSOM representation before that.\n *\n * @internal\n */\n public handleEvent(event: Event): void {\n const target = event.target as Partial<HTMLLinkElement> | null;\n\n if (target?.sheet) {\n this._synchronize();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n /** Clones the document stylesheets again, and notifies on a change. */\n private _synchronize(): void {\n if (this._collect()) {\n for (const consumer of this._consumers) {\n consumer.updateAdoptedStyles();\n }\n }\n }\n\n /**\n * Mirrors the stylesheets that the document holds now.\n *\n * @remarks\n * The comparison uses the clones and not the document collection, so a\n * stylesheet that gave nothing before is read again on every pass, and an\n * unreadable one leaves the consumers alone.\n *\n * @returns Whether the mirrored collection has changed.\n */\n private _collect(): boolean {\n const sheets: CSSStyleSheet[] = [];\n\n for (const source of this._document.styleSheets) {\n const clone = this._clone(source);\n\n if (clone) {\n sheets.push(clone);\n }\n }\n\n this._isStale = false;\n\n if (sameItems(sheets, this._sheets)) {\n return false;\n }\n\n this._sheets = sheets;\n return true;\n }\n\n /**\n * Clones the given stylesheet into a constructable one, in the original\n * rule order, and skips a rule that the clone does not accept.\n *\n * @remarks\n * A stylesheet without rules is not cached, so a later pass picks up one\n * that the document receives empty and fills afterwards.\n *\n * @returns The cloned stylesheet, or null when there is nothing to clone.\n */\n private _clone(sheet: CSSStyleSheet): CSSStyleSheet | null {\n const cached = this._clones.get(sheet);\n\n if (cached) {\n return cached;\n }\n\n const rules = getCloneableRules(sheet);\n\n if (rules.length === 0) {\n return null;\n }\n\n const clone = new CSSStyleSheet();\n\n for (const rule of rules) {\n try {\n clone.insertRule(rule.cssText, clone.cssRules.length);\n } catch {\n // The clone does not accept this rule.\n }\n }\n\n if (clone.cssRules.length === 0) {\n return null;\n }\n\n this._clones.set(sheet, clone);\n return clone;\n }\n\n //#endregion\n}\n\n/**\n * Adopts the document stylesheets into the shadow root of the host, across\n * its style encapsulation boundary.\n *\n * @remarks\n * The controller tracks the document while the host adopts, so a later\n * addition or removal reaches the shadow root too. It removes only the\n * stylesheets that it adopted, and leaves component and theme styles intact.\n */\nclass AdoptedStylesController implements ReactiveController {\n //#region Internal state\n\n private readonly _host: ReactiveControllerHost & LitElement;\n\n private _adoptedSheets: ReadonlySet<CSSStyleSheet> = new Set();\n private _shouldAdopt = false;\n private _hasAdoptedStyles = false;\n\n private get _documentStyles(): DocumentStyleSheets {\n return DocumentStyleSheets.for(this._host.ownerDocument);\n }\n\n //#endregion\n\n constructor(host: ReactiveControllerHost & LitElement) {\n this._host = host;\n host.addController(this);\n }\n\n //#region ReactiveController implementation\n\n /**\n * Restores the styles that the previous disconnect cleared.\n * @internal\n */\n public hostConnected(): void {\n this.updateAdoptedStyles();\n }\n\n /**\n * Clears the adopted styles to prevent a memory leak.\n * @internal\n */\n public hostDisconnected(): void {\n this._clearAdoptedStyles();\n }\n\n //#endregion\n\n //#region Public API\n\n /**\n * Adopts the document styles, or clears them, based on `condition`.\n *\n * @example\n * ```typescript\n * this._adoptedStyles.shouldAdoptStyles(this.options?.adoptRootStyles);\n * ```\n */\n public shouldAdoptStyles(condition: boolean): void {\n this._shouldAdopt = condition;\n condition ? this._adoptRootStyles() : this._clearAdoptedStyles();\n }\n\n /**\n * Invalidates the cloned stylesheets of the given document.\n *\n * @remarks\n * The tracker sees an addition and a removal on its own. Use this for a\n * change it cannot see, such as a theme that rewrites a sheet in place.\n *\n * @param doc - The document whose cache to invalidate.\n */\n public invalidateCache(doc: Document): void {\n DocumentStyleSheets.for(doc).invalidate();\n }\n\n /**\n * Adopts the document styles again. The tracker calls it on a change.\n * @internal\n */\n public updateAdoptedStyles(): void {\n if (this._shouldAdopt) {\n this._adoptRootStyles();\n }\n }\n\n //#endregion\n\n //#region Internal methods\n\n private _adoptRootStyles(): void {\n const shadowRoot = this._host.shadowRoot;\n\n if (!shadowRoot) {\n return;\n }\n\n const documentStyles = this._documentStyles;\n const sheets = documentStyles.sheets;\n\n adoptStyles(shadowRoot, [...this._getHostSheets(shadowRoot), ...sheets]);\n\n this._adoptedSheets = new Set(sheets);\n this._hasAdoptedStyles = true;\n\n documentStyles.subscribe(this);\n }\n\n private _clearAdoptedStyles(): void {\n if (!this._hasAdoptedStyles) {\n return;\n }\n\n const shadowRoot = this._host.shadowRoot;\n\n if (shadowRoot) {\n adoptStyles(shadowRoot, this._getHostSheets(shadowRoot));\n }\n\n this._adoptedSheets = new Set();\n this._hasAdoptedStyles = false;\n this._documentStyles.unsubscribe(this);\n }\n\n /** Returns the shadow root stylesheets that this controller does not own. */\n private _getHostSheets(shadowRoot: ShadowRoot): CSSStyleSheet[] {\n return shadowRoot.adoptedStyleSheets.filter(\n (sheet) => !this._adoptedSheets.has(sheet)\n );\n }\n\n //#endregion\n}\n\n/**\n * Creates an {@link AdoptedStylesController} and adds it to a Lit component.\n *\n * @example\n * ```typescript\n * class MyComponent extends LitElement {\n * private readonly _adoptedStyles = addAdoptedStylesController(this);\n *\n * protected override update(props: PropertyValues): void {\n * if (props.has('shouldAdopt')) {\n * this._adoptedStyles.shouldAdoptStyles(this.shouldAdopt);\n * }\n * super.update(props);\n * }\n * }\n * ```\n */\nexport function addAdoptedStylesController(\n host: ReactiveControllerHost & LitElement\n): AdoptedStylesController {\n return new AdoptedStylesController(host);\n}\n\nexport type { AdoptedStylesController };\n"]}
|