@oztix/roadie-components 0.1.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/LICENSE ADDED
@@ -0,0 +1,15 @@
1
+ ISC License
2
+
3
+ Copyright (c) 2024 Ticket Solutions Pty Ltd
4
+
5
+ Permission to use, copy, modify, and/or distribute this software for any
6
+ purpose with or without fee is hereby granted, provided that the above
7
+ copyright notice and this permission notice appear in all copies.
8
+
9
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,171 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ButtonProps as ButtonProps$1 } from 'react-aria-components';
3
+ import React, { ElementType } from 'react';
4
+ import { HTMLStyledProps } from '@oztix/roadie-core/jsx';
5
+ import { JsxStyleProps } from '@oztix/roadie-core/types';
6
+
7
+ /**
8
+ * Button appearance variants
9
+ */
10
+ type ButtonAppearance = 'solid' | 'outline' | 'ghost';
11
+ /**
12
+ * Button size variants
13
+ */
14
+ type ButtonSize = 'sm' | 'md' | 'lg';
15
+ /**
16
+ * Button color variants
17
+ */
18
+ type Emphasis = 'subtle' | 'accent' | 'inverse' | 'success' | 'warning' | 'danger';
19
+ /**
20
+ * Props for the Button component
21
+ */
22
+ interface ButtonProps extends Omit<ButtonProps$1, 'className'> {
23
+ /** The visual style of the button */
24
+ appearance?: ButtonAppearance;
25
+ /** The size of the button */
26
+ size?: ButtonSize;
27
+ /** The color of the button */
28
+ emphasis?: Emphasis;
29
+ /** Additional class names to be applied to the button */
30
+ className?: string;
31
+ }
32
+ declare function Button({ children, appearance, size, emphasis, isDisabled, onPress, className, ...props }: ButtonProps): react_jsx_runtime.JSX.Element;
33
+
34
+ /**
35
+ * A code component that inherits from Text and renders as a code element
36
+ */
37
+ interface CodeProps extends HTMLStyledProps<'code'>, JsxStyleProps {
38
+ /**
39
+ * The appearance of the code block
40
+ * @default 'outline'
41
+ */
42
+ appearance?: 'outline' | 'ghost';
43
+ }
44
+ declare const Code: React.ForwardRefExoticComponent<CodeProps>;
45
+
46
+ type HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
47
+ /**
48
+ * A heading component that uses display styles for titles and section headers
49
+ */
50
+ interface HeadingProps extends HTMLStyledProps<'h2'>, JsxStyleProps {
51
+ /**
52
+ * The heading level to render
53
+ * @default 'h2'
54
+ */
55
+ as?: HeadingLevel;
56
+ /**
57
+ * The text style to use for the heading
58
+ * @default 'display.ui'
59
+ */
60
+ textStyle?: Extract<JsxStyleProps['textStyle'], 'display' | `display${string}`>;
61
+ }
62
+ declare const Heading: React.ForwardRefExoticComponent<HeadingProps>;
63
+
64
+ type AsProp$1<C extends ElementType> = {
65
+ as?: C;
66
+ };
67
+ type PropsToOmit$1<C extends ElementType, P> = keyof (AsProp$1<C> & P);
68
+ /**
69
+ * A foundational text component that is responsive and customizable.
70
+ */
71
+ interface TextProps<C extends ElementType = 'span'> {
72
+ /**
73
+ * The HTML element or React component to render the Text as
74
+ * @default 'span'
75
+ */
76
+ as?: C;
77
+ /**
78
+ * Controls the font family, line height, and letter spacing of the text.
79
+ * @default 'ui'
80
+ */
81
+ textStyle?: JsxStyleProps['textStyle'];
82
+ /**
83
+ * The color of the text
84
+ * @default 'fg'
85
+ */
86
+ color?: Extract<JsxStyleProps['color'], `fg${string}` | 'fg'>;
87
+ /**
88
+ * The line clamp of the text. Useful for limiting the number of lines of text in a component.
89
+ * @default 'none'
90
+ */
91
+ lineClamp?: JsxStyleProps['lineClamp'];
92
+ }
93
+ type PolymorphicTextProps<C extends ElementType> = TextProps<C> & Omit<React.ComponentPropsWithRef<C>, PropsToOmit$1<C, TextProps>> & JsxStyleProps;
94
+ type TextComponent = {
95
+ <C extends ElementType = 'span'>(props: PolymorphicTextProps<C>): React.ReactElement | null;
96
+ displayName?: string;
97
+ };
98
+ declare const Text: TextComponent;
99
+
100
+ type AsProp<C extends ElementType> = {
101
+ as?: C;
102
+ };
103
+ type PropsToOmit<C extends ElementType, P> = keyof (AsProp<C> & P);
104
+ /**
105
+ * A foundational layout component that provides a flexible container with sensible defaults.
106
+ */
107
+ interface ViewProps<C extends ElementType = 'div'> {
108
+ /**
109
+ * The HTML element or React component to render the View as
110
+ * @default 'div'
111
+ */
112
+ as?: C;
113
+ /**
114
+ * The display property of the View
115
+ * @default 'flex'
116
+ */
117
+ display?: JsxStyleProps['display'];
118
+ /**
119
+ * The position property of the View
120
+ * @default 'relative'
121
+ */
122
+ position?: JsxStyleProps['position'];
123
+ /**
124
+ * The flex direction property of the View
125
+ * @default 'column'
126
+ */
127
+ flexDirection?: JsxStyleProps['flexDirection'];
128
+ /**
129
+ * The flex wrap property of the View
130
+ * @default 'nowrap'
131
+ */
132
+ flexWrap?: JsxStyleProps['flexWrap'];
133
+ /**
134
+ * The align items property of the View
135
+ * @default 'stretch'
136
+ */
137
+ alignItems?: JsxStyleProps['alignItems'];
138
+ /**
139
+ * The align self property of the View
140
+ * @default 'flex-start'
141
+ */
142
+ alignSelf?: JsxStyleProps['alignSelf'];
143
+ /**
144
+ * The align content property of the View
145
+ * @default 'flex-start'
146
+ */
147
+ alignContent?: JsxStyleProps['alignContent'];
148
+ /**
149
+ * The justify content property of the View
150
+ * @default 'flex-start'
151
+ */
152
+ justifyContent?: JsxStyleProps['justifyContent'];
153
+ /**
154
+ * The min height property of the View
155
+ * @default '0'
156
+ */
157
+ minHeight?: JsxStyleProps['minHeight'];
158
+ /**
159
+ * The min width property of the View
160
+ * @default '0'
161
+ */
162
+ minWidth?: JsxStyleProps['minWidth'];
163
+ }
164
+ type PolymorphicViewProps<C extends ElementType> = ViewProps<C> & Omit<React.ComponentPropsWithRef<C>, PropsToOmit<C, ViewProps>> & JsxStyleProps;
165
+ type ViewComponent = {
166
+ <C extends ElementType = 'div'>(props: PolymorphicViewProps<C>): React.ReactElement | null;
167
+ displayName?: string;
168
+ };
169
+ declare const View: ViewComponent;
170
+
171
+ export { Button, type ButtonProps, Code, type CodeProps, Heading, type HeadingProps, type PolymorphicTextProps, type PolymorphicViewProps, Text, type TextProps, View, type ViewProps };
package/dist/index.js ADDED
@@ -0,0 +1,463 @@
1
+ "use client";
2
+
3
+ // src/components/Button/index.tsx
4
+ import { Button as AriaButton } from "react-aria-components";
5
+ import { cva, cx } from "@oztix/roadie-core/css";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var button = cva({
8
+ base: {
9
+ display: "inline-flex",
10
+ alignItems: "center",
11
+ justifyContent: "center",
12
+ backgroundColor: "transparent",
13
+ borderRadius: "050",
14
+ fontWeight: "semibold",
15
+ fontFamily: "ui",
16
+ cursor: "pointer",
17
+ border: "1px solid",
18
+ transition: "all 0.2s",
19
+ _disabled: {
20
+ opacity: 0.4,
21
+ cursor: "not-allowed",
22
+ backgroundColor: "bg.disabled",
23
+ color: "fg.disabled"
24
+ },
25
+ _focus: {
26
+ outline: "none"
27
+ },
28
+ _focusVisible: {
29
+ outline: "2px solid",
30
+ outlineColor: "border.focused"
31
+ }
32
+ },
33
+ variants: {
34
+ appearance: {
35
+ solid: {
36
+ backgroundColor: "bg.subtle",
37
+ borderColor: "border.subtle",
38
+ color: "fg.subtle",
39
+ _hover: {
40
+ backgroundColor: "bg.subtle.hovered"
41
+ },
42
+ _active: {
43
+ backgroundColor: "bg.subtle.pressed"
44
+ }
45
+ },
46
+ outline: {
47
+ border: "1px solid",
48
+ borderColor: "border.subtle",
49
+ color: "fg.subtle",
50
+ _hover: {
51
+ color: "fg",
52
+ borderColor: "border.hovered",
53
+ backgroundColor: "bg.hovered"
54
+ },
55
+ _active: {
56
+ color: "fg",
57
+ borderColor: "border.pressed",
58
+ backgroundColor: "bg.pressed"
59
+ }
60
+ },
61
+ ghost: {
62
+ color: "fg.subtle",
63
+ borderColor: "transparent",
64
+ _hover: {
65
+ color: "fg",
66
+ backgroundColor: "bg.hovered"
67
+ },
68
+ _active: {
69
+ color: "fg",
70
+ backgroundColor: "bg.pressed"
71
+ }
72
+ }
73
+ },
74
+ size: {
75
+ sm: {
76
+ minHeight: "400",
77
+ fontSize: "sm",
78
+ px: "200",
79
+ py: "075"
80
+ },
81
+ md: {
82
+ minHeight: "500",
83
+ fontSize: "md",
84
+ px: "200",
85
+ py: "100"
86
+ },
87
+ lg: {
88
+ minHeight: "600",
89
+ fontSize: "lg",
90
+ px: "300",
91
+ py: "150"
92
+ }
93
+ },
94
+ emphasis: {
95
+ subtle: {
96
+ color: "fg.subtle"
97
+ },
98
+ accent: {
99
+ color: "fg.accent"
100
+ },
101
+ inverse: {
102
+ color: "fg.inverse"
103
+ },
104
+ success: {
105
+ color: "fg.success"
106
+ },
107
+ warning: {
108
+ color: "fg.warning"
109
+ },
110
+ danger: {
111
+ color: "fg.danger"
112
+ }
113
+ }
114
+ },
115
+ compoundVariants: [
116
+ {
117
+ appearance: "solid",
118
+ emphasis: "subtle",
119
+ css: {
120
+ color: "fg.subtle",
121
+ _hover: {
122
+ color: "fg"
123
+ },
124
+ _active: {
125
+ color: "fg.subtle"
126
+ }
127
+ }
128
+ },
129
+ {
130
+ appearance: "solid",
131
+ emphasis: "accent",
132
+ css: {
133
+ backgroundColor: "bg.accent.bold",
134
+ color: "fg.accent.inverse",
135
+ borderColor: "border.accent",
136
+ _hover: {
137
+ color: "fg.inverse",
138
+ backgroundColor: "bg.accent.bold.hovered"
139
+ },
140
+ _active: {
141
+ backgroundColor: "bg.accent.bold.pressed"
142
+ }
143
+ }
144
+ },
145
+ {
146
+ appearance: "solid",
147
+ emphasis: "inverse",
148
+ css: {
149
+ backgroundColor: "bg.inverse",
150
+ color: "fg.inverse",
151
+ _hover: {
152
+ backgroundColor: "bg.inverse.hovered"
153
+ },
154
+ _active: {
155
+ backgroundColor: "bg.inverse.pressed"
156
+ }
157
+ }
158
+ },
159
+ {
160
+ appearance: "solid",
161
+ emphasis: "success",
162
+ css: {
163
+ backgroundColor: "bg.success.bold",
164
+ color: "fg.success.inverse",
165
+ borderColor: "border.success",
166
+ _hover: {
167
+ backgroundColor: "bg.success.bold.hovered"
168
+ },
169
+ _active: {
170
+ backgroundColor: "bg.success.bold.pressed"
171
+ }
172
+ }
173
+ },
174
+ {
175
+ appearance: "solid",
176
+ emphasis: "warning",
177
+ css: {
178
+ backgroundColor: "bg.warning.bold",
179
+ color: "fg.warning.inverse",
180
+ borderColor: "border.warning",
181
+ _hover: {
182
+ backgroundColor: "bg.warning.bold.hovered"
183
+ },
184
+ _active: {
185
+ backgroundColor: "bg.warning.bold.pressed"
186
+ }
187
+ }
188
+ },
189
+ {
190
+ appearance: "solid",
191
+ emphasis: "danger",
192
+ css: {
193
+ backgroundColor: "bg.danger.bold",
194
+ color: "fg.danger.inverse",
195
+ borderColor: "border.danger",
196
+ _hover: {
197
+ backgroundColor: "bg.danger.bold.hovered"
198
+ },
199
+ _active: {
200
+ backgroundColor: "bg.danger.bold.pressed"
201
+ }
202
+ }
203
+ },
204
+ {
205
+ appearance: "outline",
206
+ emphasis: "accent",
207
+ css: {
208
+ borderColor: "border.accent",
209
+ _hover: {
210
+ color: "fg.accent.hovered",
211
+ borderColor: "border.accent.hovered",
212
+ backgroundColor: "bg.accent.hovered"
213
+ },
214
+ _active: {
215
+ color: "fg.accent.pressed",
216
+ borderColor: "border.accent.pressed",
217
+ backgroundColor: "bg.accent.pressed"
218
+ }
219
+ }
220
+ },
221
+ {
222
+ appearance: "outline",
223
+ emphasis: "inverse",
224
+ css: {
225
+ borderColor: "border.bold",
226
+ color: "fg",
227
+ _hover: {
228
+ color: "fg.inverse.hovered",
229
+ borderColor: "border.bold.hovered",
230
+ backgroundColor: "bg.hovered"
231
+ },
232
+ _active: {
233
+ color: "fg.inverse.pressed",
234
+ borderColor: "border.bold.pressed",
235
+ backgroundColor: "bg.pressed"
236
+ }
237
+ }
238
+ },
239
+ {
240
+ appearance: "outline",
241
+ emphasis: "success",
242
+ css: {
243
+ borderColor: "border.success",
244
+ _hover: {
245
+ color: "fg.success.hovered",
246
+ borderColor: "border.success.hovered",
247
+ backgroundColor: "bg.success.hovered"
248
+ },
249
+ _active: {
250
+ color: "fg.success.pressed",
251
+ borderColor: "border.success.pressed",
252
+ backgroundColor: "bg.success.pressed"
253
+ }
254
+ }
255
+ },
256
+ {
257
+ appearance: "outline",
258
+ emphasis: "warning",
259
+ css: {
260
+ borderColor: "border.warning",
261
+ _hover: {
262
+ color: "fg.warning.hovered",
263
+ borderColor: "border.warning.hovered",
264
+ backgroundColor: "bg.warning.hovered"
265
+ },
266
+ _active: {
267
+ color: "fg.warning.pressed",
268
+ borderColor: "border.warning.pressed",
269
+ backgroundColor: "bg.warning.pressed"
270
+ }
271
+ }
272
+ },
273
+ {
274
+ appearance: "outline",
275
+ emphasis: "danger",
276
+ css: {
277
+ borderColor: "border.danger",
278
+ _hover: {
279
+ color: "fg.danger.hovered",
280
+ borderColor: "border.danger.hovered",
281
+ backgroundColor: "bg.danger.hovered"
282
+ },
283
+ _active: {
284
+ color: "fg.danger.pressed",
285
+ borderColor: "border.danger.pressed",
286
+ backgroundColor: "bg.danger.pressed"
287
+ }
288
+ }
289
+ },
290
+ {
291
+ appearance: "ghost",
292
+ emphasis: "accent",
293
+ css: {
294
+ _hover: {
295
+ color: "fg.accent.hovered",
296
+ backgroundColor: "bg.accent.hovered"
297
+ },
298
+ _active: {
299
+ color: "fg.accent.pressed",
300
+ backgroundColor: "bg.accent.pressed"
301
+ }
302
+ }
303
+ },
304
+ {
305
+ appearance: "ghost",
306
+ emphasis: "inverse",
307
+ css: {
308
+ color: "fg",
309
+ _hover: {
310
+ color: "fg.inverse.hovered",
311
+ backgroundColor: "bg.hovered"
312
+ },
313
+ _active: {
314
+ color: "fg.inverse.pressed",
315
+ backgroundColor: "bg.pressed"
316
+ }
317
+ }
318
+ },
319
+ {
320
+ appearance: "ghost",
321
+ emphasis: "success",
322
+ css: {
323
+ _hover: {
324
+ color: "fg.success.hovered",
325
+ backgroundColor: "bg.success.hovered"
326
+ },
327
+ _active: {
328
+ color: "fg.success.pressed",
329
+ backgroundColor: "bg.success.pressed"
330
+ }
331
+ }
332
+ },
333
+ {
334
+ appearance: "ghost",
335
+ emphasis: "warning",
336
+ css: {
337
+ _hover: {
338
+ color: "fg.warning.hovered",
339
+ backgroundColor: "bg.warning.hovered"
340
+ },
341
+ _active: {
342
+ color: "fg.warning.pressed",
343
+ backgroundColor: "bg.warning.pressed"
344
+ }
345
+ }
346
+ },
347
+ {
348
+ appearance: "ghost",
349
+ emphasis: "danger",
350
+ css: {
351
+ _hover: {
352
+ color: "fg.danger.hovered",
353
+ backgroundColor: "bg.danger.hovered"
354
+ },
355
+ _active: {
356
+ color: "fg.danger.pressed",
357
+ backgroundColor: "bg.danger.pressed"
358
+ }
359
+ }
360
+ }
361
+ ],
362
+ defaultVariants: {
363
+ appearance: "solid",
364
+ size: "md",
365
+ emphasis: "subtle"
366
+ }
367
+ });
368
+ function Button({
369
+ children,
370
+ appearance = "solid",
371
+ size = "md",
372
+ emphasis = "subtle",
373
+ isDisabled = false,
374
+ onPress,
375
+ className,
376
+ ...props
377
+ }) {
378
+ return /* @__PURE__ */ jsx(
379
+ AriaButton,
380
+ {
381
+ onPress,
382
+ isDisabled,
383
+ className: cx(button({ appearance, size, emphasis }), className),
384
+ ...props,
385
+ children
386
+ }
387
+ );
388
+ }
389
+
390
+ // src/components/Code/index.tsx
391
+ import "react";
392
+ import { styled } from "@oztix/roadie-core/jsx";
393
+ var Code = styled("code", {
394
+ base: {
395
+ backgroundColor: "bg.subtle",
396
+ textStyle: "code",
397
+ px: "050",
398
+ borderRadius: "050",
399
+ border: "1px solid"
400
+ },
401
+ variants: {
402
+ appearance: {
403
+ outline: {
404
+ borderColor: "border.subtlest"
405
+ },
406
+ ghost: {
407
+ borderColor: "transparent"
408
+ }
409
+ }
410
+ },
411
+ defaultVariants: {
412
+ appearance: "outline"
413
+ }
414
+ });
415
+ Code.displayName = "Code";
416
+
417
+ // src/components/Heading/index.tsx
418
+ import "react";
419
+ import { styled as styled2 } from "@oztix/roadie-core/jsx";
420
+ var Heading = styled2("h2", {
421
+ base: {
422
+ textStyle: "display.ui"
423
+ }
424
+ });
425
+ Heading.displayName = "Heading";
426
+
427
+ // src/components/Text/index.tsx
428
+ import "react";
429
+ import { styled as styled3 } from "@oztix/roadie-core/jsx";
430
+ var StyledText = styled3("span", {
431
+ base: {
432
+ textStyle: "ui"
433
+ }
434
+ });
435
+ var Text = StyledText;
436
+ Text.displayName = "Text";
437
+
438
+ // src/components/View/index.tsx
439
+ import "react";
440
+ import { styled as styled4 } from "@oztix/roadie-core/jsx";
441
+ var StyledView = styled4("div", {
442
+ base: {
443
+ display: "flex",
444
+ position: "relative",
445
+ flexDirection: "column",
446
+ flexWrap: "nowrap",
447
+ alignItems: "stretch",
448
+ alignContent: "flex-start",
449
+ justifyContent: "flex-start",
450
+ minHeight: 0,
451
+ minWidth: 0
452
+ }
453
+ });
454
+ var View = StyledView;
455
+ View.displayName = "View";
456
+ export {
457
+ Button,
458
+ Code,
459
+ Heading,
460
+ Text,
461
+ View
462
+ };
463
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/index.tsx","../src/components/Code/index.tsx","../src/components/Heading/index.tsx","../src/components/Text/index.tsx","../src/components/View/index.tsx"],"sourcesContent":["import { Button as AriaButton, type ButtonProps as AriaButtonProps } from 'react-aria-components'\n\nimport { cva, cx } from '@oztix/roadie-core/css'\n\n/**\n * Button appearance variants\n */\ntype ButtonAppearance = 'solid' | 'outline' | 'ghost'\n\n/**\n * Button size variants\n */\ntype ButtonSize = 'sm' | 'md' | 'lg'\n\n/**\n * Button color variants\n */\ntype Emphasis = 'subtle' | 'accent' | 'inverse' | 'success' | 'warning' | 'danger'\n\n/**\n * Props for the Button component\n */\nexport interface ButtonProps extends Omit<AriaButtonProps, 'className'> {\n /** The visual style of the button */\n appearance?: ButtonAppearance\n /** The size of the button */\n size?: ButtonSize\n /** The color of the button */\n emphasis?: Emphasis\n /** Additional class names to be applied to the button */\n className?: string\n}\n\nconst button = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n backgroundColor: 'transparent',\n borderRadius: '050',\n fontWeight: 'semibold',\n fontFamily: 'ui',\n cursor: 'pointer',\n border: '1px solid',\n transition: 'all 0.2s',\n _disabled: {\n opacity: 0.4,\n cursor: 'not-allowed',\n backgroundColor: 'bg.disabled',\n color: 'fg.disabled'\n },\n _focus: {\n outline: 'none'\n },\n _focusVisible: {\n outline: '2px solid',\n outlineColor: 'border.focused'\n }\n },\n variants: {\n appearance: {\n solid: {\n backgroundColor: 'bg.subtle',\n borderColor: 'border.subtle',\n color: 'fg.subtle',\n _hover: {\n backgroundColor: 'bg.subtle.hovered'\n },\n _active: {\n backgroundColor: 'bg.subtle.pressed'\n }\n },\n outline: {\n border: '1px solid',\n borderColor: 'border.subtle',\n color: 'fg.subtle',\n _hover: {\n color: 'fg',\n borderColor: 'border.hovered',\n backgroundColor: 'bg.hovered'\n },\n _active: {\n color: 'fg',\n borderColor: 'border.pressed',\n backgroundColor: 'bg.pressed'\n }\n },\n ghost: {\n color: 'fg.subtle',\n borderColor: 'transparent',\n _hover: {\n color: 'fg',\n backgroundColor: 'bg.hovered'\n },\n _active: {\n color: 'fg',\n backgroundColor: 'bg.pressed'\n }\n }\n },\n size: {\n sm: {\n minHeight: '400',\n fontSize: 'sm',\n px: '200',\n py: '075'\n },\n md: {\n minHeight: '500',\n fontSize: 'md',\n px: '200',\n py: '100'\n },\n lg: {\n minHeight: '600',\n fontSize: 'lg',\n px: '300',\n py: '150'\n }\n },\n emphasis: {\n subtle: {\n color: 'fg.subtle'\n },\n accent: {\n color: 'fg.accent'\n },\n inverse: {\n color: 'fg.inverse'\n },\n success: {\n color: 'fg.success'\n },\n warning: {\n color: 'fg.warning'\n },\n danger: {\n color: 'fg.danger'\n }\n }\n },\n compoundVariants: [\n {\n appearance: 'solid',\n emphasis: 'subtle',\n css: {\n color: 'fg.subtle',\n _hover: {\n color: 'fg'\n },\n _active: {\n color: 'fg.subtle'\n }\n }\n },\n {\n appearance: 'solid',\n emphasis: 'accent',\n css: {\n backgroundColor: 'bg.accent.bold',\n color: 'fg.accent.inverse',\n borderColor: 'border.accent',\n _hover: {\n color: 'fg.inverse',\n backgroundColor: 'bg.accent.bold.hovered'\n },\n _active: {\n backgroundColor: 'bg.accent.bold.pressed'\n }\n }\n },\n {\n appearance: 'solid',\n emphasis: 'inverse',\n css: {\n backgroundColor: 'bg.inverse',\n color: 'fg.inverse',\n _hover: {\n backgroundColor: 'bg.inverse.hovered'\n },\n _active: {\n backgroundColor: 'bg.inverse.pressed'\n }\n }\n },\n {\n appearance: 'solid',\n emphasis: 'success',\n css: {\n backgroundColor: 'bg.success.bold',\n color: 'fg.success.inverse',\n borderColor: 'border.success',\n _hover: {\n backgroundColor: 'bg.success.bold.hovered'\n },\n _active: {\n backgroundColor: 'bg.success.bold.pressed'\n }\n }\n },\n {\n appearance: 'solid',\n emphasis: 'warning',\n css: {\n backgroundColor: 'bg.warning.bold',\n color: 'fg.warning.inverse',\n borderColor: 'border.warning',\n _hover: {\n backgroundColor: 'bg.warning.bold.hovered'\n },\n _active: {\n backgroundColor: 'bg.warning.bold.pressed'\n }\n }\n },\n {\n appearance: 'solid',\n emphasis: 'danger',\n css: {\n backgroundColor: 'bg.danger.bold',\n color: 'fg.danger.inverse',\n borderColor: 'border.danger',\n _hover: {\n backgroundColor: 'bg.danger.bold.hovered'\n },\n _active: {\n backgroundColor: 'bg.danger.bold.pressed'\n }\n }\n },\n {\n appearance: 'outline',\n emphasis: 'accent',\n css: {\n borderColor: 'border.accent',\n _hover: {\n color: 'fg.accent.hovered',\n borderColor: 'border.accent.hovered',\n backgroundColor: 'bg.accent.hovered'\n },\n _active: {\n color: 'fg.accent.pressed',\n borderColor: 'border.accent.pressed',\n backgroundColor: 'bg.accent.pressed'\n }\n }\n },\n {\n appearance: 'outline',\n emphasis: 'inverse',\n css: {\n borderColor: 'border.bold',\n color: 'fg',\n _hover: {\n color: 'fg.inverse.hovered',\n borderColor: 'border.bold.hovered',\n backgroundColor: 'bg.hovered'\n },\n _active: {\n color: 'fg.inverse.pressed',\n borderColor: 'border.bold.pressed',\n backgroundColor: 'bg.pressed'\n }\n }\n },\n {\n appearance: 'outline',\n emphasis: 'success',\n css: {\n borderColor: 'border.success',\n _hover: {\n color: 'fg.success.hovered',\n borderColor: 'border.success.hovered',\n backgroundColor: 'bg.success.hovered'\n },\n _active: {\n color: 'fg.success.pressed',\n borderColor: 'border.success.pressed',\n backgroundColor: 'bg.success.pressed'\n }\n }\n },\n {\n appearance: 'outline',\n emphasis: 'warning',\n css: {\n borderColor: 'border.warning',\n _hover: {\n color: 'fg.warning.hovered',\n borderColor: 'border.warning.hovered',\n backgroundColor: 'bg.warning.hovered'\n },\n _active: {\n color: 'fg.warning.pressed',\n borderColor: 'border.warning.pressed',\n backgroundColor: 'bg.warning.pressed'\n }\n }\n },\n {\n appearance: 'outline',\n emphasis: 'danger',\n css: {\n borderColor: 'border.danger',\n _hover: {\n color: 'fg.danger.hovered',\n borderColor: 'border.danger.hovered',\n backgroundColor: 'bg.danger.hovered'\n },\n _active: {\n color: 'fg.danger.pressed',\n borderColor: 'border.danger.pressed',\n backgroundColor: 'bg.danger.pressed'\n }\n }\n },\n {\n appearance: 'ghost',\n emphasis: 'accent',\n css: {\n _hover: {\n color: 'fg.accent.hovered',\n backgroundColor: 'bg.accent.hovered'\n },\n _active: {\n color: 'fg.accent.pressed',\n backgroundColor: 'bg.accent.pressed'\n }\n }\n },\n {\n appearance: 'ghost',\n emphasis: 'inverse',\n css: {\n color: 'fg',\n _hover: {\n color: 'fg.inverse.hovered',\n backgroundColor: 'bg.hovered'\n },\n _active: {\n color: 'fg.inverse.pressed',\n backgroundColor: 'bg.pressed'\n }\n }\n },\n {\n appearance: 'ghost',\n emphasis: 'success',\n css: {\n _hover: {\n color: 'fg.success.hovered',\n backgroundColor: 'bg.success.hovered'\n },\n _active: {\n color: 'fg.success.pressed',\n backgroundColor: 'bg.success.pressed'\n }\n }\n },\n {\n appearance: 'ghost',\n emphasis: 'warning',\n css: {\n _hover: {\n color: 'fg.warning.hovered',\n backgroundColor: 'bg.warning.hovered'\n },\n _active: {\n color: 'fg.warning.pressed',\n backgroundColor: 'bg.warning.pressed'\n }\n }\n },\n {\n appearance: 'ghost',\n emphasis: 'danger',\n css: {\n _hover: {\n color: 'fg.danger.hovered',\n backgroundColor: 'bg.danger.hovered'\n },\n _active: {\n color: 'fg.danger.pressed',\n backgroundColor: 'bg.danger.pressed'\n }\n }\n }\n ],\n defaultVariants: {\n appearance: 'solid',\n size: 'md',\n emphasis: 'subtle'\n }\n})\n\nexport function Button({\n children,\n appearance = 'solid',\n size = 'md',\n emphasis = 'subtle',\n isDisabled = false,\n onPress,\n className,\n ...props\n}: ButtonProps) {\n return (\n <AriaButton\n onPress={onPress}\n isDisabled={isDisabled}\n className={cx(button({ appearance, size, emphasis }), className)}\n {...props}\n >\n {children}\n </AriaButton>\n )\n}\n","import React from 'react'\n\nimport type { HTMLStyledProps } from '@oztix/roadie-core/jsx'\nimport { styled } from '@oztix/roadie-core/jsx'\nimport type { JsxStyleProps } from '@oztix/roadie-core/types'\n\n/**\n * A code component that inherits from Text and renders as a code element\n */\nexport interface CodeProps extends HTMLStyledProps<'code'>, JsxStyleProps {\n /**\n * The appearance of the code block\n * @default 'outline'\n */\n appearance?: 'outline' | 'ghost'\n}\n\nexport const Code = styled('code', {\n base: {\n backgroundColor: 'bg.subtle',\n textStyle: 'code',\n px: '050',\n borderRadius: '050',\n border: '1px solid'\n },\n variants: {\n appearance: {\n outline: {\n borderColor: 'border.subtlest'\n },\n ghost: {\n borderColor: 'transparent'\n }\n }\n },\n defaultVariants: {\n appearance: 'outline'\n }\n}) as React.ForwardRefExoticComponent<CodeProps>\n\nCode.displayName = 'Code'\n","import React from 'react'\n\nimport type { HTMLStyledProps } from '@oztix/roadie-core/jsx'\nimport { styled } from '@oztix/roadie-core/jsx'\nimport type { JsxStyleProps } from '@oztix/roadie-core/types'\n\ntype HeadingLevel = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'\n\n/**\n * A heading component that uses display styles for titles and section headers\n */\nexport interface HeadingProps extends HTMLStyledProps<'h2'>, JsxStyleProps {\n /**\n * The heading level to render\n * @default 'h2'\n */\n as?: HeadingLevel\n /**\n * The text style to use for the heading\n * @default 'display.ui'\n */\n textStyle?: Extract<JsxStyleProps['textStyle'], 'display' | `display${string}`>\n}\n\nexport const Heading = styled('h2', {\n base: {\n textStyle: 'display.ui'\n }\n}) as React.ForwardRefExoticComponent<HeadingProps>\n\nHeading.displayName = 'Heading'\n","import type { ElementType } from 'react'\nimport React from 'react'\n\nimport { styled } from '@oztix/roadie-core/jsx'\nimport type { JsxStyleProps } from '@oztix/roadie-core/types'\n\ntype AsProp<C extends ElementType> = {\n as?: C\n}\n\ntype PropsToOmit<C extends ElementType, P> = keyof (AsProp<C> & P)\n\n/**\n * A foundational text component that is responsive and customizable.\n */\nexport interface TextProps<C extends ElementType = 'span'> {\n /**\n * The HTML element or React component to render the Text as\n * @default 'span'\n */\n as?: C\n /**\n * Controls the font family, line height, and letter spacing of the text.\n * @default 'ui'\n */\n textStyle?: JsxStyleProps['textStyle']\n /**\n * The color of the text\n * @default 'fg'\n */\n color?: Extract<JsxStyleProps['color'], `fg${string}` | 'fg'>\n /**\n * The line clamp of the text. Useful for limiting the number of lines of text in a component.\n * @default 'none'\n */\n lineClamp?: JsxStyleProps['lineClamp']\n}\n\nexport type PolymorphicTextProps<C extends ElementType> = TextProps<C> &\n Omit<React.ComponentPropsWithRef<C>, PropsToOmit<C, TextProps>> &\n JsxStyleProps\n\ntype TextComponent = {\n <C extends ElementType = 'span'>(props: PolymorphicTextProps<C>): React.ReactElement | null\n displayName?: string\n}\n\nconst StyledText = styled('span', {\n base: {\n textStyle: 'ui'\n }\n})\n\nexport const Text = StyledText as TextComponent\n\nText.displayName = 'Text'\n","import type { ElementType } from 'react'\nimport React from 'react'\n\nimport { styled } from '@oztix/roadie-core/jsx'\nimport type { JsxStyleProps } from '@oztix/roadie-core/types'\n\ntype AsProp<C extends ElementType> = {\n as?: C\n}\n\ntype PropsToOmit<C extends ElementType, P> = keyof (AsProp<C> & P)\n\n/**\n * A foundational layout component that provides a flexible container with sensible defaults.\n */\nexport interface ViewProps<C extends ElementType = 'div'> {\n /**\n * The HTML element or React component to render the View as\n * @default 'div'\n */\n as?: C\n /**\n * The display property of the View\n * @default 'flex'\n */\n display?: JsxStyleProps['display']\n /**\n * The position property of the View\n * @default 'relative'\n */\n position?: JsxStyleProps['position']\n /**\n * The flex direction property of the View\n * @default 'column'\n */\n flexDirection?: JsxStyleProps['flexDirection']\n /**\n * The flex wrap property of the View\n * @default 'nowrap'\n */\n flexWrap?: JsxStyleProps['flexWrap']\n /**\n * The align items property of the View\n * @default 'stretch'\n */\n alignItems?: JsxStyleProps['alignItems']\n /**\n * The align self property of the View\n * @default 'flex-start'\n */\n alignSelf?: JsxStyleProps['alignSelf']\n /**\n * The align content property of the View\n * @default 'flex-start'\n */\n alignContent?: JsxStyleProps['alignContent']\n /**\n * The justify content property of the View\n * @default 'flex-start'\n */\n justifyContent?: JsxStyleProps['justifyContent']\n /**\n * The min height property of the View\n * @default '0'\n */\n minHeight?: JsxStyleProps['minHeight']\n /**\n * The min width property of the View\n * @default '0'\n */\n minWidth?: JsxStyleProps['minWidth']\n}\n\nexport type PolymorphicViewProps<C extends ElementType> = ViewProps<C> &\n Omit<React.ComponentPropsWithRef<C>, PropsToOmit<C, ViewProps>> &\n JsxStyleProps\n\ntype ViewComponent = {\n <C extends ElementType = 'div'>(props: PolymorphicViewProps<C>): React.ReactElement | null\n displayName?: string\n}\n\nconst StyledView = styled('div', {\n base: {\n display: 'flex',\n position: 'relative',\n flexDirection: 'column',\n flexWrap: 'nowrap',\n alignItems: 'stretch',\n alignContent: 'flex-start',\n justifyContent: 'flex-start',\n minHeight: 0,\n minWidth: 0\n }\n})\n\nexport const View = StyledView as ViewComponent\n\nView.displayName = 'View'\n"],"mappings":"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","names":["styled","styled","styled"]}
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "@oztix/roadie-components",
3
+ "version": "0.1.0",
4
+ "description": "The components for Roadie Design System at Oztix",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "sideEffects": false,
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "publishConfig": {
14
+ "access": "public"
15
+ },
16
+ "peerDependencies": {
17
+ "react": "^19.0.0",
18
+ "react-dom": "^19.0.0"
19
+ },
20
+ "dependencies": {
21
+ "@oztix/roadie-core": "^0.1.0",
22
+ "react-aria-components": "1.0.0"
23
+ },
24
+ "devDependencies": {
25
+ "@pandacss/dev": "0.48.1",
26
+ "@testing-library/jest-dom": "6.1.6",
27
+ "@testing-library/react": "15.0.0",
28
+ "@testing-library/user-event": "14.5.1",
29
+ "@types/node": "22.10.2",
30
+ "@types/react": "19.0.2",
31
+ "@types/react-dom": "19.0.2",
32
+ "@vitejs/plugin-react": "4.3.4",
33
+ "@vitest/coverage-v8": "1.6.0",
34
+ "@vitest/ui": "1.6.0",
35
+ "jsdom": "24.1.3",
36
+ "tsup": "8.0.0",
37
+ "typescript": "5.7.2",
38
+ "vitest": "1.6.0"
39
+ },
40
+ "author": {
41
+ "name": "Luke Brooker",
42
+ "email": "mail@lukebrooker.com"
43
+ },
44
+ "license": "ISC",
45
+ "turbo": {
46
+ "build": {
47
+ "dependsOn": [
48
+ "^build"
49
+ ],
50
+ "outputs": [
51
+ "dist/**"
52
+ ]
53
+ }
54
+ },
55
+ "scripts": {
56
+ "build": "tsup",
57
+ "clean": "rm -rf node_modules dist",
58
+ "dev": "tsup --watch",
59
+ "pretest": "panda codegen",
60
+ "test": "vitest run",
61
+ "test:watch": "vitest",
62
+ "test:coverage": "vitest run --coverage",
63
+ "test:ui": "vitest --ui",
64
+ "format": "prettier --ignore-path ../../.prettierignore --write \"**/*.{ts,tsx,js,jsx,json,css,md}\"",
65
+ "format:check": "prettier --ignore-path ../../.prettierignore --check \"**/*.{ts,tsx,js,jsx,json,css,md}\"",
66
+ "lint": "eslint --ignore-path ../../.eslintignore . --ext .ts,.tsx",
67
+ "lint:fix": "eslint --ignore-path ../../.eslintignore . --ext .ts,.tsx --fix",
68
+ "typecheck": "tsc --noEmit"
69
+ }
70
+ }