diff --git a/packages/calcite-components/src/components/block/block.e2e.ts b/packages/calcite-components/src/components/block/block.e2e.ts index c1e5bf524a2..1a2483ae182 100644 --- a/packages/calcite-components/src/components/block/block.e2e.ts +++ b/packages/calcite-components/src/components/block/block.e2e.ts @@ -531,6 +531,16 @@ describe("calcite-block", () => { "--calcite-block-border-color": { targetProp: "borderColor", }, + "--calcite-block-content-space": [ + { + shadowSelector: `section.${CSS.content}`, + targetProp: "paddingBlock", + }, + { + shadowSelector: `section.${CSS.content}`, + targetProp: "paddingInline", + }, + ], "--calcite-block-header-background-color": { shadowSelector: `.${CSS.toggle}`, targetProp: "backgroundColor", diff --git a/packages/calcite-components/src/components/block/block.scss b/packages/calcite-components/src/components/block/block.scss index 93e553b3764..2635bab0a57 100644 --- a/packages/calcite-components/src/components/block/block.scss +++ b/packages/calcite-components/src/components/block/block.scss @@ -4,18 +4,26 @@ * These properties can be overridden using the component's tag as selector. * * @prop --calcite-block-border-color: Specifies the component's border color. + * @prop --calcite-block-content-space: Specifies the space of the component's `default` slot. * @prop --calcite-block-header-background-color: Specifies the component's `heading` background color. * @prop --calcite-block-header-background-color-hover: Specifies the component's `heading` background color when hovered. * @prop --calcite-block-header-background-color-press: Specifies the component's `heading` background color when pressed. * @prop --calcite-block-heading-text-color: Specifies the component's `heading` text color. * @prop --calcite-block-heading-text-color-press: When the component is `expanded`, specifies the `heading` text color. - * @prop --calcite-block-padding: [Deprecated] Specifies the padding of the component's `default` slot. + * @prop --calcite-block-padding: [Deprecated] use `--calcite-block-content-space` instead - Specifies the padding of the component's `default` slot. * @prop --calcite-block-text-color: Specifies the component's text color. * @prop --calcite-block-description-text-color: Specifies the component's `description` text color. * @prop --calcite-block-icon-color: Specifies the component's `collapsible` icon, `iconStart` and `iconEnd` color. * @prop --calcite-block-icon-color-hover: Specifies the component's `collapsible` icon color when hovered. */ +// AUTO-GENERATED — do not modify. Changes will be overwritten. +// +// Internal CSS custom properties for component use only. Overwriting is not recommended. +// +// --calcite-internal-block-padding-block +// --calcite-internal-block-padding-inline + :host([scale="s"]) { .header { padding: var(--calcite-spacing-sm); @@ -35,10 +43,14 @@ font-size: var(--calcite-font-size-xs); } - .content { - padding-inline: var(--calcite-block-padding, var(--calcite-spacing-sm)); - padding-block: var(--calcite-block-padding, var(--calcite-spacing-xxs)); - } + --calcite-internal-block-padding-block: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-xxs)) + ); + --calcite-internal-block-padding-inline: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-sm)) + ); } :host([scale="m"]) { @@ -60,10 +72,14 @@ font-size: var(--calcite-font-size-sm); } - .content { - padding-block: var(--calcite-block-padding, var(--calcite-spacing-sm)); - padding-inline: var(--calcite-block-padding, var(--calcite-spacing-md)); - } + --calcite-internal-block-padding-block: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-sm)) + ); + --calcite-internal-block-padding-inline: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-md)) + ); } :host([scale="l"]) { @@ -85,10 +101,14 @@ font-size: var(--calcite-font-size); } - .content { - padding-block: var(--calcite-block-padding, var(--calcite-spacing-md)); - padding-inline: var(--calcite-block-padding, var(--calcite-spacing-lg)); - } + --calcite-internal-block-padding-block: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-md)) + ); + --calcite-internal-block-padding-inline: var( + --calcite-block-content-space, + var(--calcite-block-padding, var(--calcite-spacing-lg)) + ); } :host { @@ -233,6 +253,8 @@ calcite-handle { .content { @apply animate-in flex-1 relative min-h-0; + padding-block: var(--calcite-internal-block-padding-block); + padding-inline: var(--calcite-internal-block-padding-inline); } .content-start { diff --git a/packages/calcite-components/src/custom-theme/block.ts b/packages/calcite-components/src/custom-theme/block.ts index 1509af0f59f..9429ea81e62 100644 --- a/packages/calcite-components/src/custom-theme/block.ts +++ b/packages/calcite-components/src/custom-theme/block.ts @@ -2,6 +2,7 @@ import { html } from "../../support/formatting"; export const blockTokens = { calciteBlockBorderColor: "", + calciteBlockContentSpace: "", calciteBlockHeaderBackgroundColor: "", calciteBlockHeaderBackgroundColorHover: "", calciteBlockTextColor: "",