@spectrum-web-components/color-slider 0.37.0 → 0.39.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/color-slider",
3
- "version": "0.37.0",
3
+ "version": "0.39.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -62,13 +62,13 @@
62
62
  ],
63
63
  "dependencies": {
64
64
  "@ctrl/tinycolor": "^3.3.3",
65
- "@spectrum-web-components/base": "^0.37.0",
66
- "@spectrum-web-components/color-handle": "^0.37.0",
67
- "@spectrum-web-components/reactive-controllers": "^0.37.0",
68
- "@spectrum-web-components/shared": "^0.37.0"
65
+ "@spectrum-web-components/base": "^0.39.0",
66
+ "@spectrum-web-components/color-handle": "^0.39.0",
67
+ "@spectrum-web-components/reactive-controllers": "^0.39.0",
68
+ "@spectrum-web-components/shared": "^0.39.0"
69
69
  },
70
70
  "devDependencies": {
71
- "@spectrum-css/colorslider": "^3.0.23"
71
+ "@spectrum-css/colorslider": "^5.0.4"
72
72
  },
73
73
  "types": "./src/index.d.ts",
74
74
  "customElements": "custom-elements.json",
@@ -76,5 +76,5 @@
76
76
  "./sp-*.js",
77
77
  "./**/*.dev.js"
78
78
  ],
79
- "gitHead": "d771f62f0d8063070af43283bb0fd5e3400bad06"
79
+ "gitHead": "2acc8390ef0ac6cc940958d4da705c9859155c0d"
80
80
  }
@@ -25,6 +25,7 @@ import {
25
25
  ColorController
26
26
  } from "@spectrum-web-components/reactive-controllers/src/Color.js";
27
27
  import { LanguageResolutionController } from "@spectrum-web-components/reactive-controllers/src/LanguageResolution.js";
28
+ import opacityCheckerBoardStyles from "@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js";
28
29
  import styles from "./color-slider.css.js";
29
30
  export class ColorSlider extends Focusable {
30
31
  constructor() {
@@ -51,7 +52,7 @@ export class ColorSlider extends Focusable {
51
52
  this._pointerDown = false;
52
53
  }
53
54
  static get styles() {
54
- return [styles];
55
+ return [opacityCheckerBoardStyles, styles];
55
56
  }
56
57
  get value() {
57
58
  return this.colorController.hue;
@@ -230,7 +231,7 @@ export class ColorSlider extends Focusable {
230
231
  render() {
231
232
  return html`
232
233
  <div
233
- class="checkerboard"
234
+ class="opacity-checkerboard checkerboard"
234
235
  role="presentation"
235
236
  @pointerdown=${this.handleGradientPointerdown}
236
237
  >
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 { ifDefined } 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 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 [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 protected override render(): TemplateResult {\n return html`\n <div\n class=\"checkerboard\"\n role=\"presentation\"\n @pointerdown=${this.handleGradientPointerdown}\n >\n <div\n class=\"gradient\"\n role=\"presentation\"\n style=\"background: linear-gradient(to ${this.vertical\n ? 'top'\n : 'right'}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)));\"\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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",
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 { ifDefined } 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 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=\"background: linear-gradient(to ${this.vertical\n ? 'top'\n : 'right'}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)));\"\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
6
  "names": ["key"]
7
7
  }
@@ -1,6 +1,6 @@
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}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 m}from"@spectrum-web-components/base/src/streaming-listener.js";import{Focusable as f}from"@spectrum-web-components/shared/src/focusable.js";import"@spectrum-web-components/color-handle/sp-color-handle.js";import{ColorController as b}from"@spectrum-web-components/reactive-controllers/src/Color.js";import{LanguageResolutionController as g}from"@spectrum-web-components/reactive-controllers/src/LanguageResolution.js";import y from"./color-slider.css.js";export class ColorSlider extends f{constructor(){super(...arguments);this.disabled=!1;this.focused=!1;this.label="hue";this.vertical=!1;this.languageResolver=new g(this);this.colorController=new b(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[y]}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}%`}render(){return v`
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}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 m}from"@spectrum-web-components/base/src/streaming-listener.js";import{Focusable as f}from"@spectrum-web-components/shared/src/focusable.js";import"@spectrum-web-components/color-handle/sp-color-handle.js";import{ColorController as b}from"@spectrum-web-components/reactive-controllers/src/Color.js";import{LanguageResolutionController as g}from"@spectrum-web-components/reactive-controllers/src/LanguageResolution.js";import y from"@spectrum-web-components/opacity-checkerboard/src/opacity-checkerboard.css.js";import P from"./color-slider.css.js";export class ColorSlider extends f{constructor(){super(...arguments);this.disabled=!1;this.focused=!1;this.label="hue";this.vertical=!1;this.languageResolver=new g(this);this.colorController=new b(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[y,P]}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}%`}render(){return v`
2
2
  <div
3
- class="checkerboard"
3
+ class="opacity-checkerboard checkerboard"
4
4
  role="presentation"
5
5
  @pointerdown=${this.handleGradientPointerdown}
6
6
  >
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
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 { ifDefined } 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 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 [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 protected override render(): TemplateResult {\n return html`\n <div\n class=\"checkerboard\"\n role=\"presentation\"\n @pointerdown=${this.handleGradientPointerdown}\n >\n <div\n class=\"gradient\"\n role=\"presentation\"\n style=\"background: linear-gradient(to ${this.vertical\n ? 'top'\n : 'right'}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)));\"\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", "property", "query", "streamingListener", "Focusable", "ColorController", "LanguageResolutionController", "styles", "controller", "hue", "color", "altered", "event", "key", "delta", "mult", "valueAsNumber", "focusOptions", "rect", "minOffset", "offset", "size", "percent", "changed", "__decorateClass"]
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 { ifDefined } 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 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=\"background: linear-gradient(to ${this.vertical\n ? 'top'\n : 'right'}, var(--sp-color-slider-gradient, var(--sp-color-slider-gradient-fallback)));\"\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", "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
7
  }
@@ -1,41 +1,51 @@
1
1
  "use strict";
2
2
  import { css } from "@spectrum-web-components/base";
3
3
  const styles = css`
4
- :host{--spectrum-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(
5
- --spectrum-global-dimension-size-300
6
- );--spectrum-colorslider-handle-hitarea-height:var(
7
- --spectrum-global-dimension-size-300
8
- );--spectrum-colorslider-checkerboard-size:var(
4
+ :host{--spectrum-color-slider-handle-margin-block:var(
5
+ --spectrum-component-top-to-text-75
6
+ );--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(
9
7
  --spectrum-opacity-checkerboard-square-size
10
- );--spectrum-colorslider-checkerboard-dark-color:var(
8
+ );--spectrum-color-slider-checkerboard-dark-color:var(
11
9
  --spectrum-opacity-checkerboard-square-dark
12
- );--spectrum-colorslider-checkerboard-light-color:var(
10
+ );--spectrum-color-slider-checkerboard-light-color:var(
13
11
  --spectrum-opacity-checkerboard-square-light
14
- )}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(
15
- --spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)
16
- );position:relative;-webkit-user-select:none;user-select:none;width:var(
17
- --spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)
18
- )}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(
19
- --spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)
20
- );width:var(
21
- --spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)
22
- )}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(
23
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
24
- );content:"";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(
25
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
26
- );height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(
27
- --spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)
28
- )}.checkerboard:before{box-shadow:inset 0 0 0 var(
29
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
30
- ) var(
31
- --spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)
32
- )}:host([disabled]) .checkerboard{background:var(
33
- --spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)
34
- )}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(
35
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
36
- ) var(
37
- --spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)
38
- )}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}:host([dir=rtl]) .gradient{transform:scaleX(-1)}::slotted(*){height:100%;width:100%}
12
+ );--mod-colorhandle-hitarea-border-radius:var(
13
+ --mod-color-slider-handle-hitarea-border-radius,0px
14
+ )}@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{block-size:var(
15
+ --mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)
16
+ );cursor:default;display:block;inline-size:var(
17
+ --mod-color-slider-length,var(--spectrum-color-slider-length)
18
+ );min-inline-size:var(
19
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
20
+ );position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(
21
+ --mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))
22
+ );display:inline-block;inline-size:var(
23
+ --mod-color-slider-vertical-control-track-width,var(
24
+ --mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)
25
+ )
26
+ );min-block-size:var(
27
+ --mod-color-slider-vertical-minimum-height,var(
28
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
29
+ )
30
+ );min-inline-size:0}: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(
31
+ --highcontrast-color-slider-border-color,var(
32
+ --mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)
33
+ )
34
+ )}.checkerboard:before{border-radius:var(
35
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
36
+ );box-shadow:inset 0 0 0 var(
37
+ --mod-color-slider-border-width,var(--spectrum-color-slider-border-width)
38
+ ) var(--spectrum-color-slider-border-color-local);content:"";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(
39
+ --highcontrast-color-slider-border-color-disabled,var(
40
+ --mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)
41
+ )
42
+ );background:var(
43
+ --highcontrast-color-slider-background-color-disabled,var(
44
+ --mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)
45
+ )
46
+ )}.checkerboard,.gradient{block-size:100%;border-radius:var(
47
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
48
+ );inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){height:100%;width:100%}
39
49
  `;
40
50
  export default styles;
41
51
  //# sourceMappingURL=color-slider.css.dev.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["color-slider.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-handle-hitarea-height:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-colorslider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-colorslider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n)}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(\n--spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)\n);position:relative;-webkit-user-select:none;user-select:none;width:var(\n--spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)\n)}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(\n--spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)\n);width:var(\n--spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)\n)}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);content:\"\";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(\n--spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)\n)}.checkerboard:before{box-shadow:inset 0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)\n)}:host([disabled]) .checkerboard{background:var(\n--spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}:host([dir=rtl]) .gradient{transform:scaleX(-1)}::slotted(*){height:100%;width:100%}\n`;\nexport default styles;"],
5
- "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCf,eAAe;",
4
+ "sourcesContent": ["/*\nCopyright 2023 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(\n--spectrum-component-top-to-text-75\n);--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-color-slider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-color-slider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n);--mod-colorhandle-hitarea-border-radius:var(\n--mod-color-slider-handle-hitarea-border-radius,0px\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{block-size:var(\n--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)\n);cursor:default;display:block;inline-size:var(\n--mod-color-slider-length,var(--spectrum-color-slider-length)\n);min-inline-size:var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n);position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(\n--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))\n);display:inline-block;inline-size:var(\n--mod-color-slider-vertical-control-track-width,var(\n--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)\n)\n);min-block-size:var(\n--mod-color-slider-vertical-minimum-height,var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n)\n);min-inline-size:0}: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(\n--highcontrast-color-slider-border-color,var(\n--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)\n)\n)}.checkerboard:before{border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);box-shadow:inset 0 0 0 var(\n--mod-color-slider-border-width,var(--spectrum-color-slider-border-width)\n) var(--spectrum-color-slider-border-color-local);content:\"\";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(\n--highcontrast-color-slider-border-color-disabled,var(\n--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)\n)\n);background:var(\n--highcontrast-color-slider-background-color-disabled,var(\n--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)\n)\n)}.checkerboard,.gradient{block-size:100%;border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){height:100%;width:100%}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+Cf,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1,38 +1,48 @@
1
- "use strict";import{css as r}from"@spectrum-web-components/base";const e=r`
2
- :host{--spectrum-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(
3
- --spectrum-global-dimension-size-300
4
- );--spectrum-colorslider-handle-hitarea-height:var(
5
- --spectrum-global-dimension-size-300
6
- );--spectrum-colorslider-checkerboard-size:var(
1
+ "use strict";import{css as r}from"@spectrum-web-components/base";const o=r`
2
+ :host{--spectrum-color-slider-handle-margin-block:var(
3
+ --spectrum-component-top-to-text-75
4
+ );--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(
7
5
  --spectrum-opacity-checkerboard-square-size
8
- );--spectrum-colorslider-checkerboard-dark-color:var(
6
+ );--spectrum-color-slider-checkerboard-dark-color:var(
9
7
  --spectrum-opacity-checkerboard-square-dark
10
- );--spectrum-colorslider-checkerboard-light-color:var(
8
+ );--spectrum-color-slider-checkerboard-light-color:var(
11
9
  --spectrum-opacity-checkerboard-square-light
12
- )}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(
13
- --spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)
14
- );position:relative;-webkit-user-select:none;user-select:none;width:var(
15
- --spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)
16
- )}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(
17
- --spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)
18
- );width:var(
19
- --spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)
20
- )}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(
21
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
22
- );content:"";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(
23
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
24
- );height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(
25
- --spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)
26
- )}.checkerboard:before{box-shadow:inset 0 0 0 var(
27
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
28
- ) var(
29
- --spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)
30
- )}:host([disabled]) .checkerboard{background:var(
31
- --spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)
32
- )}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(
33
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
34
- ) var(
35
- --spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)
36
- )}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}:host([dir=rtl]) .gradient{transform:scaleX(-1)}::slotted(*){height:100%;width:100%}
37
- `;export default e;
10
+ );--mod-colorhandle-hitarea-border-radius:var(
11
+ --mod-color-slider-handle-hitarea-border-radius,0px
12
+ )}@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{block-size:var(
13
+ --mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)
14
+ );cursor:default;display:block;inline-size:var(
15
+ --mod-color-slider-length,var(--spectrum-color-slider-length)
16
+ );min-inline-size:var(
17
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
18
+ );position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(
19
+ --mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))
20
+ );display:inline-block;inline-size:var(
21
+ --mod-color-slider-vertical-control-track-width,var(
22
+ --mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)
23
+ )
24
+ );min-block-size:var(
25
+ --mod-color-slider-vertical-minimum-height,var(
26
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
27
+ )
28
+ );min-inline-size:0}: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(
29
+ --highcontrast-color-slider-border-color,var(
30
+ --mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)
31
+ )
32
+ )}.checkerboard:before{border-radius:var(
33
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
34
+ );box-shadow:inset 0 0 0 var(
35
+ --mod-color-slider-border-width,var(--spectrum-color-slider-border-width)
36
+ ) var(--spectrum-color-slider-border-color-local);content:"";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(
37
+ --highcontrast-color-slider-border-color-disabled,var(
38
+ --mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)
39
+ )
40
+ );background:var(
41
+ --highcontrast-color-slider-background-color-disabled,var(
42
+ --mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)
43
+ )
44
+ )}.checkerboard,.gradient{block-size:100%;border-radius:var(
45
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
46
+ );inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){height:100%;width:100%}
47
+ `;export default o;
38
48
  //# sourceMappingURL=color-slider.css.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["color-slider.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-handle-hitarea-height:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-colorslider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-colorslider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n)}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(\n--spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)\n);position:relative;-webkit-user-select:none;user-select:none;width:var(\n--spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)\n)}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(\n--spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)\n);width:var(\n--spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)\n)}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);content:\"\";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(\n--spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)\n)}.checkerboard:before{box-shadow:inset 0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)\n)}:host([disabled]) .checkerboard{background:var(\n--spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}:host([dir=rtl]) .gradient{transform:scaleX(-1)}::slotted(*){height:100%;width:100%}\n`;\nexport default styles;"],
5
- "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqCf,eAAeC",
4
+ "sourcesContent": ["/*\nCopyright 2023 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(\n--spectrum-component-top-to-text-75\n);--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-color-slider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-color-slider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n);--mod-colorhandle-hitarea-border-radius:var(\n--mod-color-slider-handle-hitarea-border-radius,0px\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{block-size:var(\n--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)\n);cursor:default;display:block;inline-size:var(\n--mod-color-slider-length,var(--spectrum-color-slider-length)\n);min-inline-size:var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n);position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(\n--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))\n);display:inline-block;inline-size:var(\n--mod-color-slider-vertical-control-track-width,var(\n--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)\n)\n);min-block-size:var(\n--mod-color-slider-vertical-minimum-height,var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n)\n);min-inline-size:0}: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(\n--highcontrast-color-slider-border-color,var(\n--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)\n)\n)}.checkerboard:before{border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);box-shadow:inset 0 0 0 var(\n--mod-color-slider-border-width,var(--spectrum-color-slider-border-width)\n) var(--spectrum-color-slider-border-color-local);content:\"\";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(\n--highcontrast-color-slider-border-color-disabled,var(\n--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)\n)\n);background:var(\n--highcontrast-color-slider-background-color-disabled,var(\n--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)\n)\n)}.checkerboard,.gradient{block-size:100%;border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}: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-end:0;inset-block-start:unset}:host([vertical]) .slider{appearance:slider-vertical}:host(:focus){outline:none}.gradient{overflow:hidden}::slotted(*){height:100%;width:100%}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+Cf,eAAeC",
6
6
  "names": ["css", "styles"]
7
7
  }
@@ -1,41 +1,51 @@
1
1
  "use strict";
2
2
  import { css } from "@spectrum-web-components/base";
3
3
  const styles = css`
4
- :host{--spectrum-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(
5
- --spectrum-global-dimension-size-300
6
- );--spectrum-colorslider-handle-hitarea-height:var(
7
- --spectrum-global-dimension-size-300
8
- );--spectrum-colorslider-checkerboard-size:var(
4
+ :host{--spectrum-color-slider-handle-margin-block:var(
5
+ --spectrum-component-top-to-text-75
6
+ );--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(
9
7
  --spectrum-opacity-checkerboard-square-size
10
- );--spectrum-colorslider-checkerboard-dark-color:var(
8
+ );--spectrum-color-slider-checkerboard-dark-color:var(
11
9
  --spectrum-opacity-checkerboard-square-dark
12
- );--spectrum-colorslider-checkerboard-light-color:var(
10
+ );--spectrum-color-slider-checkerboard-light-color:var(
13
11
  --spectrum-opacity-checkerboard-square-light
14
- )}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(
15
- --spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)
16
- );position:relative;-webkit-user-select:none;user-select:none;width:var(
17
- --spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)
18
- )}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(
19
- --spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)
20
- );width:var(
21
- --spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)
22
- )}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(
23
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
24
- );content:"";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(
25
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
26
- );height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(
27
- --spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)
28
- )}.checkerboard:before{box-shadow:inset 0 0 0 var(
29
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
30
- ) var(
31
- --spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)
32
- )}:host([disabled]) .checkerboard{background:var(
33
- --spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)
34
- )}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(
35
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
36
- ) var(
37
- --spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)
38
- )}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}
12
+ );--mod-colorhandle-hitarea-border-radius:var(
13
+ --mod-color-slider-handle-hitarea-border-radius,0px
14
+ )}@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{block-size:var(
15
+ --mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)
16
+ );cursor:default;display:block;inline-size:var(
17
+ --mod-color-slider-length,var(--spectrum-color-slider-length)
18
+ );min-inline-size:var(
19
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
20
+ );position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(
21
+ --mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))
22
+ );display:inline-block;inline-size:var(
23
+ --mod-color-slider-vertical-control-track-width,var(
24
+ --mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)
25
+ )
26
+ );min-block-size:var(
27
+ --mod-color-slider-vertical-minimum-height,var(
28
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
29
+ )
30
+ );min-inline-size:0}: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(
31
+ --highcontrast-color-slider-border-color,var(
32
+ --mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)
33
+ )
34
+ )}.checkerboard:before{border-radius:var(
35
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
36
+ );box-shadow:inset 0 0 0 var(
37
+ --mod-color-slider-border-width,var(--spectrum-color-slider-border-width)
38
+ ) var(--spectrum-color-slider-border-color-local);content:"";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(
39
+ --highcontrast-color-slider-border-color-disabled,var(
40
+ --mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)
41
+ )
42
+ );background:var(
43
+ --highcontrast-color-slider-background-color-disabled,var(
44
+ --mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)
45
+ )
46
+ )}.checkerboard,.gradient{block-size:100%;border-radius:var(
47
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
48
+ );inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}
39
49
  `;
40
50
  export default styles;
41
51
  //# sourceMappingURL=spectrum-color-slider.css.dev.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["spectrum-color-slider.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-handle-hitarea-height:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-colorslider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-colorslider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n)}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(\n--spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)\n);position:relative;-webkit-user-select:none;user-select:none;width:var(\n--spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)\n)}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(\n--spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)\n);width:var(\n--spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)\n)}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);content:\"\";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(\n--spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)\n)}.checkerboard:before{box-shadow:inset 0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)\n)}:host([disabled]) .checkerboard{background:var(\n--spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}\n`;\nexport default styles;"],
5
- "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCf,eAAe;",
4
+ "sourcesContent": ["/*\nCopyright 2023 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(\n--spectrum-component-top-to-text-75\n);--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-color-slider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-color-slider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n);--mod-colorhandle-hitarea-border-radius:var(\n--mod-color-slider-handle-hitarea-border-radius,0px\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{block-size:var(\n--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)\n);cursor:default;display:block;inline-size:var(\n--mod-color-slider-length,var(--spectrum-color-slider-length)\n);min-inline-size:var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n);position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(\n--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))\n);display:inline-block;inline-size:var(\n--mod-color-slider-vertical-control-track-width,var(\n--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)\n)\n);min-block-size:var(\n--mod-color-slider-vertical-minimum-height,var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n)\n);min-inline-size:0}: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(\n--highcontrast-color-slider-border-color,var(\n--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)\n)\n)}.checkerboard:before{border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);box-shadow:inset 0 0 0 var(\n--mod-color-slider-border-width,var(--spectrum-color-slider-border-width)\n) var(--spectrum-color-slider-border-color-local);content:\"\";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(\n--highcontrast-color-slider-border-color-disabled,var(\n--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)\n)\n);background:var(\n--highcontrast-color-slider-background-color-disabled,var(\n--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)\n)\n)}.checkerboard,.gradient{block-size:100%;border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}\n`;\nexport default styles;"],
5
+ "mappings": ";AAWA,SAAS,WAAW;AACpB,MAAM,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AA+Cf,eAAe;",
6
6
  "names": []
7
7
  }
@@ -1,38 +1,48 @@
1
- "use strict";import{css as r}from"@spectrum-web-components/base";const e=r`
2
- :host{--spectrum-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(
3
- --spectrum-global-dimension-size-300
4
- );--spectrum-colorslider-handle-hitarea-height:var(
5
- --spectrum-global-dimension-size-300
6
- );--spectrum-colorslider-checkerboard-size:var(
1
+ "use strict";import{css as r}from"@spectrum-web-components/base";const o=r`
2
+ :host{--spectrum-color-slider-handle-margin-block:var(
3
+ --spectrum-component-top-to-text-75
4
+ );--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(
7
5
  --spectrum-opacity-checkerboard-square-size
8
- );--spectrum-colorslider-checkerboard-dark-color:var(
6
+ );--spectrum-color-slider-checkerboard-dark-color:var(
9
7
  --spectrum-opacity-checkerboard-square-dark
10
- );--spectrum-colorslider-checkerboard-light-color:var(
8
+ );--spectrum-color-slider-checkerboard-light-color:var(
11
9
  --spectrum-opacity-checkerboard-square-light
12
- )}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(
13
- --spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)
14
- );position:relative;-webkit-user-select:none;user-select:none;width:var(
15
- --spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)
16
- )}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(
17
- --spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)
18
- );width:var(
19
- --spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)
20
- )}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(
21
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
22
- );content:"";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(
23
- --spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)
24
- );height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(
25
- --spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)
26
- )}.checkerboard:before{box-shadow:inset 0 0 0 var(
27
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
28
- ) var(
29
- --spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)
30
- )}:host([disabled]) .checkerboard{background:var(
31
- --spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)
32
- )}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(
33
- --spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)
34
- ) var(
35
- --spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)
36
- )}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}
37
- `;export default e;
10
+ );--mod-colorhandle-hitarea-border-radius:var(
11
+ --mod-color-slider-handle-hitarea-border-radius,0px
12
+ )}@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{block-size:var(
13
+ --mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)
14
+ );cursor:default;display:block;inline-size:var(
15
+ --mod-color-slider-length,var(--spectrum-color-slider-length)
16
+ );min-inline-size:var(
17
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
18
+ );position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(
19
+ --mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))
20
+ );display:inline-block;inline-size:var(
21
+ --mod-color-slider-vertical-control-track-width,var(
22
+ --mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)
23
+ )
24
+ );min-block-size:var(
25
+ --mod-color-slider-vertical-minimum-height,var(
26
+ --mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)
27
+ )
28
+ );min-inline-size:0}: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(
29
+ --highcontrast-color-slider-border-color,var(
30
+ --mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)
31
+ )
32
+ )}.checkerboard:before{border-radius:var(
33
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
34
+ );box-shadow:inset 0 0 0 var(
35
+ --mod-color-slider-border-width,var(--spectrum-color-slider-border-width)
36
+ ) var(--spectrum-color-slider-border-color-local);content:"";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(
37
+ --highcontrast-color-slider-border-color-disabled,var(
38
+ --mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)
39
+ )
40
+ );background:var(
41
+ --highcontrast-color-slider-background-color-disabled,var(
42
+ --mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)
43
+ )
44
+ )}.checkerboard,.gradient{block-size:100%;border-radius:var(
45
+ --mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)
46
+ );inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}
47
+ `;export default o;
38
48
  //# sourceMappingURL=spectrum-color-slider.css.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["spectrum-color-slider.css.ts"],
4
- "sourcesContent": ["/*\nCopyright 2023 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-colorslider-handle-hitarea-border-radius:0%;--spectrum-colorslider-handle-hitarea-width:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-handle-hitarea-height:var(\n--spectrum-global-dimension-size-300\n);--spectrum-colorslider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-colorslider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-colorslider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n)}.slider{height:100%;left:0;margin:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}:host{cursor:default;display:block;height:var(\n--spectrum-colorslider-height,var(--spectrum-global-dimension-size-300)\n);position:relative;-webkit-user-select:none;user-select:none;width:var(\n--spectrum-colorslider-default-length,var(--spectrum-global-dimension-size-2400)\n)}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([vertical]){display:inline-block;height:var(\n--spectrum-colorslider-vertical-default-length,var(--spectrum-global-dimension-size-2400)\n);width:var(\n--spectrum-colorslider-vertical-width,var(--spectrum-global-dimension-size-300)\n)}:host([vertical]) .handle{left:50%;top:0}.handle{left:0;top:50%}.handle:after{border-radius:var(--spectrum-colorslider-handle-hitarea-border-radius);height:var(--spectrum-colorslider-handle-hitarea-height);width:var(--spectrum-colorslider-handle-hitarea-width)}.checkerboard{background:repeating-conic-gradient(var(--spectrum-colorslider-checkerboard-light-color) 0 25%,var(--spectrum-colorslider-checkerboard-dark-color) 0 50%) 0 0 /calc(var(--spectrum-colorslider-checkerboard-size)*2) calc(var(--spectrum-colorslider-checkerboard-size)*2)}.checkerboard:before{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);content:\"\";inset:0;position:absolute;z-index:1}.checkerboard,.gradient{border-radius:var(\n--spectrum-colorslider-border-radius,var(--spectrum-alias-border-radius-regular)\n);height:100%;width:100%}:host{--spectrum-colorslider-border-color:var(\n--spectrum-colorarea-border-color,var(--spectrum-alias-border-color-translucent)\n)}.checkerboard:before{box-shadow:inset 0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color,var(--spectrum-alias-border-color-translucent)\n)}:host([disabled]) .checkerboard{background:var(\n--spectrum-colorslider-fill-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .checkerboard:before{box-shadow:0 0 0 var(\n--spectrum-colorslider-border-size,var(--spectrum-alias-border-size-thin)\n) var(\n--spectrum-colorslider-border-color-disabled,var(--spectrum-alias-track-color-disabled)\n)}:host([disabled]) .gradient{display:none}@media (forced-colors:active){:host{--spectrum-colorslider-border-color-disabled:GrayText;--spectrum-colorslider-fill-color-disabled:Canvas}:host{forced-color-adjust:none}}\n`;\nexport default styles;"],
5
- "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqCf,eAAeC",
4
+ "sourcesContent": ["/*\nCopyright 2023 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(\n--spectrum-component-top-to-text-75\n);--spectrum-color-slider-border-color-rgba:rgba(var(--spectrum-gray-900-rgb),var(--spectrum-color-slider-border-opacity));--spectrum-color-slider-checkerboard-size:var(\n--spectrum-opacity-checkerboard-square-size\n);--spectrum-color-slider-checkerboard-dark-color:var(\n--spectrum-opacity-checkerboard-square-dark\n);--spectrum-color-slider-checkerboard-light-color:var(\n--spectrum-opacity-checkerboard-square-light\n);--mod-colorhandle-hitarea-border-radius:var(\n--mod-color-slider-handle-hitarea-border-radius,0px\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{block-size:var(\n--mod-color-slider-control-track-width,var(--spectrum-color-control-track-width)\n);cursor:default;display:block;inline-size:var(\n--mod-color-slider-length,var(--spectrum-color-slider-length)\n);min-inline-size:var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n);position:relative;-webkit-user-select:none;user-select:none}:host([focused]){z-index:2}:host([disabled]){pointer-events:none}:host([disabled]) .gradient{display:none}:host([vertical]){block-size:var(\n--mod-color-slider-vertical-height,var(--mod-color-slider-length,var(--spectrum-color-slider-length))\n);display:inline-block;inline-size:var(\n--mod-color-slider-vertical-control-track-width,var(\n--mod-color-slider-control-track-height,var(--spectrum-color-control-track-width)\n)\n);min-block-size:var(\n--mod-color-slider-vertical-minimum-height,var(\n--mod-color-slider-minimum-length,var(--spectrum-color-slider-minimum-length)\n)\n);min-inline-size:0}: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(\n--highcontrast-color-slider-border-color,var(\n--mod-color-slider-border-color,var(--spectrum-color-slider-border-color-rgba)\n)\n)}.checkerboard:before{border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);box-shadow:inset 0 0 0 var(\n--mod-color-slider-border-width,var(--spectrum-color-slider-border-width)\n) var(--spectrum-color-slider-border-color-local);content:\"\";inset:0;position:absolute;z-index:1}:host([disabled]) .checkerboard{--spectrum-color-slider-border-color-local:var(\n--highcontrast-color-slider-border-color-disabled,var(\n--mod-color-slider-border-color-disabled,var(--spectrum-disabled-background-color)\n)\n);background:var(\n--highcontrast-color-slider-background-color-disabled,var(\n--mod-color-slider-background-color-disabled,var(--spectrum-disabled-background-color)\n)\n)}.checkerboard,.gradient{block-size:100%;border-radius:var(\n--mod-color-slider-border-rounding,var(--spectrum-color-slider-border-rounding)\n);inline-size:100%}:host([dir=rtl]) .gradient{transform:scaleX(-1)}.slider{block-size:100%;inline-size:100%;inset-block-start:0;inset-inline-start:0;margin:0;opacity:0;pointer-events:none;position:absolute;z-index:0}\n`;\nexport default styles;"],
5
+ "mappings": "aAWA,OAAS,OAAAA,MAAW,gCACpB,MAAMC,EAASD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EA+Cf,eAAeC",
6
6
  "names": ["css", "styles"]
7
7
  }
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
- import { elementUpdated, expect, fixture, html } from "@open-wc/testing";
2
+ import { elementUpdated, expect, html } from "@open-wc/testing";
3
3
  import {
4
4
  arrowDownEvent,
5
5
  arrowDownKeyupEvent,
@@ -9,6 +9,7 @@ import {
9
9
  arrowRightKeyupEvent,
10
10
  arrowUpEvent,
11
11
  arrowUpKeyupEvent,
12
+ fixture,
12
13
  testForLitDevWarnings
13
14
  } from "../../../test/testing-helpers.js";
14
15
  import "@spectrum-web-components/color-slider/sp-color-slider.js";
@@ -433,7 +434,7 @@ describe("ColorSlider", () => {
433
434
  boundingClientRect.top + boundingClientRect.height / 2
434
435
  ];
435
436
  const targetLocation = [
436
- handleLocation[0] + 100,
437
+ handleLocation[0] + 105,
437
438
  handleLocation[1]
438
439
  ];
439
440
  await sendMouse({
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["color-slider.test.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 { elementUpdated, expect, fixture, html } from '@open-wc/testing';\nimport {\n arrowDownEvent,\n arrowDownKeyupEvent,\n arrowLeftEvent,\n arrowLeftKeyupEvent,\n arrowRightEvent,\n arrowRightKeyupEvent,\n arrowUpEvent,\n arrowUpKeyupEvent,\n testForLitDevWarnings,\n} from '../../../test/testing-helpers.js';\n\nimport '@spectrum-web-components/color-slider/sp-color-slider.js';\nimport { ColorSlider } from '@spectrum-web-components/color-slider';\nimport { HSL, HSLA, HSV, HSVA, RGB, RGBA, TinyColor } from '@ctrl/tinycolor';\nimport { sendKeys } from '@web/test-runner-commands';\nimport { sendMouse } from '../../../test/plugins/browser.js';\nimport { spy } from 'sinon';\nimport { ColorHandle } from '@spectrum-web-components/color-handle';\n\ndescribe('ColorSlider', () => {\n testForLitDevWarnings(\n async () =>\n await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n )\n );\n it('loads default color-slider accessibly', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n\n it('manages a single tab stop', async () => {\n const test = await fixture<HTMLDivElement>(\n html`\n <div>\n <input type=\"text\" id=\"test-input-1\" />\n <sp-color-slider></sp-color-slider>\n <input type=\"text\" id=\"test-input-2\" />\n </div>\n `\n );\n const el = test.querySelector('sp-color-slider') as ColorSlider;\n const input1 = test.querySelector(\n 'input:nth-of-type(1)'\n ) as HTMLInputElement;\n const input2 = test.querySelector(\n 'input:nth-of-type(2)'\n ) as HTMLInputElement;\n\n await elementUpdated(el);\n\n input1.focus();\n\n expect(document.activeElement).to.equal(input1);\n\n await sendKeys({\n press: 'Tab',\n });\n\n expect(document.activeElement).to.equal(el);\n\n let value = el.value;\n await sendKeys({\n press: 'ArrowRight',\n });\n await elementUpdated(el);\n expect(el.value).to.not.equal(value);\n await sendKeys({\n press: 'Tab',\n });\n\n expect(document.activeElement).to.equal(input2);\n\n await sendKeys({\n press: 'Shift+Tab',\n });\n\n expect(document.activeElement).to.equal(el);\n\n value = el.value;\n await sendKeys({\n press: 'ArrowDown',\n });\n expect(el.value).to.not.equal(value);\n await sendKeys({\n press: 'Shift+Tab',\n });\n\n expect(document.activeElement).to.equal(input1);\n });\n it('manages [focused]', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n\n await sendKeys({ press: 'Tab' });\n await elementUpdated(el);\n\n expect(el.focused).to.be.true;\n\n el.blur();\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n\n el.dispatchEvent(new FocusEvent('focus'));\n await elementUpdated(el);\n\n expect(el.focused).to.be.true;\n\n el.dispatchEvent(new FocusEvent('blur'));\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n });\n it('dispatches input and change events in response to \"Arrow*\" keypresses', async () => {\n const inputSpy = spy();\n const changeSpy = spy();\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n @change=${() => changeSpy()}\n @input=${() => inputSpy()}\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n el.focus();\n\n await sendKeys({ press: 'ArrowRight' });\n\n expect(inputSpy.callCount).to.equal(1);\n expect(changeSpy.callCount).to.equal(1);\n\n await sendKeys({ press: 'ArrowLeft' });\n expect(inputSpy.callCount).to.equal(2);\n expect(changeSpy.callCount).to.equal(2);\n\n await sendKeys({ press: 'ArrowUp' });\n expect(inputSpy.callCount).to.equal(3);\n expect(changeSpy.callCount).to.equal(3);\n\n await sendKeys({ press: 'ArrowDown' });\n expect(inputSpy.callCount).to.equal(4);\n expect(changeSpy.callCount).to.equal(4);\n });\n it('responds to events on the internal input element', async () => {\n // screen reader interactions dispatch events as found in the following test\n const inputSpy = spy();\n const changeSpy = spy();\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n @change=${() => changeSpy()}\n @input=${() => inputSpy()}\n ></sp-color-slider>\n `\n );\n await elementUpdated(el);\n\n el.focus();\n el.focusElement.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n })\n );\n el.focusElement.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: false, // native change events do not compose themselves by default\n })\n );\n\n expect(inputSpy.callCount).to.equal(1);\n expect(changeSpy.callCount).to.equal(1);\n });\n it('manages value on \"Arrow*\" keypresses', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-default-height: 24px; --spectrum-colorslider-default-height: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n const input = el.focusElement;\n\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n\n await elementUpdated(el);\n\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (4 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(4);\n\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts \"Arrow*\" keypresses in dir=\"rtl\"', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider dir=\"rtl\"></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const input = el.focusElement;\n\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts \"Arrow*\" keypresses with alteration', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n el.focus();\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n await sendKeys({\n down: 'Shift',\n });\n await sendKeys({\n press: 'ArrowUp',\n });\n await sendKeys({\n press: 'ArrowUp',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (20 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(20);\n\n await sendKeys({\n press: 'ArrowRight',\n });\n await sendKeys({\n press: 'ArrowRight',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (40 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(40);\n\n await sendKeys({\n press: 'ArrowDown',\n });\n await sendKeys({\n press: 'ArrowDown',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (20 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(20);\n\n await sendKeys({\n press: 'ArrowLeft',\n });\n await sendKeys({\n press: 'ArrowLeft',\n });\n await sendKeys({\n up: 'Shift',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts pointer events', async () => {\n const color = new TinyColor({ h: '0', s: '20%', l: '70%' });\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n .color=${color}\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-height: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n handle.dispatchEvent(\n new PointerEvent('pointerdown', {\n button: 1,\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const gradient = root.querySelector('.gradient') as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n button: 1,\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(47.91666666666667);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(53.125);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n });\n it('can have `change` events prevented', async () => {\n const color = new TinyColor({ h: '0', s: '20%', l: '70%' });\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n .color=${color}\n @change=${(event: Event) => {\n event.preventDefault();\n }}\n style=\"\n --spectrum-colorslider-default-length: 192px;\n --spectrum-colorslider-height: 24px;\n --spectrum-colorhandle-size: 5px;\n \"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.value).to.equal(0);\n\n const handle = el.shadowRoot.querySelector(\n 'sp-color-handle'\n ) as ColorHandle;\n const boundingClientRect = handle.getBoundingClientRect();\n const handleLocation: [number, number] = [\n boundingClientRect.left + boundingClientRect.width / 2,\n boundingClientRect.top + boundingClientRect.height / 2,\n ];\n const targetLocation: [number, number] = [\n handleLocation[0] + 100,\n handleLocation[1],\n ];\n\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: handleLocation,\n },\n {\n type: 'down',\n },\n {\n type: 'move',\n position: targetLocation,\n },\n ],\n });\n\n await elementUpdated(el);\n\n expect(el.value).to.be.greaterThan(190);\n\n await sendMouse({\n steps: [\n {\n type: 'up',\n },\n ],\n });\n\n await elementUpdated(el);\n expect(el.value).to.equal(0);\n });\n it('accepts pointer events while [vertical]', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n vertical\n style=\"--spectrum-colorslider-vertical-default-length: 192px; --spectrum-colorslider-vertical-width: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const gradient = root.querySelector('.gradient') as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 15,\n clientY: 100,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 47.91666666666667);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: 15,\n clientY: 110,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: 15,\n clientY: 110,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 53.125);\n });\n it('accepts pointer events in dir=\"rtl\"', async () => {\n document.documentElement.dir = 'rtl';\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n dir=\"rtl\"\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-default-height: 24px; --spectrum-colorslider-height: 24px;\"\n ></sp-color-slider>\n `\n );\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n const clientWidth = document.documentElement.offsetWidth;\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const gradient = el.shadowRoot.querySelector(\n '.gradient'\n ) as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 700,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 52.083333333333336);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: clientWidth - 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: clientWidth - 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 46.875);\n });\n const colorFormats: {\n name: string;\n color:\n | string\n | number\n | TinyColor\n | HSVA\n | HSV\n | RGB\n | RGBA\n | HSL\n | HSLA;\n }[] = [\n //rgb\n { name: 'RGB String', color: 'rgb(204, 51, 204)' },\n { name: 'RGB', color: { r: 204, g: 51, b: 204, a: 1 } },\n //prgb\n { name: 'PRGB String', color: 'rgb(80%, 20%, 80%)' },\n { name: 'PRGB', color: { r: '80%', g: '20%', b: '80%', a: 1 } },\n // hex\n { name: 'Hex', color: 'cc33cc' },\n { name: 'Hex String', color: '#cc33cc' },\n // hex8\n { name: 'Hex8', color: 'cc33ccff' },\n { name: 'Hex8 String', color: '#cc33ccff' },\n // name\n { name: 'string', color: 'red' },\n // hsl\n { name: 'HSL String', color: 'hsl(300, 60%, 50%)' },\n { name: 'HSL', color: { h: 300, s: 0.6000000000000001, l: 0.5, a: 1 } },\n // hsv\n { name: 'HSV String', color: 'hsv(300, 75%, 100%)' },\n { name: 'HSV', color: { h: 300, s: 0.75, v: 1, a: 1 } },\n ];\n colorFormats.map((format) => {\n it(`maintains \\`color\\` format as ${format.name}`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n el.color = format.color;\n if (format.name.startsWith('Hex')) {\n expect(el.color).to.equal(format.color);\n } else expect(el.color).to.deep.equal(format.color);\n });\n });\n it(`maintains \\`color\\` format as TinyColor`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n const color = new TinyColor('rgb(204, 51, 204)');\n el.color = color;\n expect(color.equals(el.color));\n });\n it(`resolves Hex3 format to Hex6 format`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n el.color = '0f0';\n expect(el.color).to.equal('00ff00');\n\n el.color = '#1e0';\n expect(el.color).to.equal('#11ee00');\n });\n it(`resolves Hex4 format to Hex8 format`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n el.color = 'f3af';\n expect(el.color).to.equal('ff33aaff');\n\n el.color = '#f3af';\n expect(el.color).to.equal('#ff33aaff');\n });\n it(`maintains hue value`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n const hue = 300;\n const hsl = `hsl(${hue}, 60%, 100%)`;\n el.color = hsl;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsl);\n\n const hsla = `hsla(${hue}, 60%, 100%, 0.9)`;\n el.color = hsla;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsla);\n\n const hsv = `hsv(${hue}, 60%, 100%)`;\n el.color = hsv;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsv);\n\n const hsva = `hsva(${hue}, 60%, 100%, 0.9)`;\n el.color = hsva;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsva);\n\n const tinyHSV = new TinyColor({ h: hue, s: 60, v: 100 });\n el.color = tinyHSV;\n expect(el.value).to.equal(hue);\n expect(tinyHSV.equals(el.color)).to.be.true;\n\n const tinyHSVA = new TinyColor({ h: hue, s: 60, v: 100, a: 1 });\n el.color = tinyHSVA;\n expect(el.value).to.equal(hue);\n expect(tinyHSVA.equals(el.color)).to.be.true;\n\n const tinyHSL = new TinyColor({ h: hue, s: 60, l: 100 });\n el.color = tinyHSL;\n expect(el.value).to.equal(hue);\n expect(tinyHSL.equals(el.color)).to.be.true;\n\n const tinyHSLA = new TinyColor({ h: hue, s: 60, l: 100, a: 1 });\n el.color = tinyHSLA;\n expect(el.value).to.equal(hue);\n expect(tinyHSLA.equals(el.color)).to.be.true;\n });\n});\n"],
5
- "mappings": "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",
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 { elementUpdated, expect, html } from '@open-wc/testing';\nimport {\n arrowDownEvent,\n arrowDownKeyupEvent,\n arrowLeftEvent,\n arrowLeftKeyupEvent,\n arrowRightEvent,\n arrowRightKeyupEvent,\n arrowUpEvent,\n arrowUpKeyupEvent,\n fixture,\n testForLitDevWarnings,\n} from '../../../test/testing-helpers.js';\n\nimport '@spectrum-web-components/color-slider/sp-color-slider.js';\nimport { ColorSlider } from '@spectrum-web-components/color-slider';\nimport { HSL, HSLA, HSV, HSVA, RGB, RGBA, TinyColor } from '@ctrl/tinycolor';\nimport { sendKeys } from '@web/test-runner-commands';\nimport { sendMouse } from '../../../test/plugins/browser.js';\nimport { spy } from 'sinon';\nimport { ColorHandle } from '@spectrum-web-components/color-handle';\n\ndescribe('ColorSlider', () => {\n testForLitDevWarnings(\n async () =>\n await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n )\n );\n it('loads default color-slider accessibly', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n await expect(el).to.be.accessible();\n });\n\n it('manages a single tab stop', async () => {\n const test = await fixture<HTMLDivElement>(\n html`\n <div>\n <input type=\"text\" id=\"test-input-1\" />\n <sp-color-slider></sp-color-slider>\n <input type=\"text\" id=\"test-input-2\" />\n </div>\n `\n );\n const el = test.querySelector('sp-color-slider') as ColorSlider;\n const input1 = test.querySelector(\n 'input:nth-of-type(1)'\n ) as HTMLInputElement;\n const input2 = test.querySelector(\n 'input:nth-of-type(2)'\n ) as HTMLInputElement;\n\n await elementUpdated(el);\n\n input1.focus();\n\n expect(document.activeElement).to.equal(input1);\n\n await sendKeys({\n press: 'Tab',\n });\n\n expect(document.activeElement).to.equal(el);\n\n let value = el.value;\n await sendKeys({\n press: 'ArrowRight',\n });\n await elementUpdated(el);\n expect(el.value).to.not.equal(value);\n await sendKeys({\n press: 'Tab',\n });\n\n expect(document.activeElement).to.equal(input2);\n\n await sendKeys({\n press: 'Shift+Tab',\n });\n\n expect(document.activeElement).to.equal(el);\n\n value = el.value;\n await sendKeys({\n press: 'ArrowDown',\n });\n expect(el.value).to.not.equal(value);\n await sendKeys({\n press: 'Shift+Tab',\n });\n\n expect(document.activeElement).to.equal(input1);\n });\n it('manages [focused]', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n\n await sendKeys({ press: 'Tab' });\n await elementUpdated(el);\n\n expect(el.focused).to.be.true;\n\n el.blur();\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n\n el.dispatchEvent(new FocusEvent('focus'));\n await elementUpdated(el);\n\n expect(el.focused).to.be.true;\n\n el.dispatchEvent(new FocusEvent('blur'));\n await elementUpdated(el);\n\n expect(el.focused).to.be.false;\n });\n it('dispatches input and change events in response to \"Arrow*\" keypresses', async () => {\n const inputSpy = spy();\n const changeSpy = spy();\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n @change=${() => changeSpy()}\n @input=${() => inputSpy()}\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n el.focus();\n\n await sendKeys({ press: 'ArrowRight' });\n\n expect(inputSpy.callCount).to.equal(1);\n expect(changeSpy.callCount).to.equal(1);\n\n await sendKeys({ press: 'ArrowLeft' });\n expect(inputSpy.callCount).to.equal(2);\n expect(changeSpy.callCount).to.equal(2);\n\n await sendKeys({ press: 'ArrowUp' });\n expect(inputSpy.callCount).to.equal(3);\n expect(changeSpy.callCount).to.equal(3);\n\n await sendKeys({ press: 'ArrowDown' });\n expect(inputSpy.callCount).to.equal(4);\n expect(changeSpy.callCount).to.equal(4);\n });\n it('responds to events on the internal input element', async () => {\n // screen reader interactions dispatch events as found in the following test\n const inputSpy = spy();\n const changeSpy = spy();\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n @change=${() => changeSpy()}\n @input=${() => inputSpy()}\n ></sp-color-slider>\n `\n );\n await elementUpdated(el);\n\n el.focus();\n el.focusElement.dispatchEvent(\n new Event('input', {\n bubbles: true,\n composed: true,\n })\n );\n el.focusElement.dispatchEvent(\n new Event('change', {\n bubbles: true,\n composed: false, // native change events do not compose themselves by default\n })\n );\n\n expect(inputSpy.callCount).to.equal(1);\n expect(changeSpy.callCount).to.equal(1);\n });\n it('manages value on \"Arrow*\" keypresses', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-default-height: 24px; --spectrum-colorslider-default-height: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n const input = el.focusElement;\n\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (4 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(4);\n\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts \"Arrow*\" keypresses in dir=\"rtl\"', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider dir=\"rtl\"></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const input = el.focusElement;\n\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n input.dispatchEvent(arrowUpEvent());\n input.dispatchEvent(arrowUpKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n input.dispatchEvent(arrowRightEvent());\n input.dispatchEvent(arrowRightKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n input.dispatchEvent(arrowLeftEvent());\n input.dispatchEvent(arrowLeftKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (2 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(2);\n\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n input.dispatchEvent(arrowDownEvent());\n input.dispatchEvent(arrowDownKeyupEvent());\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts \"Arrow*\" keypresses with alteration', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n el.focus();\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n\n await sendKeys({\n down: 'Shift',\n });\n await sendKeys({\n press: 'ArrowUp',\n });\n await sendKeys({\n press: 'ArrowUp',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (20 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(20);\n\n await sendKeys({\n press: 'ArrowRight',\n });\n await sendKeys({\n press: 'ArrowRight',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (40 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(40);\n\n await sendKeys({\n press: 'ArrowDown',\n });\n await sendKeys({\n press: 'ArrowDown',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.be.approximately(\n (20 * 100) / 360,\n 0.000001\n );\n expect(el.value).to.equal(20);\n\n await sendKeys({\n press: 'ArrowLeft',\n });\n await sendKeys({\n press: 'ArrowLeft',\n });\n await sendKeys({\n up: 'Shift',\n });\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect(el.value).to.equal(0);\n });\n it('accepts pointer events', async () => {\n const color = new TinyColor({ h: '0', s: '20%', l: '70%' });\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n .color=${color}\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-height: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n handle.dispatchEvent(\n new PointerEvent('pointerdown', {\n button: 1,\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const gradient = root.querySelector('.gradient') as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n button: 1,\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n expect(el.sliderHandlePosition).to.equal(0);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 100,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(47.91666666666667);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(53.125);\n expect((el.color as HSLA).s).to.be.within(0.19, 0.21);\n expect((el.color as HSLA).l).to.be.within(0.69, 0.71);\n });\n it('can have `change` events prevented', async () => {\n const color = new TinyColor({ h: '0', s: '20%', l: '70%' });\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n .color=${color}\n @change=${(event: Event) => {\n event.preventDefault();\n }}\n style=\"\n --spectrum-colorslider-default-length: 192px;\n --spectrum-colorslider-height: 24px;\n --spectrum-colorhandle-size: 5px;\n \"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n expect(el.value).to.equal(0);\n\n const handle = el.shadowRoot.querySelector(\n 'sp-color-handle'\n ) as ColorHandle;\n const boundingClientRect = handle.getBoundingClientRect();\n const handleLocation: [number, number] = [\n boundingClientRect.left + boundingClientRect.width / 2,\n boundingClientRect.top + boundingClientRect.height / 2,\n ];\n const targetLocation: [number, number] = [\n handleLocation[0] + 105,\n handleLocation[1],\n ];\n\n await sendMouse({\n steps: [\n {\n type: 'move',\n position: handleLocation,\n },\n {\n type: 'down',\n },\n {\n type: 'move',\n position: targetLocation,\n },\n ],\n });\n\n await elementUpdated(el);\n\n expect(el.value).to.be.greaterThan(190);\n\n await sendMouse({\n steps: [\n {\n type: 'up',\n },\n ],\n });\n\n await elementUpdated(el);\n expect(el.value).to.equal(0);\n });\n it('accepts pointer events while [vertical]', async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n vertical\n style=\"--spectrum-colorslider-vertical-default-length: 192px; --spectrum-colorslider-vertical-width: 24px;\"\n ></sp-color-slider>\n `\n );\n\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const root = el.shadowRoot ? el.shadowRoot : el;\n const gradient = root.querySelector('.gradient') as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 15,\n clientY: 100,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 47.91666666666667);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: 15,\n clientY: 110,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: 15,\n clientY: 110,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 53.125);\n });\n it('accepts pointer events in dir=\"rtl\"', async () => {\n document.documentElement.dir = 'rtl';\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider\n dir=\"rtl\"\n style=\"--spectrum-colorslider-default-length: 192px; --spectrum-colorslider-default-height: 24px; --spectrum-colorslider-height: 24px;\"\n ></sp-color-slider>\n `\n );\n await elementUpdated(el);\n\n const { handle } = el as unknown as { handle: HTMLElement };\n const clientWidth = document.documentElement.offsetWidth;\n\n handle.setPointerCapture = () => {\n return;\n };\n handle.releasePointerCapture = () => {\n return;\n };\n\n expect(el.sliderHandlePosition).to.equal(0);\n\n const gradient = el.shadowRoot.querySelector(\n '.gradient'\n ) as HTMLElement;\n gradient.dispatchEvent(\n new PointerEvent('pointerdown', {\n pointerId: 1,\n clientX: 700,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 52.083333333333336);\n\n handle.dispatchEvent(\n new PointerEvent('pointermove', {\n pointerId: 1,\n clientX: clientWidth - 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n handle.dispatchEvent(\n new PointerEvent('pointerup', {\n pointerId: 1,\n clientX: clientWidth - 110,\n clientY: 15,\n bubbles: true,\n composed: true,\n cancelable: true,\n })\n );\n\n await elementUpdated(el);\n\n expect(el.sliderHandlePosition).to.equal(100 - 46.875);\n });\n const colorFormats: {\n name: string;\n color:\n | string\n | number\n | TinyColor\n | HSVA\n | HSV\n | RGB\n | RGBA\n | HSL\n | HSLA;\n }[] = [\n //rgb\n { name: 'RGB String', color: 'rgb(204, 51, 204)' },\n { name: 'RGB', color: { r: 204, g: 51, b: 204, a: 1 } },\n //prgb\n { name: 'PRGB String', color: 'rgb(80%, 20%, 80%)' },\n { name: 'PRGB', color: { r: '80%', g: '20%', b: '80%', a: 1 } },\n // hex\n { name: 'Hex', color: 'cc33cc' },\n { name: 'Hex String', color: '#cc33cc' },\n // hex8\n { name: 'Hex8', color: 'cc33ccff' },\n { name: 'Hex8 String', color: '#cc33ccff' },\n // name\n { name: 'string', color: 'red' },\n // hsl\n { name: 'HSL String', color: 'hsl(300, 60%, 50%)' },\n { name: 'HSL', color: { h: 300, s: 0.6000000000000001, l: 0.5, a: 1 } },\n // hsv\n { name: 'HSV String', color: 'hsv(300, 75%, 100%)' },\n { name: 'HSV', color: { h: 300, s: 0.75, v: 1, a: 1 } },\n ];\n colorFormats.map((format) => {\n it(`maintains \\`color\\` format as ${format.name}`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n\n el.color = format.color;\n if (format.name.startsWith('Hex')) {\n expect(el.color).to.equal(format.color);\n } else expect(el.color).to.deep.equal(format.color);\n });\n });\n it(`maintains \\`color\\` format as TinyColor`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n const color = new TinyColor('rgb(204, 51, 204)');\n el.color = color;\n expect(color.equals(el.color));\n });\n it(`resolves Hex3 format to Hex6 format`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n el.color = '0f0';\n expect(el.color).to.equal('00ff00');\n\n el.color = '#1e0';\n expect(el.color).to.equal('#11ee00');\n });\n it(`resolves Hex4 format to Hex8 format`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n el.color = 'f3af';\n expect(el.color).to.equal('ff33aaff');\n\n el.color = '#f3af';\n expect(el.color).to.equal('#ff33aaff');\n });\n it(`maintains hue value`, async () => {\n const el = await fixture<ColorSlider>(\n html`\n <sp-color-slider></sp-color-slider>\n `\n );\n const hue = 300;\n const hsl = `hsl(${hue}, 60%, 100%)`;\n el.color = hsl;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsl);\n\n const hsla = `hsla(${hue}, 60%, 100%, 0.9)`;\n el.color = hsla;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsla);\n\n const hsv = `hsv(${hue}, 60%, 100%)`;\n el.color = hsv;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsv);\n\n const hsva = `hsva(${hue}, 60%, 100%, 0.9)`;\n el.color = hsva;\n expect(el.value).to.equal(hue);\n expect(el.color).to.equal(hsva);\n\n const tinyHSV = new TinyColor({ h: hue, s: 60, v: 100 });\n el.color = tinyHSV;\n expect(el.value).to.equal(hue);\n expect(tinyHSV.equals(el.color)).to.be.true;\n\n const tinyHSVA = new TinyColor({ h: hue, s: 60, v: 100, a: 1 });\n el.color = tinyHSVA;\n expect(el.value).to.equal(hue);\n expect(tinyHSVA.equals(el.color)).to.be.true;\n\n const tinyHSL = new TinyColor({ h: hue, s: 60, l: 100 });\n el.color = tinyHSL;\n expect(el.value).to.equal(hue);\n expect(tinyHSL.equals(el.color)).to.be.true;\n\n const tinyHSLA = new TinyColor({ h: hue, s: 60, l: 100, a: 1 });\n el.color = tinyHSLA;\n expect(el.value).to.equal(hue);\n expect(tinyHSLA.equals(el.color)).to.be.true;\n });\n});\n"],
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }