diff --git a/.changeset/little-feet-mix.md b/.changeset/little-feet-mix.md
new file mode 100644
index 00000000000..72774568e68
--- /dev/null
+++ b/.changeset/little-feet-mix.md
@@ -0,0 +1,5 @@
+---
+'@kaizen/components': patch
+---
+
+Update Label and LabelledMessage components to CSS from SCSS
diff --git a/packages/components/src/Label/Label.module.css b/packages/components/src/Label/Label.module.css
new file mode 100644
index 00000000000..ac9ea643dd8
--- /dev/null
+++ b/packages/components/src/Label/Label.module.css
@@ -0,0 +1,97 @@
+@layer kz-components {
+ :root {
+ --label-start-margin: var(--spacing-xs);
+ --dt-color-form-text-color: var(--color-purple-800);
+ }
+
+ .label {
+ --icon-vertical-align: text-bottom;
+ }
+
+ .label,
+ :global(.ideal-sans) .label {
+ /* override Murmur global styles :( */
+ opacity: inherit;
+ color: var(--dt-color-form-text-color);
+ visibility: visible;
+ width: 100%;
+ text-align: start;
+ }
+
+ .reversed {
+ color: var(--color-white);
+
+ a {
+ color: var(--color-white);
+
+ &:hover {
+ text-decoration: none;
+ }
+ }
+ }
+
+ .disabled {
+ opacity: 0.3;
+ }
+
+ /* ///////////////////////////////////////////////////
+ //// LABEL TYPES
+ //////////////////////////////////////////////////// */
+
+ /* This is to override bootstrap styles. Remove when appropriate */
+ .text,
+ :global(.ideal-sans) .text {
+ font-family: var(--typography-heading-6-font-family);
+ font-size: var(--typography-heading-6-font-size);
+ line-height: var(--typography-heading-6-line-height);
+ letter-spacing: var(--typography-heading-6-letter-spacing);
+ font-weight: var(--typography-heading-6-font-weight);
+ }
+
+ .checkboxOrRadio,
+ .checkbox,
+ .radio,
+ :global(.ideal-sans) .checkboxOrRadio {
+ display: flex;
+ font-family: var(--typography-paragraph-body-font-family);
+ font-size: var(--typography-paragraph-body-font-size);
+ line-height: var(--typography-paragraph-body-line-height);
+ letter-spacing: var(--typography-paragraph-body-letter-spacing);
+ font-weight: var(--typography-paragraph-body-font-weight);
+ }
+
+ .toggle {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ font-family: var(--typography-paragraph-body-font-family);
+ font-size: var(--typography-paragraph-body-font-size);
+ line-height: var(--typography-paragraph-body-line-height);
+ letter-spacing: var(--typography-paragraph-body-letter-spacing);
+ font-weight: var(--typography-paragraph-body-font-weight);
+ }
+
+ .checkbox,
+ .radio,
+ .toggle {
+ /* apply padding when label is inline with form control */
+ .prependedLabel {
+ order: -1; /* place label before the control */
+ margin-inline-end: var(--label-start-margin);
+ }
+
+ .appendedLabel {
+ margin-inline-start: var(--label-start-margin);
+ }
+ }
+
+ .prominent {
+ font-family: var(--typography-heading-4-font-family);
+ font-weight: var(--typography-heading-4-font-weight);
+ font-size: var(--typography-heading-4-font-size);
+ line-height: var(--typography-heading-4-line-height);
+ letter-spacing: var(--typography-heading-4-letter-spacing);
+ display: block;
+ margin-bottom: var(--spacing-xs);
+ }
+}
diff --git a/packages/components/src/Label/Label.module.scss b/packages/components/src/Label/Label.module.scss
deleted file mode 100644
index 7e8f7bcd700..00000000000
--- a/packages/components/src/Label/Label.module.scss
+++ /dev/null
@@ -1,105 +0,0 @@
-@import '~@kaizen/design-tokens/sass/spacing';
-@import '~@kaizen/design-tokens/sass/typography';
-@import '~@kaizen/design-tokens/sass/color';
-@import '../../styles/utils/form-variables';
-
-@layer kz-components {
- $label-start-margin: $spacing-xs;
-
- .label {
- --icon-vertical-align: text-bottom;
- }
-
- .label,
- :global(.ideal-sans) .label {
- // override Murmur global styles :(
- opacity: inherit;
- color: $dt-color-form-text-color;
- visibility: visible;
- width: 100%;
- text-align: start;
- }
-
- .reversed {
- color: $color-white;
-
- a {
- color: $color-white;
-
- &:hover {
- text-decoration: none;
- }
- }
- }
-
- .disabled {
- opacity: 30%;
- }
-
- ///////////////////////////////////////////////////
- // LABEL TYPES
- ///////////////////////////////////////////////////
-
- // This is to override bootstrap styles. Remove when appropriate
- .text,
- :global(.ideal-sans) .text {
- font-family: $typography-heading-6-font-family;
- font-size: $typography-heading-6-font-size;
- line-height: $typography-heading-6-line-height;
- letter-spacing: $typography-heading-6-letter-spacing;
- font-weight: $typography-heading-6-font-weight;
- }
-
- %checkboxOrRadio,
- :global(.ideal-sans) %checkboxOrRadio {
- display: flex;
- font-family: $typography-paragraph-body-font-family;
- font-size: $typography-paragraph-body-font-size;
- line-height: $typography-paragraph-body-line-height;
- letter-spacing: $typography-paragraph-body-letter-spacing;
- font-weight: $typography-paragraph-body-font-weight;
- }
-
- .checkbox {
- @extend %checkboxOrRadio;
- }
-
- .radio {
- @extend %checkboxOrRadio;
- }
-
- .toggle {
- display: flex;
- justify-content: space-between;
- align-items: center;
- font-family: $typography-paragraph-body-font-family;
- font-size: $typography-paragraph-body-font-size;
- line-height: $typography-paragraph-body-line-height;
- letter-spacing: $typography-paragraph-body-letter-spacing;
- font-weight: $typography-paragraph-body-font-weight;
- }
-
- .checkbox,
- .radio,
- .toggle {
- // apply padding when label is inline with form control
- .prependedLabel {
- order: -1; // place label before the control
- margin-inline-end: $label-start-margin;
- }
-
- .appendedLabel {
- margin-inline-start: $label-start-margin;
- }
- }
-
- .prominent {
- font-family: $typography-heading-4-font-family;
- font-weight: $typography-heading-4-font-weight;
- font-size: $typography-heading-4-font-size;
- line-height: $typography-heading-4-line-height;
- letter-spacing: $typography-heading-4-letter-spacing;
- display: block;
- margin-bottom: $spacing-xs;
- }
-}
diff --git a/packages/components/src/Label/Label.tsx b/packages/components/src/Label/Label.tsx
index 0db0dfe376a..7a8707f440d 100644
--- a/packages/components/src/Label/Label.tsx
+++ b/packages/components/src/Label/Label.tsx
@@ -1,7 +1,7 @@
import React, { type LabelHTMLAttributes } from 'react'
import classnames from 'classnames'
import { type OverrideClassName } from '~components/types/OverrideClassName'
-import styles from './Label.module.scss'
+import styles from './Label.module.css'
type LabelType = 'text' | 'checkbox' | 'toggle' | 'radio'
diff --git a/packages/components/src/Label/_docs/Label.stickersheet.stories.tsx b/packages/components/src/Label/_docs/Label.stickersheet.stories.tsx
index 50c1b8b3576..c79db466c07 100644
--- a/packages/components/src/Label/_docs/Label.stickersheet.stories.tsx
+++ b/packages/components/src/Label/_docs/Label.stickersheet.stories.tsx
@@ -1,5 +1,6 @@
import React from 'react'
import { type Meta } from '@storybook/react'
+import { Link } from '~components/Link'
import { StickerSheet, type StickerSheetStory } from '~storybook/components/StickerSheet'
import { Label, type LabelProps } from '../index'
import { BlockLabelTypes, InlineLabelTypes } from '../types'
@@ -35,12 +36,14 @@ const InlineControl = ({ labelText, ...props }: WrapperProps): JSX.Element => (
labelText={
{labelText}{' '}
-
a
-
+
}
>
@@ -55,12 +58,14 @@ const BlockControl = ({ labelText, ...props }: WrapperProps): JSX.Element => (
labelText={
{labelText}{' '}
-
anchor
-
+
}
/>
diff --git a/packages/components/src/LabelledMessage/LabelledMessage.module.scss b/packages/components/src/LabelledMessage/LabelledMessage.module.css
similarity index 60%
rename from packages/components/src/LabelledMessage/LabelledMessage.module.scss
rename to packages/components/src/LabelledMessage/LabelledMessage.module.css
index d631c07297b..1f5efa09e86 100644
--- a/packages/components/src/LabelledMessage/LabelledMessage.module.scss
+++ b/packages/components/src/LabelledMessage/LabelledMessage.module.css
@@ -1,5 +1,3 @@
-@import '~@kaizen/design-tokens/sass/spacing';
-
@layer kz-components {
.labelledMessage {
display: inline-flex;
@@ -7,6 +5,6 @@
}
.labelSeparator {
- margin-inline-end: $spacing-6;
+ margin-inline-end: var(--spacing-6);
}
}
diff --git a/packages/components/src/LabelledMessage/LabelledMessage.tsx b/packages/components/src/LabelledMessage/LabelledMessage.tsx
index cf50ee0e1ec..38259fb317a 100644
--- a/packages/components/src/LabelledMessage/LabelledMessage.tsx
+++ b/packages/components/src/LabelledMessage/LabelledMessage.tsx
@@ -1,7 +1,7 @@
import React, { type HTMLAttributes } from 'react'
import classnames from 'classnames'
import { type OverrideClassName } from '~components/types/OverrideClassName'
-import styles from './LabelledMessage.module.scss'
+import styles from './LabelledMessage.module.css'
export type LabelledMessageProps = {
label: string | React.ReactElement