Skip to content

Commit bde8419

Browse files
committed
refactor(components): use semantic design tokens
1 parent 498b166 commit bde8419

File tree

122 files changed

+1400
-1024
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

122 files changed

+1400
-1024
lines changed

packages/ods-react/src/components/accordion/src/components/accordion-content/AccordionContent.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,10 @@ const AccordionContent: FC<AccordionContentProp> = forwardRef(({
1212
}, ref): JSX.Element => {
1313
return (
1414
<Accordion.ItemContent
15-
className={ classNames(style[ 'accordion-content' ], className) }
15+
className={ classNames(style['accordion-content'], className) }
1616
data-ods="accordion-content"
1717
ref={ ref }
18-
{ ...props }
19-
>
18+
{ ...props }>
2019
{ children }
2120
</Accordion.ItemContent>
2221
);
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
@use "../accordion/accordion.module";
2-
31
@layer ods-atoms {
42
.accordion-content {
5-
padding: 0 accordion.$ods-accordion-padding accordion.$ods-accordion-padding;
3+
padding: 0 var(--ods-accordion-padding) var(--ods-accordion-padding);
64
}
75
}

packages/ods-react/src/components/accordion/src/components/accordion-item/AccordionItem.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,12 @@ const AccordionItem: FC<AccordionItemProp> = forwardRef(({
2323
}, ref): JSX.Element => {
2424
return (
2525
<Accordion.Item
26-
className={ classNames(style[ 'accordion-item' ], className) }
26+
className={ classNames(style['accordion-item'], className) }
2727
data-ods="accordion-item"
2828
disabled={ disabled }
2929
ref={ ref }
3030
value={ value }
31-
{ ...props }
32-
>
31+
{ ...props }>
3332
{ children }
3433
</Accordion.Item>
3534
);

packages/ods-react/src/components/accordion/src/components/accordion-item/accordionItem.module.scss

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,23 @@
1-
@use '../../../../../style/focus';
21
@use '../../../../../style/state';
3-
@use "../accordion/accordion.module";
42

53
@layer ods-atoms {
64
.accordion-item {
75
display: grid;
8-
border-width: accordion.$ods-accordion-border-size;
6+
position: relative;
7+
border-width: var(--ods-accordion-border-width);
98
border-style: solid;
10-
border-color: transparent;
9+
border-color: var(--ods-accordion-border-color);
1110

1211
&:not(:first-child) {
1312
margin-top: -1px;
1413
}
1514

1615
&:not([data-disabled]) {
17-
&[data-state='closed']:hover, &:focus-within {
18-
transition: .3s border-color ease-out;
19-
border-color: var(--ods-color-primary-200);
20-
}
21-
22-
&[data-state='open'] {
23-
border-color: var(--ods-color-primary-500);
16+
&[data-state='open'],
17+
&[data-state='closed']:hover,
18+
&:focus-within {
19+
z-index: 1;
20+
border-color: var(--ods-accordion-border-color-hover);
2421
}
2522
}
2623

packages/ods-react/src/components/accordion/src/components/accordion-trigger/AccordionTrigger.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,17 +13,17 @@ const AccordionTrigger: FC<AccordionTriggerProp> = forwardRef(({
1313
}, ref): JSX.Element => {
1414
return (
1515
<Accordion.ItemTrigger
16-
className={ classNames(style[ 'accordion-trigger' ], className) }
16+
className={ classNames(style['accordion-trigger'], className) }
1717
data-ods="accordion-trigger"
1818
ref={ ref }
1919
{ ...props }>
20-
<div className={ style[ 'accordion-trigger__content' ] }>
20+
<div className={ style['accordion-trigger__content'] }>
2121
{ children }
2222
</div>
2323

2424
<Accordion.ItemIndicator asChild>
2525
<Icon
26-
className={ style[ 'accordion-trigger__icon' ] }
26+
className={ style['accordion-trigger__icon'] }
2727
name={ ICON_NAME.chevronDown } />
2828
</Accordion.ItemIndicator>
2929
</Accordion.ItemTrigger>

packages/ods-react/src/components/accordion/src/components/accordion-trigger/accordionTrigger.module.scss

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,17 @@
11
@use '../../../../../style/focus';
2-
@use '../../../../../style/state';
3-
@use "../accordion/accordion.module";
42

53
@layer ods-atoms {
64
.accordion-trigger {
75
$trigger: &;
86

97
display: grid;
108
grid-template-columns: 1fr max-content;
11-
column-gap: accordion.$ods-accordion-padding;
9+
column-gap: var(--ods-accordion-padding);
1210
align-items: center;
13-
border: accordion.$ods-accordion-border-size solid transparent;
11+
border: solid var(--ods-accordion-border-width) transparent;
1412
background: transparent;
1513
cursor: pointer;
16-
padding: accordion.$ods-accordion-padding;
14+
padding: var(--ods-accordion-padding);
1715
text-align: left;
1816
font-family: inherit;
1917
font-size: inherit;
@@ -27,14 +25,14 @@
2725
@include focus.ods-focus();
2826
}
2927

30-
&[data-state='open'] {
28+
&[data-state="open"] {
3129
#{$trigger}__icon {
3230
transform: rotate(180deg);
3331
}
3432
}
3533

3634
#{$trigger}__icon {
37-
color: var(--ods-color-primary-500);
35+
color: var(--ods-theme-primary-color);
3836
font-size: 1.25rem;
3937
}
4038
}

packages/ods-react/src/components/accordion/src/components/accordion/Accordion.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Accordion as VendorAccordion } from '@ark-ui/react/accordion';
22
import classNames from 'classnames';
33
import { type ComponentPropsWithRef, type FC, type JSX, forwardRef } from 'react';
4+
import styles from './accordion.module.scss';
45

56
interface AccordionChangeDetail {
67
value: string[],
@@ -40,7 +41,7 @@ const Accordion: FC<AccordionProp> = forwardRef(({
4041
}, ref): JSX.Element => {
4142
return (
4243
<VendorAccordion.Root
43-
className={ classNames(className) }
44+
className={ classNames(styles['accordion'], className) }
4445
collapsible={ true }
4546
data-ods="accordion"
4647
defaultValue={ defaultValue }
@@ -49,8 +50,7 @@ const Accordion: FC<AccordionProp> = forwardRef(({
4950
multiple={ multiple }
5051
onValueChange={ onChange }
5152
value={ value }
52-
{ ...props }
53-
/>
53+
{ ...props } />
5454
);
5555
});
5656

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,8 @@
1-
$ods-accordion-border-size: 1px;
2-
$ods-accordion-padding: 24px;
1+
@layer ods-atoms {
2+
.accordion {
3+
--ods-accordion-border-color: var(--ods-color-neutral-200);
4+
--ods-accordion-border-color-hover: var(--ods-color-neutral-500);
5+
--ods-accordion-border-width: 1px;
6+
--ods-accordion-padding: 24px;
7+
}
8+
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
.custom-accordion {
2+
--ods-accordion-border-width: 4px;
3+
--ods-accordion-padding: 40px;
4+
}

packages/ods-react/src/components/accordion/src/dev.stories.tsx

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,38 @@
11
import { useState } from 'react';
2+
import { Button } from '../../button/src';
3+
import { Text } from '../../text/src';
24
import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from '.';
3-
import { Button } from '../../button/src/index';
4-
import { Text } from '../../text/src/index';
5+
import style from './dev.module.css';
56

67
export default {
78
component: Accordion,
89
title: 'Accordion dev',
910
};
1011

12+
export const CustomStyle = () => (
13+
<Accordion className={ style['custom-accordion'] }>
14+
<AccordionItem value="1">
15+
<AccordionTrigger>
16+
My content
17+
</AccordionTrigger>
18+
<AccordionContent>
19+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
20+
</AccordionContent>
21+
</AccordionItem>
22+
</Accordion>
23+
);
24+
1125
export const Default = () => (
12-
<div style={ { width: '300px' } }>
13-
<Accordion>
14-
<AccordionItem value="1">
15-
<AccordionTrigger>
16-
<Text preset="paragraph">My content</Text>
17-
</AccordionTrigger>
18-
<AccordionContent>
19-
<Text preset="paragraph">
20-
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
21-
</Text>
22-
</AccordionContent>
23-
</AccordionItem>
24-
</Accordion>
25-
</div>
26+
<Accordion>
27+
<AccordionItem value="1">
28+
<AccordionTrigger>
29+
My content
30+
</AccordionTrigger>
31+
<AccordionContent>
32+
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
33+
</AccordionContent>
34+
</AccordionItem>
35+
</Accordion>
2636
);
2737

2838
export const Multiple = () => (

0 commit comments

Comments
 (0)