igniteui-webcomponents 7.3.0-beta.0 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/animations/player.d.ts +7 -2
- package/animations/player.js +1 -2
- package/animations/player.js.map +1 -1
- package/components/accordion/accordion.js +4 -16
- package/components/accordion/accordion.js.map +1 -1
- package/components/avatar/avatar.d.ts +0 -1
- package/components/avatar/avatar.js +5 -9
- package/components/avatar/avatar.js.map +1 -1
- package/components/badge/badge.d.ts +1 -3
- package/components/badge/badge.js +4 -8
- package/components/badge/badge.js.map +1 -1
- package/components/banner/banner.d.ts +6 -5
- package/components/banner/banner.js +19 -17
- package/components/banner/banner.js.map +1 -1
- package/components/button/button-base.d.ts +1 -1
- package/components/button/button-base.js.map +1 -1
- package/components/button-group/button-group.d.ts +0 -1
- package/components/button-group/button-group.js +12 -17
- package/components/button-group/button-group.js.map +1 -1
- package/components/calendar/base.d.ts +3 -13
- package/components/calendar/base.js +10 -31
- package/components/calendar/base.js.map +1 -1
- package/components/calendar/calendar.d.ts +2 -2
- package/components/calendar/months-view/months-view.d.ts +1 -1
- package/components/calendar/months-view/months-view.js.map +1 -1
- package/components/carousel/carousel-indicator.d.ts +1 -1
- package/components/carousel/carousel-indicator.js +13 -13
- package/components/carousel/carousel-indicator.js.map +1 -1
- package/components/carousel/carousel-slide.d.ts +0 -2
- package/components/carousel/carousel-slide.js +7 -9
- package/components/carousel/carousel-slide.js.map +1 -1
- package/components/carousel/carousel.d.ts +52 -35
- package/components/carousel/carousel.js +136 -122
- package/components/carousel/carousel.js.map +1 -1
- package/components/carousel/themes/carousel.base.css.js +1 -1
- package/components/carousel/themes/carousel.base.css.js.map +1 -1
- package/components/chat/chat-input.d.ts +1 -1
- package/components/chat/chat-input.js +21 -21
- package/components/chat/chat-input.js.map +1 -1
- package/components/chat/chat.d.ts +0 -2
- package/components/chat/chat.js +6 -12
- package/components/chat/chat.js.map +1 -1
- package/components/checkbox/checkbox-base.d.ts +1 -1
- package/components/checkbox/checkbox.d.ts +3 -5
- package/components/checkbox/checkbox.js +33 -44
- package/components/checkbox/checkbox.js.map +1 -1
- package/components/checkbox/switch.d.ts +1 -1
- package/components/checkbox/switch.js +23 -34
- package/components/checkbox/switch.js.map +1 -1
- package/components/chip/chip.d.ts +1 -14
- package/components/chip/chip.js +12 -33
- package/components/chip/chip.js.map +1 -1
- package/components/color-picker/color-picker.d.ts +261 -0
- package/components/color-picker/color-picker.js +620 -0
- package/components/color-picker/color-picker.js.map +1 -0
- package/components/color-picker/common.d.ts +37 -0
- package/components/color-picker/common.js +55 -0
- package/components/color-picker/common.js.map +1 -0
- package/components/color-picker/converters.d.ts +18 -0
- package/components/color-picker/converters.js +173 -0
- package/components/color-picker/converters.js.map +1 -0
- package/components/color-picker/model.d.ts +120 -0
- package/components/color-picker/model.js +174 -0
- package/components/color-picker/model.js.map +1 -0
- package/components/color-picker/picker-canvas.d.ts +95 -0
- package/components/color-picker/picker-canvas.js +154 -0
- package/components/color-picker/picker-canvas.js.map +1 -0
- package/components/color-picker/themes/color-picker.base.css.d.ts +1 -0
- package/components/color-picker/themes/color-picker.base.css.js +3 -0
- package/components/color-picker/themes/color-picker.base.css.js.map +1 -0
- package/components/color-picker/themes/dark/color-picker.bootstrap.css.d.ts +1 -0
- package/components/color-picker/themes/dark/color-picker.bootstrap.css.js +3 -0
- package/components/color-picker/themes/dark/color-picker.bootstrap.css.js.map +1 -0
- package/components/color-picker/themes/dark/color-picker.fluent.css.d.ts +1 -0
- package/components/color-picker/themes/dark/color-picker.fluent.css.js +3 -0
- package/components/color-picker/themes/dark/color-picker.fluent.css.js.map +1 -0
- package/components/color-picker/themes/dark/color-picker.indigo.css.d.ts +1 -0
- package/components/color-picker/themes/dark/color-picker.indigo.css.js +3 -0
- package/components/color-picker/themes/dark/color-picker.indigo.css.js.map +1 -0
- package/components/color-picker/themes/dark/color-picker.material.css.d.ts +1 -0
- package/components/color-picker/themes/dark/color-picker.material.css.js +3 -0
- package/components/color-picker/themes/dark/color-picker.material.css.js.map +1 -0
- package/components/color-picker/themes/light/color-picker.bootstrap.css.d.ts +1 -0
- package/components/color-picker/themes/light/color-picker.bootstrap.css.js +3 -0
- package/components/color-picker/themes/light/color-picker.bootstrap.css.js.map +1 -0
- package/components/color-picker/themes/light/color-picker.fluent.css.d.ts +1 -0
- package/components/color-picker/themes/light/color-picker.fluent.css.js +3 -0
- package/components/color-picker/themes/light/color-picker.fluent.css.js.map +1 -0
- package/components/color-picker/themes/light/color-picker.indigo.css.d.ts +1 -0
- package/components/color-picker/themes/light/color-picker.indigo.css.js +3 -0
- package/components/color-picker/themes/light/color-picker.indigo.css.js.map +1 -0
- package/components/color-picker/themes/light/color-picker.material.css.d.ts +1 -0
- package/components/color-picker/themes/light/color-picker.material.css.js +3 -0
- package/components/color-picker/themes/light/color-picker.material.css.js.map +1 -0
- package/components/color-picker/themes/light/color-picker.shared.css.d.ts +1 -0
- package/components/color-picker/themes/light/color-picker.shared.css.js +3 -0
- package/components/color-picker/themes/light/color-picker.shared.css.js.map +1 -0
- package/components/color-picker/themes/picker-canvas.base.css.d.ts +1 -0
- package/components/color-picker/themes/picker-canvas.base.css.js +3 -0
- package/components/color-picker/themes/picker-canvas.base.css.js.map +1 -0
- package/components/color-picker/themes/shared/color-picker.bootstrap.css.d.ts +1 -0
- package/components/color-picker/themes/shared/color-picker.bootstrap.css.js +3 -0
- package/components/color-picker/themes/shared/color-picker.bootstrap.css.js.map +1 -0
- package/components/color-picker/themes/shared/color-picker.common.css.d.ts +1 -0
- package/components/color-picker/themes/shared/color-picker.common.css.js +3 -0
- package/components/color-picker/themes/shared/color-picker.common.css.js.map +1 -0
- package/components/color-picker/themes/shared/color-picker.fluent.css.d.ts +1 -0
- package/components/color-picker/themes/shared/color-picker.fluent.css.js +3 -0
- package/components/color-picker/themes/shared/color-picker.fluent.css.js.map +1 -0
- package/components/color-picker/themes/shared/color-picker.indigo.css.d.ts +1 -0
- package/components/color-picker/themes/shared/color-picker.indigo.css.js +3 -0
- package/components/color-picker/themes/shared/color-picker.indigo.css.js.map +1 -0
- package/components/color-picker/themes/shared/color-picker.material.css.d.ts +1 -0
- package/components/color-picker/themes/shared/color-picker.material.css.js +3 -0
- package/components/color-picker/themes/shared/color-picker.material.css.js.map +1 -0
- package/components/color-picker/themes/themes.d.ts +2 -0
- package/components/color-picker/themes/themes.js +50 -0
- package/components/color-picker/themes/themes.js.map +1 -0
- package/components/color-picker/validators.d.ts +3 -0
- package/components/color-picker/validators.js +5 -0
- package/components/color-picker/validators.js.map +1 -0
- package/components/combo/combo-item.d.ts +1 -3
- package/components/combo/combo-item.js +5 -12
- package/components/combo/combo-item.js.map +1 -1
- package/components/combo/combo.d.ts +7 -20
- package/components/combo/combo.js +59 -81
- package/components/combo/combo.js.map +1 -1
- package/components/date-picker/date-picker.base.d.ts +12 -9
- package/components/date-picker/date-picker.base.js +24 -31
- 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 +3 -5
- package/components/date-picker/date-picker.js.map +1 -1
- package/components/date-range-picker/date-range-input.d.ts +2 -4
- package/components/date-range-picker/date-range-input.js +6 -37
- package/components/date-range-picker/date-range-input.js.map +1 -1
- package/components/date-range-picker/date-range-picker.d.ts +2 -5
- package/components/date-range-picker/date-range-picker.js +15 -28
- package/components/date-range-picker/date-range-picker.js.map +1 -1
- package/components/date-range-picker/predefined-ranges-area.d.ts +2 -2
- package/components/date-range-picker/predefined-ranges-area.js +4 -6
- package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
- package/components/date-range-picker/validators.d.ts +1 -1
- package/components/date-range-picker/validators.js +5 -18
- package/components/date-range-picker/validators.js.map +1 -1
- package/components/date-time-input/date-part.d.ts +2 -1
- package/components/date-time-input/date-part.js +38 -75
- package/components/date-time-input/date-part.js.map +1 -1
- package/components/date-time-input/date-time-input.base.d.ts +31 -12
- package/components/date-time-input/date-time-input.base.js +43 -11
- package/components/date-time-input/date-time-input.base.js.map +1 -1
- package/components/date-time-input/date-time-input.d.ts +1 -3
- package/components/date-time-input/date-time-input.js +7 -40
- package/components/date-time-input/date-time-input.js.map +1 -1
- package/components/date-time-input/datetime-mask-parser.d.ts +8 -0
- package/components/date-time-input/datetime-mask-parser.js +8 -8
- package/components/date-time-input/datetime-mask-parser.js.map +1 -1
- package/components/date-time-input/validators.js +3 -14
- package/components/date-time-input/validators.js.map +1 -1
- package/components/dialog/dialog.d.ts +6 -7
- package/components/dialog/dialog.js +21 -26
- package/components/dialog/dialog.js.map +1 -1
- package/components/divider/divider.d.ts +1 -4
- package/components/divider/divider.js +8 -17
- package/components/divider/divider.js.map +1 -1
- package/components/dropdown/dropdown-group.js +1 -6
- package/components/dropdown/dropdown-group.js.map +1 -1
- package/components/expansion-panel/expansion-panel.d.ts +15 -5
- package/components/expansion-panel/expansion-panel.js +23 -34
- package/components/expansion-panel/expansion-panel.js.map +1 -1
- package/components/file-input/file-input.d.ts +2 -14
- package/components/file-input/file-input.js +5 -23
- package/components/file-input/file-input.js.map +1 -1
- package/components/highlight/highlight.d.ts +6 -8
- package/components/highlight/highlight.js +12 -20
- package/components/highlight/highlight.js.map +1 -1
- package/components/icon/icon-references.js +1 -0
- package/components/icon/icon-references.js.map +1 -1
- package/components/icon/icon.d.ts +1 -1
- package/components/icon/internal-icons-lib.js +3 -0
- package/components/icon/internal-icons-lib.js.map +1 -1
- package/components/icon/registry/types.d.ts +1 -1
- package/components/icon/registry/types.js.map +1 -1
- package/components/input/input.d.ts +9 -19
- package/components/input/input.js +30 -60
- package/components/input/input.js.map +1 -1
- package/components/input/themes/shared/input.material.css.js +1 -1
- package/components/input/themes/shared/input.material.css.js.map +1 -1
- package/components/mask-input/mask-input.d.ts +1 -1
- package/components/mask-input/mask-input.js +2 -4
- package/components/mask-input/mask-input.js.map +1 -1
- package/components/nav-drawer/nav-drawer.d.ts +7 -7
- package/components/nav-drawer/nav-drawer.js +12 -23
- package/components/nav-drawer/nav-drawer.js.map +1 -1
- package/components/progress/base.d.ts +4 -7
- package/components/progress/base.js +21 -45
- package/components/progress/base.js.map +1 -1
- package/components/qr-code/qr-code.d.ts +1 -1
- package/components/qr-code/qr-code.js +3 -2
- package/components/qr-code/qr-code.js.map +1 -1
- package/components/qr-code/types.d.ts +1 -1
- package/components/qr-code/types.js.map +1 -1
- package/components/radio/controller.d.ts +2 -30
- package/components/radio/controller.js +8 -94
- package/components/radio/controller.js.map +1 -1
- package/components/radio/radio.d.ts +5 -5
- package/components/radio/radio.js +48 -58
- package/components/radio/radio.js.map +1 -1
- package/components/radio-group/radio-group.d.ts +1 -2
- package/components/radio-group/radio-group.js +2 -9
- package/components/radio-group/radio-group.js.map +1 -1
- package/components/rating/rating.d.ts +24 -12
- package/components/rating/rating.js +79 -73
- package/components/rating/rating.js.map +1 -1
- package/components/resize-container/default-ghost.js +4 -3
- package/components/resize-container/default-ghost.js.map +1 -1
- package/components/resize-container/resize-container.d.ts +1 -1
- package/components/resize-container/resize-container.js +5 -3
- package/components/resize-container/resize-container.js.map +1 -1
- package/components/resize-container/resize-controller.js +4 -3
- package/components/resize-container/resize-controller.js.map +1 -1
- package/components/select/select-group.d.ts +2 -1
- package/components/select/select-group.js +7 -11
- package/components/select/select-group.js.map +1 -1
- package/components/select/select.d.ts +3 -4
- package/components/select/select.js +23 -28
- package/components/select/select.js.map +1 -1
- package/components/slider/range-slider.d.ts +3 -2
- package/components/slider/range-slider.js +22 -70
- package/components/slider/range-slider.js.map +1 -1
- package/components/slider/slider-base.d.ts +9 -6
- package/components/slider/slider-base.js +27 -28
- package/components/slider/slider-base.js.map +1 -1
- package/components/slider/slider.js +9 -5
- package/components/slider/slider.js.map +1 -1
- package/components/splitter/splitter.d.ts +1 -1
- package/components/splitter/splitter.js.map +1 -1
- package/components/stepper/step.d.ts +3 -0
- package/components/stepper/step.js +9 -5
- package/components/stepper/step.js.map +1 -1
- package/components/stepper/stepper.d.ts +0 -11
- package/components/stepper/stepper.js +21 -86
- package/components/stepper/stepper.js.map +1 -1
- package/components/tabs/tab.d.ts +1 -1
- package/components/tabs/tab.js +6 -5
- package/components/tabs/tab.js.map +1 -1
- package/components/tabs/tabs.d.ts +1 -5
- package/components/tabs/tabs.js +12 -34
- package/components/tabs/tabs.js.map +1 -1
- package/components/textarea/textarea.d.ts +6 -7
- package/components/textarea/textarea.js +3 -10
- package/components/textarea/textarea.js.map +1 -1
- package/components/theme-provider/theme-provider.d.ts +2 -4
- package/components/theme-provider/theme-provider.js +11 -21
- package/components/theme-provider/theme-provider.js.map +1 -1
- package/components/tile-manager/tile-manager.d.ts +10 -21
- package/components/tile-manager/tile-manager.js +43 -74
- package/components/tile-manager/tile-manager.js.map +1 -1
- package/components/tile-manager/tile.d.ts +10 -18
- package/components/tile-manager/tile.js +50 -67
- package/components/tile-manager/tile.js.map +1 -1
- package/components/tooltip/tooltip.d.ts +4 -7
- package/components/tooltip/tooltip.js +20 -28
- package/components/tooltip/tooltip.js.map +1 -1
- package/components/tree/tree.d.ts +1 -14
- package/components/tree/tree.js +5 -23
- package/components/tree/tree.js.map +1 -1
- package/components/tree/tree.navigation.d.ts +1 -1
- package/components/tree/tree.navigation.js.map +1 -1
- package/components/types.d.ts +2 -0
- package/components/types.js.map +1 -1
- package/components/validation-container/validation-container.d.ts +1 -2
- package/components/validation-container/validation-container.js.map +1 -1
- package/components/virtualization/engine.d.ts +40 -38
- package/components/virtualization/engine.js.map +1 -1
- package/components/virtualization/types.d.ts +6 -5
- package/components/virtualization/types.js.map +1 -1
- package/components/virtualization/virtualization.d.ts +94 -80
- package/components/virtualization/virtualization.js +10 -2
- package/components/virtualization/virtualization.js.map +1 -1
- package/custom-elements.json +31948 -26708
- package/igniteui-webcomponents.css-data.json +1 -1
- package/igniteui-webcomponents.html-data.json +1 -1
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/internals/controllers/aria-projection.d.ts +6 -6
- package/internals/controllers/aria-projection.js.map +1 -1
- package/internals/controllers/context-provider.d.ts +48 -0
- package/internals/controllers/context-provider.js +29 -0
- package/internals/controllers/context-provider.js.map +1 -0
- package/internals/controllers/drag.js +6 -6
- package/internals/controllers/drag.js.map +1 -1
- package/internals/controllers/gestures.js +3 -0
- package/internals/controllers/gestures.js.map +1 -1
- package/internals/controllers/group.d.ts +64 -0
- package/internals/controllers/group.js +104 -0
- package/internals/controllers/group.js.map +1 -0
- package/internals/controllers/internals.d.ts +16 -3
- package/internals/controllers/internals.js +10 -3
- package/internals/controllers/internals.js.map +1 -1
- package/internals/controllers/key-bindings.d.ts +6 -0
- package/internals/controllers/key-bindings.js +3 -0
- package/internals/controllers/key-bindings.js.map +1 -1
- package/internals/controllers/roving-focus.d.ts +72 -0
- package/internals/controllers/roving-focus.js +61 -0
- package/internals/controllers/roving-focus.js.map +1 -0
- package/internals/controllers/slot.d.ts +8 -0
- package/internals/controllers/slot.js +4 -0
- package/internals/controllers/slot.js.map +1 -1
- package/internals/controllers/toggle.d.ts +96 -0
- package/internals/controllers/toggle.js +65 -0
- package/internals/controllers/toggle.js.map +1 -0
- package/internals/date/converters.js +2 -5
- package/internals/date/converters.js.map +1 -1
- package/internals/date/model.d.ts +4 -0
- package/internals/date/model.js +6 -0
- package/internals/date/model.js.map +1 -1
- package/internals/decorators/coerced-property.d.ts +47 -0
- package/internals/decorators/coerced-property.js +36 -0
- package/internals/decorators/coerced-property.js.map +1 -0
- package/internals/definitions/defineAllComponents.js +2 -0
- package/internals/definitions/defineAllComponents.js.map +1 -1
- package/internals/i18n/i18n-controller.d.ts +22 -3
- package/internals/i18n/i18n-controller.js +28 -6
- package/internals/i18n/i18n-controller.js.map +1 -1
- package/internals/mixins/alert.d.ts +1 -1
- package/internals/mixins/alert.js +5 -3
- package/internals/mixins/alert.js.map +1 -1
- package/internals/mixins/combo-box.d.ts +3 -12
- package/internals/mixins/combo-box.js +6 -32
- package/internals/mixins/combo-box.js.map +1 -1
- package/internals/mixins/forms/associated.js +18 -0
- package/internals/mixins/forms/associated.js.map +1 -1
- package/internals/mixins/forms/types.d.ts +20 -1
- package/internals/mixins/forms/types.js.map +1 -1
- package/internals/mixins/i18n.d.ts +31 -0
- package/internals/mixins/i18n.js +36 -0
- package/internals/mixins/i18n.js.map +1 -0
- package/internals/mixins/mask-behavior.d.ts +6 -5
- package/internals/mixins/mask-behavior.js +1 -2
- package/internals/mixins/mask-behavior.js.map +1 -1
- package/internals/mixins/option.js +4 -2
- package/internals/mixins/option.js.map +1 -1
- package/internals/templates/masked-input.d.ts +1 -1
- package/internals/templates/masked-input.js.map +1 -1
- package/internals/templates/slotted-icon.d.ts +32 -0
- package/internals/templates/slotted-icon.js +19 -0
- package/internals/templates/slotted-icon.js.map +1 -0
- package/internals/templates/toggle-shell.d.ts +46 -0
- package/internals/templates/toggle-shell.js +38 -0
- package/internals/templates/toggle-shell.js.map +1 -0
- package/internals/timing.d.ts +32 -0
- package/internals/timing.js +20 -0
- package/internals/timing.js.map +1 -0
- package/internals/utils/arrays.d.ts +2 -2
- package/internals/utils/arrays.js.map +1 -1
- package/internals/utils/dom.d.ts +22 -0
- package/internals/utils/dom.js +15 -1
- package/internals/utils/dom.js.map +1 -1
- package/internals/utils/math.d.ts +1 -1
- package/internals/utils/math.js.map +1 -1
- package/internals/utils/types.d.ts +1 -1
- package/internals/utils/types.js.map +1 -1
- package/internals/validators.d.ts +23 -0
- package/internals/validators.js +21 -0
- package/internals/validators.js.map +1 -1
- package/package.json +3 -1
- package/theming/theming-controller.d.ts +3 -3
- package/theming/theming-controller.js.map +1 -1
- package/web-types.json +2 -2
- package/internals/decorators/watch.d.ts +0 -5
- package/internals/decorators/watch.js +0 -19
- package/internals/decorators/watch.js.map +0 -1
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
import { type PropertyValues, type TemplateResult } from 'lit';
|
|
2
|
+
import { IgcBaseComboBoxComponent } from '#internals/mixins/combo-box.js';
|
|
3
|
+
import type { AbstractConstructor } from '#internals/mixins/constructor.js';
|
|
4
|
+
import type { ColorFormat, ColorPickerMode } from '../types.js';
|
|
5
|
+
export interface IgcColorPickerEventMap {
|
|
6
|
+
igcOpening: CustomEvent<void>;
|
|
7
|
+
igcOpened: CustomEvent<void>;
|
|
8
|
+
igcClosing: CustomEvent<void>;
|
|
9
|
+
igcClosed: CustomEvent<void>;
|
|
10
|
+
igcInput: CustomEvent<string>;
|
|
11
|
+
igcChange: CustomEvent<string>;
|
|
12
|
+
}
|
|
13
|
+
declare const IgcColorPickerComponent_base: import("#internals/mixins/constructor.js").Constructor<import("../../internals/mixins/forms/types.js").FormRequiredInterface & import("../../internals/mixins/forms/types.js").FormAssociatedElementInterface> & import("#internals/mixins/constructor.js").Constructor<import("#internals/mixins/event-emitter.js").EventEmitterInterface<IgcColorPickerEventMap>> & AbstractConstructor<IgcBaseComboBoxComponent>;
|
|
14
|
+
/**
|
|
15
|
+
* Color input component.
|
|
16
|
+
*
|
|
17
|
+
* The user picks a color with the HSV saturation/value canvas, the hue slider
|
|
18
|
+
* and the optional alpha slider. The user can also type a color string: hex,
|
|
19
|
+
* rgb(a), hsl(a) or a named CSS color.
|
|
20
|
+
*
|
|
21
|
+
* The component supports pre-defined swatches and the native EyeDropper API,
|
|
22
|
+
* where the browser provides one. The anchor is a trigger button
|
|
23
|
+
* (`mode="default"`) or an editable text field (`mode="input"`).
|
|
24
|
+
*
|
|
25
|
+
* @element igc-color-picker
|
|
26
|
+
*
|
|
27
|
+
* @slot value-missing - Renders content when the required validation fails.
|
|
28
|
+
* @slot custom-error - Renders content when setCustomValidity(message) is set.
|
|
29
|
+
* @slot invalid - Renders content when the component is in invalid state (validity.valid = false).
|
|
30
|
+
* @slot helper-text - Renders content below the picker.
|
|
31
|
+
*
|
|
32
|
+
* @fires igcOpening - Emitted just before the picker dropdown is open.
|
|
33
|
+
* @fires igcOpened - Emitted after the picker dropdown is open.
|
|
34
|
+
* @fires igcClosing - Emitted just before the picker dropdown is closed.
|
|
35
|
+
* @fires igcClosed - Emitted after closing the picker dropdown.
|
|
36
|
+
* @fires igcInput - Emitted when the value of the component is changed.
|
|
37
|
+
* @fires igcChange - Emitted when the value of the component is committed.
|
|
38
|
+
*
|
|
39
|
+
* @csspart anchor - The trigger element that opens the picker (the button in default mode, or the swatch prefix in input mode).
|
|
40
|
+
* @csspart empty - Applied alongside `anchor` when no color value is set, rendering a checkered background.
|
|
41
|
+
* @csspart label - The label rendered above the anchor in default mode.
|
|
42
|
+
* @csspart picker - The popover container holding the canvas, sliders, inputs and swatches.
|
|
43
|
+
* @csspart main-row - The row containing the hue slider and the copy/eyedropper buttons.
|
|
44
|
+
* @csspart alpha-row - The row containing the alpha slider and input, rendered when `show-alpha` is set.
|
|
45
|
+
* @csspart inputs-row - The row containing the format select and the color value input.
|
|
46
|
+
* @csspart buttons - The wrapper around the copy and eyedropper buttons.
|
|
47
|
+
* @csspart hue - The hue slider.
|
|
48
|
+
* @csspart alpha - The alpha slider.
|
|
49
|
+
* @csspart copy - The button that copies the current color value to the clipboard.
|
|
50
|
+
* @csspart eye-dropper - The button that activates the EyeDropper API.
|
|
51
|
+
* @csspart format-select - The select control used to switch the color string format.
|
|
52
|
+
* @csspart swatches - The container of the pre-defined color swatches.
|
|
53
|
+
* @csspart swatch - An individual color swatch button.
|
|
54
|
+
*/
|
|
55
|
+
export default class IgcColorPickerComponent extends IgcColorPickerComponent_base {
|
|
56
|
+
static readonly tagName = "igc-color-picker";
|
|
57
|
+
static styles: import("lit").CSSResult[];
|
|
58
|
+
static register(): void;
|
|
59
|
+
protected get __validators(): import("../../internals/validators.js").Validator<IgcColorPickerComponent>[];
|
|
60
|
+
protected readonly _slots: import("#internals/controllers/slot.js").SlotController<"invalid" | "helper-text" | "[default]" | "value-missing" | "custom-error">;
|
|
61
|
+
protected readonly _rootClickController: import("#internals/controllers/root-click.js").RootClickController;
|
|
62
|
+
protected readonly _formValue: import("#internals/mixins/forms/form-value.js").FormValue<string>;
|
|
63
|
+
private readonly _alphaRef;
|
|
64
|
+
private readonly _alphaInputRef;
|
|
65
|
+
private readonly _canvasRef;
|
|
66
|
+
private readonly _hueRef;
|
|
67
|
+
private readonly _anchorRef;
|
|
68
|
+
private readonly _supportsEyeDropper;
|
|
69
|
+
private _color;
|
|
70
|
+
private _oldValue;
|
|
71
|
+
/** The last value written for each host custom property. */
|
|
72
|
+
private readonly _appliedProperties;
|
|
73
|
+
private readonly _helperText;
|
|
74
|
+
private get _isInputMode();
|
|
75
|
+
/**
|
|
76
|
+
* The label of the component.
|
|
77
|
+
*
|
|
78
|
+
* In `mode="input"` the component forwards the label to the anchor input.
|
|
79
|
+
* In `mode="default"` it renders the label as a separate element.
|
|
80
|
+
* @attr label
|
|
81
|
+
*/
|
|
82
|
+
label?: string;
|
|
83
|
+
/**
|
|
84
|
+
* The value of the component as a CSS color string. Accepts hex, rgb(a),
|
|
85
|
+
* hsl(a) and named colors.
|
|
86
|
+
*
|
|
87
|
+
* An empty, whitespace-only or invalid string clears the value.
|
|
88
|
+
*
|
|
89
|
+
* @attr value
|
|
90
|
+
*/
|
|
91
|
+
set value(value: string);
|
|
92
|
+
get value(): string;
|
|
93
|
+
/**
|
|
94
|
+
* Sets the color format of the string value.
|
|
95
|
+
*
|
|
96
|
+
* A format change renders `value` in the new notation. The color does not
|
|
97
|
+
* change, so the component emits no `igcInput` or `igcChange`.
|
|
98
|
+
*
|
|
99
|
+
* @attr format
|
|
100
|
+
* @default 'hex'
|
|
101
|
+
*/
|
|
102
|
+
format: ColorFormat;
|
|
103
|
+
/**
|
|
104
|
+
* Whether to hide the format picker buttons.
|
|
105
|
+
*
|
|
106
|
+
* @attr hide-formats
|
|
107
|
+
* @default false
|
|
108
|
+
*/
|
|
109
|
+
hideFormats: boolean;
|
|
110
|
+
/**
|
|
111
|
+
* Whether to show the alpha slider and input.
|
|
112
|
+
*
|
|
113
|
+
* @attr show-alpha
|
|
114
|
+
* @default false
|
|
115
|
+
*/
|
|
116
|
+
showAlpha: boolean;
|
|
117
|
+
/**
|
|
118
|
+
* The mode of the color picker.
|
|
119
|
+
*
|
|
120
|
+
* In `"default"` mode the anchor is a trigger button. In `"input"` mode the
|
|
121
|
+
* anchor is an editable text field with a color swatch prefix. The prefix
|
|
122
|
+
* also opens the picker.
|
|
123
|
+
*
|
|
124
|
+
* @attr mode
|
|
125
|
+
* @default 'default'
|
|
126
|
+
*/
|
|
127
|
+
mode: ColorPickerMode;
|
|
128
|
+
/**
|
|
129
|
+
* Pre-defined color strings. The component renders them as clickable
|
|
130
|
+
* swatches below the picker controls. A click on a swatch commits its color
|
|
131
|
+
* as the value.
|
|
132
|
+
*/
|
|
133
|
+
swatches: string[];
|
|
134
|
+
constructor();
|
|
135
|
+
protected update(props: PropertyValues<this>): void;
|
|
136
|
+
protected updated(props: PropertyValues<this>): void;
|
|
137
|
+
protected formResetCallback(): void;
|
|
138
|
+
private _handleClosing;
|
|
139
|
+
private _handleKeyboardClosing;
|
|
140
|
+
private _handleFocusIn;
|
|
141
|
+
private _handleFocusOut;
|
|
142
|
+
private _handleCanvasColorPicked;
|
|
143
|
+
private _handleHueValueChange;
|
|
144
|
+
private _handleAlphaSliderValueChange;
|
|
145
|
+
/**
|
|
146
|
+
* Rewrites the alpha field as `<digits>%` after each edit.
|
|
147
|
+
*
|
|
148
|
+
* The `%` is part of the value and not a suffix element, so the browser
|
|
149
|
+
* treats it as editable text. This handler normalizes the result of an edit
|
|
150
|
+
* instead of a filter on the keystrokes in `beforeinput`. The `%` then
|
|
151
|
+
* behaves as a literal for each way that text reaches the field: typing,
|
|
152
|
+
* paste, drop, composition, undo and autofill. Of these, `beforeinput`
|
|
153
|
+
* carries `data` only for typing.
|
|
154
|
+
*/
|
|
155
|
+
private _handleAlphaInputEdit;
|
|
156
|
+
/**
|
|
157
|
+
* Keeps the caret and the selection inside the digits.
|
|
158
|
+
*
|
|
159
|
+
* The trailing `%` is a literal. Without this handler the caret goes after
|
|
160
|
+
* the `%` on focus, on a click past the text, and after a shifted selection
|
|
161
|
+
* extends over it. The handler therefore runs on `keyup` as well as on
|
|
162
|
+
* `focusin` and `click`. Text after the `%` falls outside the number, and the
|
|
163
|
+
* parse discards it.
|
|
164
|
+
*/
|
|
165
|
+
private _handleAlphaInputCaret;
|
|
166
|
+
/**
|
|
167
|
+
* Steps the alpha by one percent.
|
|
168
|
+
*
|
|
169
|
+
* The step applies to the color and not to the text of the field. This keeps
|
|
170
|
+
* a held arrow key correct. The key downs repeat faster than a render, so the
|
|
171
|
+
* text of the field can be stale.
|
|
172
|
+
*
|
|
173
|
+
* The handler writes the new text and does not leave it to the render, so
|
|
174
|
+
* that the caret does not move. A value assignment puts the caret behind the
|
|
175
|
+
* `%`. A write from the render applies one frame after the keypress, which
|
|
176
|
+
* the user sees as a jump forward and back.
|
|
177
|
+
*/
|
|
178
|
+
private _handleAlphaInputSpin;
|
|
179
|
+
/**
|
|
180
|
+
* Holds the caret at the `%`. Without this handler the caret steps past the
|
|
181
|
+
* `%`, and `keyup` pulls it back. This is the frame-late jump that
|
|
182
|
+
* {@link _handleAlphaInputSpin} describes.
|
|
183
|
+
*/
|
|
184
|
+
private _handleAlphaInputCaretForward;
|
|
185
|
+
private _handleAlphaInputChange;
|
|
186
|
+
private _handleFormatChange;
|
|
187
|
+
private _handleColorInputChange;
|
|
188
|
+
private _handleEyeDropperClick;
|
|
189
|
+
private _handleCopy;
|
|
190
|
+
private _handleSwatchClick;
|
|
191
|
+
/**
|
|
192
|
+
* The current color with its alpha, in a notation that is independent of
|
|
193
|
+
* `format`.
|
|
194
|
+
*/
|
|
195
|
+
private get _alphaColor();
|
|
196
|
+
/**
|
|
197
|
+
* The current color with an opaque alpha channel.
|
|
198
|
+
*
|
|
199
|
+
* The swatch preview paints this color over one half of its surface, and
|
|
200
|
+
* {@link _alphaColor} over the other half. A translucent color is then shown
|
|
201
|
+
* next to its opaque form. At full alpha the two halves are identical and the
|
|
202
|
+
* split is invisible, so opaque colors need no separate branch.
|
|
203
|
+
*
|
|
204
|
+
* This value is defined also with no color value. An empty color is white,
|
|
205
|
+
* which is where the alpha ramp and the canvas marker belong before the first
|
|
206
|
+
* pick. The anchor keeps its "no color" mark, because {@link _previewStyle}
|
|
207
|
+
* uses {@link _alphaColor}, which stays empty.
|
|
208
|
+
*/
|
|
209
|
+
private get _opaqueColor();
|
|
210
|
+
/** The alpha channel as the whole percentage that both alpha controls use. */
|
|
211
|
+
private get _alphaPercent();
|
|
212
|
+
/** The pure hue that the saturation/value plane and the hue thumb use. */
|
|
213
|
+
private get _currentColor();
|
|
214
|
+
/**
|
|
215
|
+
* Mirrors the colors that the stylesheet needs onto the host.
|
|
216
|
+
*
|
|
217
|
+
* `update()` drives this, and not the handlers that change the color. It
|
|
218
|
+
* therefore also runs for the first render. A picker with no value calls none
|
|
219
|
+
* of those handlers, and the plane would keep the stylesheet fallback instead
|
|
220
|
+
* of its actual hue.
|
|
221
|
+
*/
|
|
222
|
+
private _applyColorProperties;
|
|
223
|
+
/**
|
|
224
|
+
* Replaces the whole text of the alpha field and puts the caret in front of
|
|
225
|
+
* the `%` by default.
|
|
226
|
+
*/
|
|
227
|
+
private _writeAlphaText;
|
|
228
|
+
private _setAlpha;
|
|
229
|
+
private _updateColor;
|
|
230
|
+
private _syncCanvasPosition;
|
|
231
|
+
private _emitInputEvent;
|
|
232
|
+
private _renderCanvasGradient;
|
|
233
|
+
private _renderHueSlider;
|
|
234
|
+
private _renderIconButton;
|
|
235
|
+
private _renderPickerButtons;
|
|
236
|
+
private _renderAlphaRow;
|
|
237
|
+
private _renderSelect;
|
|
238
|
+
private _renderInputsRow;
|
|
239
|
+
private _renderSwatches;
|
|
240
|
+
private get _anchorParts();
|
|
241
|
+
/**
|
|
242
|
+
* The swatch preview style that both anchors use.
|
|
243
|
+
*
|
|
244
|
+
* `--_color-preview` paints the opaque color over the left half.
|
|
245
|
+
* `--_alpha-preview` paints the color with its real alpha over the whole
|
|
246
|
+
* surface. Do not transpose the two. See the `swatch-preview` mixin.
|
|
247
|
+
*/
|
|
248
|
+
private _previewStyle;
|
|
249
|
+
private _renderButtonAnchor;
|
|
250
|
+
private _renderInputAnchor;
|
|
251
|
+
private _renderAnchor;
|
|
252
|
+
private _renderHelperText;
|
|
253
|
+
private _renderPicker;
|
|
254
|
+
protected render(): TemplateResult;
|
|
255
|
+
}
|
|
256
|
+
declare global {
|
|
257
|
+
interface HTMLElementTagNameMap {
|
|
258
|
+
'igc-color-picker': IgcColorPickerComponent;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
export {};
|