@astryxdesign/cli 0.3.0-canary.cd0b9f6 → 0.3.0-canary.d31557b

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.
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Horizontal Progress',
8
+ displayName: 'Stepper — Horizontal Progress',
9
+ description:
10
+ 'A horizontal separated stepper: each step owns a segment of the progress bar above its label. Filled segments track how far the flow has progressed.',
11
+ isReady: true,
12
+ aspectRatio: 16 / 9,
13
+ componentsUsed: ['Stepper'],
14
+ };
@@ -0,0 +1,24 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+
8
+ export default function StepperHorizontal() {
9
+ const [active, setActive] = useState(1);
10
+ return (
11
+ <div style={{width: '100%', maxWidth: 600}}>
12
+ <Stepper
13
+ activeStep={active}
14
+ orientation="horizontal"
15
+ onStepClick={setActive}>
16
+ <Step step={0} label="Workspace" />
17
+ <Step step={1} label="Team" />
18
+ <Step step={2} label="Integrations" />
19
+ <Step step={3} label="Import" />
20
+ <Step step={4} label="Launch" />
21
+ </Stepper>
22
+ </div>
23
+ );
24
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Indicator Modes',
8
+ displayName: 'Stepper — Indicator Modes',
9
+ description:
10
+ 'The indicator prop side by side: auto (check when done, ring when current, number ahead), always-number, and a custom icon per step.',
11
+ isReady: true,
12
+ aspectRatio: 4 / 3,
13
+ componentsUsed: ['Stepper', 'Text', 'Icon'],
14
+ };
@@ -0,0 +1,68 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+ import {Text} from '@astryxdesign/core/Text';
8
+ import {Icon} from '@astryxdesign/core/Icon';
9
+
10
+ export default function StepperIndicatorModes() {
11
+ const [active, setActive] = useState(2);
12
+ return (
13
+ <div style={{display: 'flex', gap: 48, flexWrap: 'wrap'}}>
14
+ <div style={{maxWidth: 220}}>
15
+ <Text type="label">Auto</Text>
16
+ <Stepper
17
+ activeStep={active}
18
+ orientation="vertical"
19
+ onStepClick={setActive}>
20
+ <Step step={0} label="Account" />
21
+ <Step step={1} label="Profile" />
22
+ <Step step={2} label="Settings" />
23
+ <Step step={3} label="Review" />
24
+ </Stepper>
25
+ </div>
26
+ <div style={{maxWidth: 220}}>
27
+ <Text type="label">Number</Text>
28
+ <Stepper
29
+ activeStep={active}
30
+ orientation="vertical"
31
+ onStepClick={setActive}>
32
+ <Step step={0} label="Account" indicator="number" />
33
+ <Step step={1} label="Profile" indicator="number" />
34
+ <Step step={2} label="Settings" indicator="number" />
35
+ <Step step={3} label="Review" indicator="number" />
36
+ </Stepper>
37
+ </div>
38
+ <div style={{maxWidth: 220}}>
39
+ <Text type="label">Custom icon</Text>
40
+ <Stepper
41
+ activeStep={active}
42
+ orientation="vertical"
43
+ onStepClick={setActive}>
44
+ <Step
45
+ step={0}
46
+ label="Account"
47
+ icon={<Icon icon="info" size="sm" />}
48
+ />
49
+ <Step
50
+ step={1}
51
+ label="Profile"
52
+ icon={<Icon icon="search" size="sm" />}
53
+ />
54
+ <Step
55
+ step={2}
56
+ label="Settings"
57
+ icon={<Icon icon="wrench" size="sm" />}
58
+ />
59
+ <Step
60
+ step={3}
61
+ label="Review"
62
+ icon={<Icon icon="check" size="sm" />}
63
+ />
64
+ </Stepper>
65
+ </div>
66
+ </div>
67
+ );
68
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Multi-Step Form',
8
+ displayName: 'Stepper — Multi-Step Form',
9
+ description:
10
+ 'A vertical stepper driving a multi-step form. Each step renders its own fields in the content slot for the active step, with Back/Continue buttons advancing activeStep.',
11
+ isReady: true,
12
+ aspectRatio: 4 / 3,
13
+ componentsUsed: ['Stepper', 'TextInput', 'Button', 'Text'],
14
+ };
@@ -0,0 +1,92 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+ import {TextInput} from '@astryxdesign/core/TextInput';
8
+ import {Button} from '@astryxdesign/core/Button';
9
+ import {Text} from '@astryxdesign/core/Text';
10
+
11
+ export default function StepperMultiStepForm() {
12
+ const [active, setActive] = useState(0);
13
+ return (
14
+ <div style={{width: '100%', maxWidth: 480}}>
15
+ <Stepper
16
+ activeStep={active}
17
+ orientation="vertical"
18
+ onStepClick={setActive}>
19
+ <Step step={0} label="Project details" indicator="number">
20
+ {active === 0 && (
21
+ <div style={{display: 'flex', flexDirection: 'column', gap: 12}}>
22
+ <TextInput
23
+ label="Project name"
24
+ placeholder="My awesome project"
25
+ value=""
26
+ />
27
+ <TextInput
28
+ label="Repository URL"
29
+ placeholder="https://github.com/..."
30
+ value=""
31
+ />
32
+ <div>
33
+ <Button
34
+ label="Continue"
35
+ variant="primary"
36
+ onClick={() => setActive(1)}
37
+ />
38
+ </div>
39
+ </div>
40
+ )}
41
+ </Step>
42
+ <Step step={1} label="Environment" indicator="number">
43
+ {active === 1 && (
44
+ <div style={{display: 'flex', flexDirection: 'column', gap: 12}}>
45
+ <TextInput label="Node version" placeholder="20" value="" />
46
+ <TextInput
47
+ label="Build command"
48
+ placeholder="npm run build"
49
+ value=""
50
+ />
51
+ <div style={{display: 'flex', gap: 8}}>
52
+ <Button
53
+ label="Back"
54
+ variant="secondary"
55
+ onClick={() => setActive(0)}
56
+ />
57
+ <Button
58
+ label="Continue"
59
+ variant="primary"
60
+ onClick={() => setActive(2)}
61
+ />
62
+ </div>
63
+ </div>
64
+ )}
65
+ </Step>
66
+ <Step step={2} label="Deploy" indicator="number">
67
+ {active === 2 && (
68
+ <div style={{display: 'flex', flexDirection: 'column', gap: 12}}>
69
+ <Text type="body">
70
+ Ready to deploy. This creates a production build and pushes to
71
+ your configured hosting.
72
+ </Text>
73
+ <div style={{display: 'flex', gap: 8}}>
74
+ <Button
75
+ label="Back"
76
+ variant="secondary"
77
+ onClick={() => setActive(1)}
78
+ />
79
+ <Button
80
+ label="Deploy now"
81
+ variant="primary"
82
+ onClick={() => setActive(3)}
83
+ />
84
+ </div>
85
+ </div>
86
+ )}
87
+ </Step>
88
+ <Step step={3} label="Done" indicator="number" />
89
+ </Stepper>
90
+ </div>
91
+ );
92
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — On-Track Vertical',
8
+ displayName: 'Stepper — On-Track Vertical',
9
+ description:
10
+ 'The on-track layout in vertical orientation: indicators sit inline on a continuous connector rail, with each label and description beside its node.',
11
+ isReady: true,
12
+ aspectRatio: 4 / 3,
13
+ componentsUsed: ['Stepper'],
14
+ };
@@ -0,0 +1,41 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+
8
+ export default function StepperOnTrackVertical() {
9
+ const [active, setActive] = useState(2);
10
+ return (
11
+ <div style={{width: '100%', maxWidth: 400}}>
12
+ <Stepper
13
+ activeStep={active}
14
+ orientation="vertical"
15
+ indicatorPosition="on-track"
16
+ onStepClick={setActive}>
17
+ <Step
18
+ step={0}
19
+ label="Create workspace"
20
+ description="Name and configure your workspace"
21
+ />
22
+ <Step
23
+ step={1}
24
+ label="Invite team members"
25
+ description="Add collaborators by email"
26
+ />
27
+ <Step
28
+ step={2}
29
+ label="Set up integrations"
30
+ description="Connect Slack, GitHub, Jira"
31
+ />
32
+ <Step
33
+ step={3}
34
+ label="Import data"
35
+ description="Bring in existing projects"
36
+ />
37
+ <Step step={4} label="Launch" description="Go live with your team" />
38
+ </Stepper>
39
+ </div>
40
+ );
41
+ }
@@ -0,0 +1,15 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Checkout Progress',
8
+ displayName: 'Stepper — Checkout Progress',
9
+ description:
10
+ 'A horizontal on-track stepper for a checkout flow: numbered nodes sit on a continuous connector, with completed and current steps filled. Click any step to jump.',
11
+ isReady: true,
12
+ isShowcase: true,
13
+ aspectRatio: 16 / 9,
14
+ componentsUsed: ['Stepper'],
15
+ };
@@ -0,0 +1,25 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+
8
+ export default function StepperShowcase() {
9
+ const [active, setActive] = useState(2);
10
+ return (
11
+ <div style={{width: '100%', maxWidth: 640}}>
12
+ <Stepper
13
+ activeStep={active}
14
+ orientation="horizontal"
15
+ indicatorPosition="on-track"
16
+ onStepClick={setActive}>
17
+ <Step step={0} label="Cart" indicator="number" />
18
+ <Step step={1} label="Shipping" indicator="number" />
19
+ <Step step={2} label="Payment" indicator="number" />
20
+ <Step step={3} label="Review" indicator="number" />
21
+ <Step step={4} label="Confirm" indicator="number" />
22
+ </Stepper>
23
+ </div>
24
+ );
25
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Validation Status',
8
+ displayName: 'Stepper — Validation Status',
9
+ description:
10
+ 'Semantic status per step in a verification flow: success shows a green check, error a red glyph, accent the in-progress step. Status sets the indicator color and glyph only — never the connector — and is announced to assistive tech as text.',
11
+ isReady: true,
12
+ aspectRatio: 4 / 3,
13
+ componentsUsed: ['Stepper'],
14
+ };
@@ -0,0 +1,50 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+
8
+ export default function StepperStatus() {
9
+ const [active, setActive] = useState(3);
10
+ return (
11
+ <div style={{width: '100%', maxWidth: 400}}>
12
+ <Stepper
13
+ activeStep={active}
14
+ orientation="vertical"
15
+ onStepClick={setActive}>
16
+ <Step
17
+ step={0}
18
+ label="Email verified"
19
+ description="you@example.com"
20
+ status="success"
21
+ />
22
+ <Step
23
+ step={1}
24
+ label="Phone verified"
25
+ description="+1 (555) 012-3456"
26
+ status="success"
27
+ />
28
+ <Step
29
+ step={2}
30
+ label="Identity document"
31
+ description="Passport upload failed"
32
+ status="error"
33
+ />
34
+ <Step
35
+ step={3}
36
+ label="Address verification"
37
+ description="Pending review"
38
+ status="accent"
39
+ />
40
+ <Step
41
+ step={4}
42
+ label="Background check"
43
+ isOptional
44
+ description="Skipped"
45
+ />
46
+ <Step step={5} label="Account activated" />
47
+ </Stepper>
48
+ </div>
49
+ );
50
+ }
@@ -0,0 +1,14 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ /** @type {import('@astryxdesign/cli/authoring').TemplateDoc} */
4
+ export const doc = {
5
+ type: 'block',
6
+ exampleFor: 'Stepper',
7
+ name: 'Stepper — Vertical Onboarding',
8
+ displayName: 'Stepper — Vertical Onboarding',
9
+ description:
10
+ 'A vertical stepper for an onboarding flow, with a label and description per step. The auto indicator shows a check for completed steps, a ring for the current step, and a number for upcoming ones.',
11
+ isReady: true,
12
+ aspectRatio: 4 / 3,
13
+ componentsUsed: ['Stepper'],
14
+ };
@@ -0,0 +1,40 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ import {useState} from 'react';
6
+ import {Stepper, Step} from '@astryxdesign/lab';
7
+
8
+ export default function StepperVerticalOnboarding() {
9
+ const [active, setActive] = useState(2);
10
+ return (
11
+ <div style={{width: '100%', maxWidth: 400}}>
12
+ <Stepper
13
+ activeStep={active}
14
+ orientation="vertical"
15
+ onStepClick={setActive}>
16
+ <Step
17
+ step={0}
18
+ label="Create workspace"
19
+ description="Name and configure your workspace"
20
+ />
21
+ <Step
22
+ step={1}
23
+ label="Invite team members"
24
+ description="Add collaborators by email"
25
+ />
26
+ <Step
27
+ step={2}
28
+ label="Set up integrations"
29
+ description="Connect Slack, GitHub, Jira"
30
+ />
31
+ <Step
32
+ step={3}
33
+ label="Import data"
34
+ description="Bring in existing projects"
35
+ />
36
+ <Step step={4} label="Launch" description="Go live with your team" />
37
+ </Stepper>
38
+ </div>
39
+ );
40
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/cli",
3
- "version": "0.3.0-canary.cd0b9f6",
3
+ "version": "0.3.0-canary.d31557b",
4
4
  "displayName": "CLI",
5
5
  "description": "Scaffold projects, browse templates, generate themes, and get agent-ready docs from the command line.",
6
6
  "author": "Meta Open Source",
@@ -84,10 +84,10 @@
84
84
  "zod": "^4.4.3"
85
85
  },
86
86
  "peerDependencies": {
87
- "@astryxdesign/charts": "0.3.0-canary.cd0b9f6",
88
- "@astryxdesign/core": "0.3.0-canary.cd0b9f6",
89
- "@astryxdesign/lab": "0.3.0-canary.cd0b9f6",
90
- "@astryxdesign/theme-neutral": "0.3.0-canary.cd0b9f6",
87
+ "@astryxdesign/charts": "0.3.0-canary.d31557b",
88
+ "@astryxdesign/core": "0.3.0-canary.d31557b",
89
+ "@astryxdesign/lab": "0.3.0-canary.d31557b",
90
+ "@astryxdesign/theme-neutral": "0.3.0-canary.d31557b",
91
91
  "gpt-tokenizer": "^3.4.0"
92
92
  },
93
93
  "peerDependenciesMeta": {
@@ -105,10 +105,10 @@
105
105
  }
106
106
  },
107
107
  "devDependencies": {
108
- "@astryxdesign/charts": "0.3.0-canary.cd0b9f6",
109
- "@astryxdesign/core": "0.3.0-canary.cd0b9f6",
110
- "@astryxdesign/lab": "0.3.0-canary.cd0b9f6",
111
- "@astryxdesign/theme-neutral": "0.3.0-canary.cd0b9f6",
108
+ "@astryxdesign/charts": "0.3.0-canary.d31557b",
109
+ "@astryxdesign/core": "0.3.0-canary.d31557b",
110
+ "@astryxdesign/lab": "0.3.0-canary.d31557b",
111
+ "@astryxdesign/theme-neutral": "0.3.0-canary.d31557b",
112
112
  "gpt-tokenizer": "^3.4.0"
113
113
  },
114
114
  "scripts": {