@robr0/design-system 0.12.0 → 0.14.0
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/README.md +9 -3
- package/components/AvatarGroup/AvatarGroup.css +61 -0
- package/components/AvatarGroup/AvatarGroup.d.ts +32 -0
- package/components/AvatarGroup/AvatarGroup.js +31 -0
- package/components/Banner/Banner.css +110 -0
- package/components/Banner/Banner.d.ts +36 -0
- package/components/Banner/Banner.js +59 -0
- package/components/ContributionGraph/ContributionGraph.css +7 -1
- package/components/ContributionGraph/ContributionGraph.d.ts +9 -1
- package/components/ContributionGraph/ContributionGraph.js +59 -43
- package/components/EmptyState/EmptyState.css +5 -0
- package/components/FilterBar/FilterBar.css +202 -0
- package/components/FilterBar/FilterBar.d.ts +55 -0
- package/components/FilterBar/FilterBar.js +249 -0
- package/components/FunnelChart/FunnelChart.css +3 -2
- package/components/FunnelChart/FunnelChart.d.ts +12 -4
- package/components/FunnelChart/FunnelChart.js +48 -28
- package/components/Gauge/Gauge.css +110 -0
- package/components/Gauge/Gauge.d.ts +64 -0
- package/components/Gauge/Gauge.js +111 -0
- package/components/HoverCard/HoverCard.css +97 -0
- package/components/HoverCard/HoverCard.d.ts +29 -0
- package/components/HoverCard/HoverCard.js +83 -0
- package/components/ImageCompare/ImageCompare.css +112 -0
- package/components/ImageCompare/ImageCompare.d.ts +40 -0
- package/components/ImageCompare/ImageCompare.js +134 -0
- package/components/LinkList/LinkList.d.ts +3 -1
- package/components/LinkList/LinkList.js +4 -3
- package/components/Meter/Meter.css +89 -0
- package/components/Meter/Meter.d.ts +36 -0
- package/components/Meter/Meter.js +48 -0
- package/components/NotificationCenter/NotificationCenter.css +11 -3
- package/components/Rating/Rating.css +74 -0
- package/components/Rating/Rating.d.ts +41 -0
- package/components/Rating/Rating.js +124 -0
- package/components/Sparkline/Sparkline.d.ts +5 -3
- package/components/Sparkline/Sparkline.js +30 -1
- package/components/SplitButton/SplitButton.css +93 -0
- package/components/SplitButton/SplitButton.d.ts +43 -0
- package/components/SplitButton/SplitButton.js +66 -0
- package/components/SplitPane/SplitPane.css +106 -0
- package/components/SplitPane/SplitPane.d.ts +36 -0
- package/components/SplitPane/SplitPane.js +130 -0
- package/components/StreamingText/StreamingText.css +40 -0
- package/components/StreamingText/StreamingText.d.ts +62 -0
- package/components/StreamingText/StreamingText.js +49 -0
- package/components/StreamingText/useStreamReveal.d.ts +70 -0
- package/components/StreamingText/useStreamReveal.js +121 -0
- package/components/registry.json +88 -0
- package/components/registry.json.d.ts +88 -0
- package/components/registry.json.js +1 -1
- package/index.d.ts +11 -0
- package/index.js +25 -0
- package/package.json +5 -1
- package/tokens/motion.d.ts +12 -3
- package/tokens/motion.js +7 -1
package/index.d.ts
CHANGED
|
@@ -14,7 +14,9 @@ export * from './components/AnchorNav/AnchorNav';
|
|
|
14
14
|
export * from './components/AppLayout/AppLayout';
|
|
15
15
|
export * from './components/AppSidebar/AppSidebar';
|
|
16
16
|
export * from './components/Avatar/Avatar';
|
|
17
|
+
export * from './components/AvatarGroup/AvatarGroup';
|
|
17
18
|
export * from './components/Badge/Badge';
|
|
19
|
+
export * from './components/Banner/Banner';
|
|
18
20
|
export * from './components/Breadcrumb/Breadcrumb';
|
|
19
21
|
export * from './components/Button/Button';
|
|
20
22
|
export * from './components/ButtonGroup/ButtonGroup';
|
|
@@ -53,8 +55,12 @@ export * from './components/Field/Field';
|
|
|
53
55
|
export * from './components/Field/FieldContext';
|
|
54
56
|
export * from './components/Figure/Figure';
|
|
55
57
|
export * from './components/FileInput/FileInput';
|
|
58
|
+
export * from './components/FilterBar/FilterBar';
|
|
56
59
|
export * from './components/FunnelChart/FunnelChart';
|
|
60
|
+
export * from './components/Gauge/Gauge';
|
|
57
61
|
export * from './components/Globe/Globe';
|
|
62
|
+
export * from './components/HoverCard/HoverCard';
|
|
63
|
+
export * from './components/ImageCompare/ImageCompare';
|
|
58
64
|
export * from './components/Input/Input';
|
|
59
65
|
export * from './components/Instructions/Instructions';
|
|
60
66
|
export * from './components/InterruptCard/InterruptCard';
|
|
@@ -65,6 +71,7 @@ export * from './components/MapCallout/MapCallout';
|
|
|
65
71
|
export * from './components/MapLegend/MapLegend';
|
|
66
72
|
export * from './components/MessageActions/MessageActions';
|
|
67
73
|
export * from './components/MessageCard/MessageCard';
|
|
74
|
+
export * from './components/Meter/Meter';
|
|
68
75
|
export * from './components/ModelPicker/ModelPicker';
|
|
69
76
|
export * from './components/Nav/Nav';
|
|
70
77
|
export * from './components/NavList/NavList';
|
|
@@ -79,6 +86,7 @@ export * from './components/PromptSuggestions/PromptSuggestions';
|
|
|
79
86
|
export * from './components/Prose/Prose';
|
|
80
87
|
export * from './components/Quote/Quote';
|
|
81
88
|
export * from './components/RadioButton/RadioButton';
|
|
89
|
+
export * from './components/Rating/Rating';
|
|
82
90
|
export * from './components/Reasoning/Reasoning';
|
|
83
91
|
export * from './components/SectionTitle/SectionTitle';
|
|
84
92
|
export * from './components/SegmentedControl/SegmentedControl';
|
|
@@ -89,8 +97,11 @@ export * from './components/Slider/Slider';
|
|
|
89
97
|
export * from './components/SourceChip/SourceChip';
|
|
90
98
|
export * from './components/Sparkline/Sparkline';
|
|
91
99
|
export * from './components/Spinner/Spinner';
|
|
100
|
+
export * from './components/SplitButton/SplitButton';
|
|
101
|
+
export * from './components/SplitPane/SplitPane';
|
|
92
102
|
export * from './components/Stat/Stat';
|
|
93
103
|
export * from './components/Stepper/Stepper';
|
|
104
|
+
export * from './components/StreamingText/StreamingText';
|
|
94
105
|
export * from './components/Swatch/Swatch';
|
|
95
106
|
export * from './components/Table/Table';
|
|
96
107
|
export * from './components/Tabs/Tabs';
|
package/index.js
CHANGED
|
@@ -9,7 +9,9 @@ import { AnchorNav } from "./components/AnchorNav/AnchorNav.js";
|
|
|
9
9
|
import { AppLayout } from "./components/AppLayout/AppLayout.js";
|
|
10
10
|
import { AppSidebar } from "./components/AppSidebar/AppSidebar.js";
|
|
11
11
|
import { Avatar } from "./components/Avatar/Avatar.js";
|
|
12
|
+
import { AvatarGroup } from "./components/AvatarGroup/AvatarGroup.js";
|
|
12
13
|
import { Badge } from "./components/Badge/Badge.js";
|
|
14
|
+
import { Banner } from "./components/Banner/Banner.js";
|
|
13
15
|
import { Breadcrumb } from "./components/Breadcrumb/Breadcrumb.js";
|
|
14
16
|
import { Button } from "./components/Button/Button.js";
|
|
15
17
|
import { ButtonGroup } from "./components/ButtonGroup/ButtonGroup.js";
|
|
@@ -48,8 +50,12 @@ import { Field } from "./components/Field/Field.js";
|
|
|
48
50
|
import { FieldContext, useField } from "./components/Field/FieldContext.js";
|
|
49
51
|
import { Figure } from "./components/Figure/Figure.js";
|
|
50
52
|
import { FileInput } from "./components/FileInput/FileInput.js";
|
|
53
|
+
import { FilterBar } from "./components/FilterBar/FilterBar.js";
|
|
51
54
|
import { FunnelChart } from "./components/FunnelChart/FunnelChart.js";
|
|
55
|
+
import { Gauge } from "./components/Gauge/Gauge.js";
|
|
52
56
|
import { Globe } from "./components/Globe/Globe.js";
|
|
57
|
+
import { HoverCard } from "./components/HoverCard/HoverCard.js";
|
|
58
|
+
import { ImageCompare } from "./components/ImageCompare/ImageCompare.js";
|
|
53
59
|
import { Input } from "./components/Input/Input.js";
|
|
54
60
|
import { Instructions } from "./components/Instructions/Instructions.js";
|
|
55
61
|
import { InterruptCard } from "./components/InterruptCard/InterruptCard.js";
|
|
@@ -60,6 +66,7 @@ import { MapCallout } from "./components/MapCallout/MapCallout.js";
|
|
|
60
66
|
import { MapLegend } from "./components/MapLegend/MapLegend.js";
|
|
61
67
|
import { MessageActions } from "./components/MessageActions/MessageActions.js";
|
|
62
68
|
import { MessageCard } from "./components/MessageCard/MessageCard.js";
|
|
69
|
+
import { Meter } from "./components/Meter/Meter.js";
|
|
63
70
|
import { ModelPicker } from "./components/ModelPicker/ModelPicker.js";
|
|
64
71
|
import { Nav } from "./components/Nav/Nav.js";
|
|
65
72
|
import { NavList } from "./components/NavList/NavList.js";
|
|
@@ -74,6 +81,7 @@ import { PromptSuggestions } from "./components/PromptSuggestions/PromptSuggesti
|
|
|
74
81
|
import { Prose } from "./components/Prose/Prose.js";
|
|
75
82
|
import { Quote } from "./components/Quote/Quote.js";
|
|
76
83
|
import { RadioButton, RadioGroup } from "./components/RadioButton/RadioButton.js";
|
|
84
|
+
import { Rating } from "./components/Rating/Rating.js";
|
|
77
85
|
import { Reasoning } from "./components/Reasoning/Reasoning.js";
|
|
78
86
|
import { SectionTitle } from "./components/SectionTitle/SectionTitle.js";
|
|
79
87
|
import { SegmentedControl } from "./components/SegmentedControl/SegmentedControl.js";
|
|
@@ -84,8 +92,11 @@ import { Slider } from "./components/Slider/Slider.js";
|
|
|
84
92
|
import { SourceChip } from "./components/SourceChip/SourceChip.js";
|
|
85
93
|
import { Sparkline } from "./components/Sparkline/Sparkline.js";
|
|
86
94
|
import { Spinner } from "./components/Spinner/Spinner.js";
|
|
95
|
+
import { SplitButton } from "./components/SplitButton/SplitButton.js";
|
|
96
|
+
import { SplitPane } from "./components/SplitPane/SplitPane.js";
|
|
87
97
|
import { Stat } from "./components/Stat/Stat.js";
|
|
88
98
|
import { Stepper } from "./components/Stepper/Stepper.js";
|
|
99
|
+
import { StreamingText } from "./components/StreamingText/StreamingText.js";
|
|
89
100
|
import { Swatch } from "./components/Swatch/Swatch.js";
|
|
90
101
|
import { Table } from "./components/Table/Table.js";
|
|
91
102
|
import { Tabs } from "./components/Tabs/Tabs.js";
|
|
@@ -103,6 +114,7 @@ import { COMPONENT_COUNT, componentCategories, componentCategoryMetadata, compon
|
|
|
103
114
|
import { TOKEN_COUNT, TOKEN_COUNTS, tokenRegistry } from "./tokens/registry.js";
|
|
104
115
|
import { BLOB_COUNT } from "./components/ShaderField/field.glsl.js";
|
|
105
116
|
import { DEFAULT_SHADER_BLOBS, DEFAULT_SHADER_PARAMS, useShaderField } from "./components/ShaderField/useShaderField.js";
|
|
117
|
+
import { createStreamReveal, useStreamReveal } from "./components/StreamingText/useStreamReveal.js";
|
|
106
118
|
export {
|
|
107
119
|
Accordion,
|
|
108
120
|
AgentPlan,
|
|
@@ -114,8 +126,10 @@ export {
|
|
|
114
126
|
AppLayout,
|
|
115
127
|
AppSidebar,
|
|
116
128
|
Avatar,
|
|
129
|
+
AvatarGroup,
|
|
117
130
|
BLOB_COUNT,
|
|
118
131
|
Badge,
|
|
132
|
+
Banner,
|
|
119
133
|
Breadcrumb,
|
|
120
134
|
Button,
|
|
121
135
|
ButtonGroup,
|
|
@@ -158,8 +172,12 @@ export {
|
|
|
158
172
|
FieldContext,
|
|
159
173
|
Figure,
|
|
160
174
|
FileInput,
|
|
175
|
+
FilterBar,
|
|
161
176
|
FunnelChart,
|
|
177
|
+
Gauge,
|
|
162
178
|
Globe,
|
|
179
|
+
HoverCard,
|
|
180
|
+
ImageCompare,
|
|
163
181
|
Input,
|
|
164
182
|
Instructions,
|
|
165
183
|
InterruptCard,
|
|
@@ -170,6 +188,7 @@ export {
|
|
|
170
188
|
MapLegend,
|
|
171
189
|
MessageActions,
|
|
172
190
|
MessageCard,
|
|
191
|
+
Meter,
|
|
173
192
|
ModelPicker,
|
|
174
193
|
Nav,
|
|
175
194
|
NavList,
|
|
@@ -186,6 +205,7 @@ export {
|
|
|
186
205
|
Quote,
|
|
187
206
|
RadioButton,
|
|
188
207
|
RadioGroup,
|
|
208
|
+
Rating,
|
|
189
209
|
Reasoning,
|
|
190
210
|
SectionTitle,
|
|
191
211
|
SegmentedControl,
|
|
@@ -196,8 +216,11 @@ export {
|
|
|
196
216
|
SourceChip,
|
|
197
217
|
Sparkline,
|
|
198
218
|
Spinner,
|
|
219
|
+
SplitButton,
|
|
220
|
+
SplitPane,
|
|
199
221
|
Stat,
|
|
200
222
|
Stepper,
|
|
223
|
+
StreamingText,
|
|
201
224
|
Swatch,
|
|
202
225
|
TOKEN_COUNT,
|
|
203
226
|
TOKEN_COUNTS,
|
|
@@ -219,9 +242,11 @@ export {
|
|
|
219
242
|
componentCategoryMetadata,
|
|
220
243
|
componentMetadata,
|
|
221
244
|
componentRegistry,
|
|
245
|
+
createStreamReveal,
|
|
222
246
|
parseUnifiedDiff,
|
|
223
247
|
tokenRegistry,
|
|
224
248
|
useField,
|
|
225
249
|
useShaderField,
|
|
250
|
+
useStreamReveal,
|
|
226
251
|
useToast
|
|
227
252
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@robr0/design-system",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "An AI-ready React design system: accessible components on composable tokens, light/dark theming, and CSS-variable overrides.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -46,6 +46,10 @@
|
|
|
46
46
|
"types": "./components/ShaderField/useShaderField.d.ts",
|
|
47
47
|
"import": "./components/ShaderField/useShaderField.js"
|
|
48
48
|
},
|
|
49
|
+
"./components/StreamingText/useStreamReveal": {
|
|
50
|
+
"types": "./components/StreamingText/useStreamReveal.d.ts",
|
|
51
|
+
"import": "./components/StreamingText/useStreamReveal.js"
|
|
52
|
+
},
|
|
49
53
|
"./tokens/registry": {
|
|
50
54
|
"types": "./tokens/registry.d.ts",
|
|
51
55
|
"import": "./tokens/registry.js"
|
package/tokens/motion.d.ts
CHANGED
|
@@ -5,9 +5,12 @@
|
|
|
5
5
|
* CSS variable cannot reach. Components use them as defaults, so a single
|
|
6
6
|
* instance can still be tuned through its component's own props.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
* away),
|
|
10
|
-
*
|
|
8
|
+
* Most are schedule timings (when something starts, stops, or is taken
|
|
9
|
+
* away), which the reduced-motion guard in tokens-motion.css deliberately
|
|
10
|
+
* leaves alone. A constant that paces an animation (the streaming reveal's
|
|
11
|
+
* rate floor and drain window) is the exception: its component checks the
|
|
12
|
+
* preference itself in JS, because the CSS guard cannot see a JavaScript
|
|
13
|
+
* timer.
|
|
11
14
|
*/
|
|
12
15
|
/** Delay before a hover-triggered overlay appears, filtering pass-through hovers. */
|
|
13
16
|
export declare const MOTION_HOVER_SHOW_DELAY_MS = 300;
|
|
@@ -21,3 +24,9 @@ export declare const MOTION_AUTOPLAY_INTERVAL_MS = 5000;
|
|
|
21
24
|
export declare const MOTION_FEEDBACK_RESET_MS = 2000;
|
|
22
25
|
/** How long after the last scroll event a scroll surface is considered settled. */
|
|
23
26
|
export declare const MOTION_SCROLL_SETTLE_MS = 600;
|
|
27
|
+
/** Slowest the streaming reveal ever runs, in characters per second — the pace a thin trickle of deltas types at. An animation pace, not a schedule timing: the reveal is skipped under reduced motion. */
|
|
28
|
+
export declare const MOTION_STREAM_FLOOR_CPS = 70;
|
|
29
|
+
/** However much streamed text is waiting, the reveal has it fully on screen within this long — the rate rises with the backlog, so a dumped paragraph catches up in a beat. */
|
|
30
|
+
export declare const MOTION_STREAM_DRAIN_MS = 250;
|
|
31
|
+
/** The retired interval-based reveal step. @deprecated The reveal is frame-driven now — pace it with MOTION_STREAM_FLOOR_CPS and MOTION_STREAM_DRAIN_MS. */
|
|
32
|
+
export declare const MOTION_STREAM_CHAR_INTERVAL_MS = 15;
|
package/tokens/motion.js
CHANGED
|
@@ -4,11 +4,17 @@ const MOTION_AUTO_DISMISS_MS = 5e3;
|
|
|
4
4
|
const MOTION_AUTOPLAY_INTERVAL_MS = 5e3;
|
|
5
5
|
const MOTION_FEEDBACK_RESET_MS = 2e3;
|
|
6
6
|
const MOTION_SCROLL_SETTLE_MS = 600;
|
|
7
|
+
const MOTION_STREAM_FLOOR_CPS = 70;
|
|
8
|
+
const MOTION_STREAM_DRAIN_MS = 250;
|
|
9
|
+
const MOTION_STREAM_CHAR_INTERVAL_MS = 15;
|
|
7
10
|
export {
|
|
8
11
|
MOTION_AUTOPLAY_INTERVAL_MS,
|
|
9
12
|
MOTION_AUTO_DISMISS_MS,
|
|
10
13
|
MOTION_FEEDBACK_RESET_MS,
|
|
11
14
|
MOTION_HOVER_HIDE_DELAY_MS,
|
|
12
15
|
MOTION_HOVER_SHOW_DELAY_MS,
|
|
13
|
-
MOTION_SCROLL_SETTLE_MS
|
|
16
|
+
MOTION_SCROLL_SETTLE_MS,
|
|
17
|
+
MOTION_STREAM_CHAR_INTERVAL_MS,
|
|
18
|
+
MOTION_STREAM_DRAIN_MS,
|
|
19
|
+
MOTION_STREAM_FLOOR_CPS
|
|
14
20
|
};
|