diff --git a/.storybook/preview.js b/.storybook/preview.js index 0a00a4e51..461cf55c8 100644 --- a/.storybook/preview.js +++ b/.storybook/preview.js @@ -70,7 +70,7 @@ const preview = { options: { storySort: { method: "alphabetical", - order: ["Foundations", "Components", "Data Viz", "Deprecated"], + order: ["Bases", "Components", "Data Viz", "Deprecated"], }, }, }, diff --git a/packages/components/src/common/styles-dictionary/css/variables.css b/packages/components/src/common/styles-dictionary/css/variables.css index b40cfc080..07218fd41 100644 --- a/packages/components/src/common/styles-dictionary/css/variables.css +++ b/packages/components/src/common/styles-dictionary/css/variables.css @@ -149,6 +149,7 @@ --sds-drop-shadows-shadow-m: 0px 2px 10px 0px rgba(0, 0, 0, 0.15), 0px 2px 4px 0px rgba(0, 0, 0, 0.15); --sds-drop-shadows-shadow-s: 0px 2px 4px 0px rgba(0, 0, 0, 0.25); + --sds-drop-shadows-shadow-none: none; --sds-font-color: black; --sds-font-font-family-body: "Inter", sans-serif; --sds-font-font-family-caps: "Inter", sans-serif; diff --git a/packages/components/src/common/styles-dictionary/design-tokens/drop-shadows.json b/packages/components/src/common/styles-dictionary/design-tokens/drop-shadows.json index a62068a33..f217ba369 100644 --- a/packages/components/src/common/styles-dictionary/design-tokens/drop-shadows.json +++ b/packages/components/src/common/styles-dictionary/design-tokens/drop-shadows.json @@ -5,10 +5,13 @@ "value": "0.0px 2.0px 12.0px 0px rgba(0, 0, 0, 0.3)" }, "shadowM": { - "value": "0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15),0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15)" + "value": "0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15), 0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15)" }, "shadowS": { "value": "0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.25)" + }, + "shadowNone": { + "value": "none" } } } diff --git a/packages/components/src/common/styles-dictionary/json/tailwind.json b/packages/components/src/common/styles-dictionary/json/tailwind.json index c790a4126..11e39b782 100644 --- a/packages/components/src/common/styles-dictionary/json/tailwind.json +++ b/packages/components/src/common/styles-dictionary/json/tailwind.json @@ -143,8 +143,9 @@ }, "boxShadow": { "sds-l": "0.0px 2.0px 12.0px 0px rgba(0, 0, 0, 0.3)", - "sds-m": "0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15),0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15)", - "sds-s": "0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.25)" + "sds-m": "0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15), 0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15)", + "sds-s": "0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.25)", + "sds-shadownone": "none" }, "colors": { "sds-color-primitive-common-black": "#000000", diff --git a/packages/components/src/common/styles-dictionary/scss/_variables.scss b/packages/components/src/common/styles-dictionary/scss/_variables.scss index ae3642b17..d99670f7b 100644 --- a/packages/components/src/common/styles-dictionary/scss/_variables.scss +++ b/packages/components/src/common/styles-dictionary/scss/_variables.scss @@ -145,8 +145,9 @@ $sds-corners-corner-m: 4px; $sds-corners-corner-s: 2px; $sds-corners-corner-none: 0px; $sds-drop-shadows-shadow-l: 0.0px 2.0px 12.0px 0px rgba(0, 0, 0, 0.3); -$sds-drop-shadows-shadow-m: 0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15),0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15); +$sds-drop-shadows-shadow-m: 0.0px 2.0px 10.0px 0px rgba(0, 0, 0, 0.15), 0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.15); $sds-drop-shadows-shadow-s: 0.0px 2.0px 4.0px 0px rgba(0, 0, 0, 0.25); +$sds-drop-shadows-shadow-none: none; $sds-font-color: black; $sds-font-font-family-body: "Inter", sans-serif; $sds-font-font-family-caps: "Inter", sans-serif; diff --git a/packages/components/src/core/Bases/Borders/index.stories.tsx b/packages/components/src/core/Bases/Borders/index.stories.tsx new file mode 100644 index 000000000..b2a8efcba --- /dev/null +++ b/packages/components/src/core/Bases/Borders/index.stories.tsx @@ -0,0 +1,137 @@ +import { Meta } from "@storybook/react"; +import { BADGE } from "../../../common/SDSBadges"; +import { useTheme } from "@mui/material"; +import { getBorders } from "../../styles"; +import { + StyledBorderBox, + StyledBorderVariable, + StyledBordersWrapper, +} from "./style"; +import Table from "src/core/Table"; +import TableHeader from "src/core/TableHeader"; +import CellHeader from "src/core/CellHeader"; +import TableRow from "src/core/TableRow"; +import CellComponent from "src/core/CellComponent"; +import CellBasic from "src/core/CellBasic"; +import { copyToClipboard } from "../utils"; + +export default { + parameters: { + badges: [BADGE.WIP], + }, + title: "Bases/Borders", +} as Meta; + +// Corners + +const Usage: Record = { + "$sds-borders-accent-300": "-", + "$sds-borders-accent-400": + "Secondary buttons, active states of input containers", + "$sds-borders-accent-500": "Hover rounded and square buttons", + "$sds-borders-accent-600": "Active rounded and square buttons", + "$sds-borders-accent-dashed": + "Hover states for containers with dashed borders", + "$sds-borders-base-100": "Modals and dropdown Menus", + "$sds-borders-base-200": "-", + "$sds-borders-base-300": + "Disabled or non-interactive containers (buttons/inputs/tooltips)", + "$sds-borders-base-400": "Input borders (default states)", + "$sds-borders-base-500": "-", + "$sds-borders-base-black": "Input and dropdown hover states", + "$sds-borders-base-dashed": "File upload/drag and drop containers", + "$sds-borders-beta-400": "-", + "$sds-borders-info-400": "-", + "$sds-borders-link-dashed": + "Default bottom-border for Text Links; border color is inherited from the color used in the paragraph it is part of.", + "$sds-borders-link-solid": + "Hover and Pressed bottom-border for Text Links; border color is inherited from the color used in the paragraph it is part of.", + "$sds-borders-negative-400": "Error state on inputs.", + "$sds-borders-none": "No borders", + "$sds-borders-notice-400": "Warning state on inputs.", + "$sds-borders-positive-400": "Success state on inputs.", +}; + +const Template = () => { + const theme = useTheme(); + const borders = getBorders({ theme }); + + const RenderTableRow = ( + border: string, + group: string | null, + name: string + ) => { + const variable = group + ? "$sds-borders-" + group + "-" + name + : "$sds-borders-" + name; + + return ( + + + + + + copyToClipboard(`border: ${border};`)} + > + border: {border}; + + + copyToClipboard(variable)} + > + {variable} + + + + + ); + }; + + if (borders) { + const { none, link, base, ...rest } = borders; + + // eslint-disable-next-line sort-keys + const TableBodyContent = Object.entries({ none, link, base, ...rest }).map( + ([key, value]) => { + if (typeof value === "object") { + return Object.entries(value).map(([k, v]) => { + return RenderTableRow(v as string, key, k); + }); + } else { + return RenderTableRow(value, null, key); + } + } + ); + + return ( + + + + Example + + Variable + Value + Usage + + {TableBodyContent} +
+ ); + } +}; + +export const Default = { + render: () => ( + <> + +