diff --git a/.changeset/weak-colts-divide.md b/.changeset/weak-colts-divide.md index 42b45064764..86ca27c26d1 100644 --- a/.changeset/weak-colts-divide.md +++ b/.changeset/weak-colts-divide.md @@ -6,6 +6,7 @@ "@spectrum-css/avatar": major "@spectrum-css/badge": major "@spectrum-css/breadcrumb": major +"@spectrum-css/colorarea": major "@spectrum-css/divider": major "@spectrum-css/miller": major "@spectrum-css/page": major diff --git a/components/colorarea/dist/metadata.json b/components/colorarea/dist/metadata.json index 2580a3d0eab..2ca3ff8005d 100644 --- a/components/colorarea/dist/metadata.json +++ b/components/colorarea/dist/metadata.json @@ -8,19 +8,9 @@ ".spectrum-ColorArea-slider", ".spectrum-ColorArea.is-disabled", ".spectrum-ColorArea.is-disabled .spectrum-ColorArea-gradient", - ".spectrum-ColorArea.is-focused", - ".spectrum-ColorHandle-color" - ], - "modifiers": [ - "--mod-colorarea-border-color", - "--mod-colorarea-border-radius", - "--mod-colorarea-border-width", - "--mod-colorarea-disabled-background-color", - "--mod-colorarea-height", - "--mod-colorarea-min-height", - "--mod-colorarea-min-width", - "--mod-colorarea-width" + ".spectrum-ColorArea.is-focused" ], + "modifiers": [], "component": [ "--spectrum-color-area-border-opacity", "--spectrum-color-area-border-rounding", @@ -28,25 +18,9 @@ "--spectrum-color-area-height", "--spectrum-color-area-minimum-height", "--spectrum-color-area-minimum-width", - "--spectrum-color-area-width", - "--spectrum-colorarea-border-color", - "--spectrum-colorarea-border-color-rgb", - "--spectrum-colorarea-border-radius", - "--spectrum-colorarea-border-width", - "--spectrum-colorarea-disabled-background-color", - "--spectrum-colorarea-height", - "--spectrum-colorarea-min-height", - "--spectrum-colorarea-min-width", - "--spectrum-colorarea-width" - ], - "global": [ - "--spectrum-disabled-background-color", - "--spectrum-gray-1000-rgb" + "--spectrum-color-area-width" ], + "global": ["--spectrum-disabled-background-color", "--spectrum-gray-1000"], "passthroughs": [], - "high-contrast": [ - "--highcontrast-colorarea-border-color", - "--highcontrast-colorarea-border-color-disabled", - "--highcontrast-colorarea-fill-color-disabled" - ] + "high-contrast": [] } diff --git a/components/colorarea/index.css b/components/colorarea/index.css index e9f1b1091f5..c28fcf75ebc 100644 --- a/components/colorarea/index.css +++ b/components/colorarea/index.css @@ -12,28 +12,16 @@ */ .spectrum-ColorArea { - --spectrum-colorarea-border-radius: var(--spectrum-color-area-border-rounding); - - /* @TODO: leveraging the rgb token in this case to achieve the desired border color implementation as rgb + opacity are required by the `rgba` function. */ - --spectrum-colorarea-border-color-rgb: var(--spectrum-gray-1000-rgb); - --spectrum-colorarea-border-color: rgb(var(--spectrum-colorarea-border-color-rgb), var(--spectrum-color-area-border-opacity)); - --spectrum-colorarea-border-width: var(--spectrum-color-area-border-width); - --spectrum-colorarea-disabled-background-color: var(--spectrum-disabled-background-color); - --spectrum-colorarea-height: var(--spectrum-color-area-height); - --spectrum-colorarea-width: var(--spectrum-color-area-width); - --spectrum-colorarea-min-width: var(--spectrum-color-area-minimum-width); - --spectrum-colorarea-min-height: var(--spectrum-color-area-minimum-height); - position: relative; display: inline-block; cursor: default; - min-inline-size: var(--mod-colorarea-min-width, var(--spectrum-colorarea-min-width)); - min-block-size: var(--mod-colorarea-min-height, var(--spectrum-colorarea-min-height)); - inline-size: var(--mod-colorarea-width, var(--spectrum-colorarea-width)); - block-size: var(--mod-colorarea-height, var(--spectrum-colorarea-height)); + min-inline-size: var(--spectrum-color-area-minimum-width); + min-block-size: var(--spectrum-color-area-minimum-height); + inline-size: var(--spectrum-color-area-width); + block-size: var(--spectrum-color-area-height); box-sizing: border-box; - border-radius: var(--mod-colorarea-border-radius, var(--spectrum-colorarea-border-radius)); - border: var(--mod-colorarea-border-width, var(--spectrum-colorarea-border-width)) solid var(--highcontrast-colorarea-border-color, var(--mod-colorarea-border-color, var(--spectrum-colorarea-border-color))); + border-radius: var(--spectrum-color-area-border-rounding); + border: var(--spectrum-color-area-border-width) solid color-mix(in sRGB, var(--spectrum-gray-1000) calc(var(--spectrum-color-area-border-opacity) * 100%), transparent); touch-action: none; /* Disable touch scrolling on touch devices to allow for color picking */ user-select: none; @@ -44,8 +32,8 @@ &.is-disabled { pointer-events: none; - background: var(--highcontrast-colorarea-fill-color-disabled, var(--mod-colorarea-disabled-background-color, var(--spectrum-colorarea-disabled-background-color))); - border: var(--mod-colorarea-border-width, var(--spectrum-colorarea-border-width)) solid var(--highcontrast-colorarea-border-color-disabled); + background: var(--spectrum-disabled-background-color); + border-color: transparent; .spectrum-ColorArea-gradient { display: none; @@ -54,7 +42,7 @@ } .spectrum-ColorArea-handle { - transform: translate(calc(var(--mod-colorarea-width, var(--spectrum-colorarea-width)) - var(--spectrum-colorarea-border-width)), 0); + transform: translate(calc(var(--spectrum-color-area-width) - var(--spectrum-color-area-border-width)), 0); inset-block-start: 0; &:dir(rtl) { @@ -67,7 +55,7 @@ block-size: 100%; /* calc used here to properly calculate the `border-radius` for the gradient such that it aligns with the `border-radius` of the enclosing border */ - border-radius: calc(var(--mod-colorarea-border-radius, var(--spectrum-colorarea-border-radius)) - var(--mod-colorarea-border-width, var(--spectrum-colorarea-border-width))); + border-radius: calc(var(--spectrum-color-area-border-rounding) - var(--spectrum-color-area-border-width)); } .spectrum-ColorArea-slider { @@ -84,18 +72,11 @@ /* Windows High Contrast Mode */ @media (forced-colors: active) { - .spectrum-ColorArea { - --highcontrast-colorarea-border-color-disabled: GrayText; - --highcontrast-colorarea-border-color: Canvas; - --highcontrast-colorarea-fill-color-disabled: Canvas; - - &.is-disabled { - forced-color-adjust: none; - } + .spectrum-ColorArea.is-disabled { + background: Canvas; } - .spectrum-ColorArea-gradient, - .spectrum-ColorHandle-color { + .spectrum-ColorArea-gradient { forced-color-adjust: none; } } diff --git a/components/colorarea/stories/template.js b/components/colorarea/stories/template.js index 85c0c614409..e370ee8888f 100644 --- a/components/colorarea/stories/template.js +++ b/components/colorarea/stories/template.js @@ -26,8 +26,8 @@ export const Template = ({ ...customClasses.reduce((a, c) => ({ ...a, [c]: true }), {}), })} style=${styleMap({ - "--mod-colorarea-height": customHeight, - "--mod-colorarea-width": customWidth, + "--spectrum-color-area-height": customHeight, + "--spectrum-color-area-width": customWidth, ...customStyles, })} @focusin=${function() { @@ -49,7 +49,7 @@ export const Template = ({ customClasses: [`${rootClass}-handle`], customStyles: { "--spectrum-picked-color": selectedColor, - "transform": customWidth ? "translate(var(--mod-colorarea-width), 0)" : undefined, + "transform": customWidth ? "translate(var(--spectrum-color-area-width), 0)" : undefined, }, }, context)}