@pathscale/ui 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 +21 -0
- package/README.md +12 -0
- package/dist/Avatar-CzIirpVq.d.ts +33 -0
- package/dist/Button-BOYHKShy.d.ts +63 -0
- package/dist/Input-CvNxe1rq.d.ts +34 -0
- package/dist/Textarea-5_oQknZn.d.ts +37 -0
- package/dist/chunk/3MUBOGZG.js +213 -0
- package/dist/chunk/EB7KXR65.js +102 -0
- package/dist/chunk/G6RG4LR7.js +87 -0
- package/dist/chunk/HEJAQSH5.jsx +100 -0
- package/dist/chunk/HKS7ET6T.js +56 -0
- package/dist/chunk/KACNXPUM.jsx +103 -0
- package/dist/chunk/NLD5D3P7.jsx +94 -0
- package/dist/chunk/P7WPLZNA.jsx +59 -0
- package/dist/chunk/UTRNHAP4.js +95 -0
- package/dist/chunk/VMEDFWWG.js +102 -0
- package/dist/chunk/WB6NEEQV.jsx +107 -0
- package/dist/chunk/YZ3ID3UY.jsx +226 -0
- package/dist/classes-B_S9K-9I.d.ts +13 -0
- package/dist/components/avatar/index.d.ts +8 -0
- package/dist/components/avatar/index.js +1 -0
- package/dist/components/avatar/index.jsx +7 -0
- package/dist/components/button/index.d.ts +9 -0
- package/dist/components/button/index.js +1 -0
- package/dist/components/button/index.jsx +8 -0
- package/dist/components/input/index.d.ts +8 -0
- package/dist/components/input/index.js +1 -0
- package/dist/components/input/index.jsx +7 -0
- package/dist/components/polymorphic/index.d.ts +35 -0
- package/dist/components/polymorphic/index.js +1 -0
- package/dist/components/polymorphic/index.jsx +8 -0
- package/dist/components/textarea/index.d.ts +8 -0
- package/dist/components/textarea/index.js +1 -0
- package/dist/components/textarea/index.jsx +7 -0
- package/dist/index.css +73 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +4 -0
- package/dist/index.jsx +20 -0
- package/package.json +60 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import {
|
|
2
|
+
classes,
|
|
3
|
+
cva
|
|
4
|
+
} from "./P7WPLZNA.jsx";
|
|
5
|
+
|
|
6
|
+
// src/components/textarea/Textarea.tsx
|
|
7
|
+
import {
|
|
8
|
+
createMemo,
|
|
9
|
+
createSignal,
|
|
10
|
+
splitProps,
|
|
11
|
+
Show
|
|
12
|
+
} from "solid-js";
|
|
13
|
+
|
|
14
|
+
// src/components/textarea/Textarea.styles.ts
|
|
15
|
+
var textareaVariants = cva(
|
|
16
|
+
[
|
|
17
|
+
"block w-full rounded-md border bg-white px-3 py-2 text-sm",
|
|
18
|
+
"text-gray-900 placeholder-gray-400",
|
|
19
|
+
"focus:outline-none focus:ring-2 focus:ring-accent focus:border-transparent",
|
|
20
|
+
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
21
|
+
],
|
|
22
|
+
{
|
|
23
|
+
variants: {
|
|
24
|
+
size: {
|
|
25
|
+
sm: "text-sm py-1.5",
|
|
26
|
+
md: "text-base py-2",
|
|
27
|
+
lg: "text-lg py-3"
|
|
28
|
+
},
|
|
29
|
+
color: {
|
|
30
|
+
primary: "border-blue-500",
|
|
31
|
+
info: "border-cyan-500",
|
|
32
|
+
success: "border-green-500",
|
|
33
|
+
warning: "border-yellow-500",
|
|
34
|
+
danger: "border-red-500"
|
|
35
|
+
},
|
|
36
|
+
loading: {
|
|
37
|
+
true: "opacity-50 cursor-wait",
|
|
38
|
+
false: ""
|
|
39
|
+
},
|
|
40
|
+
resize: {
|
|
41
|
+
none: "resize-none",
|
|
42
|
+
both: "resize",
|
|
43
|
+
x: "resize-x",
|
|
44
|
+
y: "resize-y"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
defaultVariants: {
|
|
48
|
+
size: "md",
|
|
49
|
+
color: "primary",
|
|
50
|
+
loading: false,
|
|
51
|
+
resize: "y"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
// src/components/textarea/Textarea.tsx
|
|
57
|
+
var Textarea = (props) => {
|
|
58
|
+
const [localProps, variantProps, otherProps] = splitProps(
|
|
59
|
+
props,
|
|
60
|
+
["hasCounter", "value", "onInput", "onFocus", "onBlur", "maxLength"],
|
|
61
|
+
["class", ...textareaVariants.variantKeys]
|
|
62
|
+
);
|
|
63
|
+
const [isFocused, setFocused] = createSignal(false);
|
|
64
|
+
const valueLength = createMemo(
|
|
65
|
+
() => typeof localProps.value === "string" ? localProps.value.length : 0
|
|
66
|
+
);
|
|
67
|
+
const showCounter = createMemo(
|
|
68
|
+
() => localProps.maxLength && localProps.hasCounter
|
|
69
|
+
);
|
|
70
|
+
return <div class="relative w-full">
|
|
71
|
+
<textarea
|
|
72
|
+
class={textareaVariants(variantProps)}
|
|
73
|
+
value={localProps.value}
|
|
74
|
+
maxLength={localProps.maxLength}
|
|
75
|
+
onInput={localProps.onInput}
|
|
76
|
+
onFocus={(e) => {
|
|
77
|
+
setFocused(true);
|
|
78
|
+
typeof localProps.onFocus === "function" && localProps.onFocus(e);
|
|
79
|
+
}}
|
|
80
|
+
onBlur={(e) => {
|
|
81
|
+
setFocused(false);
|
|
82
|
+
typeof localProps.onBlur === "function" && localProps.onBlur(e);
|
|
83
|
+
}}
|
|
84
|
+
aria-invalid={variantProps.color === "danger" ? "true" : void 0}
|
|
85
|
+
{...otherProps}
|
|
86
|
+
/>
|
|
87
|
+
|
|
88
|
+
<Show when={showCounter()}>
|
|
89
|
+
<small
|
|
90
|
+
class={classes(
|
|
91
|
+
"absolute bottom-1 right-2 text-xs text-gray-500 transition-opacity",
|
|
92
|
+
isFocused() ? "opacity-100" : "opacity-0"
|
|
93
|
+
)}
|
|
94
|
+
>
|
|
95
|
+
{valueLength()} / {localProps.maxLength}
|
|
96
|
+
</small>
|
|
97
|
+
</Show>
|
|
98
|
+
</div>;
|
|
99
|
+
};
|
|
100
|
+
var Textarea_default = Textarea;
|
|
101
|
+
|
|
102
|
+
// src/components/textarea/index.ts
|
|
103
|
+
var textarea_default = Textarea_default;
|
|
104
|
+
|
|
105
|
+
export {
|
|
106
|
+
textarea_default
|
|
107
|
+
};
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import {
|
|
2
|
+
PolymorphicButton_default
|
|
3
|
+
} from "./KACNXPUM.jsx";
|
|
4
|
+
import {
|
|
5
|
+
cva
|
|
6
|
+
} from "./P7WPLZNA.jsx";
|
|
7
|
+
|
|
8
|
+
// src/components/button/Button.tsx
|
|
9
|
+
import {
|
|
10
|
+
mergeProps,
|
|
11
|
+
splitProps
|
|
12
|
+
} from "solid-js";
|
|
13
|
+
|
|
14
|
+
// src/components/button/Button.styles.ts
|
|
15
|
+
var buttonVariants = cva(
|
|
16
|
+
[
|
|
17
|
+
"inline-flex items-center font-medium outline-none select-none",
|
|
18
|
+
"not-disabled:cursor-pointer",
|
|
19
|
+
"disabled:cursor-not-allowed disabled:opacity-25",
|
|
20
|
+
"aria-busy:cursor-wait",
|
|
21
|
+
"transition active:transition-none"
|
|
22
|
+
],
|
|
23
|
+
{
|
|
24
|
+
variants: {
|
|
25
|
+
size: {
|
|
26
|
+
sm: "text-sm leading-tight",
|
|
27
|
+
md: "text-base leading-tight",
|
|
28
|
+
lg: "text-lg leading-tight"
|
|
29
|
+
},
|
|
30
|
+
color: {
|
|
31
|
+
inverse: "",
|
|
32
|
+
primary: "",
|
|
33
|
+
secondary: "",
|
|
34
|
+
tertiary: "",
|
|
35
|
+
accent: "",
|
|
36
|
+
positive: "",
|
|
37
|
+
destructive: ""
|
|
38
|
+
},
|
|
39
|
+
align: {
|
|
40
|
+
start: "justify-start",
|
|
41
|
+
center: "justify-center",
|
|
42
|
+
end: "justify-end"
|
|
43
|
+
},
|
|
44
|
+
shape: {
|
|
45
|
+
circle: "rounded-full",
|
|
46
|
+
rounded: "rounded-lg"
|
|
47
|
+
},
|
|
48
|
+
spacing: {
|
|
49
|
+
0: "gap-0 p-0",
|
|
50
|
+
xs: "gap-1.5 px-1.5 py-1.5",
|
|
51
|
+
sm: "gap-1.5 px-2 py-2",
|
|
52
|
+
md: "gap-1.5 px-3 py-2",
|
|
53
|
+
lg: "gap-1.5 px-3.5 py-2.5"
|
|
54
|
+
},
|
|
55
|
+
loading: {
|
|
56
|
+
true: "",
|
|
57
|
+
false: ""
|
|
58
|
+
},
|
|
59
|
+
stretched: {
|
|
60
|
+
true: "w-full",
|
|
61
|
+
false: "w-fit"
|
|
62
|
+
},
|
|
63
|
+
variant: {
|
|
64
|
+
fill: [
|
|
65
|
+
"not-disabled:hover:opacity-75 not-disabled:active:opacity-50",
|
|
66
|
+
"aria-[current]:opacity-75 data-expanded:opacity-75 data-open:opacity-75",
|
|
67
|
+
"focus-visible:opacity-75"
|
|
68
|
+
],
|
|
69
|
+
gray: [
|
|
70
|
+
"bg-bg-primary not-disabled:hover:bg-bg-secondary not-disabled:active:bg-bg-secondary not-disabled:active:opacity-75",
|
|
71
|
+
"aria-[current]:bg-bg-secondary data-expanded:bg-bg-secondary data-open:bg-bg-secondary",
|
|
72
|
+
"focus-visible:bg-bg-secondary"
|
|
73
|
+
],
|
|
74
|
+
ghost: [
|
|
75
|
+
"not-disabled:hover:bg-bg-primary not-disabled:active:bg-bg-primary not-disabled:active:opacity-75",
|
|
76
|
+
"aria-[current]:bg-bg-primary data-expanded:bg-bg-primary data-open:bg-bg-primary",
|
|
77
|
+
"focus-visible:bg-bg-primary"
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
compoundVariants: [
|
|
82
|
+
{
|
|
83
|
+
variant: "fill",
|
|
84
|
+
color: "inverse",
|
|
85
|
+
class: "bg-bg-inverse text-fg-inverse"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
variant: "fill",
|
|
89
|
+
color: "primary",
|
|
90
|
+
class: "bg-bg-primary text-fg-body"
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
variant: "fill",
|
|
94
|
+
color: "secondary",
|
|
95
|
+
class: "bg-bg-secondary text-fg-body"
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
variant: "fill",
|
|
99
|
+
color: "tertiary",
|
|
100
|
+
class: "bg-bg-tertiary text-fg-body"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
variant: "fill",
|
|
104
|
+
color: "accent",
|
|
105
|
+
class: "bg-bg-accent text-light"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
variant: "fill",
|
|
109
|
+
color: "positive",
|
|
110
|
+
class: "bg-bg-positive text-light"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
variant: "fill",
|
|
114
|
+
color: "destructive",
|
|
115
|
+
class: "bg-bg-destructive text-light"
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
variant: "gray",
|
|
119
|
+
color: "inverse",
|
|
120
|
+
class: "text-fg-inverse"
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
variant: "gray",
|
|
124
|
+
color: "primary",
|
|
125
|
+
class: "text-fg-primary"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
variant: "gray",
|
|
129
|
+
color: "secondary",
|
|
130
|
+
class: "text-fg-secondary"
|
|
131
|
+
},
|
|
132
|
+
{
|
|
133
|
+
variant: "gray",
|
|
134
|
+
color: "tertiary",
|
|
135
|
+
class: "text-fg-tertiary"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
variant: "gray",
|
|
139
|
+
color: "accent",
|
|
140
|
+
class: "text-fg-accent"
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
variant: "gray",
|
|
144
|
+
color: "positive",
|
|
145
|
+
class: "text-fg-positive"
|
|
146
|
+
},
|
|
147
|
+
{
|
|
148
|
+
variant: "gray",
|
|
149
|
+
color: "destructive",
|
|
150
|
+
class: "text-fg-destructive"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
variant: "ghost",
|
|
154
|
+
color: "inverse",
|
|
155
|
+
class: "text-fg-inverse"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
variant: "ghost",
|
|
159
|
+
color: "primary",
|
|
160
|
+
class: "text-fg-primary"
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
variant: "ghost",
|
|
164
|
+
color: "secondary",
|
|
165
|
+
class: "text-fg-secondary"
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
variant: "ghost",
|
|
169
|
+
color: "tertiary",
|
|
170
|
+
class: "text-fg-tertiary"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
variant: "ghost",
|
|
174
|
+
color: "accent",
|
|
175
|
+
class: "text-fg-accent"
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
variant: "ghost",
|
|
179
|
+
color: "positive",
|
|
180
|
+
class: "text-fg-positive"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
variant: "ghost",
|
|
184
|
+
color: "destructive",
|
|
185
|
+
class: "text-fg-destructive"
|
|
186
|
+
}
|
|
187
|
+
],
|
|
188
|
+
defaultVariants: {
|
|
189
|
+
size: "md",
|
|
190
|
+
color: "primary",
|
|
191
|
+
align: "center",
|
|
192
|
+
shape: "rounded",
|
|
193
|
+
spacing: "md",
|
|
194
|
+
variant: "fill",
|
|
195
|
+
loading: false,
|
|
196
|
+
stretched: false
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
);
|
|
200
|
+
|
|
201
|
+
// src/components/button/Button.tsx
|
|
202
|
+
var Button = (props) => {
|
|
203
|
+
const defaultedProps = mergeProps(
|
|
204
|
+
{
|
|
205
|
+
color: "primary"
|
|
206
|
+
},
|
|
207
|
+
props
|
|
208
|
+
);
|
|
209
|
+
const [variantProps, otherProps] = splitProps(defaultedProps, [
|
|
210
|
+
"class",
|
|
211
|
+
...buttonVariants.variantKeys
|
|
212
|
+
]);
|
|
213
|
+
return <PolymorphicButton_default
|
|
214
|
+
class={buttonVariants(variantProps)}
|
|
215
|
+
aria-busy={variantProps.loading ? "true" : void 0}
|
|
216
|
+
{...otherProps}
|
|
217
|
+
/>;
|
|
218
|
+
};
|
|
219
|
+
var Button_default = Button;
|
|
220
|
+
|
|
221
|
+
// src/components/button/index.ts
|
|
222
|
+
var button_default = Button_default;
|
|
223
|
+
|
|
224
|
+
export {
|
|
225
|
+
button_default
|
|
226
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type ClassArgs = string | number | boolean | null | undefined | ClassArgs[];
|
|
2
|
+
type ClassProps = {
|
|
3
|
+
class?: ClassArgs;
|
|
4
|
+
};
|
|
5
|
+
type OmitUndefined<T> = T extends undefined ? never : T;
|
|
6
|
+
type StringToBoolean<T> = T extends "true" | "false" ? boolean : T;
|
|
7
|
+
type ConfigSchema = Record<string, Record<string, ClassArgs>>;
|
|
8
|
+
type ConfigVariants<T extends ConfigSchema> = {
|
|
9
|
+
[Variant in keyof T]?: StringToBoolean<keyof T[Variant]> | null | undefined;
|
|
10
|
+
};
|
|
11
|
+
type VariantProps<Component extends (...args: []) => unknown> = Omit<OmitUndefined<Parameters<Component>[0]>, "class">;
|
|
12
|
+
|
|
13
|
+
export type { ConfigVariants as C, VariantProps as V, ClassProps as a };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Avatar_default as default } from '../../chunk/VMEDFWWG.js';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { B as Button } from '../../Button-BOYHKShy.js';
|
|
2
|
+
export { a as ButtonElementProps, b as ButtonProps, c as ButtonSharedProps, d as ButtonVariantProps } from '../../Button-BOYHKShy.js';
|
|
3
|
+
import 'solid-js';
|
|
4
|
+
import '../polymorphic/index.js';
|
|
5
|
+
import '../../classes-B_S9K-9I.js';
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
export { Button as default };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { button_default as default } from '../../chunk/3MUBOGZG.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { input_default as default } from '../../chunk/UTRNHAP4.js';
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as solid_js from 'solid-js';
|
|
2
|
+
import { ValidComponent, ComponentProps, JSX, Ref } from 'solid-js';
|
|
3
|
+
|
|
4
|
+
type OverrideProps<T, P> = Omit<T, keyof P> & P;
|
|
5
|
+
|
|
6
|
+
type PolymorphicAttributes<T extends ValidComponent> = {
|
|
7
|
+
/**
|
|
8
|
+
* Component to render the polymorphic component as.
|
|
9
|
+
* @defaultValue `div`
|
|
10
|
+
*/
|
|
11
|
+
as?: T | keyof JSX.HTMLElementTags;
|
|
12
|
+
};
|
|
13
|
+
type PolymorphicProps<T extends ValidComponent, P extends object> = OverrideProps<ComponentProps<T>, P & PolymorphicAttributes<T>>;
|
|
14
|
+
/**
|
|
15
|
+
* Renders as a div by default and can be overridden with the `as` property.
|
|
16
|
+
*/
|
|
17
|
+
declare const Polymorphic: <ElementProps>(props: PolymorphicAttributes<ValidComponent> & ElementProps) => JSX.Element;
|
|
18
|
+
|
|
19
|
+
type ElementOf<T> = T extends keyof HTMLElementTagNameMap ? HTMLElementTagNameMap[T] : unknown;
|
|
20
|
+
|
|
21
|
+
type PolymorphicButtonSharedProps<T extends ValidComponent = "button"> = {
|
|
22
|
+
ref: Ref<ElementOf<T>>;
|
|
23
|
+
type: string | undefined;
|
|
24
|
+
};
|
|
25
|
+
type PolymorphicButtonElementProps = PolymorphicButtonSharedProps & {
|
|
26
|
+
role: "button" | undefined;
|
|
27
|
+
};
|
|
28
|
+
type PolymorphicButtonProps<T extends ValidComponent = "button"> = Partial<PolymorphicButtonSharedProps<T>>;
|
|
29
|
+
/**
|
|
30
|
+
* An accessible button that sets `type` and `role` properly based on
|
|
31
|
+
* if it's a native button.
|
|
32
|
+
*/
|
|
33
|
+
declare const PolymorphicButton: <T extends ValidComponent = "button">(props: PolymorphicProps<T, PolymorphicButtonProps<T>>) => solid_js.JSX.Element;
|
|
34
|
+
|
|
35
|
+
export { Polymorphic, type PolymorphicAttributes, PolymorphicButton, type PolymorphicButtonElementProps, type PolymorphicButtonProps, type PolymorphicButtonSharedProps, type PolymorphicProps };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Polymorphic_default as Polymorphic, PolymorphicButton_default as PolymorphicButton } from '../../chunk/G6RG4LR7.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { textarea_default as default } from '../../chunk/EB7KXR65.js';
|
package/dist/index.css
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/* src/styles/base/index.css */
|
|
2
|
+
@layer base {
|
|
3
|
+
html {
|
|
4
|
+
scrollbar-color: var(--color-bg-tertiary) transparent;
|
|
5
|
+
}
|
|
6
|
+
body {
|
|
7
|
+
color: var(--color-fg-body);
|
|
8
|
+
background: var(--color-bg-body);
|
|
9
|
+
overflow-x: clip;
|
|
10
|
+
touch-action: manipulation;
|
|
11
|
+
}
|
|
12
|
+
*::selection {
|
|
13
|
+
color: var(--color-fg-inverse);
|
|
14
|
+
background: var(--color-bg-accent);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/* src/styles/themes/dark.css */
|
|
19
|
+
@layer theme {
|
|
20
|
+
[data-theme=dark] {
|
|
21
|
+
--color-bg-body: var(--color-zinc-900);
|
|
22
|
+
--color-bg-inverse: var(--color-zinc-100);
|
|
23
|
+
--color-bg-primary: var(--color-zinc-800);
|
|
24
|
+
--color-bg-secondary: var(--color-zinc-700);
|
|
25
|
+
--color-bg-tertiary: var(--color-zinc-600);
|
|
26
|
+
--color-bg-accent: var(--color-sky-600);
|
|
27
|
+
--color-bg-positive: var(--color-emerald-700);
|
|
28
|
+
--color-bg-destructive: var(--color-rose-800);
|
|
29
|
+
--color-fg-body: var(--color-zinc-100);
|
|
30
|
+
--color-fg-inverse: var(--color-zinc-900);
|
|
31
|
+
--color-fg-primary: var(--color-zinc-200);
|
|
32
|
+
--color-fg-secondary: var(--color-zinc-300);
|
|
33
|
+
--color-fg-tertiary: var(--color-zinc-400);
|
|
34
|
+
--color-fg-accent: var(--color-sky-500);
|
|
35
|
+
--color-fg-positive: var(--color-emerald-600);
|
|
36
|
+
--color-fg-destructive: var(--color-rose-700);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
@layer base {
|
|
40
|
+
[data-theme=dark] {
|
|
41
|
+
color-scheme: only dark;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/* src/styles/themes/light.css */
|
|
46
|
+
@layer theme {
|
|
47
|
+
[data-theme=light] {
|
|
48
|
+
--color-bg-body: var(--color-zinc-50);
|
|
49
|
+
--color-bg-inverse: var(--color-zinc-900);
|
|
50
|
+
--color-bg-primary: var(--color-zinc-200);
|
|
51
|
+
--color-bg-secondary: var(--color-zinc-300);
|
|
52
|
+
--color-bg-tertiary: var(--color-zinc-400);
|
|
53
|
+
--color-bg-accent: var(--color-sky-600);
|
|
54
|
+
--color-bg-positive: var(--color-emerald-700);
|
|
55
|
+
--color-bg-destructive: var(--color-rose-700);
|
|
56
|
+
--color-fg-body: var(--color-zinc-900);
|
|
57
|
+
--color-fg-inverse: var(--color-zinc-100);
|
|
58
|
+
--color-fg-primary: var(--color-zinc-800);
|
|
59
|
+
--color-fg-secondary: var(--color-zinc-700);
|
|
60
|
+
--color-fg-tertiary: var(--color-zinc-600);
|
|
61
|
+
--color-fg-accent: var(--color-sky-700);
|
|
62
|
+
--color-fg-positive: var(--color-emerald-800);
|
|
63
|
+
--color-fg-destructive: var(--color-rose-800);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
@layer base {
|
|
67
|
+
[data-theme=light] {
|
|
68
|
+
color-scheme: only light;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* src/index.css */
|
|
73
|
+
@theme { --color-light: var(--color-zinc-100); --color-dark: var(--color-zinc-900); --color-bg-body: var(--color-bg-body); --color-bg-inverse: var(--color-bg-inverse); --color-bg-primary: var(--color-bg-primary); --color-bg-secondary: var(--color-bg-secondary); --color-bg-tertiary: var(--color-bg-tertiary); --color-bg-accent: var(--color-bg-accent); --color-bg-positive: var(--color-bg-positive); --color-bg-destructive: var(--color-bg-destructive); --color-fg-body: var(--color-fg-body); --color-fg-inverse: var(--color-fg-inverse); --color-fg-primary: var(--color-fg-primary); --color-fg-secondary: var(--color-fg-secondary); --color-fg-tertiary: var(--color-fg-tertiary); --color-fg-accent: var(--color-fg-accent); --color-fg-positive: var(--color-fg-positive); --color-fg-destructive: var(--color-fg-destructive); }
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { A as Avatar } from './Avatar-CzIirpVq.js';
|
|
2
|
+
export { B as Button } from './Button-BOYHKShy.js';
|
|
3
|
+
export { I as Input } from './Input-CvNxe1rq.js';
|
|
4
|
+
export { T as Textarea } from './Textarea-5_oQknZn.js';
|
|
5
|
+
import 'solid-js';
|
|
6
|
+
import './classes-B_S9K-9I.js';
|
|
7
|
+
import './components/polymorphic/index.js';
|
package/dist/index.js
ADDED
package/dist/index.jsx
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Avatar_default
|
|
3
|
+
} from "./chunk/HEJAQSH5.jsx";
|
|
4
|
+
import {
|
|
5
|
+
button_default
|
|
6
|
+
} from "./chunk/YZ3ID3UY.jsx";
|
|
7
|
+
import "./chunk/KACNXPUM.jsx";
|
|
8
|
+
import {
|
|
9
|
+
input_default
|
|
10
|
+
} from "./chunk/NLD5D3P7.jsx";
|
|
11
|
+
import {
|
|
12
|
+
textarea_default
|
|
13
|
+
} from "./chunk/WB6NEEQV.jsx";
|
|
14
|
+
import "./chunk/P7WPLZNA.jsx";
|
|
15
|
+
export {
|
|
16
|
+
Avatar_default as Avatar,
|
|
17
|
+
button_default as Button,
|
|
18
|
+
input_default as Input,
|
|
19
|
+
textarea_default as Textarea
|
|
20
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pathscale/ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Highly opinionated SolidJS component library — batteries and kitchen sink included, but optimized and shiny.",
|
|
5
|
+
"keywords": ["solid", "solidjs"],
|
|
6
|
+
"homepage": "https://github.com/pathscale/ui",
|
|
7
|
+
"bugs": {
|
|
8
|
+
"url": "https://github.com/pathscale/ui/issues"
|
|
9
|
+
},
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/pathscale/ui"
|
|
13
|
+
},
|
|
14
|
+
"license": "MIT",
|
|
15
|
+
"author": "pathscale",
|
|
16
|
+
"sideEffects": false,
|
|
17
|
+
"type": "module",
|
|
18
|
+
"exports": {
|
|
19
|
+
".": {
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
21
|
+
"solid": "./dist/index.jsx",
|
|
22
|
+
"default": "./dist/index.js"
|
|
23
|
+
},
|
|
24
|
+
"./*": {
|
|
25
|
+
"types": "./dist/components/*/index.d.ts",
|
|
26
|
+
"solid": "./dist/components/*/index.jsx",
|
|
27
|
+
"default": "./dist/components/*/index.js"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"main": "./dist/index.js",
|
|
31
|
+
"types": "./dist/index.d.ts",
|
|
32
|
+
"typesVersions": {
|
|
33
|
+
"*": {
|
|
34
|
+
"*": ["./dist/index.d.ts"]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"files": ["dist"],
|
|
38
|
+
"scripts": {
|
|
39
|
+
"build": "tsup",
|
|
40
|
+
"clean": "rm -rf dist node_modules",
|
|
41
|
+
"dev": "vite serve playground --host",
|
|
42
|
+
"format": "biome format --write",
|
|
43
|
+
"lint": "biome lint --write"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@biomejs/biome": "1.9.4",
|
|
47
|
+
"@tailwindcss/vite": "^4.1.6",
|
|
48
|
+
"@types/bun": "^1.2.12",
|
|
49
|
+
"esbuild-plugin-solid": "^0.6.0",
|
|
50
|
+
"tailwindcss": "^4.1.6",
|
|
51
|
+
"tsup": "^8.4.0",
|
|
52
|
+
"typescript": "^5.8.3",
|
|
53
|
+
"vite": "^6.3.5",
|
|
54
|
+
"vite-plugin-solid": "^2.11.6",
|
|
55
|
+
"vite-tsconfig-paths": "^5.1.4"
|
|
56
|
+
},
|
|
57
|
+
"peerDependencies": {
|
|
58
|
+
"solid-js": "^1.8"
|
|
59
|
+
}
|
|
60
|
+
}
|