@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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "version": "1.0.0",
3
3
  "packageName": "@discourser/design-system",
4
- "generatedAt": "2026-03-31T13:16:49.337Z",
5
- "gitHash": "d9f8fa27",
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=\"item-1\">\n <RadioGroup.ItemControl />\n <RadioGroup.ItemText>Option 1</RadioGroup.ItemText>\n </RadioGroup.Item>\n <RadioGroup.Item value=\"item-2\">\n <RadioGroup.ItemControl />\n <RadioGroup.ItemText>Option 2</RadioGroup.ItemText>\n </RadioGroup.Item>\n </RadioGroup.Root>",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@discourser/design-system",
3
- "version": "0.25.0",
3
+ "version": "0.25.1",
4
4
  "description": "Aesthetic-agnostic design system with Panda CSS and Ark UI",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -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="item-1">
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="item-2">
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
- example: () => (
9
- <Slider.Root defaultValue={[50]}>
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',