@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,98 @@
|
|
|
1
|
+
import { cva, classes } from './HKS7ET6T.js';
|
|
2
|
+
import { template, spread, mergeProps, insert, createComponent, memo } from 'solid-js/web';
|
|
3
|
+
import { splitProps, createMemo, untrack, Show } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/select/Select.styles.ts
|
|
6
|
+
var selectVariants = cva(
|
|
7
|
+
[
|
|
8
|
+
"relative inline-flex items-center appearance-none",
|
|
9
|
+
"border outline-none",
|
|
10
|
+
"transition bg-white text-black",
|
|
11
|
+
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
12
|
+
],
|
|
13
|
+
{
|
|
14
|
+
variants: {
|
|
15
|
+
size: {
|
|
16
|
+
sm: "text-sm px-2 py-1",
|
|
17
|
+
md: "text-base px-3 py-2",
|
|
18
|
+
lg: "text-lg px-4 py-2"
|
|
19
|
+
},
|
|
20
|
+
color: {
|
|
21
|
+
primary: "border-gray-300 focus:border-primary",
|
|
22
|
+
info: "border-blue-300 focus:border-blue-500",
|
|
23
|
+
success: "border-green-300 focus:border-green-500",
|
|
24
|
+
warning: "border-yellow-300 focus:border-yellow-500",
|
|
25
|
+
danger: "border-red-300 focus:border-red-500"
|
|
26
|
+
},
|
|
27
|
+
loading: {
|
|
28
|
+
true: "cursor-wait opacity-75",
|
|
29
|
+
false: ""
|
|
30
|
+
},
|
|
31
|
+
expanded: {
|
|
32
|
+
true: "w-full",
|
|
33
|
+
false: "w-fit"
|
|
34
|
+
},
|
|
35
|
+
rounded: {
|
|
36
|
+
true: "rounded",
|
|
37
|
+
false: "rounded-none"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
defaultVariants: {
|
|
41
|
+
size: "md",
|
|
42
|
+
color: "primary",
|
|
43
|
+
loading: false,
|
|
44
|
+
expanded: false,
|
|
45
|
+
rounded: false
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
// src/components/select/Select.tsx
|
|
51
|
+
var _tmpl$ = /* @__PURE__ */ template(`<option value disabled hidden>`);
|
|
52
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<select>`);
|
|
53
|
+
var Select = (props) => {
|
|
54
|
+
const [localProps, variantProps, otherProps] = splitProps(props, ["placeholder", "value", "nativeSize", "onChange", "onBlur", "onFocus"], ["class", ...selectVariants.variantKeys]);
|
|
55
|
+
const empty = createMemo(() => untrack(() => localProps.value === null || localProps.value === void 0));
|
|
56
|
+
const selectClasses = createMemo(() => classes(selectVariants(variantProps), variantProps.class));
|
|
57
|
+
return (() => {
|
|
58
|
+
var _el$ = _tmpl$2();
|
|
59
|
+
spread(_el$, mergeProps({
|
|
60
|
+
get ["class"]() {
|
|
61
|
+
return selectClasses();
|
|
62
|
+
},
|
|
63
|
+
get size() {
|
|
64
|
+
return localProps.nativeSize;
|
|
65
|
+
},
|
|
66
|
+
get value() {
|
|
67
|
+
return localProps.value;
|
|
68
|
+
},
|
|
69
|
+
get onChange() {
|
|
70
|
+
return localProps.onChange;
|
|
71
|
+
},
|
|
72
|
+
get onFocus() {
|
|
73
|
+
return localProps.onFocus;
|
|
74
|
+
},
|
|
75
|
+
get onBlur() {
|
|
76
|
+
return localProps.onBlur;
|
|
77
|
+
}
|
|
78
|
+
}, otherProps), false, true);
|
|
79
|
+
insert(_el$, createComponent(Show, {
|
|
80
|
+
get when() {
|
|
81
|
+
return memo(() => !!localProps.placeholder)() && empty();
|
|
82
|
+
},
|
|
83
|
+
get children() {
|
|
84
|
+
var _el$2 = _tmpl$();
|
|
85
|
+
insert(_el$2, () => localProps.placeholder);
|
|
86
|
+
return _el$2;
|
|
87
|
+
}
|
|
88
|
+
}), null);
|
|
89
|
+
insert(_el$, () => props.children, null);
|
|
90
|
+
return _el$;
|
|
91
|
+
})();
|
|
92
|
+
};
|
|
93
|
+
var Select_default = Select;
|
|
94
|
+
|
|
95
|
+
// src/components/select/index.ts
|
|
96
|
+
var select_default = Select_default;
|
|
97
|
+
|
|
98
|
+
export { select_default };
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { cva, classes } from './HKS7ET6T.js';
|
|
2
|
+
import { template, spread, mergeProps, insert, createComponent, Dynamic, effect, className } from 'solid-js/web';
|
|
3
|
+
import { splitProps, Show, createMemo, createSignal } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/menu/Menu.styles.ts
|
|
6
|
+
var menuWrapper = cva("bg-white border border-gray-200 rounded shadow", {
|
|
7
|
+
variants: {
|
|
8
|
+
inline: {
|
|
9
|
+
true: "flex space-x-4",
|
|
10
|
+
false: "block"
|
|
11
|
+
}
|
|
12
|
+
},
|
|
13
|
+
defaultVariants: {
|
|
14
|
+
inline: false
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
var listWrapper = cva("px-4 py-2", {
|
|
18
|
+
variants: {
|
|
19
|
+
label: {
|
|
20
|
+
true: "pt-6",
|
|
21
|
+
false: ""
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
defaultVariants: {
|
|
25
|
+
label: false
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
var itemVariants = cva(
|
|
29
|
+
"px-4 py-2 cursor-pointer select-none transition-colors",
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
active: {
|
|
33
|
+
true: "bg-blue-100 font-semibold",
|
|
34
|
+
false: "hover:bg-blue-500"
|
|
35
|
+
},
|
|
36
|
+
expanded: {
|
|
37
|
+
true: "bg-gray-50 text-black",
|
|
38
|
+
false: ""
|
|
39
|
+
},
|
|
40
|
+
disabled: {
|
|
41
|
+
true: "opacity-50 cursor-not-allowed text-gray-700",
|
|
42
|
+
false: ""
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
compoundVariants: [
|
|
46
|
+
{
|
|
47
|
+
active: true,
|
|
48
|
+
expanded: true,
|
|
49
|
+
class: "bg-blue-200"
|
|
50
|
+
}
|
|
51
|
+
],
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
active: false,
|
|
54
|
+
expanded: false,
|
|
55
|
+
disabled: false
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
var itemDetailWrapper = cva(
|
|
60
|
+
"ml-4 border-l border-gray-200 mt-1 pl-2"
|
|
61
|
+
);
|
|
62
|
+
|
|
63
|
+
// src/components/menu/Menu.tsx
|
|
64
|
+
var _tmpl$ = /* @__PURE__ */ template(`<div>`);
|
|
65
|
+
var Menu = (props) => {
|
|
66
|
+
const [local, variantProps, otherProps] = splitProps(props, ["class", "className", "children", "inline"], Object.keys(menuWrapper.variantKeys ?? {}));
|
|
67
|
+
return (() => {
|
|
68
|
+
var _el$ = _tmpl$();
|
|
69
|
+
spread(_el$, mergeProps({
|
|
70
|
+
get ["class"]() {
|
|
71
|
+
return classes(menuWrapper({
|
|
72
|
+
inline: !!variantProps.inline
|
|
73
|
+
}), local.class, local.className);
|
|
74
|
+
}
|
|
75
|
+
}, otherProps), false, true);
|
|
76
|
+
insert(_el$, () => local.children);
|
|
77
|
+
return _el$;
|
|
78
|
+
})();
|
|
79
|
+
};
|
|
80
|
+
var Menu_default = Menu;
|
|
81
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<div class="px-4 pb-2 font-medium text-gray-700">`);
|
|
82
|
+
var _tmpl$22 = /* @__PURE__ */ template(`<div><div class="flex flex-col">`);
|
|
83
|
+
var MenuList = (props) => {
|
|
84
|
+
const [local, variantProps, otherProps] = splitProps(props, ["class", "children", "label"], Object.keys(listWrapper.variantKeys ?? {}));
|
|
85
|
+
return (() => {
|
|
86
|
+
var _el$ = _tmpl$22(), _el$3 = _el$.firstChild;
|
|
87
|
+
spread(_el$, mergeProps({
|
|
88
|
+
get ["class"]() {
|
|
89
|
+
return classes(listWrapper({
|
|
90
|
+
label: !!local.label
|
|
91
|
+
}), local.class);
|
|
92
|
+
}
|
|
93
|
+
}, otherProps), false, true);
|
|
94
|
+
insert(_el$, createComponent(Show, {
|
|
95
|
+
get when() {
|
|
96
|
+
return local.label;
|
|
97
|
+
},
|
|
98
|
+
get children() {
|
|
99
|
+
var _el$2 = _tmpl$2();
|
|
100
|
+
insert(_el$2, () => local.label);
|
|
101
|
+
return _el$2;
|
|
102
|
+
}
|
|
103
|
+
}), _el$3);
|
|
104
|
+
insert(_el$3, () => local.children);
|
|
105
|
+
return _el$;
|
|
106
|
+
})();
|
|
107
|
+
};
|
|
108
|
+
var MenuList_default = MenuList;
|
|
109
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<span class="ml-2 text-gray-500">`);
|
|
110
|
+
var _tmpl$23 = /* @__PURE__ */ template(`<div><div class="flex items-center justify-between"><span>`);
|
|
111
|
+
var _tmpl$32 = /* @__PURE__ */ template(`<div>`);
|
|
112
|
+
var MenuItem = (props) => {
|
|
113
|
+
const [local, variantProps, rest] = splitProps(props, ["class", "className", "label", "active", "expanded", "disabled", "tag", "to", "target", "children"], Object.keys(itemVariants.variantKeys ?? {}));
|
|
114
|
+
const hasChildren = createMemo(() => !!local.children);
|
|
115
|
+
const isControlled = createMemo(() => local.expanded !== void 0);
|
|
116
|
+
const [internalExpanded, setInternalExpanded] = createSignal(false);
|
|
117
|
+
const isExpanded = createMemo(() => isControlled() ? !!local.expanded : internalExpanded());
|
|
118
|
+
const toggleExpand = () => {
|
|
119
|
+
if (!isControlled() && hasChildren() && !local.disabled) {
|
|
120
|
+
setInternalExpanded((prev) => !prev);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const onKeyDown = (e) => {
|
|
124
|
+
if (local.disabled) return;
|
|
125
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
126
|
+
e.preventDefault();
|
|
127
|
+
toggleExpand();
|
|
128
|
+
}
|
|
129
|
+
};
|
|
130
|
+
const tagName = local.to ? "a" : local.tag ?? "div";
|
|
131
|
+
const focusableProps = !local.to && !local.disabled ? {
|
|
132
|
+
tabIndex: 0
|
|
133
|
+
} : {};
|
|
134
|
+
return createComponent(Dynamic, mergeProps({
|
|
135
|
+
component: tagName,
|
|
136
|
+
get ["class"]() {
|
|
137
|
+
return classes(local.class, local.className, "w-full");
|
|
138
|
+
},
|
|
139
|
+
get href() {
|
|
140
|
+
return local.to;
|
|
141
|
+
},
|
|
142
|
+
get target() {
|
|
143
|
+
return local.target;
|
|
144
|
+
},
|
|
145
|
+
get ["aria-disabled"]() {
|
|
146
|
+
return local.disabled;
|
|
147
|
+
},
|
|
148
|
+
onClick: toggleExpand,
|
|
149
|
+
onKeyDown
|
|
150
|
+
}, focusableProps, rest, {
|
|
151
|
+
get children() {
|
|
152
|
+
return [(() => {
|
|
153
|
+
var _el$ = _tmpl$23(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild;
|
|
154
|
+
insert(_el$3, () => local.label);
|
|
155
|
+
insert(_el$2, createComponent(Show, {
|
|
156
|
+
get when() {
|
|
157
|
+
return hasChildren();
|
|
158
|
+
},
|
|
159
|
+
get children() {
|
|
160
|
+
var _el$4 = _tmpl$3();
|
|
161
|
+
insert(_el$4, () => isExpanded() ? "\u25BE" : "\u25B8");
|
|
162
|
+
return _el$4;
|
|
163
|
+
}
|
|
164
|
+
}), null);
|
|
165
|
+
effect(() => className(_el$, itemVariants({
|
|
166
|
+
active: !!local.active,
|
|
167
|
+
expanded: isExpanded(),
|
|
168
|
+
disabled: !!local.disabled
|
|
169
|
+
})));
|
|
170
|
+
return _el$;
|
|
171
|
+
})(), createComponent(Show, {
|
|
172
|
+
get when() {
|
|
173
|
+
return isExpanded();
|
|
174
|
+
},
|
|
175
|
+
get children() {
|
|
176
|
+
var _el$5 = _tmpl$32();
|
|
177
|
+
insert(_el$5, () => local.children);
|
|
178
|
+
effect(() => className(_el$5, itemDetailWrapper()));
|
|
179
|
+
return _el$5;
|
|
180
|
+
}
|
|
181
|
+
})];
|
|
182
|
+
}
|
|
183
|
+
}));
|
|
184
|
+
};
|
|
185
|
+
var MenuItem_default = MenuItem;
|
|
186
|
+
|
|
187
|
+
export { MenuItem_default, MenuList_default, Menu_default };
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { cva } from './HKS7ET6T.js';
|
|
2
|
+
import { template, spread, insert, createComponent, effect, className } from 'solid-js/web';
|
|
3
|
+
import { splitProps, Show } from 'solid-js';
|
|
4
|
+
|
|
5
|
+
// src/components/tooltip/Tooltip.styles.ts
|
|
6
|
+
var tooltipVariants = cva(
|
|
7
|
+
[
|
|
8
|
+
"absolute z-10 px-3 py-1 text-white text-sm",
|
|
9
|
+
"opacity-0 group-hover:opacity-100",
|
|
10
|
+
"pointer-events-none transition-opacity duration-200",
|
|
11
|
+
"max-w-xs break-words",
|
|
12
|
+
"after:content-[''] after:absolute after:w-2 after:h-2 after:rotate-45 after:bg-inherit"
|
|
13
|
+
].join(" "),
|
|
14
|
+
{
|
|
15
|
+
variants: {
|
|
16
|
+
type: {
|
|
17
|
+
info: "bg-blue-500",
|
|
18
|
+
success: "bg-green-500",
|
|
19
|
+
warning: "bg-yellow-500",
|
|
20
|
+
danger: "bg-red-500",
|
|
21
|
+
primary: "bg-indigo-500",
|
|
22
|
+
gray: "bg-gray-700"
|
|
23
|
+
},
|
|
24
|
+
size: {
|
|
25
|
+
sm: "text-xs",
|
|
26
|
+
md: "text-sm",
|
|
27
|
+
lg: "text-base"
|
|
28
|
+
},
|
|
29
|
+
rounded: {
|
|
30
|
+
true: "rounded",
|
|
31
|
+
false: "rounded-none"
|
|
32
|
+
},
|
|
33
|
+
dashed: {
|
|
34
|
+
true: "border border-white border-dashed",
|
|
35
|
+
false: ""
|
|
36
|
+
},
|
|
37
|
+
multilined: {
|
|
38
|
+
true: "whitespace-pre-wrap",
|
|
39
|
+
false: "whitespace-nowrap"
|
|
40
|
+
},
|
|
41
|
+
animated: {
|
|
42
|
+
true: "transition-opacity duration-300 ease-in-out",
|
|
43
|
+
false: ""
|
|
44
|
+
},
|
|
45
|
+
position: {
|
|
46
|
+
top: "bottom-full left-1/2 -translate-x-1/2 mb-1 after:top-full after:left-1/2 after:-translate-x-1/2 after:-mt-1",
|
|
47
|
+
bottom: "top-full left-1/2 -translate-x-1/2 mt-1 after:bottom-full after:left-1/2 after:-translate-x-1/2 after:-mb-1",
|
|
48
|
+
left: "right-full top-1/2 -translate-y-1/2 mr-1 after:left-full after:top-1/2 after:-translate-y-1/2 after:-ml-1",
|
|
49
|
+
right: "left-full top-1/2 -translate-y-1/2 ml-1 after:right-full after:top-1/2 after:-translate-y-1/2 after:-mr-1"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
defaultVariants: {
|
|
53
|
+
type: "primary",
|
|
54
|
+
size: "md",
|
|
55
|
+
rounded: true,
|
|
56
|
+
dashed: false,
|
|
57
|
+
multilined: false,
|
|
58
|
+
animated: true,
|
|
59
|
+
position: "top"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
);
|
|
63
|
+
|
|
64
|
+
// src/components/tooltip/Tooltip.tsx
|
|
65
|
+
var _tmpl$ = /* @__PURE__ */ template(`<span>`);
|
|
66
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<span class="relative inline-block group">`);
|
|
67
|
+
var Tooltip = (props) => {
|
|
68
|
+
const [local, variantProps, otherProps] = splitProps(props, ["label", "delay", "always", "children"], ["type", "size", "position", "rounded", "dashed", "multilined", "animated"]);
|
|
69
|
+
return (() => {
|
|
70
|
+
var _el$ = _tmpl$2();
|
|
71
|
+
spread(_el$, otherProps, false, true);
|
|
72
|
+
insert(_el$, () => local.children, null);
|
|
73
|
+
insert(_el$, createComponent(Show, {
|
|
74
|
+
get when() {
|
|
75
|
+
return local.label;
|
|
76
|
+
},
|
|
77
|
+
get children() {
|
|
78
|
+
var _el$2 = _tmpl$();
|
|
79
|
+
_el$2.style.setProperty("pointer-events", "none");
|
|
80
|
+
insert(_el$2, () => local.label);
|
|
81
|
+
effect((_p$) => {
|
|
82
|
+
var _v$ = tooltipVariants(variantProps), _v$2 = `${local.delay ?? 0}ms`, _v$3 = local.always ? 1 : void 0;
|
|
83
|
+
_v$ !== _p$.e && className(_el$2, _p$.e = _v$);
|
|
84
|
+
_v$2 !== _p$.t && ((_p$.t = _v$2) != null ? _el$2.style.setProperty("transition-delay", _v$2) : _el$2.style.removeProperty("transition-delay"));
|
|
85
|
+
_v$3 !== _p$.a && ((_p$.a = _v$3) != null ? _el$2.style.setProperty("opacity", _v$3) : _el$2.style.removeProperty("opacity"));
|
|
86
|
+
return _p$;
|
|
87
|
+
}, {
|
|
88
|
+
e: void 0,
|
|
89
|
+
t: void 0,
|
|
90
|
+
a: void 0
|
|
91
|
+
});
|
|
92
|
+
return _el$2;
|
|
93
|
+
}
|
|
94
|
+
}), null);
|
|
95
|
+
return _el$;
|
|
96
|
+
})();
|
|
97
|
+
};
|
|
98
|
+
var Tooltip_default = Tooltip;
|
|
99
|
+
|
|
100
|
+
// src/components/tooltip/index.ts
|
|
101
|
+
var tooltip_default = Tooltip_default;
|
|
102
|
+
|
|
103
|
+
export { tooltip_default };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import {
|
|
2
|
+
classes,
|
|
3
|
+
cva
|
|
4
|
+
} from "./P7WPLZNA.jsx";
|
|
5
|
+
|
|
6
|
+
// src/components/select/Select.tsx
|
|
7
|
+
import {
|
|
8
|
+
splitProps,
|
|
9
|
+
Show,
|
|
10
|
+
createMemo,
|
|
11
|
+
untrack
|
|
12
|
+
} from "solid-js";
|
|
13
|
+
|
|
14
|
+
// src/components/select/Select.styles.ts
|
|
15
|
+
var selectVariants = cva(
|
|
16
|
+
[
|
|
17
|
+
"relative inline-flex items-center appearance-none",
|
|
18
|
+
"border outline-none",
|
|
19
|
+
"transition bg-white text-black",
|
|
20
|
+
"disabled:opacity-50 disabled:cursor-not-allowed"
|
|
21
|
+
],
|
|
22
|
+
{
|
|
23
|
+
variants: {
|
|
24
|
+
size: {
|
|
25
|
+
sm: "text-sm px-2 py-1",
|
|
26
|
+
md: "text-base px-3 py-2",
|
|
27
|
+
lg: "text-lg px-4 py-2"
|
|
28
|
+
},
|
|
29
|
+
color: {
|
|
30
|
+
primary: "border-gray-300 focus:border-primary",
|
|
31
|
+
info: "border-blue-300 focus:border-blue-500",
|
|
32
|
+
success: "border-green-300 focus:border-green-500",
|
|
33
|
+
warning: "border-yellow-300 focus:border-yellow-500",
|
|
34
|
+
danger: "border-red-300 focus:border-red-500"
|
|
35
|
+
},
|
|
36
|
+
loading: {
|
|
37
|
+
true: "cursor-wait opacity-75",
|
|
38
|
+
false: ""
|
|
39
|
+
},
|
|
40
|
+
expanded: {
|
|
41
|
+
true: "w-full",
|
|
42
|
+
false: "w-fit"
|
|
43
|
+
},
|
|
44
|
+
rounded: {
|
|
45
|
+
true: "rounded",
|
|
46
|
+
false: "rounded-none"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
defaultVariants: {
|
|
50
|
+
size: "md",
|
|
51
|
+
color: "primary",
|
|
52
|
+
loading: false,
|
|
53
|
+
expanded: false,
|
|
54
|
+
rounded: false
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
// src/components/select/Select.tsx
|
|
60
|
+
var Select = (props) => {
|
|
61
|
+
const [localProps, variantProps, otherProps] = splitProps(
|
|
62
|
+
props,
|
|
63
|
+
["placeholder", "value", "nativeSize", "onChange", "onBlur", "onFocus"],
|
|
64
|
+
["class", ...selectVariants.variantKeys]
|
|
65
|
+
);
|
|
66
|
+
const empty = createMemo(
|
|
67
|
+
() => untrack(() => localProps.value === null || localProps.value === void 0)
|
|
68
|
+
);
|
|
69
|
+
const selectClasses = createMemo(
|
|
70
|
+
() => classes(selectVariants(variantProps), variantProps.class)
|
|
71
|
+
);
|
|
72
|
+
return <select
|
|
73
|
+
class={selectClasses()}
|
|
74
|
+
size={localProps.nativeSize}
|
|
75
|
+
value={localProps.value}
|
|
76
|
+
onChange={localProps.onChange}
|
|
77
|
+
onFocus={localProps.onFocus}
|
|
78
|
+
onBlur={localProps.onBlur}
|
|
79
|
+
{...otherProps}
|
|
80
|
+
>
|
|
81
|
+
<Show when={localProps.placeholder && empty()}>
|
|
82
|
+
<option value="" disabled hidden>
|
|
83
|
+
{localProps.placeholder}
|
|
84
|
+
</option>
|
|
85
|
+
</Show>
|
|
86
|
+
{props.children}
|
|
87
|
+
</select>;
|
|
88
|
+
};
|
|
89
|
+
var Select_default = Select;
|
|
90
|
+
|
|
91
|
+
// src/components/select/index.ts
|
|
92
|
+
var select_default = Select_default;
|
|
93
|
+
|
|
94
|
+
export {
|
|
95
|
+
select_default
|
|
96
|
+
};
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { buttonVariants } from './TFLJI242.js';
|
|
2
|
+
import { cva, classes } from './HKS7ET6T.js';
|
|
3
|
+
import { delegateEvents, template, spread, mergeProps, insert, addEventListener, use, createComponent, effect, className, setAttribute } from 'solid-js/web';
|
|
4
|
+
import { splitProps, createMemo, Show, createSignal, onMount, onCleanup } from 'solid-js';
|
|
5
|
+
|
|
6
|
+
function useDropdown(trigger, disabled = false) {
|
|
7
|
+
const [open, setOpen] = createSignal(false);
|
|
8
|
+
let ref;
|
|
9
|
+
const toggle = () => {
|
|
10
|
+
if (!disabled && trigger === "click") {
|
|
11
|
+
setOpen((v) => !v);
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const onEnter = () => {
|
|
15
|
+
if (!disabled && trigger === "hover") setOpen(true);
|
|
16
|
+
};
|
|
17
|
+
const onLeave = () => {
|
|
18
|
+
if (!disabled && trigger === "hover") setOpen(false);
|
|
19
|
+
};
|
|
20
|
+
const onClickOutside = (e) => {
|
|
21
|
+
if (trigger === "click" && ref && !ref.contains(e.target)) {
|
|
22
|
+
setOpen(false);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
onMount(() => {
|
|
26
|
+
document.addEventListener("click", onClickOutside);
|
|
27
|
+
onCleanup(() => document.removeEventListener("click", onClickOutside));
|
|
28
|
+
});
|
|
29
|
+
return {
|
|
30
|
+
open,
|
|
31
|
+
ref: (el) => ref = el,
|
|
32
|
+
toggle,
|
|
33
|
+
onEnter,
|
|
34
|
+
onLeave
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// src/components/dropdown/Dropdown.styles.ts
|
|
39
|
+
var dropdownVariants = cva(
|
|
40
|
+
[
|
|
41
|
+
"absolute mt-2 shadow-lg z-10",
|
|
42
|
+
"w-max rounded-md bg-white border border-gray-300",
|
|
43
|
+
"transition-all duration-150 ease-in-out",
|
|
44
|
+
"flex flex-col"
|
|
45
|
+
],
|
|
46
|
+
{
|
|
47
|
+
variants: {
|
|
48
|
+
position: {
|
|
49
|
+
"bottom-left": "left-0 top-full text-black",
|
|
50
|
+
"bottom-right": "right-0 top-full text-black",
|
|
51
|
+
"top-left": "left-0 bottom-full text-black",
|
|
52
|
+
"top-right": "right-0 bottom-full text-black"
|
|
53
|
+
},
|
|
54
|
+
open: {
|
|
55
|
+
true: "block",
|
|
56
|
+
false: "hidden"
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
defaultVariants: {
|
|
60
|
+
position: "bottom-left",
|
|
61
|
+
open: false
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
);
|
|
65
|
+
var dropdownItemVariants = cva(
|
|
66
|
+
"px-4 py-2 cursor-pointer transition-colors duration-150 ease-in-out hover:bg-gray-100",
|
|
67
|
+
{
|
|
68
|
+
variants: {
|
|
69
|
+
hasLink: { true: "p-0 text-blue-600 hover:underline", false: "" }
|
|
70
|
+
},
|
|
71
|
+
defaultVariants: { hasLink: false }
|
|
72
|
+
}
|
|
73
|
+
);
|
|
74
|
+
|
|
75
|
+
// src/components/dropdown/DropdownMenu.tsx
|
|
76
|
+
var _tmpl$ = /* @__PURE__ */ template(`<div>`);
|
|
77
|
+
var DropdownMenu = (props) => {
|
|
78
|
+
const [local, other] = splitProps(props, ["open", "position", "children"]);
|
|
79
|
+
return (() => {
|
|
80
|
+
var _el$ = _tmpl$();
|
|
81
|
+
spread(_el$, mergeProps({
|
|
82
|
+
get ["class"]() {
|
|
83
|
+
return dropdownVariants({
|
|
84
|
+
open: local.open,
|
|
85
|
+
position: local.position
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}, other, {
|
|
89
|
+
"id": "dropdown-menu",
|
|
90
|
+
"role": "menu"
|
|
91
|
+
}), false, true);
|
|
92
|
+
insert(_el$, () => local.children);
|
|
93
|
+
return _el$;
|
|
94
|
+
})();
|
|
95
|
+
};
|
|
96
|
+
var DropdownMenu_default = DropdownMenu;
|
|
97
|
+
|
|
98
|
+
// src/components/dropdown/Dropdown.tsx
|
|
99
|
+
var _tmpl$2 = /* @__PURE__ */ template(`<div><button type=button aria-controls=dropdown-menu>`);
|
|
100
|
+
var Dropdown = (props) => {
|
|
101
|
+
const [localProps, variantProps, restProps] = splitProps(props, ["label", "disabledLabel", "trigger", "children", "disabled", "color", "class", "className"], Object.keys(dropdownVariants.variantKeys ?? {}));
|
|
102
|
+
const {
|
|
103
|
+
open,
|
|
104
|
+
ref,
|
|
105
|
+
toggle,
|
|
106
|
+
onEnter,
|
|
107
|
+
onLeave
|
|
108
|
+
} = useDropdown(localProps.trigger ?? "click", !!localProps.disabled);
|
|
109
|
+
const labelContent = createMemo(() => localProps.disabled ? localProps.disabledLabel ?? localProps.label : localProps.label ?? "Toggle");
|
|
110
|
+
const containerClass = createMemo(() => classes("relative inline-block", localProps.class, localProps.className));
|
|
111
|
+
const buttonClass = createMemo(() => buttonVariants({
|
|
112
|
+
color: "primary"
|
|
113
|
+
}));
|
|
114
|
+
return (() => {
|
|
115
|
+
var _el$ = _tmpl$2(), _el$2 = _el$.firstChild;
|
|
116
|
+
addEventListener(_el$, "mouseleave", onLeave);
|
|
117
|
+
addEventListener(_el$, "mouseenter", onEnter);
|
|
118
|
+
use(ref, _el$);
|
|
119
|
+
spread(_el$, mergeProps({
|
|
120
|
+
get ["class"]() {
|
|
121
|
+
return containerClass();
|
|
122
|
+
}
|
|
123
|
+
}, restProps), false, true);
|
|
124
|
+
_el$2.$$click = (e) => {
|
|
125
|
+
e.preventDefault();
|
|
126
|
+
if (localProps.trigger === "click") toggle();
|
|
127
|
+
};
|
|
128
|
+
insert(_el$2, labelContent);
|
|
129
|
+
insert(_el$, createComponent(Show, {
|
|
130
|
+
get when() {
|
|
131
|
+
return open();
|
|
132
|
+
},
|
|
133
|
+
get children() {
|
|
134
|
+
return createComponent(DropdownMenu_default, mergeProps({
|
|
135
|
+
open: true
|
|
136
|
+
}, variantProps, {
|
|
137
|
+
get children() {
|
|
138
|
+
return localProps.children;
|
|
139
|
+
}
|
|
140
|
+
}));
|
|
141
|
+
}
|
|
142
|
+
}), null);
|
|
143
|
+
effect((_p$) => {
|
|
144
|
+
var _v$ = buttonClass(), _v$2 = localProps.disabled, _v$3 = localProps.disabled;
|
|
145
|
+
_v$ !== _p$.e && className(_el$2, _p$.e = _v$);
|
|
146
|
+
_v$2 !== _p$.t && setAttribute(_el$2, "aria-disabled", _p$.t = _v$2);
|
|
147
|
+
_v$3 !== _p$.a && (_el$2.disabled = _p$.a = _v$3);
|
|
148
|
+
return _p$;
|
|
149
|
+
}, {
|
|
150
|
+
e: void 0,
|
|
151
|
+
t: void 0,
|
|
152
|
+
a: void 0
|
|
153
|
+
});
|
|
154
|
+
return _el$;
|
|
155
|
+
})();
|
|
156
|
+
};
|
|
157
|
+
var Dropdown_default = Dropdown;
|
|
158
|
+
delegateEvents(["click"]);
|
|
159
|
+
var _tmpl$3 = /* @__PURE__ */ template(`<div>`);
|
|
160
|
+
var DropdownItem = ({
|
|
161
|
+
hasLink = false,
|
|
162
|
+
children
|
|
163
|
+
}) => {
|
|
164
|
+
return (() => {
|
|
165
|
+
var _el$ = _tmpl$3();
|
|
166
|
+
insert(_el$, children);
|
|
167
|
+
effect(() => className(_el$, dropdownItemVariants({
|
|
168
|
+
hasLink
|
|
169
|
+
})));
|
|
170
|
+
return _el$;
|
|
171
|
+
})();
|
|
172
|
+
};
|
|
173
|
+
var DropdownItem_default = DropdownItem;
|
|
174
|
+
|
|
175
|
+
export { DropdownItem_default, DropdownMenu_default, Dropdown_default };
|