diff --git a/packages/components/src/components/divider/divider.lite.tsx b/packages/components/src/components/divider/divider.lite.tsx index 64a70a60a187..197ce34e0a32 100644 --- a/packages/components/src/components/divider/divider.lite.tsx +++ b/packages/components/src/components/divider/divider.lite.tsx @@ -50,6 +50,7 @@ export default function DBDivider(props: DBDividerProps) { ref={component} data-margin={props.margin} data-variant={props.variant} + data-emphasis={props.emphasis} class={cls('db-divider', props.className)}> diff --git a/packages/components/src/components/divider/model.ts b/packages/components/src/components/divider/model.ts index f77a1e6c27bc..4b07c55bc94a 100644 --- a/packages/components/src/components/divider/model.ts +++ b/packages/components/src/components/divider/model.ts @@ -1,11 +1,13 @@ -import { GlobalProps, GlobalState } from '../../shared/model'; +import { EmphasisProps, GlobalProps, GlobalState } from '../../shared/model'; export type DBDividerDefaultProps = { margin?: 'none' | '_'; variant?: 'horizontal' | 'vertical'; }; -export type DBDividerProps = DBDividerDefaultProps & GlobalProps; +export type DBDividerProps = DBDividerDefaultProps & + GlobalProps & + EmphasisProps; export type DBDividerDefaultState = {}; diff --git a/packages/foundations/scss/_variables.global.scss b/packages/foundations/scss/_variables.global.scss index 5bad5d365d96..dde99dce14fb 100644 --- a/packages/foundations/scss/_variables.global.scss +++ b/packages/foundations/scss/_variables.global.scss @@ -47,6 +47,11 @@ $db-colors-neutral-border-weak: var( ) ); +$db-colors-neutral-border: var( + --db-current-border-color, + var(--db-neutral-border-enabled, $db-colors-neutral-border-enabled) +); + // primary $db-colors-primary: var(--db-primary-enabled, $db-colors-primary-enabled); diff --git a/packages/foundations/scss/helpers/_functions.scss b/packages/foundations/scss/helpers/_functions.scss index f18392925d17..5435d1f10a9a 100644 --- a/packages/foundations/scss/helpers/_functions.scss +++ b/packages/foundations/scss/helpers/_functions.scss @@ -1,6 +1,7 @@ @use "sass:math"; @use "a11y" as *; @use "clearfix" as *; +@use "../variables.global" as var; @function to-rem($pxValue) { @return #{$pxValue * 0.0625}rem; @@ -41,12 +42,17 @@ // https://bugs.chromium.org/p/chromium/issues/detail?id=1274133 // https://github.com/WebKit/WebKit/commit/1890bfb551da24735804cb1a3d5f14b210f7c7b8 @mixin divider($position: "top", $slot: "before") { + + --db-divider-bg-color: #{var.$db-colors-neutral-border-weak}; position: relative; + &[data-emphasis="strong"] { + --db-divider-bg-color: #{var.$db-colors-neutral-border}; + } + &::#{$slot} { content: ""; - background-color: currentColor; - opacity: 0.16; + background-color: var(--db-divider-bg-color); position: absolute; @if $position == "top" { diff --git a/showcases/angular-showcase/src/app/components/divider/divider.component.html b/showcases/angular-showcase/src/app/components/divider/divider.component.html index 636c6aec3698..1a56d74b59e1 100644 --- a/showcases/angular-showcase/src/app/components/divider/divider.component.html +++ b/showcases/angular-showcase/src/app/components/divider/divider.component.html @@ -13,6 +13,10 @@ {{ exampleName }} - + + diff --git a/showcases/react-showcase/src/components/divider/index.tsx b/showcases/react-showcase/src/components/divider/index.tsx index 780eea023df8..5890774357e3 100644 --- a/showcases/react-showcase/src/components/divider/index.tsx +++ b/showcases/react-showcase/src/components/divider/index.tsx @@ -4,12 +4,12 @@ import defaultComponentVariants from '../../../../shared/divider.json'; import { type DBDividerProps } from '../../../../../output/react/src/components/divider/model'; import { getVariants } from '../data'; -const getDivider = ({ variant, children }: DBDividerProps) => ( +const getDivider = ({ variant, emphasis, children }: DBDividerProps) => ( <> {children} - + ); diff --git a/showcases/shared/divider.json b/showcases/shared/divider.json index 0743364d5614..1b3b1ca59ed9 100644 --- a/showcases/shared/divider.json +++ b/showcases/shared/divider.json @@ -38,5 +38,22 @@ } } ] + }, + { + "name": "Emphasis", + "examples": [ + { + "name": "Weak (Default)", + "style": { "width": "200px" }, + "props": {} + }, + { + "name": "Strong", + "style": { "width": "200px" }, + "props": { + "emphasis": "strong" + } + } + ] } ] diff --git a/showcases/vue-showcase/src/components/divider/Divider.vue b/showcases/vue-showcase/src/components/divider/Divider.vue index 191994857d0c..403771d7f44a 100644 --- a/showcases/vue-showcase/src/components/divider/Divider.vue +++ b/showcases/vue-showcase/src/components/divider/Divider.vue @@ -12,7 +12,10 @@ import { DBDivider, DBInfotext } from "../../../../../output/vue/vue3/src"; {{ exampleName }} - +