diff --git a/.changeset/beige-dragons-tickle.md b/.changeset/beige-dragons-tickle.md new file mode 100644 index 00000000000..1f5e66fd674 --- /dev/null +++ b/.changeset/beige-dragons-tickle.md @@ -0,0 +1,49 @@ +--- +"@spectrum-css/illustratedmessage": major +"@spectrum-css/dropzone": major +--- + +# S2 Illustrated Message Migration + +This migration contains new tokens for t-shirt sizes (S, M, L), vertical and horizontal orientation along with their maximum width, illustration sizes, and content spacing. Dropzone `--mod` names are renamed to match the semantic tokens in illustrated message. + +## Illustrated Message + +New properties +`--spectrum-illustrated-message-heading-to-description` +`--spectrum-illustrated-message-illustration-to-heading` +`--spectrum-illustrated-message-illustration-to-content` +`--spectrum-illustrated-message-description-to-action` +`--spectrum-illustrated-message-illustration-color` +`--spectrum-illustrated-message-illustration-size` +`--spectrum-illustrated-message-small-cjk-title-font-size` +`--spectrum-illustrated-message-large-cjk-title-font-size` +`--spectrum-illustrated-message-large-body-font-size` +`--spectrum-illustrated-message-horizontal-maximum-width` + +New mods +`--mod-illustrated-message-description-to-action` +`--mod-illustrated-message-heading-to-description` +`--mod-illustrated-message-illustration-to-content` +`--mod-illustrated-message-horizontal-maximum-width` + +Removed properties +`--spectrum-illustrated-message-title-to-heading` +`--spectrum-illustrated-message-description-max-inline-size` +`--spectrum-illustrated-message-heading-max-inline-size` +`--spectrum-illustrated-message-illustration-accent-color` +`--mod-illustrated-message-illustration-accent-color` +`--highcontrast-illustrated-message-illustration-accent-color` + +## Dropzone + +New mods +`--mod-drop-zone-body-to-action` +`--mod-drop-zone-illustration-to-title` + +## Dropzone nested mods + +Renamed mods +`--mod-illustrated-message-title-to-heading` > `--mod-illustrated-message-illustration-to-heading` +`--mod-illustrated-message-heading-to-body` > `--mod-illustrated-message-heading-to-description` +`--mod-illustrated-message-content-maximum-width` > `--mod-illustrated-message-vertical-maximum-width` diff --git a/components/dropzone/dist/metadata.json b/components/dropzone/dist/metadata.json index 2912a8fc239..dbbe449c8a9 100644 --- a/components/dropzone/dist/metadata.json +++ b/components/dropzone/dist/metadata.json @@ -24,6 +24,7 @@ "--mod-drop-zone-body-font-style", "--mod-drop-zone-body-font-weight", "--mod-drop-zone-body-line-height", + "--mod-drop-zone-body-to-action", "--mod-drop-zone-border-color", "--mod-drop-zone-border-color-hover", "--mod-drop-zone-border-style", @@ -70,6 +71,7 @@ "--spectrum-drop-zone-body-font-weight", "--spectrum-drop-zone-body-line-height", "--spectrum-drop-zone-body-size", + "--spectrum-drop-zone-body-to-action", "--spectrum-drop-zone-border-color", "--spectrum-drop-zone-border-color-hover", "--spectrum-drop-zone-border-width", @@ -98,6 +100,7 @@ "--spectrum-drop-zone-illustration-color", "--spectrum-drop-zone-illustration-color-hover", "--spectrum-drop-zone-illustration-to-heading", + "--spectrum-drop-zone-illustration-to-title", "--spectrum-drop-zone-padding", "--spectrum-drop-zone-title-size", "--spectrum-drop-zone-width" @@ -125,6 +128,8 @@ "--spectrum-line-height-100", "--spectrum-neutral-visual-color", "--spectrum-sans-font-family-stack", + "--spectrum-spacing-200", + "--spectrum-spacing-300", "--spectrum-spacing-400", "--spectrum-spacing-75", "--spectrum-white" @@ -133,7 +138,6 @@ "--mod-actionbutton-edge-to-text", "--mod-actionbutton-font-size", "--mod-actionbutton-label-color", - "--mod-illustrated-message-content-maximum-width", "--mod-illustrated-message-description-color", "--mod-illustrated-message-description-font-family", "--mod-illustrated-message-description-font-size", @@ -141,18 +145,19 @@ "--mod-illustrated-message-description-font-weight", "--mod-illustrated-message-description-line-height", "--mod-illustrated-message-description-position", + "--mod-illustrated-message-description-to-action", "--mod-illustrated-message-description-z-index", "--mod-illustrated-message-display", - "--mod-illustrated-message-heading-to-body", "--mod-illustrated-message-heading-to-description", "--mod-illustrated-message-illustration-color", + "--mod-illustrated-message-illustration-to-heading", "--mod-illustrated-message-title-color", "--mod-illustrated-message-title-font-family", "--mod-illustrated-message-title-font-size", "--mod-illustrated-message-title-font-style", "--mod-illustrated-message-title-font-weight", "--mod-illustrated-message-title-line-height", - "--mod-illustrated-message-title-to-heading" + "--mod-illustrated-message-vertical-maximum-width" ], "high-contrast": [ "--highcontrast-drop-zone-border-color-hover", diff --git a/components/dropzone/index.css b/components/dropzone/index.css index c19618c0ee0..4f0f4fb322e 100644 --- a/components/dropzone/index.css +++ b/components/dropzone/index.css @@ -12,162 +12,187 @@ */ .spectrum-DropZone { - --spectrum-drop-zone-padding: var(--spectrum-spacing-400); - --spectrum-drop-zone-illustration-to-heading: var(--spectrum-spacing-400); - --spectrum-drop-zone-heading-to-body: var(--spectrum-spacing-75); - - --spectrum-drop-zone-border-width: var(--spectrum-border-width-200); - --spectrum-drop-zone-corner-radius: var(--spectrum-corner-radius-100); - --spectrum-drop-zone-border-color: var(--spectrum-gray-200); - - --spectrum-drop-zone-heading-font-family: var(--spectrum-sans-font-family-stack); - --spectrum-drop-zone-heading-font-weight: var(--spectrum-heading-sans-serif-font-weight); - --spectrum-drop-zone-heading-font-style: var(--spectrum-heading-sans-serif-font-style); - --spectrum-drop-zone-heading-font-size: var(--spectrum-drop-zone-title-size); - --spectrum-drop-zone-heading-line-height: var(--spectrum-heading-line-height); - --spectrum-drop-zone-heading-color: var(--spectrum-heading-color); - - --spectrum-drop-zone-body-font-family: var(--spectrum-sans-font-family-stack); - --spectrum-drop-zone-body-font-weight: var(--spectrum-body-sans-serif-font-weight); - --spectrum-drop-zone-body-font-style: var(--spectrum-body-sans-serif-font-style); - --spectrum-drop-zone-body-font-size: var(--spectrum-drop-zone-body-size); - --spectrum-drop-zone-body-line-height: var(--spectrum-body-line-height); - --spectrum-drop-zone-body-color: var(--spectrum-body-color); - - --spectrum-drop-zone-background-color: var(--spectrum-drop-zone-background-color-rgb); - --spectrum-drop-zone-border-color-hover: var(--spectrum-accent-visual-color); - --spectrum-drop-zone-illustration-color: var(--spectrum-neutral-visual-color); - --spectrum-drop-zone-illustration-color-hover: var(--spectrum-accent-visual-color); - - /* Filled styles */ - --spectrum-drop-zone-content-height: var(--spectrum-component-height-300); - --spectrum-drop-zone-content-max-width: var(--spectrum-drop-zone-content-maximum-width); - --spectrum-drop-zone-content-edge-to-text: var(--spectrum-component-edge-to-text-300); - --spectrum-drop-zone-content-top-to-text: var(--spectrum-component-top-to-text-300); - --spectrum-drop-zone-content-bottom-to-text: var(--spectrum-component-bottom-to-text-300); - - --spectrum-drop-zone-content-font-family: var(--spectrum-sans-font-family-stack); - --spectrum-drop-zone-content-font-weight: var(--spectrum-bold-font-weight); - --spectrum-drop-zone-content-font-style: var(--spectrum-default-font-style); - --spectrum-drop-zone-content-font-size: var(--spectrum-font-size-300); - --spectrum-drop-zone-content-line-height: var(--spectrum-line-height-100); - - --spectrum-drop-zone-content-background-color: var(--spectrum-accent-visual-color); - --spectrum-drop-zone-content-color: var(--spectrum-white); - - /* Settings for a nested illustrated message */ - --mod-illustrated-message-content-maximum-width: var(--mod-drop-zone-content-maximum-width, var(--spectrum-drop-zone-content-maximum-width)); - --mod-illustrated-message-illustration-color: var(--mod-drop-zone-illustration-color, var(--spectrum-drop-zone-illustration-color)); - --mod-illustrated-message-title-to-heading: var(--mod-drop-zone-illustration-to-heading, var(--spectrum-drop-zone-illustration-to-heading)); - --mod-illustrated-message-heading-to-body: var(--mod-drop-zone-heading-to-body, var(--spectrum-drop-zone-heading-to-body)); - --mod-illustrated-message-title-font-family: var(--mod-drop-zone-heading-font-family, var(--spectrum-drop-zone-heading-font-family)); - --mod-illustrated-message-title-font-weight: var(--mod-drop-zone-heading-font-weight, var(--spectrum-drop-zone-heading-font-weight)); - --mod-illustrated-message-title-font-style: var(--mod-drop-zone-heading-font-style, var(--spectrum-drop-zone-heading-font-style)); - --mod-illustrated-message-title-font-size: var(--mod-drop-zone-heading-font-size, var(--spectrum-drop-zone-heading-font-size)); - --mod-illustrated-message-title-line-height: var(--mod-drop-zone-heading-line-height, var(--spectrum-drop-zone-heading-line-height)); - --mod-illustrated-message-title-color: var(--mod-drop-zone-heading-color, var(--spectrum-drop-zone-heading-color)); - --mod-illustrated-message-description-position: relative; - --mod-illustrated-message-description-z-index: 10; - --mod-illustrated-message-heading-to-description: 0; - --mod-illustrated-message-description-font-family: var(--mod-drop-zone-body-font-family, var(--spectrum-drop-zone-body-font-family)); - --mod-illustrated-message-description-font-weight: var(--mod-drop-zone-body-font-weight, var(--spectrum-drop-zone-body-font-weight)); - --mod-illustrated-message-description-font-style: var(--mod-drop-zone-body-font-style, var(--spectrum-drop-zone-body-font-style)); - --mod-illustrated-message-description-font-size: var(--mod-drop-zone-body-font-size, var(--spectrum-drop-zone-body-font-size)); - --mod-illustrated-message-description-line-height: var(--mod-drop-zone-body-line-height, var(--spectrum-drop-zone-body-line-height)); - --mod-illustrated-message-description-color: var(--mod-drop-zone-body-color, var(--spectrum-drop-zone-body-color)); - - /* Settings for a nested actionbutton */ - --mod-actionbutton-font-size: var(--mod-drop-zone-content-font-size, var(--spectrum-drop-zone-content-font-size)); - --mod-actionbutton-label-color: var(--mod-drop-zone-content-color, var(--spectrum-drop-zone-content-color)); - --mod-actionbutton-edge-to-text: var(--mod-drop-zone-content-edge-to-text, var(--spectrum-drop-zone-content-edge-to-text)); - - /* cjk language support */ - &:lang(ja), - &:lang(zh), - &:lang(ko) { - --spectrum-drop-zone-heading-font-size: var(--spectrum-drop-zone-cjk-title-size); - } + --spectrum-drop-zone-padding: var(--spectrum-spacing-400); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-illustration-to-heading: var(--spectrum-spacing-400); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-to-body: var(--spectrum-spacing-75); + + --spectrum-drop-zone-border-width: var(--spectrum-border-width-200); + --spectrum-drop-zone-corner-radius: var(--spectrum-corner-radius-100); + --spectrum-drop-zone-border-color: var(--spectrum-gray-200); + + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-font-family: var(--spectrum-sans-font-family-stack); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-font-weight: var(--spectrum-heading-sans-serif-font-weight); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-font-style: var(--spectrum-heading-sans-serif-font-style); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-font-size: var(--spectrum-drop-zone-title-size); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-line-height: var(--spectrum-heading-line-height); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-color: var(--spectrum-heading-color); + + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-font-family: var(--spectrum-sans-font-family-stack); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-font-weight: var(--spectrum-body-sans-serif-font-weight); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-font-style: var(--spectrum-body-sans-serif-font-style); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-font-size: var(--spectrum-drop-zone-body-size); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-line-height: var(--spectrum-body-line-height); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-color: var(--spectrum-body-color); + + --spectrum-drop-zone-background-color: var(--spectrum-drop-zone-background-color-rgb); + --spectrum-drop-zone-border-color-hover: var(--spectrum-accent-visual-color); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-illustration-color: var(--spectrum-neutral-visual-color); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-illustration-color-hover: var(--spectrum-accent-visual-color); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-illustration-to-title: var(--spectrum-spacing-200); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-body-to-action: var(--spectrum-spacing-300); + + /* Filled styles */ + --spectrum-drop-zone-content-height: var(--spectrum-component-height-300); + --spectrum-drop-zone-content-max-width: var(--spectrum-drop-zone-content-maximum-width); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-content-edge-to-text: var(--spectrum-component-edge-to-text-300); + --spectrum-drop-zone-content-top-to-text: var(--spectrum-component-top-to-text-300); + --spectrum-drop-zone-content-bottom-to-text: var(--spectrum-component-bottom-to-text-300); + + --spectrum-drop-zone-content-font-family: var(--spectrum-sans-font-family-stack); + --spectrum-drop-zone-content-font-weight: var(--spectrum-bold-font-weight); + --spectrum-drop-zone-content-font-style: var(--spectrum-default-font-style); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-content-font-size: var(--spectrum-font-size-300); + --spectrum-drop-zone-content-line-height: var(--spectrum-line-height-100); + + --spectrum-drop-zone-content-background-color: var(--spectrum-accent-visual-color); + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-content-color: var(--spectrum-white); + + /* Settings for a nested illustrated message */ + --mod-illustrated-message-vertical-maximum-width: var(--mod-drop-zone-content-maximum-width, var(--spectrum-drop-zone-content-maximum-width)); + --mod-illustrated-message-illustration-color: var(--mod-drop-zone-illustration-color, var(--spectrum-drop-zone-illustration-color)); + --mod-illustrated-message-illustration-to-heading: var(--mod-drop-zone-illustration-to-heading, var(--spectrum-drop-zone-illustration-to-heading)); + --mod-illustrated-message-heading-to-description: var(--mod-drop-zone-heading-to-body, var(--spectrum-drop-zone-heading-to-body)); + --mod-illustrated-message-description-to-action: var(--mod-drop-zone-body-to-action, var(--spectrum-drop-zone-body-to-action)); + --mod-illustrated-message-title-font-family: var(--mod-drop-zone-heading-font-family, var(--spectrum-drop-zone-heading-font-family)); + --mod-illustrated-message-title-font-weight: var(--mod-drop-zone-heading-font-weight, var(--spectrum-drop-zone-heading-font-weight)); + --mod-illustrated-message-title-font-style: var(--mod-drop-zone-heading-font-style, var(--spectrum-drop-zone-heading-font-style)); + --mod-illustrated-message-title-font-size: var(--mod-drop-zone-heading-font-size, var(--spectrum-drop-zone-heading-font-size)); + --mod-illustrated-message-title-line-height: var(--mod-drop-zone-heading-line-height, var(--spectrum-drop-zone-heading-line-height)); + --mod-illustrated-message-title-color: var(--mod-drop-zone-heading-color, var(--spectrum-drop-zone-heading-color)); + --mod-illustrated-message-description-position: relative; + --mod-illustrated-message-description-z-index: 10; + --mod-illustrated-message-description-font-family: var(--mod-drop-zone-body-font-family, var(--spectrum-drop-zone-body-font-family)); + --mod-illustrated-message-description-font-weight: var(--mod-drop-zone-body-font-weight, var(--spectrum-drop-zone-body-font-weight)); + --mod-illustrated-message-description-font-style: var(--mod-drop-zone-body-font-style, var(--spectrum-drop-zone-body-font-style)); + --mod-illustrated-message-description-font-size: var(--mod-drop-zone-body-font-size, var(--spectrum-drop-zone-body-font-size)); + --mod-illustrated-message-description-line-height: var(--mod-drop-zone-body-line-height, var(--spectrum-drop-zone-body-line-height)); + --mod-illustrated-message-description-color: var(--mod-drop-zone-body-color, var(--spectrum-drop-zone-body-color)); + + /* Settings for a nested actionbutton */ + --mod-actionbutton-font-size: var(--mod-drop-zone-content-font-size, var(--spectrum-drop-zone-content-font-size)); + --mod-actionbutton-label-color: var(--mod-drop-zone-content-color, var(--spectrum-drop-zone-content-color)); + --mod-actionbutton-edge-to-text: var(--mod-drop-zone-content-edge-to-text, var(--spectrum-drop-zone-content-edge-to-text)); + + /* cjk language support */ + &:lang(ja), + &:lang(zh), + &:lang(ko) { + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --spectrum-drop-zone-heading-font-size: var(--spectrum-drop-zone-cjk-title-size); + } } .spectrum-DropZone { - box-sizing: border-box; - inline-size: var(--mod-drop-zone-width, var(--spectrum-drop-zone-width)); - padding: calc(var(--mod-drop-zone-padding, var(--spectrum-drop-zone-padding)) - var(--mod-drop-zone-border-width, var(--spectrum-drop-zone-border-width))); - text-align: center; - border-color: var(--mod-drop-zone-border-color, var(--spectrum-drop-zone-border-color)); - border-width: var(--mod-drop-zone-border-width, var(--spectrum-drop-zone-border-width)); - border-radius: var(--mod-drop-zone-corner-radius, var(--spectrum-drop-zone-corner-radius)); - border-style: var(--mod-drop-zone-border-style, dashed); - background-size: cover; - background-color: var(--mod-drop-zone-background-color, var(--spectrum-drop-zone-background-color)); - - &.is-dragged { - /* @deprecation --mod-drop-zone-border-style--dragged will be removed during the S2 migration; please update your code to --mod-drop-zone-border-style-dragged */ - --mod-drop-zone-border-style: var(--mod-drop-zone-border-style--dragged, var(--mod-drop-zone-border-style-dragged, solid)); - --mod-drop-zone-background-color: rgba(var(--spectrum-drop-zone-background-color), var(--mod-drop-zone-background-color-opacity, var(--spectrum-drop-zone-background-color-opacity))); - --spectrum-drop-zone-border-color: var(--highcontrast-drop-zone-border-color-hover, var(--mod-drop-zone-border-color-hover, var(--spectrum-drop-zone-border-color-hover))); - - /* Updated values for a nested illustrated message when state changes */ - --mod-illustrated-message-illustration-color: var(--mod-drop-zone-illustration-color-hover, var(--spectrum-drop-zone-illustration-color-hover)); - } - - &.is-filled { - /* note: the below applies to .is-filled.is-dragged but works here b/c dragged is the only state applying background color */ - --mod-drop-zone-background-color: rgba(var(--spectrum-drop-zone-background-color), var(--mod-drop-zone-background-color-opacity-filled, var(--spectrum-drop-zone-background-color-opacity-filled))); - - /* Updated values for a nested illustrated message when state changes */ - --mod-illustrated-message-display: none; - } - - &.is-filled.is-dragged { - --mod-drop-zone-content-display: flex; - } - - &:focus-visible { - --mod-drop-zone-border-style: solid; - --spectrum-drop-zone-border-color: var(--highcontrast-drop-zone-border-color-hover, var(--mod-drop-zone-border-color-hover, var(--spectrum-drop-zone-border-color-hover))); - - outline: 0; - } + box-sizing: border-box; + inline-size: var(--mod-drop-zone-width, var(--spectrum-drop-zone-width)); + padding: calc(var(--mod-drop-zone-padding, var(--spectrum-drop-zone-padding)) - var(--mod-drop-zone-border-width, var(--spectrum-drop-zone-border-width))); + text-align: center; + border-color: var(--mod-drop-zone-border-color, var(--spectrum-drop-zone-border-color)); + border-width: var(--mod-drop-zone-border-width, var(--spectrum-drop-zone-border-width)); + border-radius: var(--mod-drop-zone-corner-radius, var(--spectrum-drop-zone-corner-radius)); + border-style: var(--mod-drop-zone-border-style, dashed); + background-size: cover; + background-color: var(--mod-drop-zone-background-color, var(--spectrum-drop-zone-background-color)); + + &.is-dragged { + /* @deprecation --mod-drop-zone-border-style--dragged will be removed during the S2 migration; please update your code to --mod-drop-zone-border-style-dragged */ + --mod-drop-zone-border-style: var(--mod-drop-zone-border-style--dragged, var(--mod-drop-zone-border-style-dragged, solid)); + --mod-drop-zone-background-color: rgba(var(--spectrum-drop-zone-background-color), var(--mod-drop-zone-background-color-opacity, var(--spectrum-drop-zone-background-color-opacity))); + --spectrum-drop-zone-border-color: var(--highcontrast-drop-zone-border-color-hover, var(--mod-drop-zone-border-color-hover, var(--spectrum-drop-zone-border-color-hover))); + + /* Updated values for a nested illustrated message when state changes */ + --mod-illustrated-message-illustration-color: var(--mod-drop-zone-illustration-color-hover, var(--spectrum-drop-zone-illustration-color-hover)); + } + + &.is-filled { + /* note: the below applies to .is-filled.is-dragged but works here b/c dragged is the only state applying background color */ + --mod-drop-zone-background-color: rgba(var(--spectrum-drop-zone-background-color), var(--mod-drop-zone-background-color-opacity-filled, var(--spectrum-drop-zone-background-color-opacity-filled))); + + /* Updated values for a nested illustrated message when state changes */ + --mod-illustrated-message-display: none; + } + + &.is-filled.is-dragged { + --mod-drop-zone-content-display: flex; + } + + &:focus-visible { + --mod-drop-zone-border-style: solid; + --spectrum-drop-zone-border-color: var(--highcontrast-drop-zone-border-color-hover, var(--mod-drop-zone-border-color-hover, var(--spectrum-drop-zone-border-color-hover))); + outline: 0; + } } .spectrum-DropZone-content { - display: var(--mod-drop-zone-content-display, none); - block-size: 100%; - align-items: center; - justify-content: center; - position: relative; - z-index: 10; + display: var(--mod-drop-zone-content-display, none); + block-size: 100%; + align-items: center; + justify-content: center; + position: relative; + z-index: 10; } .spectrum-DropZone-button { - box-sizing: border-box; - border: none; - block-size: var(--mod-drop-zone-content-height, var(--spectrum-drop-zone-content-height)); - max-inline-size: var(--mod-drop-zone-content-max-width, var(--spectrum-drop-zone-content-max-width)); - padding-block-start: var(--mod-drop-zone-content-top-to-text, var(--spectrum-drop-zone-content-top-to-text)); - padding-block-end: var(--mod-drop-zone-content-bottom-to-text, var(--spectrum-drop-zone-content-bottom-to-text)); - background-color: var(--mod-drop-zone-content-background-color, var(--spectrum-drop-zone-content-background-color)); - - font-family: var(--mod-drop-zone-content-font-family, var(--spectrum-drop-zone-content-font-family)); - font-weight: var(--mod-drop-zone-content-font-weight, var(--spectrum-drop-zone-content-font-weight)); - font-style: var(--mod-drop-zone-content-font-style, var(--spectrum-drop-zone-content-font-style)); - line-height: var(--mod-drop-zone-content-line-height, var(--spectrum-drop-zone-content-line-height)); - - &:hover, - &:focus { - background-color: var(--mod-drop-zone-content-background-color, var(--spectrum-drop-zone-content-background-color)); - } + box-sizing: border-box; + border: none; + block-size: var(--mod-drop-zone-content-height, var(--spectrum-drop-zone-content-height)); + max-inline-size: var(--mod-drop-zone-content-max-width, var(--spectrum-drop-zone-content-max-width)); + padding-block-start: var(--mod-drop-zone-content-top-to-text, var(--spectrum-drop-zone-content-top-to-text)); + padding-block-end: var(--mod-drop-zone-content-bottom-to-text, var(--spectrum-drop-zone-content-bottom-to-text)); + background-color: var(--mod-drop-zone-content-background-color, var(--spectrum-drop-zone-content-background-color)); + + font-family: var(--mod-drop-zone-content-font-family, var(--spectrum-drop-zone-content-font-family)); + font-weight: var(--mod-drop-zone-content-font-weight, var(--spectrum-drop-zone-content-font-weight)); + font-style: var(--mod-drop-zone-content-font-style, var(--spectrum-drop-zone-content-font-style)); + line-height: var(--mod-drop-zone-content-line-height, var(--spectrum-drop-zone-content-line-height)); + + &:hover, + &:focus { + background-color: var(--mod-drop-zone-content-background-color, var(--spectrum-drop-zone-content-background-color)); + } } /********* WHCM *********/ @media (forced-colors: active) { - .spectrum-DropZone { - --highcontrast-drop-zone-illustration-color: CanvasText; + .spectrum-DropZone { + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --highcontrast-drop-zone-illustration-color: CanvasText; - --highcontrast-drop-zone-border-color-hover: Highlight; + --highcontrast-drop-zone-border-color-hover: Highlight; - /* Updated values for a nested illustrated message when in a high contrast state */ - --highcontrast-illustrated-message-illustration-color: var(--highcontrast-drop-zone-illustration-color); - } + /* Updated values for a nested illustrated message when in a high contrast state */ + /* stylelint-disable-next-line spectrum-tools/no-unused-custom-properties -- used in illustrated */ + --highcontrast-illustrated-message-illustration-color: var(--highcontrast-drop-zone-illustration-color); + } } diff --git a/components/dropzone/stories/dropzone.stories.js b/components/dropzone/stories/dropzone.stories.js index 9d0d7e4c3d2..7bca0bd87a7 100644 --- a/components/dropzone/stories/dropzone.stories.js +++ b/components/dropzone/stories/dropzone.stories.js @@ -27,12 +27,16 @@ export default { if: { arg: "isDragged", truthy: true }, }, ...IllustratedMessage.argTypes, + hasButtons: { table: { disable: true }}, + isHorizontal: { table: { disable: true }}, label: ActionButton.argTypes.label, }, args: { rootClass: "spectrum-DropZone", isDragged: false, isFilled: false, + title: "Drag and drop your file", + description: "Or, select a file from your computer.", }, parameters: { design: { @@ -46,14 +50,12 @@ export default { export const Default = DropzoneGroup.bind({}); Default.args = { - heading: "Drag and drop your file", description: [ () => { return html`${Link({ url: "#", text: "Select a file" })} from your computer.`; }, ], label: "Drop file to replace", - useAccentColor: true, customStyles: { width: "300px", }, diff --git a/components/dropzone/stories/template.js b/components/dropzone/stories/template.js index 3363790eccc..b9d6013a0b0 100644 --- a/components/dropzone/stories/template.js +++ b/components/dropzone/stories/template.js @@ -14,7 +14,7 @@ export const Template = ({ isFilled = false, customClasses = [], customStyles = {}, - heading, + title, description, label, id = getRandomId("dropzone"), @@ -32,7 +32,7 @@ export const Template = ({ tabindex="0" style=${styleMap(customStyles)} > - ${IllustratedMessage({ heading, description }, context)} + ${IllustratedMessage({ title, description }, context)}
+ ${descriptionContent.map((c) => + typeof c === "function" ? c({}) : c + )} +
` + )} + ${when(hasButtons, () => + ButtonGroup({ + size, + customClasses: ["spectrum-IllustratedMessage-actions"], + items: [ + { + variant: "secondary", + treatment: "outline", + label: "Remind me later", + }, + { + variant: "accent", + treatment: "fill", + label: "Rate now", + }, + ] + }) )}