diff --git a/packages/bezier-react/src/styles/components/alpha-source-size.module.scss b/packages/bezier-react/src/styles/components/alpha-source-size.module.scss new file mode 100644 index 000000000..a348d7e15 --- /dev/null +++ b/packages/bezier-react/src/styles/components/alpha-source-size.module.scss @@ -0,0 +1,9 @@ +@use '../mixins/dimension'; + +$sizes: 10, 12, 16, 20, 24, 30, 36, 42, 48, 60, 72, 90, 120; + +@each $size in $sizes { + :where(.size-#{$size}) { + @include dimension.square(var(--alpha-source-size-#{$size})); + } +} diff --git a/packages/bezier-react/src/types/alpha-props-helpers.ts b/packages/bezier-react/src/types/alpha-props-helpers.ts new file mode 100644 index 000000000..74b8ac992 --- /dev/null +++ b/packages/bezier-react/src/types/alpha-props-helpers.ts @@ -0,0 +1,10 @@ +import { type SourceSize } from '~/src/types/alpha-tokens' + +// NOTE: 'typescript-plugin-css-modules' does not support path alias +/* eslint-disable no-restricted-imports */ +import sourceSizeStyles from '../styles/components/alpha-source-size.module.scss' +/* eslint-enable no-restricted-imports */ + +export function getSourceSizeClassName(size: SourceSize) { + return sourceSizeStyles[`size-${size}`] +}