@discourser/design-system 0.25.0 → 0.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/figma-codex.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": "1.0.0",
|
|
3
3
|
"packageName": "@discourser/design-system",
|
|
4
|
-
"generatedAt": "2026-03-
|
|
5
|
-
"gitHash": "
|
|
4
|
+
"generatedAt": "2026-03-31T14:38:15.806Z",
|
|
5
|
+
"gitHash": "e47e7ec5",
|
|
6
6
|
"figmaFiles": {
|
|
7
7
|
"GaHmFfmvO4loUzuZS4TgEz": {
|
|
8
8
|
"fileKey": "GaHmFfmvO4loUzuZS4TgEz"
|
|
@@ -721,7 +721,7 @@
|
|
|
721
721
|
},
|
|
722
722
|
"props": [],
|
|
723
723
|
"subComponents": [],
|
|
724
|
-
"example": "<RadioGroup.Root>\n <RadioGroup.Item value=\"
|
|
724
|
+
"example": "<RadioGroup.Root defaultValue=\"option-1\">\n <RadioGroup.Item value=\"option-1\">\n <RadioGroup.ItemControl />\n <RadioGroup.ItemText>Option 1</RadioGroup.ItemText>\n </RadioGroup.Item>\n <RadioGroup.Item value=\"option-2\">\n <RadioGroup.ItemControl />\n <RadioGroup.ItemText>Option 2</RadioGroup.ItemText>\n </RadioGroup.Item>\n <RadioGroup.Item value=\"option-3\">\n <RadioGroup.ItemControl />\n <RadioGroup.ItemText>Option 3</RadioGroup.ItemText>\n </RadioGroup.Item>\n </RadioGroup.Root>",
|
|
725
725
|
"sourcePath": "src/components/RadioGroup.tsx",
|
|
726
726
|
"tokens": {
|
|
727
727
|
"recipe": "radioGroup",
|
|
@@ -936,8 +936,20 @@
|
|
|
936
936
|
},
|
|
937
937
|
"props": [],
|
|
938
938
|
"subComponents": [],
|
|
939
|
-
"example": "<Slider.Root defaultValue={[50]}>\n <Slider.Label>Volume</Slider.Label>\n <Slider.Control>\n <Slider.Track>\n <Slider.Range />\n </Slider.Track>\n <Slider.Thumbs />\n </Slider.Control>\n </Slider.Root>",
|
|
940
|
-
"sourcePath": "src/components/Slider.tsx"
|
|
939
|
+
"example": "<Slider.Root defaultValue={[50]} orientation={orientation}>\n <Slider.Label>Volume</Slider.Label>\n <Slider.Control>\n <Slider.Track>\n <Slider.Range />\n </Slider.Track>\n <Slider.Thumbs />\n </Slider.Control>\n </Slider.Root>",
|
|
940
|
+
"sourcePath": "src/components/Slider.tsx",
|
|
941
|
+
"tokens": {
|
|
942
|
+
"recipe": "slider",
|
|
943
|
+
"variantProps": [
|
|
944
|
+
"orientation",
|
|
945
|
+
"size",
|
|
946
|
+
"variant"
|
|
947
|
+
],
|
|
948
|
+
"figmaPropToRecipeProp": {
|
|
949
|
+
"Orientation": "orientation",
|
|
950
|
+
"Size": "size"
|
|
951
|
+
}
|
|
952
|
+
}
|
|
941
953
|
},
|
|
942
954
|
"Stepper": {
|
|
943
955
|
"name": "Stepper",
|
package/package.json
CHANGED
|
@@ -12,6 +12,25 @@ import * as RadioGroup from './RadioGroup';
|
|
|
12
12
|
// Original designer-built component — .Radio Group Radio Toggle (38:8893)
|
|
13
13
|
// Variants: Checked(False/True) × State(Default/Focus/Disabled)
|
|
14
14
|
// This is the component used in production Discourser.AI page designs.
|
|
15
|
+
//
|
|
16
|
+
// Anatomy:
|
|
17
|
+
// <RadioGroup.Root value={string} onValueChange={fn}>
|
|
18
|
+
// <RadioGroup.Item value="x">
|
|
19
|
+
// <RadioGroup.ItemControl />
|
|
20
|
+
// <RadioGroup.ItemText>Label</RadioGroup.ItemText>
|
|
21
|
+
// </RadioGroup.Item>
|
|
22
|
+
// </RadioGroup.Root>
|
|
23
|
+
//
|
|
24
|
+
// Key props on Root:
|
|
25
|
+
// value — controlled selected value (string)
|
|
26
|
+
// defaultValue — uncontrolled initial value (string)
|
|
27
|
+
// onValueChange — callback ({ value }: { value: string }) => void
|
|
28
|
+
// disabled — boolean, disables all items
|
|
29
|
+
// orientation — 'horizontal' | 'vertical' (default: 'vertical')
|
|
30
|
+
//
|
|
31
|
+
// Key props on Item:
|
|
32
|
+
// value — required unique string for this option
|
|
33
|
+
// disabled — boolean, disables this item only
|
|
15
34
|
figma.connect(
|
|
16
35
|
RadioGroup.Root,
|
|
17
36
|
'https://www.figma.com/design/GaHmFfmvO4loUzuZS4TgEz/Discourser.AI--V1?node-id=38-8893',
|
|
@@ -23,15 +42,19 @@ figma.connect(
|
|
|
23
42
|
}),
|
|
24
43
|
},
|
|
25
44
|
example: ({ checked: _checked }) => (
|
|
26
|
-
<RadioGroup.Root>
|
|
27
|
-
<RadioGroup.Item value="
|
|
45
|
+
<RadioGroup.Root defaultValue="option-1">
|
|
46
|
+
<RadioGroup.Item value="option-1">
|
|
28
47
|
<RadioGroup.ItemControl />
|
|
29
48
|
<RadioGroup.ItemText>Option 1</RadioGroup.ItemText>
|
|
30
49
|
</RadioGroup.Item>
|
|
31
|
-
<RadioGroup.Item value="
|
|
50
|
+
<RadioGroup.Item value="option-2">
|
|
32
51
|
<RadioGroup.ItemControl />
|
|
33
52
|
<RadioGroup.ItemText>Option 2</RadioGroup.ItemText>
|
|
34
53
|
</RadioGroup.Item>
|
|
54
|
+
<RadioGroup.Item value="option-3">
|
|
55
|
+
<RadioGroup.ItemControl />
|
|
56
|
+
<RadioGroup.ItemText>Option 3</RadioGroup.ItemText>
|
|
57
|
+
</RadioGroup.Item>
|
|
35
58
|
</RadioGroup.Root>
|
|
36
59
|
),
|
|
37
60
|
},
|
|
@@ -1,12 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @dds-tokens
|
|
3
|
+
* recipe: slider
|
|
4
|
+
* variantProps: orientation, size, variant
|
|
5
|
+
* figmaPropToRecipeProp:
|
|
6
|
+
* Orientation: orientation
|
|
7
|
+
* Size: size
|
|
8
|
+
*/
|
|
1
9
|
import figma from '@figma/code-connect';
|
|
2
10
|
import * as Slider from './Slider';
|
|
3
11
|
|
|
12
|
+
// Original designer-built component — Discourser AI Slider (38:7988)
|
|
13
|
+
// This is the component used in production Discourser.AI page designs.
|
|
14
|
+
//
|
|
15
|
+
// Import as namespace: import * as Slider from '@discourser/design-system/Slider'
|
|
16
|
+
//
|
|
17
|
+
// Anatomy:
|
|
18
|
+
// <Slider.Root defaultValue={[number]} min={number} max={number} step={number}>
|
|
19
|
+
// <Slider.Label>Label text</Slider.Label>
|
|
20
|
+
// <Slider.Control>
|
|
21
|
+
// <Slider.Track>
|
|
22
|
+
// <Slider.Range />
|
|
23
|
+
// </Slider.Track>
|
|
24
|
+
// <Slider.Thumbs /> ← convenience component, renders one Thumb per value
|
|
25
|
+
// </Slider.Control>
|
|
26
|
+
// <Slider.ValueText /> ← optional, displays current value
|
|
27
|
+
// </Slider.Root>
|
|
28
|
+
//
|
|
29
|
+
// Key props on Root:
|
|
30
|
+
// defaultValue — uncontrolled initial value array, e.g. [50]
|
|
31
|
+
// value — controlled value array, e.g. [50]
|
|
32
|
+
// onValueChange — callback ({ value }: { value: number[] }) => void
|
|
33
|
+
// min — number (default: 0)
|
|
34
|
+
// max — number (default: 100)
|
|
35
|
+
// step — number (default: 1)
|
|
36
|
+
// orientation — 'horizontal' | 'vertical' (default: 'horizontal')
|
|
37
|
+
// disabled — boolean
|
|
38
|
+
// colorPalette — 'primary' | 'secondary' | 'tertiary' | 'neutral' | 'error'
|
|
39
|
+
//
|
|
40
|
+
// Convenience components:
|
|
41
|
+
// <Slider.Thumbs /> — renders one Thumb per value entry (use instead of
|
|
42
|
+
// manually mapping Slider.Thumb with index props)
|
|
43
|
+
// <Slider.Marks marks={[0, 25, 50, 75, 100]} /> — renders a MarkerGroup
|
|
4
44
|
figma.connect(
|
|
5
45
|
Slider.Root,
|
|
6
46
|
'https://www.figma.com/design/GaHmFfmvO4loUzuZS4TgEz/Discourser.AI--V1?node-id=38-7988',
|
|
7
47
|
{
|
|
8
|
-
|
|
9
|
-
|
|
48
|
+
props: {
|
|
49
|
+
orientation: figma.enum('Orientation', {
|
|
50
|
+
Horizontal: 'horizontal',
|
|
51
|
+
Vertical: 'vertical',
|
|
52
|
+
}),
|
|
53
|
+
},
|
|
54
|
+
example: ({ orientation }) => (
|
|
55
|
+
<Slider.Root defaultValue={[50]} orientation={orientation}>
|
|
10
56
|
<Slider.Label>Volume</Slider.Label>
|
|
11
57
|
<Slider.Control>
|
|
12
58
|
<Slider.Track>
|
|
@@ -12,6 +12,23 @@ import * as Switch from './Switch';
|
|
|
12
12
|
// Original designer-built component — Discourser AI Switch Toggle (38:8121)
|
|
13
13
|
// Variants: Toggled(False/True) × State(Default/Focus/Disabled)
|
|
14
14
|
// This is the component used in production Discourser.AI page designs.
|
|
15
|
+
//
|
|
16
|
+
// Import as namespace: import * as Switch from '@discourser/design-system/Switch'
|
|
17
|
+
//
|
|
18
|
+
// Anatomy:
|
|
19
|
+
// <Switch.Root defaultChecked={bool}>
|
|
20
|
+
// <Switch.Control /> ← renders the track + thumb internally
|
|
21
|
+
// <Switch.Label>Label text</Switch.Label>
|
|
22
|
+
// </Switch.Root>
|
|
23
|
+
//
|
|
24
|
+
// Key props on Root:
|
|
25
|
+
// defaultChecked — uncontrolled initial state (boolean)
|
|
26
|
+
// checked — controlled state (boolean)
|
|
27
|
+
// onCheckedChange — callback ({ checked }: { checked: boolean }) => void
|
|
28
|
+
// disabled — boolean
|
|
29
|
+
//
|
|
30
|
+
// Note: Switch.Control includes Switch.Thumb by default via defaultProps.
|
|
31
|
+
// Do NOT add <Switch.Thumb> manually inside <Switch.Control>.
|
|
15
32
|
figma.connect(
|
|
16
33
|
Switch.Root,
|
|
17
34
|
'https://www.figma.com/design/GaHmFfmvO4loUzuZS4TgEz/Discourser.AI--V1?node-id=38-8121',
|