@pathscale/ui 0.0.1 → 0.0.3
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/dist/Accordion-JZGWxBMK.d.ts +27 -0
- package/dist/Autocomplete-gLkjMHrc.d.ts +28 -0
- package/dist/Checkbox-BjaweaOH.d.ts +40 -0
- package/dist/Field-DfUn85_1.d.ts +49 -0
- package/dist/{Input-BQbTzjIO.d.ts → Input-C1bm4HGf.d.ts} +1 -1
- package/dist/Pagination-CJtlFMHy.d.ts +43 -0
- package/dist/Progress-gN0xqhAF.d.ts +64 -0
- package/dist/Select-CWCDBvec.d.ts +44 -0
- package/dist/Steps-1miUeyCD.d.ts +34 -0
- package/dist/Switch-BiKX7HZ2.d.ts +72 -0
- package/dist/Table-CGa6Nop3.d.ts +39 -0
- package/dist/Tabs-BEnRV6GG.d.ts +42 -0
- package/dist/Tag-BPrhn-Ne.d.ts +42 -0
- package/dist/Timeline-Bd4SxHMT.d.ts +14 -0
- package/dist/Tooltip-BfPongoz.d.ts +53 -0
- package/dist/Upload-BrFuZ4JA.d.ts +39 -0
- package/dist/chunk/3IHANYRN.js +98 -0
- package/dist/chunk/3VOILEMN.js +187 -0
- package/dist/chunk/4TWLQ3IA.js +103 -0
- package/dist/chunk/6SBH3KSM.jsx +96 -0
- package/dist/chunk/7ROVLN3J.js +175 -0
- package/dist/chunk/BBDVIXAH.jsx +194 -0
- package/dist/chunk/{4RCWSX7S.jsx → C4745OZS.jsx} +7 -7
- package/dist/chunk/C4YO33NN.jsx +179 -0
- package/dist/chunk/CJZGTNJZ.js +115 -0
- package/dist/chunk/D2BEL4SM.jsx +169 -0
- package/dist/chunk/DBQ7IOPU.js +189 -0
- package/dist/chunk/DNTGSCVF.jsx +100 -0
- package/dist/chunk/DSTUGZW6.jsx +81 -0
- package/dist/chunk/ELRAUORW.jsx +179 -0
- package/dist/chunk/FKSQPGOD.jsx +170 -0
- package/dist/chunk/FPUQ25SO.js +137 -0
- package/dist/chunk/GLEAR2TS.jsx +160 -0
- package/dist/chunk/GMIXRYN3.js +138 -0
- package/dist/chunk/HWAGW5N4.jsx +118 -0
- package/dist/chunk/JWRGKHDO.js +172 -0
- package/dist/chunk/KV6LTJHI.jsx +175 -0
- package/dist/chunk/LAQPAV5I.jsx +187 -0
- package/dist/chunk/LI3HCFL7.jsx +132 -0
- package/dist/chunk/MAX47D6F.js +99 -0
- package/dist/chunk/{2JGZSAW5.js → MI773TMC.js} +6 -6
- package/dist/chunk/MMTAND25.jsx +126 -0
- package/dist/chunk/MXG3MBEN.jsx +148 -0
- package/dist/chunk/MYERRMTM.js +200 -0
- package/dist/chunk/NZKPDBTE.js +118 -0
- package/dist/chunk/OSJ3P7PI.js +189 -0
- package/dist/chunk/P2L6LFLS.js +144 -0
- package/dist/chunk/QLESLIWS.jsx +110 -0
- package/dist/chunk/QONDPQ2I.jsx +105 -0
- package/dist/chunk/QYEMOKUG.js +125 -0
- package/dist/chunk/S3ZDSQSV.js +98 -0
- package/dist/chunk/SCJSBRV2.jsx +39 -0
- package/dist/chunk/STKRVQR6.jsx +130 -0
- package/dist/chunk/{NZZRKP74.js → TFLJI242.js} +1 -25
- package/dist/chunk/TT2JYGLU.js +218 -0
- package/dist/chunk/V6Y5E7BL.js +133 -0
- package/dist/chunk/VN5BKHA2.jsx +97 -0
- package/dist/chunk/WOT36Q7O.js +166 -0
- package/dist/chunk/WUZETUQR.js +92 -0
- package/dist/chunk/XD34JKSU.jsx +201 -0
- package/dist/chunk/{GA2HCFRS.jsx → YAQK2KFY.jsx} +1 -35
- package/dist/chunk/YMO6RPS6.js +26 -0
- package/dist/components/Progress/index.d.ts +4 -39
- package/dist/components/Progress/index.js +1 -278
- package/dist/components/Progress/index.jsx +4 -199
- package/dist/components/accordion/index.d.ts +5 -24
- package/dist/components/accordion/index.js +1 -118
- package/dist/components/accordion/index.jsx +3 -100
- package/dist/components/autocomplete/index.d.ts +8 -0
- package/dist/components/autocomplete/index.js +1 -0
- package/dist/components/autocomplete/index.jsx +7 -0
- package/dist/components/avatar/index.js +1 -1
- package/dist/components/avatar/index.jsx +3 -3
- package/dist/components/breadcrumb/index.d.ts +2 -2
- package/dist/components/breadcrumb/index.js +1 -133
- package/dist/components/breadcrumb/index.jsx +4 -120
- package/dist/components/button/index.js +1 -1
- package/dist/components/button/index.jsx +2 -1
- package/dist/components/checkbox/index.d.ts +5 -37
- package/dist/components/checkbox/index.js +1 -137
- package/dist/components/checkbox/index.jsx +3 -143
- package/dist/components/dropdown/index.d.ts +43 -0
- package/dist/components/dropdown/index.js +1 -0
- package/dist/components/dropdown/index.jsx +12 -0
- package/dist/components/field/index.d.ts +7 -0
- package/dist/components/field/index.js +1 -0
- package/dist/components/field/index.jsx +7 -0
- package/dist/components/input/index.d.ts +2 -2
- package/dist/components/menu/index.d.ts +66 -0
- package/dist/components/menu/index.js +1 -0
- package/dist/components/menu/index.jsx +11 -0
- package/dist/components/navbar/index.d.ts +74 -0
- package/dist/components/navbar/index.js +1 -0
- package/dist/components/navbar/index.jsx +11 -0
- package/dist/components/pagination/index.d.ts +5 -40
- package/dist/components/pagination/index.js +1 -189
- package/dist/components/pagination/index.jsx +3 -174
- package/dist/components/select/index.d.ts +5 -41
- package/dist/components/select/index.js +1 -98
- package/dist/components/select/index.jsx +3 -91
- package/dist/components/steps/index.d.ts +8 -0
- package/dist/components/steps/index.js +1 -0
- package/dist/components/steps/index.jsx +7 -0
- package/dist/components/switch/index.d.ts +5 -69
- package/dist/components/switch/index.js +1 -144
- package/dist/components/switch/index.jsx +3 -155
- package/dist/components/table/index.d.ts +8 -0
- package/dist/components/table/index.js +1 -0
- package/dist/components/table/index.jsx +7 -0
- package/dist/components/tabs/index.d.ts +5 -39
- package/dist/components/tabs/index.js +1 -166
- package/dist/components/tabs/index.jsx +3 -170
- package/dist/components/tag/index.d.ts +5 -39
- package/dist/components/tag/index.js +1 -115
- package/dist/components/tag/index.jsx +3 -127
- package/dist/components/timeline/index.d.ts +7 -0
- package/dist/components/timeline/index.js +1 -0
- package/dist/components/timeline/index.jsx +7 -0
- package/dist/components/toast/index.d.ts +24 -0
- package/dist/components/toast/index.js +1 -0
- package/dist/components/toast/index.jsx +11 -0
- package/dist/components/tooltip/index.d.ts +5 -50
- package/dist/components/tooltip/index.js +1 -103
- package/dist/components/tooltip/index.jsx +3 -95
- package/dist/components/upload/index.d.ts +5 -36
- package/dist/components/upload/index.js +1 -98
- package/dist/components/upload/index.jsx +3 -105
- package/dist/index.d.ts +22 -2
- package/dist/index.js +23 -2
- package/dist/index.jsx +108 -8
- package/package.json +1 -1
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
import { cva, classes } from './HKS7ET6T.js';
|
|
2
|
+
import { delegateEvents, template, spread, mergeProps, insert, createComponent, effect, className } from 'solid-js/web';
|
|
3
|
+
import { splitProps, createSignal, createMemo, For, Show } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/steps/Steps.styles.ts
|
|
6
|
+
var stepsContainer = cva("flex flex-col", {
|
|
7
|
+
variants: {
|
|
8
|
+
animated: {
|
|
9
|
+
true: "transition-all duration-300 ease-in-out",
|
|
10
|
+
false: ""
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: { animated: false }
|
|
14
|
+
});
|
|
15
|
+
var navBar = cva("flex items-center justify-between mb-6");
|
|
16
|
+
var navItem = cva(
|
|
17
|
+
"relative flex-1 flex flex-col items-center",
|
|
18
|
+
{
|
|
19
|
+
variants: {
|
|
20
|
+
clickable: {
|
|
21
|
+
true: "cursor-pointer",
|
|
22
|
+
false: "pointer-events-none"
|
|
23
|
+
},
|
|
24
|
+
disabled: {
|
|
25
|
+
true: "opacity-50 pointer-events-none",
|
|
26
|
+
false: ""
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultVariants: { clickable: false, disabled: false }
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
var marker = cva(
|
|
33
|
+
"w-8 h-8 flex items-center justify-center rounded-full border-2",
|
|
34
|
+
{
|
|
35
|
+
variants: {
|
|
36
|
+
active: {
|
|
37
|
+
true: "bg-blue-500 border-blue-500 text-white",
|
|
38
|
+
false: "bg-white border-gray-300 text-gray-600"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: { active: false }
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
var line = cva("absolute top-1/2 left-full w-full h-0.5", {
|
|
45
|
+
variants: {
|
|
46
|
+
active: {
|
|
47
|
+
true: "bg-blue-500",
|
|
48
|
+
false: "bg-gray-300"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: { active: false }
|
|
52
|
+
});
|
|
53
|
+
var title = cva("mt-2 text-sm", {
|
|
54
|
+
variants: {
|
|
55
|
+
active: {
|
|
56
|
+
true: "text-blue-600 font-medium",
|
|
57
|
+
false: "text-gray-600"
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
defaultVariants: { active: false }
|
|
61
|
+
});
|
|
62
|
+
var subtitle = cva("text-xs mt-1", {
|
|
63
|
+
variants: {
|
|
64
|
+
color: {
|
|
65
|
+
default: "text-blue-500",
|
|
66
|
+
muted: "text-gray-500",
|
|
67
|
+
accent: "text-green-500"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
defaultVariants: { color: "default" }
|
|
71
|
+
});
|
|
72
|
+
var buttonSteps = cva("px-4 py-2 bg-blue-600 text-white rounded");
|
|
73
|
+
|
|
74
|
+
// src/components/steps/Steps.tsx
|
|
75
|
+
var _tmpl$ = /* @__PURE__ */ template(`<div><nav></nav><div>`);
|
|
76
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<div>`);
|
|
77
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<div><div></div><div>`);
|
|
78
|
+
var _tmpl$4 = /* @__PURE__ */ template(`<button type=button class="px-4 py-2 border rounded">Back`);
|
|
79
|
+
var _tmpl$5 = /* @__PURE__ */ template(`<button type=button>Next`);
|
|
80
|
+
var _tmpl$6 = /* @__PURE__ */ template(`<button type=button class="px-4 py-2 bg-green-600 text-white rounded">Restart`);
|
|
81
|
+
var _tmpl$7 = /* @__PURE__ */ template(`<div><div class="flex justify-end gap-2 mt-6">`);
|
|
82
|
+
var Steps = (props) => {
|
|
83
|
+
const [local, variantProps, otherProps] = splitProps(props, ["steps", "animated", "initial", "value", "onStepChange", "className"], ["animated"]);
|
|
84
|
+
const isControlled = () => local.value !== void 0;
|
|
85
|
+
const [internalIndex, setInternalIndex] = createSignal(local.initial ?? 0);
|
|
86
|
+
const activeIndex = createMemo(() => isControlled() ? local.value : internalIndex());
|
|
87
|
+
const clamp = (i) => Math.max(0, Math.min(i, local.steps.length - 1));
|
|
88
|
+
const changeIndex = (i) => {
|
|
89
|
+
const idx = clamp(i);
|
|
90
|
+
if (isControlled()) local.onStepChange?.(idx);
|
|
91
|
+
else setInternalIndex(idx);
|
|
92
|
+
};
|
|
93
|
+
const next = () => changeIndex(activeIndex() + 1);
|
|
94
|
+
const back = () => changeIndex(activeIndex() - 1);
|
|
95
|
+
const isActive = (i) => i === activeIndex();
|
|
96
|
+
const isPast = (i) => i < activeIndex();
|
|
97
|
+
return (() => {
|
|
98
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.nextSibling;
|
|
99
|
+
spread(_el$, mergeProps({
|
|
100
|
+
get ["class"]() {
|
|
101
|
+
return classes(stepsContainer({
|
|
102
|
+
animated: local.animated
|
|
103
|
+
}), local.className);
|
|
104
|
+
}
|
|
105
|
+
}, otherProps), false, true);
|
|
106
|
+
insert(_el$2, createComponent(For, {
|
|
107
|
+
get each() {
|
|
108
|
+
return local.steps;
|
|
109
|
+
},
|
|
110
|
+
children: (step, idx) => {
|
|
111
|
+
const i = idx();
|
|
112
|
+
return (() => {
|
|
113
|
+
var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild, _el$7 = _el$5.nextSibling;
|
|
114
|
+
_el$4.$$click = () => step.clickable && changeIndex(i);
|
|
115
|
+
insert(_el$5, () => step.marker ?? String(i + 1));
|
|
116
|
+
insert(_el$4, createComponent(Show, {
|
|
117
|
+
get when() {
|
|
118
|
+
return i < local.steps.length - 1;
|
|
119
|
+
},
|
|
120
|
+
get children() {
|
|
121
|
+
var _el$6 = _tmpl$2();
|
|
122
|
+
effect(() => className(_el$6, line({
|
|
123
|
+
active: isPast(i)
|
|
124
|
+
})));
|
|
125
|
+
return _el$6;
|
|
126
|
+
}
|
|
127
|
+
}), _el$7);
|
|
128
|
+
insert(_el$7, () => step.title);
|
|
129
|
+
insert(_el$4, createComponent(Show, {
|
|
130
|
+
get when() {
|
|
131
|
+
return step.subtitle;
|
|
132
|
+
},
|
|
133
|
+
get children() {
|
|
134
|
+
var _el$8 = _tmpl$2();
|
|
135
|
+
insert(_el$8, () => step.subtitle);
|
|
136
|
+
effect(() => className(_el$8, subtitle()));
|
|
137
|
+
return _el$8;
|
|
138
|
+
}
|
|
139
|
+
}), null);
|
|
140
|
+
effect((_p$) => {
|
|
141
|
+
var _v$ = navItem({
|
|
142
|
+
clickable: !!step.clickable
|
|
143
|
+
}), _v$2 = marker({
|
|
144
|
+
active: isActive(i) || isPast(i)
|
|
145
|
+
}), _v$3 = title({
|
|
146
|
+
active: isActive(i) || isPast(i)
|
|
147
|
+
});
|
|
148
|
+
_v$ !== _p$.e && className(_el$4, _p$.e = _v$);
|
|
149
|
+
_v$2 !== _p$.t && className(_el$5, _p$.t = _v$2);
|
|
150
|
+
_v$3 !== _p$.a && className(_el$7, _p$.a = _v$3);
|
|
151
|
+
return _p$;
|
|
152
|
+
}, {
|
|
153
|
+
e: void 0,
|
|
154
|
+
t: void 0,
|
|
155
|
+
a: void 0
|
|
156
|
+
});
|
|
157
|
+
return _el$4;
|
|
158
|
+
})();
|
|
159
|
+
}
|
|
160
|
+
}));
|
|
161
|
+
insert(_el$3, createComponent(For, {
|
|
162
|
+
get each() {
|
|
163
|
+
return local.steps;
|
|
164
|
+
},
|
|
165
|
+
children: (step, idx) => {
|
|
166
|
+
const i = idx();
|
|
167
|
+
return createComponent(Show, {
|
|
168
|
+
get when() {
|
|
169
|
+
return isActive(i);
|
|
170
|
+
},
|
|
171
|
+
get children() {
|
|
172
|
+
var _el$9 = _tmpl$7(), _el$0 = _el$9.firstChild;
|
|
173
|
+
insert(_el$9, () => step.content, _el$0);
|
|
174
|
+
insert(_el$0, createComponent(Show, {
|
|
175
|
+
when: i > 0,
|
|
176
|
+
get children() {
|
|
177
|
+
var _el$1 = _tmpl$4();
|
|
178
|
+
_el$1.$$click = back;
|
|
179
|
+
return _el$1;
|
|
180
|
+
}
|
|
181
|
+
}), null);
|
|
182
|
+
insert(_el$0, createComponent(Show, {
|
|
183
|
+
get when() {
|
|
184
|
+
return i < local.steps.length - 1;
|
|
185
|
+
},
|
|
186
|
+
get children() {
|
|
187
|
+
var _el$10 = _tmpl$5();
|
|
188
|
+
_el$10.$$click = next;
|
|
189
|
+
effect(() => className(_el$10, buttonSteps()));
|
|
190
|
+
return _el$10;
|
|
191
|
+
}
|
|
192
|
+
}), null);
|
|
193
|
+
insert(_el$0, createComponent(Show, {
|
|
194
|
+
get when() {
|
|
195
|
+
return i === local.steps.length - 1;
|
|
196
|
+
},
|
|
197
|
+
get children() {
|
|
198
|
+
var _el$11 = _tmpl$6();
|
|
199
|
+
_el$11.$$click = () => changeIndex(0);
|
|
200
|
+
return _el$11;
|
|
201
|
+
}
|
|
202
|
+
}), null);
|
|
203
|
+
return _el$9;
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
}
|
|
207
|
+
}));
|
|
208
|
+
effect(() => className(_el$2, navBar()));
|
|
209
|
+
return _el$;
|
|
210
|
+
})();
|
|
211
|
+
};
|
|
212
|
+
var Steps_default = Steps;
|
|
213
|
+
delegateEvents(["click"]);
|
|
214
|
+
|
|
215
|
+
// src/components/steps/index.ts
|
|
216
|
+
var steps_default = Steps_default;
|
|
217
|
+
|
|
218
|
+
export { steps_default };
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
import { cva } from './HKS7ET6T.js';
|
|
2
|
+
import { template, insert, effect, setAttribute, spread, mergeProps, memo, className } from 'solid-js/web';
|
|
3
|
+
import { splitProps, children, createMemo, untrack } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/breadcrumb/Breadcrumb.styles.ts
|
|
6
|
+
var breadcrumbContainerVariants = cva(
|
|
7
|
+
["flex", "items-center", "gap-2", "text-sm"],
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
alignment: {
|
|
11
|
+
left: "justify-start",
|
|
12
|
+
center: "justify-center",
|
|
13
|
+
right: "justify-end"
|
|
14
|
+
},
|
|
15
|
+
size: {
|
|
16
|
+
sm: "text-xs gap-1",
|
|
17
|
+
md: "text-sm gap-2",
|
|
18
|
+
lg: "text-base gap-3"
|
|
19
|
+
},
|
|
20
|
+
separator: {
|
|
21
|
+
arrow: "breadcrumb-arrow",
|
|
22
|
+
dot: "breadcrumb-dot",
|
|
23
|
+
bullet: "breadcrumb-bullet",
|
|
24
|
+
succeeds: "breadcrumb-succeeds"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
defaultVariants: {
|
|
28
|
+
alignment: "left",
|
|
29
|
+
size: "md"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
);
|
|
33
|
+
var breadcrumbItemVariants = cva(
|
|
34
|
+
["text-gray-600", "dark:text-gray-300"],
|
|
35
|
+
{
|
|
36
|
+
variants: {
|
|
37
|
+
active: {
|
|
38
|
+
true: "text-blue-600 font-semibold cursor-default",
|
|
39
|
+
false: "hover:underline"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
defaultVariants: {
|
|
43
|
+
active: false
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
// src/components/breadcrumb/Breadcrumb.tsx
|
|
49
|
+
var _tmpl$ = /* @__PURE__ */ template(`<li class="text-gray-400 select-none"aria-hidden=true>`);
|
|
50
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<li><span>`);
|
|
51
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<nav aria-label=Breadcrumb><ol class="flex items-center flex-wrap gap-1">`);
|
|
52
|
+
var separatorMap = {
|
|
53
|
+
arrow: "\u2192",
|
|
54
|
+
dot: "\xB7",
|
|
55
|
+
bullet: "\u2022",
|
|
56
|
+
succeeds: "\xBB"
|
|
57
|
+
};
|
|
58
|
+
var Breadcrumb = (props) => {
|
|
59
|
+
const [local, variantProps, otherProps] = splitProps(props, ["children"], ["alignment", "size", "separator"]);
|
|
60
|
+
const resolvedChildren = children(() => local.children);
|
|
61
|
+
const items = createMemo(() => resolvedChildren.toArray());
|
|
62
|
+
const separator = createMemo(() => untrack(() => {
|
|
63
|
+
const sep = variantProps.separator;
|
|
64
|
+
return sep && separatorMap[sep] ? separatorMap[sep] : "/";
|
|
65
|
+
}));
|
|
66
|
+
const containerClasses = createMemo(() => breadcrumbContainerVariants(variantProps));
|
|
67
|
+
const renderItems = createMemo(() => {
|
|
68
|
+
return items().reduce((acc, item, idx) => {
|
|
69
|
+
if (idx > 0) {
|
|
70
|
+
acc.push((() => {
|
|
71
|
+
var _el$ = _tmpl$();
|
|
72
|
+
insert(_el$, separator);
|
|
73
|
+
return _el$;
|
|
74
|
+
})());
|
|
75
|
+
}
|
|
76
|
+
acc.push((() => {
|
|
77
|
+
var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild;
|
|
78
|
+
insert(_el$3, item);
|
|
79
|
+
effect(() => setAttribute(_el$3, "aria-current", idx === items().length - 1 ? "page" : void 0));
|
|
80
|
+
return _el$2;
|
|
81
|
+
})());
|
|
82
|
+
return acc;
|
|
83
|
+
}, []);
|
|
84
|
+
});
|
|
85
|
+
return (() => {
|
|
86
|
+
var _el$4 = _tmpl$3(), _el$5 = _el$4.firstChild;
|
|
87
|
+
spread(_el$4, mergeProps({
|
|
88
|
+
get ["class"]() {
|
|
89
|
+
return containerClasses();
|
|
90
|
+
}
|
|
91
|
+
}, otherProps), false, true);
|
|
92
|
+
insert(_el$5, renderItems);
|
|
93
|
+
return _el$4;
|
|
94
|
+
})();
|
|
95
|
+
};
|
|
96
|
+
var Breadcrumb_default = Breadcrumb;
|
|
97
|
+
var _tmpl$4 = /* @__PURE__ */ template(`<li class="flex items-center gap-1">`);
|
|
98
|
+
var _tmpl$22 = /* @__PURE__ */ template(`<a>`);
|
|
99
|
+
var _tmpl$32 = /* @__PURE__ */ template(`<span>`);
|
|
100
|
+
var BreadcrumbItem = (props) => {
|
|
101
|
+
const [local, variantProps] = splitProps(props, ["children", "href", "active"], ["active"]);
|
|
102
|
+
return (() => {
|
|
103
|
+
var _el$ = _tmpl$4();
|
|
104
|
+
insert(_el$, (() => {
|
|
105
|
+
var _c$ = memo(() => !!(local.href && !local.active));
|
|
106
|
+
return () => _c$() ? (() => {
|
|
107
|
+
var _el$2 = _tmpl$22();
|
|
108
|
+
insert(_el$2, () => local.children);
|
|
109
|
+
effect((_p$) => {
|
|
110
|
+
var _v$ = local.href, _v$2 = breadcrumbItemVariants(variantProps);
|
|
111
|
+
_v$ !== _p$.e && setAttribute(_el$2, "href", _p$.e = _v$);
|
|
112
|
+
_v$2 !== _p$.t && className(_el$2, _p$.t = _v$2);
|
|
113
|
+
return _p$;
|
|
114
|
+
}, {
|
|
115
|
+
e: void 0,
|
|
116
|
+
t: void 0
|
|
117
|
+
});
|
|
118
|
+
return _el$2;
|
|
119
|
+
})() : (() => {
|
|
120
|
+
var _el$3 = _tmpl$32();
|
|
121
|
+
insert(_el$3, () => local.children);
|
|
122
|
+
effect(() => className(_el$3, breadcrumbItemVariants({
|
|
123
|
+
active: true
|
|
124
|
+
})));
|
|
125
|
+
return _el$3;
|
|
126
|
+
})();
|
|
127
|
+
})());
|
|
128
|
+
return _el$;
|
|
129
|
+
})();
|
|
130
|
+
};
|
|
131
|
+
var BreadcrumbItem_default = BreadcrumbItem;
|
|
132
|
+
|
|
133
|
+
export { BreadcrumbItem_default, Breadcrumb_default };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import {
|
|
2
|
+
classes,
|
|
3
|
+
cva
|
|
4
|
+
} from "./P7WPLZNA.jsx";
|
|
5
|
+
|
|
6
|
+
// src/components/field/Field.tsx
|
|
7
|
+
import {
|
|
8
|
+
splitProps
|
|
9
|
+
} from "solid-js";
|
|
10
|
+
|
|
11
|
+
// src/components/field/Field.styles.ts
|
|
12
|
+
var fieldWrapper = cva(
|
|
13
|
+
"flex flex-col space-y-1",
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
horizontal: {
|
|
17
|
+
true: "flex-row items-center space-x-2 space-y-0",
|
|
18
|
+
false: "flex-col"
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: "text-sm",
|
|
22
|
+
md: "text-base",
|
|
23
|
+
lg: "text-lg"
|
|
24
|
+
},
|
|
25
|
+
type: {
|
|
26
|
+
default: "",
|
|
27
|
+
danger: "text-red-600"
|
|
28
|
+
},
|
|
29
|
+
grouped: {
|
|
30
|
+
true: "flex flex-wrap gap-2",
|
|
31
|
+
false: ""
|
|
32
|
+
},
|
|
33
|
+
groupMultiline: {
|
|
34
|
+
true: "flex-col",
|
|
35
|
+
false: "flex-row"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
compoundVariants: [
|
|
39
|
+
{ horizontal: true, grouped: true, class: "items-start" }
|
|
40
|
+
],
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
horizontal: false,
|
|
43
|
+
size: "md",
|
|
44
|
+
type: "default",
|
|
45
|
+
grouped: false,
|
|
46
|
+
groupMultiline: false
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
var labelStyles = cva("font-medium", {
|
|
51
|
+
variants: {
|
|
52
|
+
size: { sm: "text-sm", md: "text-base", lg: "text-lg" },
|
|
53
|
+
type: { default: "text-gray-800", danger: "text-red-600" }
|
|
54
|
+
},
|
|
55
|
+
defaultVariants: { size: "md", type: "default" }
|
|
56
|
+
});
|
|
57
|
+
var messageStyles = cva("mt-1 text-sm", {
|
|
58
|
+
variants: {
|
|
59
|
+
type: { default: "text-gray-600", danger: "text-red-600" }
|
|
60
|
+
},
|
|
61
|
+
defaultVariants: { type: "default" }
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
// src/components/field/Field.tsx
|
|
65
|
+
var Field = (props) => {
|
|
66
|
+
const [local, variantProps, rest] = splitProps(
|
|
67
|
+
props,
|
|
68
|
+
["label", "message", "className", "children"],
|
|
69
|
+
["horizontal", "size", "type", "grouped", "groupMultiline"]
|
|
70
|
+
);
|
|
71
|
+
return <div class={classes(fieldWrapper(variantProps), local.className)} {...rest}>
|
|
72
|
+
{local.label && <label class={labelStyles(variantProps)}>
|
|
73
|
+
{local.label}
|
|
74
|
+
</label>}
|
|
75
|
+
|
|
76
|
+
{
|
|
77
|
+
/* CONTENT SLOT: now flex when horizontal */
|
|
78
|
+
}
|
|
79
|
+
<div class={classes(
|
|
80
|
+
variantProps.horizontal ? "flex items-center gap-2" : ""
|
|
81
|
+
)}>
|
|
82
|
+
{local.children}
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
{local.message && <span class={messageStyles(variantProps)}>
|
|
86
|
+
{local.message}
|
|
87
|
+
</span>}
|
|
88
|
+
</div>;
|
|
89
|
+
};
|
|
90
|
+
var Field_default = Field;
|
|
91
|
+
|
|
92
|
+
// src/components/field/index.ts
|
|
93
|
+
var field_default = Field_default;
|
|
94
|
+
|
|
95
|
+
export {
|
|
96
|
+
field_default
|
|
97
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { cva } from './HKS7ET6T.js';
|
|
2
|
+
import { delegateEvents, template, spread, insert, createComponent, effect, className } from 'solid-js/web';
|
|
3
|
+
import { splitProps, createSignal, createMemo, For, Show } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/tabs/Tabs.styles.ts
|
|
6
|
+
var tabsNavVariants = cva(
|
|
7
|
+
"flex text-sm font-medium text-gray-600 dark:text-gray-300",
|
|
8
|
+
{
|
|
9
|
+
variants: {
|
|
10
|
+
type: {
|
|
11
|
+
basic: "",
|
|
12
|
+
boxed: "flex gap-2",
|
|
13
|
+
toggle: "inline-flex rounded-md p-1",
|
|
14
|
+
"toggle-rounded": "inline-flex rounded-full p-1"
|
|
15
|
+
},
|
|
16
|
+
size: {
|
|
17
|
+
sm: "text-xs gap-1",
|
|
18
|
+
md: "text-sm gap-2",
|
|
19
|
+
lg: "text-base gap-3"
|
|
20
|
+
},
|
|
21
|
+
alignment: {
|
|
22
|
+
left: "justify-start",
|
|
23
|
+
center: "justify-center",
|
|
24
|
+
right: "justify-end"
|
|
25
|
+
},
|
|
26
|
+
expanded: {
|
|
27
|
+
true: "w-full",
|
|
28
|
+
false: ""
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
defaultVariants: {
|
|
32
|
+
type: "basic",
|
|
33
|
+
size: "md",
|
|
34
|
+
alignment: "left",
|
|
35
|
+
expanded: false
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
);
|
|
39
|
+
var tabTriggerVariants = cva(
|
|
40
|
+
"inline-flex items-center justify-center whitespace-nowrap font-medium text-sm transition-colors",
|
|
41
|
+
{
|
|
42
|
+
variants: {
|
|
43
|
+
size: {
|
|
44
|
+
sm: "text-xs px-2 py-1",
|
|
45
|
+
md: "text-sm px-3 py-2",
|
|
46
|
+
lg: "text-base px-4 py-3"
|
|
47
|
+
},
|
|
48
|
+
type: {
|
|
49
|
+
basic: "border-b-2 transition-colors hover:text-blue-600",
|
|
50
|
+
boxed: "rounded-t px-4 py-2 hover:text-blue-600",
|
|
51
|
+
toggle: "border -ml-px px-4 py-2 transition-colors first:ml-0 first:rounded-l-md last:rounded-r-md",
|
|
52
|
+
"toggle-rounded": "border -ml-px first:ml-0 first:rounded-l-full last:rounded-r-full transition-colors"
|
|
53
|
+
},
|
|
54
|
+
active: {
|
|
55
|
+
true: "",
|
|
56
|
+
false: ""
|
|
57
|
+
},
|
|
58
|
+
disabled: {
|
|
59
|
+
true: "opacity-50 cursor-not-allowed pointer-events-none",
|
|
60
|
+
false: ""
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
compoundVariants: [
|
|
64
|
+
{
|
|
65
|
+
type: "basic",
|
|
66
|
+
active: true,
|
|
67
|
+
class: "border-blue-600 text-blue-600"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: "basic",
|
|
71
|
+
active: false,
|
|
72
|
+
class: "border-transparent text-gray-500 dark:text-gray-400"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
type: "boxed",
|
|
76
|
+
active: true,
|
|
77
|
+
class: "border-x border-t border-b-0 border-gray-400 dark:border-gray-600 text-blue-600"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
type: "boxed",
|
|
81
|
+
active: false,
|
|
82
|
+
class: "border-b border-transparent text-gray-500 dark:text-gray-400 hover:text-blue-600"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
type: "toggle",
|
|
86
|
+
active: true,
|
|
87
|
+
class: "bg-blue-600 text-white border-blue-600"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
type: "toggle",
|
|
91
|
+
active: false,
|
|
92
|
+
class: "bg-transparent text-gray-600 dark:text-gray-300 border-gray-300 dark:border-gray-600"
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
type: "toggle-rounded",
|
|
96
|
+
active: true,
|
|
97
|
+
class: "bg-blue-600 text-white border-blue-600"
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
type: "toggle-rounded",
|
|
101
|
+
active: false,
|
|
102
|
+
class: "bg-transparent text-gray-600 dark:text-gray-300 border-gray-300 dark:border-gray-600"
|
|
103
|
+
}
|
|
104
|
+
],
|
|
105
|
+
defaultVariants: {
|
|
106
|
+
active: false,
|
|
107
|
+
disabled: false
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
|
|
112
|
+
// src/components/tabs/Tabs.tsx
|
|
113
|
+
var _tmpl$ = /* @__PURE__ */ template(`<div><nav><ul class="flex gap-0"></ul></nav><div class=pt-4>`);
|
|
114
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<li><button>`);
|
|
115
|
+
var Tabs = (props) => {
|
|
116
|
+
const [local, variantProps, otherProps] = splitProps(props, ["items", "value", "onChange"], ["size", "type", "alignment", "expanded"]);
|
|
117
|
+
const [internalActive, setInternalActive] = createSignal(local.value ?? 0);
|
|
118
|
+
const isControlled = () => local.value !== void 0;
|
|
119
|
+
const active = createMemo(() => isControlled() ? local.value : internalActive());
|
|
120
|
+
const handleChange = (i) => {
|
|
121
|
+
const item = local.items[i];
|
|
122
|
+
if (!item || item.disabled) return;
|
|
123
|
+
if (!isControlled()) {
|
|
124
|
+
setInternalActive(i);
|
|
125
|
+
}
|
|
126
|
+
local.onChange?.(i);
|
|
127
|
+
};
|
|
128
|
+
return (() => {
|
|
129
|
+
var _el$ = _tmpl$(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$2.nextSibling;
|
|
130
|
+
spread(_el$, otherProps, false, true);
|
|
131
|
+
insert(_el$3, createComponent(For, {
|
|
132
|
+
get each() {
|
|
133
|
+
return local.items;
|
|
134
|
+
},
|
|
135
|
+
children: (tab, i) => (() => {
|
|
136
|
+
var _el$5 = _tmpl$2(), _el$6 = _el$5.firstChild;
|
|
137
|
+
_el$6.$$click = () => handleChange(i());
|
|
138
|
+
insert(_el$6, () => tab.label);
|
|
139
|
+
effect(() => className(_el$6, tabTriggerVariants({
|
|
140
|
+
type: variantProps.type ?? "basic",
|
|
141
|
+
size: variantProps.size ?? "md",
|
|
142
|
+
active: i() === active(),
|
|
143
|
+
disabled: tab.disabled
|
|
144
|
+
})));
|
|
145
|
+
return _el$5;
|
|
146
|
+
})()
|
|
147
|
+
}));
|
|
148
|
+
insert(_el$4, createComponent(Show, {
|
|
149
|
+
get when() {
|
|
150
|
+
return local.items[active()];
|
|
151
|
+
},
|
|
152
|
+
get children() {
|
|
153
|
+
return local.items[active()]?.content;
|
|
154
|
+
}
|
|
155
|
+
}));
|
|
156
|
+
effect(() => className(_el$2, tabsNavVariants(variantProps)));
|
|
157
|
+
return _el$;
|
|
158
|
+
})();
|
|
159
|
+
};
|
|
160
|
+
var Tabs_default = Tabs;
|
|
161
|
+
delegateEvents(["click"]);
|
|
162
|
+
|
|
163
|
+
// src/components/tabs/index.ts
|
|
164
|
+
var tabs_default = Tabs_default;
|
|
165
|
+
|
|
166
|
+
export { tabs_default };
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { cva, classes } from './HKS7ET6T.js';
|
|
2
|
+
import { template, className, insert, createComponent, memo, effect } from 'solid-js/web';
|
|
3
|
+
import { For } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/timeline/Timeline.styles.ts
|
|
6
|
+
var timelineWrapperClass = "relative";
|
|
7
|
+
var timelineItemClass = cva(
|
|
8
|
+
"relative flex items-center gap-3 min-h-[48px]",
|
|
9
|
+
{
|
|
10
|
+
variants: {
|
|
11
|
+
state: {
|
|
12
|
+
default: "text-gray-500",
|
|
13
|
+
active: "text-green-500 font-medium",
|
|
14
|
+
error: "text-red-500 font-medium"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
defaultVariants: {
|
|
18
|
+
state: "default"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
);
|
|
22
|
+
var timelineMarkerWrapperClass = "relative w-6 min-h-[48px] flex items-center justify-center";
|
|
23
|
+
var timelineLineClass = "absolute top-0 bottom-0 left-1/2 -translate-x-1/2 w-px bg-gray-300 dark:bg-gray-600";
|
|
24
|
+
var timelineMarkerClass = "absolute w-3 h-3 rounded-full border-2 border-white bg-gray-400 z-10";
|
|
25
|
+
var timelineNumberClass = cva(
|
|
26
|
+
"absolute -left-4 top-1/2 -translate-y-1/2 text-xs font-semibold",
|
|
27
|
+
{
|
|
28
|
+
variants: {
|
|
29
|
+
state: {
|
|
30
|
+
default: "text-gray-500",
|
|
31
|
+
active: "text-green-500",
|
|
32
|
+
error: "text-red-500"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
defaultVariants: {
|
|
36
|
+
state: "default"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
var timelineContentClass = "pt-0.5 text-sm";
|
|
41
|
+
|
|
42
|
+
// src/components/timeline/Timeline.tsx
|
|
43
|
+
var _tmpl$ = /* @__PURE__ */ template(`<ol>`);
|
|
44
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<li><div><div></div><span></span><span>.</span></div><div>`);
|
|
45
|
+
var Timeline = (props) => {
|
|
46
|
+
return (() => {
|
|
47
|
+
var _el$ = _tmpl$();
|
|
48
|
+
className(_el$, timelineWrapperClass);
|
|
49
|
+
insert(_el$, createComponent(For, {
|
|
50
|
+
get each() {
|
|
51
|
+
return props.stages;
|
|
52
|
+
},
|
|
53
|
+
children: (stage, index) => {
|
|
54
|
+
const state = stage.error === true ? "error" : stage.active === true ? "active" : "default";
|
|
55
|
+
return (() => {
|
|
56
|
+
var _el$2 = _tmpl$2(), _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$5.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$3.nextSibling;
|
|
57
|
+
className(_el$3, timelineMarkerWrapperClass);
|
|
58
|
+
className(_el$4, timelineLineClass);
|
|
59
|
+
insert(_el$6, () => index() + 1, _el$7);
|
|
60
|
+
className(_el$8, timelineContentClass);
|
|
61
|
+
insert(_el$8, (() => {
|
|
62
|
+
var _c$ = memo(() => !!props.renderStage);
|
|
63
|
+
return () => _c$() ? props.renderStage(stage, index()) : stage.title;
|
|
64
|
+
})());
|
|
65
|
+
effect((_p$) => {
|
|
66
|
+
var _v$ = timelineItemClass({
|
|
67
|
+
state
|
|
68
|
+
}), _v$2 = classes(timelineMarkerClass, state === "active" && "bg-green-500", state === "error" && "bg-red-500"), _v$3 = timelineNumberClass({
|
|
69
|
+
state
|
|
70
|
+
});
|
|
71
|
+
_v$ !== _p$.e && className(_el$2, _p$.e = _v$);
|
|
72
|
+
_v$2 !== _p$.t && className(_el$5, _p$.t = _v$2);
|
|
73
|
+
_v$3 !== _p$.a && className(_el$6, _p$.a = _v$3);
|
|
74
|
+
return _p$;
|
|
75
|
+
}, {
|
|
76
|
+
e: void 0,
|
|
77
|
+
t: void 0,
|
|
78
|
+
a: void 0
|
|
79
|
+
});
|
|
80
|
+
return _el$2;
|
|
81
|
+
})();
|
|
82
|
+
}
|
|
83
|
+
}));
|
|
84
|
+
return _el$;
|
|
85
|
+
})();
|
|
86
|
+
};
|
|
87
|
+
var Timeline_default = Timeline;
|
|
88
|
+
|
|
89
|
+
// src/components/timeline/index.ts
|
|
90
|
+
var timeline_default = Timeline_default;
|
|
91
|
+
|
|
92
|
+
export { timeline_default };
|