@spectrum-web-components/color-slider 0.0.0-20241209155954

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.
Files changed (38) hide show
  1. package/README.md +58 -0
  2. package/package.json +81 -0
  3. package/sp-color-slider.d.ts +6 -0
  4. package/sp-color-slider.dev.js +5 -0
  5. package/sp-color-slider.dev.js.map +7 -0
  6. package/sp-color-slider.js +2 -0
  7. package/sp-color-slider.js.map +7 -0
  8. package/src/ColorSlider.d.ts +55 -0
  9. package/src/ColorSlider.dev.js +339 -0
  10. package/src/ColorSlider.dev.js.map +7 -0
  11. package/src/ColorSlider.js +41 -0
  12. package/src/ColorSlider.js.map +7 -0
  13. package/src/color-slider-overrides.css.d.ts +2 -0
  14. package/src/color-slider-overrides.css.dev.js +7 -0
  15. package/src/color-slider-overrides.css.dev.js.map +7 -0
  16. package/src/color-slider-overrides.css.js +4 -0
  17. package/src/color-slider-overrides.css.js.map +7 -0
  18. package/src/color-slider.css.d.ts +2 -0
  19. package/src/color-slider.css.dev.js +7 -0
  20. package/src/color-slider.css.dev.js.map +7 -0
  21. package/src/color-slider.css.js +4 -0
  22. package/src/color-slider.css.js.map +7 -0
  23. package/src/index.d.ts +1 -0
  24. package/src/index.dev.js +3 -0
  25. package/src/index.dev.js.map +7 -0
  26. package/src/index.js +2 -0
  27. package/src/index.js.map +7 -0
  28. package/src/spectrum-color-slider.css.d.ts +2 -0
  29. package/src/spectrum-color-slider.css.dev.js +7 -0
  30. package/src/spectrum-color-slider.css.dev.js.map +7 -0
  31. package/src/spectrum-color-slider.css.js +4 -0
  32. package/src/spectrum-color-slider.css.js.map +7 -0
  33. package/src/spectrum-config.js +41 -0
  34. package/src/types.d.ts +13 -0
  35. package/src/types.dev.js +2 -0
  36. package/src/types.dev.js.map +7 -0
  37. package/src/types.js +2 -0
  38. package/src/types.js.map +7 -0
package/README.md ADDED
@@ -0,0 +1,58 @@
1
+ ## Description
2
+
3
+ An `<sp-color-slider>` lets users visually change an individual channel of a color. The background of the `<sp-color-slider>` is a visual representation of the range of values a user can select from. This can represent color properties such as hues, color channel values (such as RGB or CMYK levels), or opacity. Currently, the slider only supports leveraging the `hue` property.
4
+
5
+ ### Usage
6
+
7
+ [![See it on NPM!](https://img.shields.io/npm/v/@spectrum-web-components/color-slider?style=for-the-badge)](https://www.npmjs.com/package/@spectrum-web-components/color-slider)
8
+ [![How big is this package in your project?](https://img.shields.io/bundlephobia/minzip/@spectrum-web-components/color-slider?style=for-the-badge)](https://bundlephobia.com/result?p=@spectrum-web-components/color-slider)
9
+ [![Try it on webcomponents.dev](https://img.shields.io/badge/Try%20it%20on-webcomponents.dev-green?style=for-the-badge)](https://webcomponents.dev/edit/collection/fO75441E1Q5ZlI0e9pgq/kxW1VIhXBXVSOnyXhF9M/src/index.ts)
10
+
11
+ ```
12
+ yarn add @spectrum-web-components/color-slider
13
+ ```
14
+
15
+ Import the side effectful registration of `<sp-color-slider>` via:
16
+
17
+ ```
18
+ import '@spectrum-web-components/color-slider/sp-color-slider.js';
19
+ ```
20
+
21
+ When looking to leverage the `ColorSlider` base class as a type and/or for extension purposes, do so via:
22
+
23
+ ```
24
+ import { ColorSlider } from '@spectrum-web-components/color-slider';
25
+ ```
26
+
27
+ ## Color Formatting
28
+
29
+ When using the color elements, use `el.color` to access the `color` property, which should manage itself in the colour format supplied. If you supply a color in `rgb()` format, `el.color` should return the color in `rgb()` format, as well.
30
+
31
+ The current color formats supported are as follows:
32
+
33
+ - Hex3, Hex4, Hex6, Hex8
34
+ - HSV, HSVA
35
+ - HSL, HSLA
36
+ - RGB, RGBA
37
+ - Strings (eg "red", "blue")
38
+
39
+ **Please note for the following formats: HSV, HSVA, HSL, HSLA**
40
+ When using the HSL or HSV formats, and a color's value (in HSV) is set to 0, or its luminosity (in HSL) is set to 0 or 1, the hue and saturation values may not be preserved by the element's `color` property. This is detailed in the [TinyColor documentation](https://www.npmjs.com/package/@ctrl/tinycolor). Seperately, the element's `value` property is directly managed by the hue as represented in the interface.
41
+
42
+ ## Default
43
+
44
+ ```html
45
+ <sp-color-slider></sp-color-slider>
46
+ ```
47
+
48
+ ### Vertical
49
+
50
+ ```html
51
+ <sp-color-slider vertical></sp-color-slider>
52
+ ```
53
+
54
+ ### Disabled
55
+
56
+ ```html
57
+ <sp-color-slider disabled></sp-color-slider>
58
+ ```
package/package.json ADDED
@@ -0,0 +1,81 @@
1
+ {
2
+ "name": "@spectrum-web-components/color-slider",
3
+ "version": "0.0.0-20241209155954",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "description": "",
8
+ "license": "Apache-2.0",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "https://github.com/adobe/spectrum-web-components.git",
12
+ "directory": "packages/color-slider"
13
+ },
14
+ "author": "",
15
+ "homepage": "https://opensource.adobe.com/spectrum-web-components/components/color-slider",
16
+ "bugs": {
17
+ "url": "https://github.com/adobe/spectrum-web-components/issues"
18
+ },
19
+ "main": "src/index.js",
20
+ "module": "src/index.js",
21
+ "type": "module",
22
+ "exports": {
23
+ ".": {
24
+ "development": "./src/index.dev.js",
25
+ "default": "./src/index.js"
26
+ },
27
+ "./package.json": "./package.json",
28
+ "./src/ColorSlider.js": {
29
+ "development": "./src/ColorSlider.dev.js",
30
+ "default": "./src/ColorSlider.js"
31
+ },
32
+ "./src/color-slider-overrides.css.js": "./src/color-slider-overrides.css.js",
33
+ "./src/color-slider.css.js": "./src/color-slider.css.js",
34
+ "./src/index.js": {
35
+ "development": "./src/index.dev.js",
36
+ "default": "./src/index.js"
37
+ },
38
+ "./src/types.js": {
39
+ "development": "./src/types.dev.js",
40
+ "default": "./src/types.js"
41
+ },
42
+ "./sp-color-slider.js": {
43
+ "development": "./sp-color-slider.dev.js",
44
+ "default": "./sp-color-slider.js"
45
+ }
46
+ },
47
+ "scripts": {
48
+ "test": "echo \"Error: run tests from mono-repo root.\" && exit 1"
49
+ },
50
+ "files": [
51
+ "**/*.d.ts",
52
+ "**/*.js",
53
+ "**/*.js.map",
54
+ "custom-elements.json",
55
+ "!stories/",
56
+ "!test/"
57
+ ],
58
+ "keywords": [
59
+ "spectrum css",
60
+ "web components",
61
+ "lit-element",
62
+ "lit-html"
63
+ ],
64
+ "dependencies": {
65
+ "@ctrl/tinycolor": "^4.0.3",
66
+ "@spectrum-web-components/base": "0.0.0-20241209155954",
67
+ "@spectrum-web-components/color-handle": "0.0.0-20241209155954",
68
+ "@spectrum-web-components/opacity-checkerboard": "0.0.0-20241209155954",
69
+ "@spectrum-web-components/reactive-controllers": "0.0.0-20241209155954",
70
+ "@spectrum-web-components/shared": "0.0.0-20241209155954"
71
+ },
72
+ "devDependencies": {
73
+ "@spectrum-css/colorslider": "^7.0.0-s2-foundations.16"
74
+ },
75
+ "types": "./src/index.d.ts",
76
+ "customElements": "custom-elements.json",
77
+ "sideEffects": [
78
+ "./sp-*.js",
79
+ "./**/*.dev.js"
80
+ ]
81
+ }
@@ -0,0 +1,6 @@
1
+ import { ColorSlider } from './src/ColorSlider.js';
2
+ declare global {
3
+ interface HTMLElementTagNameMap {
4
+ 'sp-color-slider': ColorSlider;
5
+ }
6
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ import { ColorSlider } from "./src/ColorSlider.dev.js";
3
+ import { defineElement } from "@spectrum-web-components/base/src/define-element.js";
4
+ defineElement("sp-color-slider", ColorSlider);
5
+ //# sourceMappingURL=sp-color-slider.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sp-color-slider.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { ColorSlider } from './src/ColorSlider.dev.js'\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\ndefineElement('sp-color-slider', ColorSlider);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-color-slider': ColorSlider;\n }\n}\n"],
5
+ "mappings": ";AAYA,SAAS,mBAAmB;AAC5B,SAAS,qBAAqB;AAE9B,cAAc,mBAAmB,WAAW;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";import{ColorSlider as e}from"./src/ColorSlider.js";import{defineElement as r}from"@spectrum-web-components/base/src/define-element.js";r("sp-color-slider",e);
2
+ //# sourceMappingURL=sp-color-slider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["sp-color-slider.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport { ColorSlider } from './src/ColorSlider.js';\nimport { defineElement } from '@spectrum-web-components/base/src/define-element.js';\n\ndefineElement('sp-color-slider', ColorSlider);\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sp-color-slider': ColorSlider;\n }\n}\n"],
5
+ "mappings": "aAYA,OAAS,eAAAA,MAAmB,uBAC5B,OAAS,iBAAAC,MAAqB,sDAE9BA,EAAc,kBAAmBD,CAAW",
6
+ "names": ["ColorSlider", "defineElement"]
7
+ }
@@ -0,0 +1,55 @@
1
+ import { CSSResultArray, PropertyValues, TemplateResult } from '@spectrum-web-components/base';
2
+ import { Focusable } from '@spectrum-web-components/shared/src/focusable.js';
3
+ import '@spectrum-web-components/color-handle/sp-color-handle.js';
4
+ import { ColorValue } from '@spectrum-web-components/reactive-controllers/src/Color.js';
5
+ /**
6
+ * @element sp-color-slider
7
+ * @slot gradient - a custom gradient visually outlining the available color values
8
+ * @fires input - The value of the Color Slider has changed.
9
+ * @fires change - An alteration to the value of the Color Slider has been committed by the user.
10
+ */
11
+ export declare class ColorSlider extends Focusable {
12
+ static get styles(): CSSResultArray;
13
+ dir: 'ltr' | 'rtl';
14
+ disabled: boolean;
15
+ focused: boolean;
16
+ private handle;
17
+ label: string;
18
+ vertical: boolean;
19
+ private languageResolver;
20
+ private colorController;
21
+ get value(): number;
22
+ set value(hue: number);
23
+ sliderHandlePosition: number;
24
+ get color(): ColorValue;
25
+ set color(color: ColorValue);
26
+ step: number;
27
+ private get altered();
28
+ private set altered(value);
29
+ private _altered;
30
+ input: HTMLInputElement;
31
+ get focusElement(): HTMLInputElement;
32
+ private handleKeydown;
33
+ private handleInput;
34
+ private handleChange;
35
+ focus(focusOptions?: FocusOptions): void;
36
+ private forwardFocus;
37
+ private handleFocus;
38
+ private handleBlur;
39
+ private boundingClientRect;
40
+ private _pointerDown;
41
+ private handlePointerdown;
42
+ private handlePointermove;
43
+ private handlePointerup;
44
+ /**
45
+ * Returns the value under the cursor
46
+ * @param: PointerEvent on slider
47
+ * @return: Slider value that correlates to the position under the pointer
48
+ */
49
+ private calculateHandlePosition;
50
+ private handleGradientPointerdown;
51
+ private get handlePositionStyles();
52
+ private get getColorSliderStyle();
53
+ protected render(): TemplateResult;
54
+ protected firstUpdated(changed: PropertyValues): void;
55
+ }
@@ -0,0 +1,339 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __decorateClass = (decorators, target, key, kind) => {
5
+ var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
6
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
7
+ if (decorator = decorators[i])
8
+ result = (kind ? decorator(target, key, result) : decorator(result)) || result;
9
+ if (kind && result) __defProp(target, key, result);
10
+ return result;
11
+ };
12
+ import {
13
+ html
14
+ } from "@spectrum-web-components/base";
15
+ import {
16
+ ifDefined,
17
+ styleMap
18
+ } from "@spectrum-web-components/base/src/directives.js";
19
+ import {
20
+ property,
21
+ query
22
+ } from "@spectrum-web-components/base/src/decorators.js";
23
+ import { streamingListener } from "@spectrum-web-components/base/src/streaming-listener.js";
24
+ import { Focusable } from "@spectrum-web-components/shared/src/focusable.js";
25
+ import "@spectrum-web-components/color-handle/sp-color-handle.js";
26
+ import {
27
+ ColorController
28
+ } from "@spectrum-web-components/reactive-controllers/src/Color.js";
29
+ import { LanguageResolutionController } from "@spectrum-web-components/reactive-controllers/src/LanguageResolution.js";
30
+ import opacityCheckerBoardStyles from "@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js";
31
+ import styles from "./color-slider.css.js";
32
+ export class ColorSlider extends Focusable {
33
+ constructor() {
34
+ super(...arguments);
35
+ this.disabled = false;
36
+ this.focused = false;
37
+ this.label = "hue";
38
+ this.vertical = false;
39
+ this.languageResolver = new LanguageResolutionController(this);
40
+ this.colorController = new ColorController(this, {
41
+ /* c8 ignore next 3 */
42
+ applyColorToState: () => {
43
+ this.sliderHandlePosition = 100 * (this.colorController.hue / 360);
44
+ },
45
+ extractColorFromState: (controller) => ({
46
+ ...controller.getColor("hsl"),
47
+ h: this.value
48
+ }),
49
+ maintains: "saturation"
50
+ });
51
+ this.sliderHandlePosition = 0;
52
+ this.step = 1;
53
+ this._altered = 0;
54
+ this._pointerDown = false;
55
+ }
56
+ static get styles() {
57
+ return [opacityCheckerBoardStyles, styles];
58
+ }
59
+ get value() {
60
+ return this.colorController.hue;
61
+ }
62
+ set value(hue) {
63
+ this.colorController.hue = hue;
64
+ }
65
+ get color() {
66
+ return this.colorController.color;
67
+ }
68
+ set color(color) {
69
+ this.colorController.color = color;
70
+ }
71
+ get altered() {
72
+ return this._altered;
73
+ }
74
+ set altered(altered) {
75
+ this._altered = altered;
76
+ this.step = Math.max(1, this.altered * 10);
77
+ }
78
+ get focusElement() {
79
+ return this.input;
80
+ }
81
+ handleKeydown(event) {
82
+ const { key } = event;
83
+ this.focused = true;
84
+ this.altered = [event.shiftKey, event.ctrlKey, event.altKey].filter(
85
+ (key2) => !!key2
86
+ ).length;
87
+ let delta = 0;
88
+ switch (key) {
89
+ case "ArrowUp":
90
+ delta = this.step;
91
+ break;
92
+ case "ArrowDown":
93
+ delta = -this.step;
94
+ break;
95
+ case "ArrowLeft":
96
+ delta = this.step * (this.isLTR ? -1 : 1);
97
+ break;
98
+ case "ArrowRight":
99
+ delta = this.step * (this.isLTR ? 1 : -1);
100
+ break;
101
+ default:
102
+ return;
103
+ }
104
+ event.preventDefault();
105
+ const range = 360;
106
+ const mult = 100 / range;
107
+ this.sliderHandlePosition = Math.min(
108
+ 100,
109
+ Math.max(0, this.sliderHandlePosition + delta * mult)
110
+ );
111
+ this.value = Math.min(100, Math.max(0, this.value + delta));
112
+ this.colorController.applyColorFromState();
113
+ if (delta != 0) {
114
+ this.dispatchEvent(
115
+ new Event("input", {
116
+ bubbles: true,
117
+ composed: true
118
+ })
119
+ );
120
+ this.dispatchEvent(
121
+ new Event("change", {
122
+ bubbles: true,
123
+ composed: true
124
+ })
125
+ );
126
+ }
127
+ }
128
+ handleInput(event) {
129
+ const { valueAsNumber } = event.target;
130
+ this.value = valueAsNumber;
131
+ this.sliderHandlePosition = 100 * (this.value / 360);
132
+ this.colorController.applyColorFromState();
133
+ }
134
+ handleChange(event) {
135
+ this.handleInput(event);
136
+ this.dispatchEvent(
137
+ new Event("change", {
138
+ bubbles: true,
139
+ composed: true
140
+ })
141
+ );
142
+ }
143
+ focus(focusOptions = {}) {
144
+ super.focus(focusOptions);
145
+ this.forwardFocus();
146
+ }
147
+ forwardFocus() {
148
+ this.focused = this.hasVisibleFocusInTree();
149
+ this.input.focus();
150
+ }
151
+ handleFocus() {
152
+ this.focused = true;
153
+ }
154
+ handleBlur() {
155
+ if (this._pointerDown) {
156
+ return;
157
+ }
158
+ this.altered = 0;
159
+ this.focused = false;
160
+ }
161
+ handlePointerdown(event) {
162
+ if (event.button !== 0) {
163
+ event.preventDefault();
164
+ return;
165
+ }
166
+ this._pointerDown = true;
167
+ this.colorController.savePreviousColor();
168
+ this.boundingClientRect = this.getBoundingClientRect();
169
+ event.target.setPointerCapture(event.pointerId);
170
+ if (event.pointerType === "mouse") {
171
+ this.focused = true;
172
+ }
173
+ }
174
+ handlePointermove(event) {
175
+ this.sliderHandlePosition = this.calculateHandlePosition(event);
176
+ this.value = 360 * (this.sliderHandlePosition / 100);
177
+ this.colorController.applyColorFromState();
178
+ this.dispatchEvent(
179
+ new Event("input", {
180
+ bubbles: true,
181
+ composed: true,
182
+ cancelable: true
183
+ })
184
+ );
185
+ }
186
+ handlePointerup(event) {
187
+ this._pointerDown = false;
188
+ event.target.releasePointerCapture(event.pointerId);
189
+ const applyDefault = this.dispatchEvent(
190
+ new Event("change", {
191
+ bubbles: true,
192
+ composed: true,
193
+ cancelable: true
194
+ })
195
+ );
196
+ if (!applyDefault) {
197
+ this.colorController.restorePreviousColor();
198
+ }
199
+ this.focus();
200
+ if (event.pointerType === "mouse") {
201
+ this.focused = false;
202
+ }
203
+ }
204
+ /**
205
+ * Returns the value under the cursor
206
+ * @param: PointerEvent on slider
207
+ * @return: Slider value that correlates to the position under the pointer
208
+ */
209
+ calculateHandlePosition(event) {
210
+ if (!this.boundingClientRect) {
211
+ return this.sliderHandlePosition;
212
+ }
213
+ const rect = this.boundingClientRect;
214
+ const minOffset = this.vertical ? rect.top : rect.left;
215
+ const offset = this.vertical ? event.clientY : event.clientX;
216
+ const size = this.vertical ? rect.height : rect.width;
217
+ const percent = Math.max(0, Math.min(1, (offset - minOffset) / size));
218
+ const sliderHandlePosition = this.vertical || !this.isLTR ? 100 - 100 * percent : 100 * percent;
219
+ return sliderHandlePosition;
220
+ }
221
+ handleGradientPointerdown(event) {
222
+ if (event.button !== 0) {
223
+ return;
224
+ }
225
+ event.stopPropagation();
226
+ event.preventDefault();
227
+ this.handle.dispatchEvent(new PointerEvent("pointerdown", event));
228
+ this.handlePointermove(event);
229
+ }
230
+ get handlePositionStyles() {
231
+ return `${this.vertical ? "inset-block-end" : "inset-inline-start"}: ${this.sliderHandlePosition}%`;
232
+ }
233
+ get getColorSliderStyle() {
234
+ const orientation = this.vertical ? "top" : "right";
235
+ return {
236
+ background: `linear-gradient(to ${orientation}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)))`
237
+ };
238
+ }
239
+ render() {
240
+ return html`
241
+ <div
242
+ class="opacity-checkerboard checkerboard"
243
+ role="presentation"
244
+ @pointerdown=${this.handleGradientPointerdown}
245
+ >
246
+ <div
247
+ class="gradient"
248
+ role="presentation"
249
+ style=${styleMap(this.getColorSliderStyle)}
250
+ >
251
+ <slot name="gradient"></slot>
252
+ </div>
253
+ </div>
254
+ <sp-color-handle
255
+ tabindex=${ifDefined(this.focused ? void 0 : "0")}
256
+ @focus=${this.forwardFocus}
257
+ ?focused=${this.focused}
258
+ class="handle"
259
+ color="hsl(${this.value}, 100%, 50%)"
260
+ ?disabled=${this.disabled}
261
+ style=${this.handlePositionStyles}
262
+ ${streamingListener({
263
+ start: ["pointerdown", this.handlePointerdown],
264
+ streamInside: ["pointermove", this.handlePointermove],
265
+ end: [
266
+ ["pointerup", "pointercancel", "pointerleave"],
267
+ this.handlePointerup
268
+ ]
269
+ })}
270
+ ></sp-color-handle>
271
+ <input
272
+ type="range"
273
+ class="slider"
274
+ min="0"
275
+ max="360"
276
+ aria-orientation=${ifDefined(
277
+ this.vertical ? "vertical" : void 0
278
+ )}
279
+ orient=${ifDefined(this.vertical ? "vertical" : void 0)}
280
+ step=${this.step}
281
+ aria-label=${this.label}
282
+ .value=${String(this.value)}
283
+ aria-valuetext=${`${new Intl.NumberFormat(
284
+ this.languageResolver.language,
285
+ {
286
+ maximumFractionDigits: 0,
287
+ minimumIntegerDigits: 1,
288
+ style: "unit",
289
+ unit: "degree",
290
+ unitDisplay: "narrow"
291
+ }
292
+ ).format(this.value)}`}
293
+ @input=${this.handleInput}
294
+ @change=${this.handleChange}
295
+ @keydown=${this.handleKeydown}
296
+ />
297
+ `;
298
+ }
299
+ firstUpdated(changed) {
300
+ super.firstUpdated(changed);
301
+ this.boundingClientRect = this.getBoundingClientRect();
302
+ this.addEventListener("focus", this.handleFocus);
303
+ this.addEventListener("blur", this.handleBlur);
304
+ }
305
+ }
306
+ __decorateClass([
307
+ property({ type: String, reflect: true })
308
+ ], ColorSlider.prototype, "dir", 2);
309
+ __decorateClass([
310
+ property({ type: Boolean, reflect: true })
311
+ ], ColorSlider.prototype, "disabled", 2);
312
+ __decorateClass([
313
+ property({ type: Boolean, reflect: true })
314
+ ], ColorSlider.prototype, "focused", 2);
315
+ __decorateClass([
316
+ query(".handle")
317
+ ], ColorSlider.prototype, "handle", 2);
318
+ __decorateClass([
319
+ property({ type: String })
320
+ ], ColorSlider.prototype, "label", 2);
321
+ __decorateClass([
322
+ property({ type: Boolean, reflect: true })
323
+ ], ColorSlider.prototype, "vertical", 2);
324
+ __decorateClass([
325
+ property({ type: Number })
326
+ ], ColorSlider.prototype, "value", 1);
327
+ __decorateClass([
328
+ property({ type: Number, reflect: true })
329
+ ], ColorSlider.prototype, "sliderHandlePosition", 2);
330
+ __decorateClass([
331
+ property({ type: String })
332
+ ], ColorSlider.prototype, "color", 1);
333
+ __decorateClass([
334
+ property({ type: Number })
335
+ ], ColorSlider.prototype, "step", 2);
336
+ __decorateClass([
337
+ query("input")
338
+ ], ColorSlider.prototype, "input", 2);
339
+ //# sourceMappingURL=ColorSlider.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ColorSlider.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n ifDefined,\n StyleInfo,\n styleMap,\n} from '@spectrum-web-components/base/src/directives.js';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { streamingListener } from '@spectrum-web-components/base/src/streaming-listener.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport type { ColorHandle } from '@spectrum-web-components/color-handle';\nimport '@spectrum-web-components/color-handle/sp-color-handle.js';\nimport {\n ColorController,\n ColorValue,\n HSL,\n} from '@spectrum-web-components/reactive-controllers/src/Color.js';\nimport { LanguageResolutionController } from '@spectrum-web-components/reactive-controllers/src/LanguageResolution.js';\n\nimport opacityCheckerBoardStyles from '@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js';\nimport styles from './color-slider.css.js';\n\n/**\n * @element sp-color-slider\n * @slot gradient - a custom gradient visually outlining the available color values\n * @fires input - The value of the Color Slider has changed.\n * @fires change - An alteration to the value of the Color Slider has been committed by the user.\n */\nexport class ColorSlider extends Focusable {\n public static override get styles(): CSSResultArray {\n return [opacityCheckerBoardStyles, styles];\n }\n\n @property({ type: String, reflect: true })\n public override dir!: 'ltr' | 'rtl';\n\n @property({ type: Boolean, reflect: true })\n public override disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public focused = false;\n\n @query('.handle')\n private handle!: ColorHandle;\n\n @property({ type: String })\n public label = 'hue';\n\n @property({ type: Boolean, reflect: true })\n public vertical = false;\n\n private languageResolver = new LanguageResolutionController(this);\n\n private colorController = new ColorController(this, {\n /* c8 ignore next 3 */\n applyColorToState: () => {\n this.sliderHandlePosition = 100 * (this.colorController.hue / 360);\n },\n extractColorFromState: (controller) => ({\n ...(controller.getColor('hsl') as HSL),\n h: this.value,\n }),\n maintains: 'saturation',\n });\n\n @property({ type: Number })\n public get value(): number {\n return this.colorController.hue;\n }\n\n public set value(hue: number) {\n this.colorController.hue = hue;\n }\n\n @property({ type: Number, reflect: true })\n public sliderHandlePosition = 0;\n\n @property({ type: String })\n public get color(): ColorValue {\n return this.colorController.color;\n }\n\n public set color(color: ColorValue) {\n this.colorController.color = color;\n }\n\n @property({ type: Number })\n public step = 1;\n\n private get altered(): number {\n return this._altered;\n }\n\n private set altered(altered: number) {\n this._altered = altered;\n this.step = Math.max(1, this.altered * 10);\n }\n\n private _altered = 0;\n\n @query('input')\n public input!: HTMLInputElement;\n\n public override get focusElement(): HTMLInputElement {\n return this.input;\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n const { key } = event;\n this.focused = true;\n this.altered = [event.shiftKey, event.ctrlKey, event.altKey].filter(\n (key) => !!key\n ).length;\n let delta = 0;\n switch (key) {\n case 'ArrowUp':\n delta = this.step;\n break;\n case 'ArrowDown':\n delta = -this.step;\n break;\n case 'ArrowLeft':\n delta = this.step * (this.isLTR ? -1 : 1);\n break;\n case 'ArrowRight':\n delta = this.step * (this.isLTR ? 1 : -1);\n break;\n default:\n return;\n }\n event.preventDefault();\n\n const range = 360;\n const mult = 100 / range;\n this.sliderHandlePosition = Math.min(\n 100,\n Math.max(0, this.sliderHandlePosition + delta * mult)\n );\n this.value = Math.min(100, Math.max(0, this.value + delta));\n this.colorController.applyColorFromState();\n\n if (delta != 0) {\n this.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n })\n );\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n private handleInput(event: Event & { target: HTMLInputElement }): void {\n const { valueAsNumber } = event.target;\n\n this.value = valueAsNumber;\n this.sliderHandlePosition = 100 * (this.value / 360);\n this.colorController.applyColorFromState();\n }\n\n private handleChange(event: Event & { target: HTMLInputElement }): void {\n this.handleInput(event);\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n public override focus(focusOptions: FocusOptions = {}): void {\n super.focus(focusOptions);\n this.forwardFocus();\n }\n\n private forwardFocus(): void {\n this.focused = this.hasVisibleFocusInTree();\n this.input.focus();\n }\n\n private handleFocus(): void {\n this.focused = true;\n }\n\n private handleBlur(): void {\n if (this._pointerDown) {\n return;\n }\n this.altered = 0;\n this.focused = false;\n }\n\n private boundingClientRect!: DOMRect;\n private _pointerDown = false;\n\n private handlePointerdown(event: PointerEvent): void {\n if (event.button !== 0) {\n event.preventDefault();\n return;\n }\n this._pointerDown = true;\n this.colorController.savePreviousColor();\n this.boundingClientRect = this.getBoundingClientRect();\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n if (event.pointerType === 'mouse') {\n this.focused = true;\n }\n }\n\n private handlePointermove(event: PointerEvent): void {\n this.sliderHandlePosition = this.calculateHandlePosition(event);\n this.value = 360 * (this.sliderHandlePosition / 100);\n\n this.colorController.applyColorFromState();\n\n this.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n }\n\n private handlePointerup(event: PointerEvent): void {\n this._pointerDown = false;\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\n\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n if (!applyDefault) {\n this.colorController.restorePreviousColor();\n }\n // Retain focus on input element after mouse up to enable keyboard interactions\n this.focus();\n if (event.pointerType === 'mouse') {\n this.focused = false;\n }\n }\n\n /**\n * Returns the value under the cursor\n * @param: PointerEvent on slider\n * @return: Slider value that correlates to the position under the pointer\n */\n private calculateHandlePosition(event: PointerEvent): number {\n /* c8 ignore next 3 */\n if (!this.boundingClientRect) {\n return this.sliderHandlePosition;\n }\n const rect = this.boundingClientRect;\n const minOffset = this.vertical ? rect.top : rect.left;\n const offset = this.vertical ? event.clientY : event.clientX;\n const size = this.vertical ? rect.height : rect.width;\n\n const percent = Math.max(0, Math.min(1, (offset - minOffset) / size));\n const sliderHandlePosition =\n this.vertical || !this.isLTR ? 100 - 100 * percent : 100 * percent;\n\n return sliderHandlePosition;\n }\n\n private handleGradientPointerdown(event: PointerEvent): void {\n if (event.button !== 0) {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n this.handle.dispatchEvent(new PointerEvent('pointerdown', event));\n this.handlePointermove(event);\n }\n\n private get handlePositionStyles(): string {\n return `${this.vertical ? 'inset-block-end' : 'inset-inline-start'}: ${\n this.sliderHandlePosition\n }%`;\n }\n\n private get getColorSliderStyle(): StyleInfo {\n const orientation = this.vertical ? 'top' : 'right';\n return {\n background: `linear-gradient(to ${orientation}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)))`,\n };\n }\n\n protected override render(): TemplateResult {\n return html`\n <div\n class=\"opacity-checkerboard checkerboard\"\n role=\"presentation\"\n @pointerdown=${this.handleGradientPointerdown}\n >\n <div\n class=\"gradient\"\n role=\"presentation\"\n style=${styleMap(this.getColorSliderStyle)}\n >\n <slot name=\"gradient\"></slot>\n </div>\n </div>\n <sp-color-handle\n tabindex=${ifDefined(this.focused ? undefined : '0')}\n @focus=${this.forwardFocus}\n ?focused=${this.focused}\n class=\"handle\"\n color=\"hsl(${this.value}, 100%, 50%)\"\n ?disabled=${this.disabled}\n style=${this.handlePositionStyles}\n ${streamingListener({\n start: ['pointerdown', this.handlePointerdown],\n streamInside: ['pointermove', this.handlePointermove],\n end: [\n ['pointerup', 'pointercancel', 'pointerleave'],\n this.handlePointerup,\n ],\n })}\n ></sp-color-handle>\n <input\n type=\"range\"\n class=\"slider\"\n min=\"0\"\n max=\"360\"\n aria-orientation=${ifDefined(\n this.vertical ? 'vertical' : undefined\n )}\n orient=${ifDefined(this.vertical ? 'vertical' : undefined)}\n step=${this.step}\n aria-label=${this.label}\n .value=${String(this.value)}\n aria-valuetext=${`${new Intl.NumberFormat(\n this.languageResolver.language,\n {\n maximumFractionDigits: 0,\n minimumIntegerDigits: 1,\n style: 'unit',\n unit: 'degree',\n unitDisplay: 'narrow',\n }\n ).format(this.value)}`}\n @input=${this.handleInput}\n @change=${this.handleChange}\n @keydown=${this.handleKeydown}\n />\n `;\n }\n\n protected override firstUpdated(changed: PropertyValues): void {\n super.firstUpdated(changed);\n this.boundingClientRect = this.getBoundingClientRect();\n this.addEventListener('focus', this.handleFocus);\n this.addEventListener('blur', this.handleBlur);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["key"]
7
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";var p=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var r=(u,l,e,i)=>{for(var t=i>1?void 0:i?c(l,e):l,s=u.length-1,n;s>=0;s--)(n=u[s])&&(t=(i?n(l,e,t):n(t))||t);return i&&t&&p(l,e,t),t};import{html as v}from"@spectrum-web-components/base";import{ifDefined as d,styleMap as m}from"@spectrum-web-components/base/src/directives.js";import{property as o,query as h}from"@spectrum-web-components/base/src/decorators.js";import{streamingListener as f}from"@spectrum-web-components/base/src/streaming-listener.js";import{Focusable as b}from"@spectrum-web-components/shared/src/focusable.js";import"@spectrum-web-components/color-handle/sp-color-handle.js";import{ColorController as g}from"@spectrum-web-components/reactive-controllers/src/Color.js";import{LanguageResolutionController as y}from"@spectrum-web-components/reactive-controllers/src/LanguageResolution.js";import P from"@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js";import w from"./color-slider.css.js";export class ColorSlider extends b{constructor(){super(...arguments);this.disabled=!1;this.focused=!1;this.label="hue";this.vertical=!1;this.languageResolver=new y(this);this.colorController=new g(this,{applyColorToState:()=>{this.sliderHandlePosition=100*(this.colorController.hue/360)},extractColorFromState:e=>({...e.getColor("hsl"),h:this.value}),maintains:"saturation"});this.sliderHandlePosition=0;this.step=1;this._altered=0;this._pointerDown=!1}static get styles(){return[P,w]}get value(){return this.colorController.hue}set value(e){this.colorController.hue=e}get color(){return this.colorController.color}set color(e){this.colorController.color=e}get altered(){return this._altered}set altered(e){this._altered=e,this.step=Math.max(1,this.altered*10)}get focusElement(){return this.input}handleKeydown(e){const{key:i}=e;this.focused=!0,this.altered=[e.shiftKey,e.ctrlKey,e.altKey].filter(a=>!!a).length;let t=0;switch(i){case"ArrowUp":t=this.step;break;case"ArrowDown":t=-this.step;break;case"ArrowLeft":t=this.step*(this.isLTR?-1:1);break;case"ArrowRight":t=this.step*(this.isLTR?1:-1);break;default:return}e.preventDefault();const n=100/360;this.sliderHandlePosition=Math.min(100,Math.max(0,this.sliderHandlePosition+t*n)),this.value=Math.min(100,Math.max(0,this.value+t)),this.colorController.applyColorFromState(),t!=0&&(this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0})),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})))}handleInput(e){const{valueAsNumber:i}=e.target;this.value=i,this.sliderHandlePosition=100*(this.value/360),this.colorController.applyColorFromState()}handleChange(e){this.handleInput(e),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}focus(e={}){super.focus(e),this.forwardFocus()}forwardFocus(){this.focused=this.hasVisibleFocusInTree(),this.input.focus()}handleFocus(){this.focused=!0}handleBlur(){this._pointerDown||(this.altered=0,this.focused=!1)}handlePointerdown(e){if(e.button!==0){e.preventDefault();return}this._pointerDown=!0,this.colorController.savePreviousColor(),this.boundingClientRect=this.getBoundingClientRect(),e.target.setPointerCapture(e.pointerId),e.pointerType==="mouse"&&(this.focused=!0)}handlePointermove(e){this.sliderHandlePosition=this.calculateHandlePosition(e),this.value=360*(this.sliderHandlePosition/100),this.colorController.applyColorFromState(),this.dispatchEvent(new Event("input",{bubbles:!0,composed:!0,cancelable:!0}))}handlePointerup(e){this._pointerDown=!1,e.target.releasePointerCapture(e.pointerId),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0,cancelable:!0}))||this.colorController.restorePreviousColor(),this.focus(),e.pointerType==="mouse"&&(this.focused=!1)}calculateHandlePosition(e){if(!this.boundingClientRect)return this.sliderHandlePosition;const i=this.boundingClientRect,t=this.vertical?i.top:i.left,s=this.vertical?e.clientY:e.clientX,n=this.vertical?i.height:i.width,a=Math.max(0,Math.min(1,(s-t)/n));return this.vertical||!this.isLTR?100-100*a:100*a}handleGradientPointerdown(e){e.button===0&&(e.stopPropagation(),e.preventDefault(),this.handle.dispatchEvent(new PointerEvent("pointerdown",e)),this.handlePointermove(e))}get handlePositionStyles(){return`${this.vertical?"inset-block-end":"inset-inline-start"}: ${this.sliderHandlePosition}%`}get getColorSliderStyle(){return{background:`linear-gradient(to ${this.vertical?"top":"right"}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)))`}}render(){return v`
2
+ <div
3
+ class="opacity-checkerboard checkerboard"
4
+ role="presentation"
5
+ @pointerdown=${this.handleGradientPointerdown}
6
+ >
7
+ <div
8
+ class="gradient"
9
+ role="presentation"
10
+ style=${m(this.getColorSliderStyle)}
11
+ >
12
+ <slot name="gradient"></slot>
13
+ </div>
14
+ </div>
15
+ <sp-color-handle
16
+ tabindex=${d(this.focused?void 0:"0")}
17
+ @focus=${this.forwardFocus}
18
+ ?focused=${this.focused}
19
+ class="handle"
20
+ color="hsl(${this.value}, 100%, 50%)"
21
+ ?disabled=${this.disabled}
22
+ style=${this.handlePositionStyles}
23
+ ${f({start:["pointerdown",this.handlePointerdown],streamInside:["pointermove",this.handlePointermove],end:[["pointerup","pointercancel","pointerleave"],this.handlePointerup]})}
24
+ ></sp-color-handle>
25
+ <input
26
+ type="range"
27
+ class="slider"
28
+ min="0"
29
+ max="360"
30
+ aria-orientation=${d(this.vertical?"vertical":void 0)}
31
+ orient=${d(this.vertical?"vertical":void 0)}
32
+ step=${this.step}
33
+ aria-label=${this.label}
34
+ .value=${String(this.value)}
35
+ aria-valuetext=${`${new Intl.NumberFormat(this.languageResolver.language,{maximumFractionDigits:0,minimumIntegerDigits:1,style:"unit",unit:"degree",unitDisplay:"narrow"}).format(this.value)}`}
36
+ @input=${this.handleInput}
37
+ @change=${this.handleChange}
38
+ @keydown=${this.handleKeydown}
39
+ />
40
+ `}firstUpdated(e){super.firstUpdated(e),this.boundingClientRect=this.getBoundingClientRect(),this.addEventListener("focus",this.handleFocus),this.addEventListener("blur",this.handleBlur)}}r([o({type:String,reflect:!0})],ColorSlider.prototype,"dir",2),r([o({type:Boolean,reflect:!0})],ColorSlider.prototype,"disabled",2),r([o({type:Boolean,reflect:!0})],ColorSlider.prototype,"focused",2),r([h(".handle")],ColorSlider.prototype,"handle",2),r([o({type:String})],ColorSlider.prototype,"label",2),r([o({type:Boolean,reflect:!0})],ColorSlider.prototype,"vertical",2),r([o({type:Number})],ColorSlider.prototype,"value",1),r([o({type:Number,reflect:!0})],ColorSlider.prototype,"sliderHandlePosition",2),r([o({type:String})],ColorSlider.prototype,"color",1),r([o({type:Number})],ColorSlider.prototype,"step",2),r([h("input")],ColorSlider.prototype,"input",2);
41
+ //# sourceMappingURL=ColorSlider.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["ColorSlider.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResultArray,\n html,\n PropertyValues,\n TemplateResult,\n} from '@spectrum-web-components/base';\nimport {\n ifDefined,\n StyleInfo,\n styleMap,\n} from '@spectrum-web-components/base/src/directives.js';\nimport {\n property,\n query,\n} from '@spectrum-web-components/base/src/decorators.js';\nimport { streamingListener } from '@spectrum-web-components/base/src/streaming-listener.js';\nimport { Focusable } from '@spectrum-web-components/shared/src/focusable.js';\nimport type { ColorHandle } from '@spectrum-web-components/color-handle';\nimport '@spectrum-web-components/color-handle/sp-color-handle.js';\nimport {\n ColorController,\n ColorValue,\n HSL,\n} from '@spectrum-web-components/reactive-controllers/src/Color.js';\nimport { LanguageResolutionController } from '@spectrum-web-components/reactive-controllers/src/LanguageResolution.js';\n\nimport opacityCheckerBoardStyles from '@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js';\nimport styles from './color-slider.css.js';\n\n/**\n * @element sp-color-slider\n * @slot gradient - a custom gradient visually outlining the available color values\n * @fires input - The value of the Color Slider has changed.\n * @fires change - An alteration to the value of the Color Slider has been committed by the user.\n */\nexport class ColorSlider extends Focusable {\n public static override get styles(): CSSResultArray {\n return [opacityCheckerBoardStyles, styles];\n }\n\n @property({ type: String, reflect: true })\n public override dir!: 'ltr' | 'rtl';\n\n @property({ type: Boolean, reflect: true })\n public override disabled = false;\n\n @property({ type: Boolean, reflect: true })\n public focused = false;\n\n @query('.handle')\n private handle!: ColorHandle;\n\n @property({ type: String })\n public label = 'hue';\n\n @property({ type: Boolean, reflect: true })\n public vertical = false;\n\n private languageResolver = new LanguageResolutionController(this);\n\n private colorController = new ColorController(this, {\n /* c8 ignore next 3 */\n applyColorToState: () => {\n this.sliderHandlePosition = 100 * (this.colorController.hue / 360);\n },\n extractColorFromState: (controller) => ({\n ...(controller.getColor('hsl') as HSL),\n h: this.value,\n }),\n maintains: 'saturation',\n });\n\n @property({ type: Number })\n public get value(): number {\n return this.colorController.hue;\n }\n\n public set value(hue: number) {\n this.colorController.hue = hue;\n }\n\n @property({ type: Number, reflect: true })\n public sliderHandlePosition = 0;\n\n @property({ type: String })\n public get color(): ColorValue {\n return this.colorController.color;\n }\n\n public set color(color: ColorValue) {\n this.colorController.color = color;\n }\n\n @property({ type: Number })\n public step = 1;\n\n private get altered(): number {\n return this._altered;\n }\n\n private set altered(altered: number) {\n this._altered = altered;\n this.step = Math.max(1, this.altered * 10);\n }\n\n private _altered = 0;\n\n @query('input')\n public input!: HTMLInputElement;\n\n public override get focusElement(): HTMLInputElement {\n return this.input;\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n const { key } = event;\n this.focused = true;\n this.altered = [event.shiftKey, event.ctrlKey, event.altKey].filter(\n (key) => !!key\n ).length;\n let delta = 0;\n switch (key) {\n case 'ArrowUp':\n delta = this.step;\n break;\n case 'ArrowDown':\n delta = -this.step;\n break;\n case 'ArrowLeft':\n delta = this.step * (this.isLTR ? -1 : 1);\n break;\n case 'ArrowRight':\n delta = this.step * (this.isLTR ? 1 : -1);\n break;\n default:\n return;\n }\n event.preventDefault();\n\n const range = 360;\n const mult = 100 / range;\n this.sliderHandlePosition = Math.min(\n 100,\n Math.max(0, this.sliderHandlePosition + delta * mult)\n );\n this.value = Math.min(100, Math.max(0, this.value + delta));\n this.colorController.applyColorFromState();\n\n if (delta != 0) {\n this.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n })\n );\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n private handleInput(event: Event & { target: HTMLInputElement }): void {\n const { valueAsNumber } = event.target;\n\n this.value = valueAsNumber;\n this.sliderHandlePosition = 100 * (this.value / 360);\n this.colorController.applyColorFromState();\n }\n\n private handleChange(event: Event & { target: HTMLInputElement }): void {\n this.handleInput(event);\n this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n })\n );\n }\n\n public override focus(focusOptions: FocusOptions = {}): void {\n super.focus(focusOptions);\n this.forwardFocus();\n }\n\n private forwardFocus(): void {\n this.focused = this.hasVisibleFocusInTree();\n this.input.focus();\n }\n\n private handleFocus(): void {\n this.focused = true;\n }\n\n private handleBlur(): void {\n if (this._pointerDown) {\n return;\n }\n this.altered = 0;\n this.focused = false;\n }\n\n private boundingClientRect!: DOMRect;\n private _pointerDown = false;\n\n private handlePointerdown(event: PointerEvent): void {\n if (event.button !== 0) {\n event.preventDefault();\n return;\n }\n this._pointerDown = true;\n this.colorController.savePreviousColor();\n this.boundingClientRect = this.getBoundingClientRect();\n (event.target as HTMLElement).setPointerCapture(event.pointerId);\n if (event.pointerType === 'mouse') {\n this.focused = true;\n }\n }\n\n private handlePointermove(event: PointerEvent): void {\n this.sliderHandlePosition = this.calculateHandlePosition(event);\n this.value = 360 * (this.sliderHandlePosition / 100);\n\n this.colorController.applyColorFromState();\n\n this.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n }\n\n private handlePointerup(event: PointerEvent): void {\n this._pointerDown = false;\n (event.target as HTMLElement).releasePointerCapture(event.pointerId);\n\n const applyDefault = this.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n if (!applyDefault) {\n this.colorController.restorePreviousColor();\n }\n // Retain focus on input element after mouse up to enable keyboard interactions\n this.focus();\n if (event.pointerType === 'mouse') {\n this.focused = false;\n }\n }\n\n /**\n * Returns the value under the cursor\n * @param: PointerEvent on slider\n * @return: Slider value that correlates to the position under the pointer\n */\n private calculateHandlePosition(event: PointerEvent): number {\n /* c8 ignore next 3 */\n if (!this.boundingClientRect) {\n return this.sliderHandlePosition;\n }\n const rect = this.boundingClientRect;\n const minOffset = this.vertical ? rect.top : rect.left;\n const offset = this.vertical ? event.clientY : event.clientX;\n const size = this.vertical ? rect.height : rect.width;\n\n const percent = Math.max(0, Math.min(1, (offset - minOffset) / size));\n const sliderHandlePosition =\n this.vertical || !this.isLTR ? 100 - 100 * percent : 100 * percent;\n\n return sliderHandlePosition;\n }\n\n private handleGradientPointerdown(event: PointerEvent): void {\n if (event.button !== 0) {\n return;\n }\n event.stopPropagation();\n event.preventDefault();\n this.handle.dispatchEvent(new PointerEvent('pointerdown', event));\n this.handlePointermove(event);\n }\n\n private get handlePositionStyles(): string {\n return `${this.vertical ? 'inset-block-end' : 'inset-inline-start'}: ${\n this.sliderHandlePosition\n }%`;\n }\n\n private get getColorSliderStyle(): StyleInfo {\n const orientation = this.vertical ? 'top' : 'right';\n return {\n background: `linear-gradient(to ${orientation}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)))`,\n };\n }\n\n protected override render(): TemplateResult {\n return html`\n <div\n class=\"opacity-checkerboard checkerboard\"\n role=\"presentation\"\n @pointerdown=${this.handleGradientPointerdown}\n >\n <div\n class=\"gradient\"\n role=\"presentation\"\n style=${styleMap(this.getColorSliderStyle)}\n >\n <slot name=\"gradient\"></slot>\n </div>\n </div>\n <sp-color-handle\n tabindex=${ifDefined(this.focused ? undefined : '0')}\n @focus=${this.forwardFocus}\n ?focused=${this.focused}\n class=\"handle\"\n color=\"hsl(${this.value}, 100%, 50%)\"\n ?disabled=${this.disabled}\n style=${this.handlePositionStyles}\n ${streamingListener({\n start: ['pointerdown', this.handlePointerdown],\n streamInside: ['pointermove', this.handlePointermove],\n end: [\n ['pointerup', 'pointercancel', 'pointerleave'],\n this.handlePointerup,\n ],\n })}\n ></sp-color-handle>\n <input\n type=\"range\"\n class=\"slider\"\n min=\"0\"\n max=\"360\"\n aria-orientation=${ifDefined(\n this.vertical ? 'vertical' : undefined\n )}\n orient=${ifDefined(this.vertical ? 'vertical' : undefined)}\n step=${this.step}\n aria-label=${this.label}\n .value=${String(this.value)}\n aria-valuetext=${`${new Intl.NumberFormat(\n this.languageResolver.language,\n {\n maximumFractionDigits: 0,\n minimumIntegerDigits: 1,\n style: 'unit',\n unit: 'degree',\n unitDisplay: 'narrow',\n }\n ).format(this.value)}`}\n @input=${this.handleInput}\n @change=${this.handleChange}\n @keydown=${this.handleKeydown}\n />\n `;\n }\n\n protected override firstUpdated(changed: PropertyValues): void {\n super.firstUpdated(changed);\n this.boundingClientRect = this.getBoundingClientRect();\n this.addEventListener('focus', this.handleFocus);\n this.addEventListener('blur', this.handleBlur);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["html", "ifDefined", "styleMap", "property", "query", "streamingListener", "Focusable", "ColorController", "LanguageResolutionController", "opacityCheckerBoardStyles", "styles", "controller", "hue", "color", "altered", "event", "key", "delta", "mult", "valueAsNumber", "focusOptions", "rect", "minOffset", "offset", "size", "percent", "changed", "__decorateClass"]
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const styles: import("@spectrum-web-components/base").CSSResult;
2
+ export default styles;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ import { css } from "@spectrum-web-components/base";
3
+ const styles = css`
4
+ :host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}
5
+ `;
6
+ export default styles;
7
+ //# sourceMappingURL=color-slider-overrides.css.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["color-slider-overrides.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n :host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAGf,eAAe;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";import{css as r}from"@spectrum-web-components/base";const o=r`
2
+ :host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}
3
+ `;export default o;
4
+ //# sourceMappingURL=color-slider-overrides.css.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["color-slider-overrides.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n :host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA,EAGf,eAAeC",
6
+ "names": ["css", "styles"]
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const styles: import("@spectrum-web-components/base").CSSResult;
2
+ export default styles;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ import { css } from "@spectrum-web-components/base";
3
+ const styles = css`
4
+ @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}:host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}:host{--sp-color-slider-gradient-fallback:red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}
5
+ `;
6
+ export default styles;
7
+ //# sourceMappingURL=color-slider.css.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["color-slider.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:\"\";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}:host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}:host{--sp-color-slider-gradient-fallback:red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAGf,eAAe;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";import{css as r}from"@spectrum-web-components/base";const o=r`
2
+ @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}:host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}:host{--sp-color-slider-gradient-fallback:red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}
3
+ `;export default o;
4
+ //# sourceMappingURL=color-slider.css.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["color-slider.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:\"\";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}:host{--spectrum-color-slider-handle-margin-block:var(--system-color-slider-handle-margin-block);--spectrum-color-slider-border-color-rgba:var(--system-color-slider-border-color-rgba);--spectrum-color-slider-checkerboard-size:var(--system-color-slider-checkerboard-size);--spectrum-color-slider-checkerboard-dark-color:var(--system-color-slider-checkerboard-dark-color);--spectrum-color-slider-checkerboard-light-color:var(--system-color-slider-checkerboard-light-color)}:host{--sp-color-slider-gradient-fallback:red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%;touch-action:none}:host([vertical]) .handle{inset-block-start:unset;inset-block-end:0}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){width:100%;height:100%}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA,EAGf,eAAeC",
6
+ "names": ["css", "styles"]
7
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './ColorSlider.js';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ export * from "./ColorSlider.dev.js";
3
+ //# sourceMappingURL=index.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["index.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nexport * from './ColorSlider.dev.js'\n"],
5
+ "mappings": ";AAYA,cAAc;",
6
+ "names": []
7
+ }
package/src/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";export*from"./ColorSlider.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["index.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nexport * from './ColorSlider.js';\n"],
5
+ "mappings": "aAYA,WAAc",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ declare const styles: import("@spectrum-web-components/base").CSSResult;
2
+ export default styles;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ import { css } from "@spectrum-web-components/base";
3
+ const styles = css`
4
+ @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}
5
+ `;
6
+ export default styles;
7
+ //# sourceMappingURL=spectrum-color-slider.css.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["spectrum-color-slider.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:\"\";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAGf,eAAe;",
6
+ "names": []
7
+ }
@@ -0,0 +1,4 @@
1
+ "use strict";import{css as r}from"@spectrum-web-components/base";const o=r`
2
+ @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:"";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}
3
+ `;export default o;
4
+ //# sourceMappingURL=spectrum-color-slider.css.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["spectrum-color-slider.css.ts"],
4
+ "sourcesContent": ["/*\nCopyright 2024 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\nimport { css } from '@spectrum-web-components/base';\nconst styles = css`\n @media (forced-colors:active){:host{--highcontrast-color-slider-border-color:CanvasText;--highcontrast-color-slider-border-color-disabled:GrayText;--highcontrast-color-slider-background-color-disabled:Canvas;forced-color-adjust:none}}:host{--mod-colorhandle-hitarea-border-radius:var(--mod-color-slider-handle-hitarea-border-radius,0px);min-inline-size:var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length));inline-size:var(--mod-color-slider-length,var(--spectrum-color-slider-length));block-size:var(--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width));-webkit-user-select:none;user-select:none;cursor:default;display:block;position:relative}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){min-block-size:var(--mod-color-slider-vertical-minimum-height,var(--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)));block-size:var(--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length)));min-inline-size:0;inline-size:var(--mod-color-slider-vertical-control-track-width,var(--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)));display:inline-block}:host([vertical]) .handle{inset-block-start:0;inset-inline-start:50%}.handle{inset-block-start:50%;inset-inline-start:0}.checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color,var(--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)))}.checkerboard:before{content:\"\";z-index:1;box-shadow:inset 0 0 0 var(--mod-color-slider-border-width,var(--spectrum-color-slider-border-width))var(--spectrum-color-slider-border-color-local);border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding));position:absolute;inset:0}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(--highcontrast-color-slider-border-color-disabled,var(--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)));background:var(--highcontrast-color-slider-background-color-disabled,var(--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)))}.checkerboard,.gradient{inline-size:100%;block-size:100%;border-radius:var(--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding))}.gradient:dir(rtl),:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{opacity:0;inline-size:100%;block-size:100%;z-index:0;pointer-events:none;margin:0;position:absolute;inset-block-start:0;inset-inline-start:0}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA,EAGf,eAAeC",
6
+ "names": ["css", "styles"]
7
+ }
@@ -0,0 +1,41 @@
1
+ // @ts-check
2
+ /*
3
+ Copyright 2023 Adobe. All rights reserved.
4
+ This file is licensed to you under the Apache License, Version 2.0 (the 'License');
5
+ you may not use this file except in compliance with the License. You may obtain a copy
6
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
7
+
8
+ Unless required by applicable law or agreed to in writing, software distributed under
9
+ the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
10
+ OF ANY KIND, either express or implied. See the License for the specific language
11
+ governing permissions and limitations under the License.
12
+ */
13
+
14
+ import { converterFor } from '../../../tasks/process-spectrum-utils.js';
15
+
16
+ const converter = converterFor('spectrum-ColorSlider');
17
+
18
+ /**
19
+ * @type { import('../../../tasks/spectrum-css-converter').SpectrumCSSConverter }
20
+ */
21
+ const config = {
22
+ conversions: [
23
+ {
24
+ inPackage: '@spectrum-css/colorslider',
25
+ outPackage: 'color-slider',
26
+ fileName: 'color-slider',
27
+ components: [
28
+ converter.classToHost(),
29
+ converter.classToAttribute('is-focused', 'focused'),
30
+ converter.classToAttribute('is-disabled', 'disabled'),
31
+ converter.classToAttribute('spectrum-ColorSlider--vertical'),
32
+ converter.classToClass('spectrum-ColorSlider-checkerboard'),
33
+ converter.classToClass('spectrum-ColorSlider-gradient'),
34
+ converter.classToClass('spectrum-ColorSlider-slider'),
35
+ converter.classToClass('spectrum-ColorSlider-handle'),
36
+ ],
37
+ },
38
+ ],
39
+ };
40
+
41
+ export default config;
package/src/types.d.ts ADDED
@@ -0,0 +1,13 @@
1
+ export interface SWCResizeObserverEntry {
2
+ contentRect: DOMRectReadOnly;
3
+ }
4
+ export interface SWCResizeObserver {
5
+ new (callback: SWCResizeObserverCallback): SWCResizeObserver;
6
+ disconnect(): void;
7
+ observe(target: Element): void;
8
+ unobserve(target: Element): void;
9
+ }
10
+ export interface WithSWCResizeObserver {
11
+ ResizeObserver: SWCResizeObserver;
12
+ }
13
+ export type SWCResizeObserverCallback = (entries: SWCResizeObserverEntry[], observer: SWCResizeObserver) => void;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.dev.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }
package/src/types.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": [],
4
+ "sourcesContent": [],
5
+ "mappings": "",
6
+ "names": []
7
+ }