@byyuurin/ui 0.0.3 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +15 -24
- package/dist/index.d.ts +25 -2
- package/dist/index.mjs +25 -2
- package/dist/nuxt.d.mts +1 -1
- package/dist/nuxt.d.ts +1 -1
- package/dist/nuxt.mjs +14 -10
- package/dist/nuxt.mjs.map +1 -0
- package/dist/runtime/components/Accordion.vue +1 -1
- package/dist/runtime/components/Alert.vue +120 -0
- package/dist/runtime/components/App.vue +5 -1
- package/dist/runtime/components/Badge.vue +71 -0
- package/dist/runtime/components/Button.vue +3 -3
- package/dist/runtime/components/Card.vue +4 -4
- package/dist/runtime/components/Checkbox.vue +3 -6
- package/dist/runtime/components/Chip.vue +59 -0
- package/dist/runtime/components/Drawer.vue +2 -2
- package/dist/runtime/components/Input.vue +7 -2
- package/dist/runtime/components/Link.vue +1 -1
- package/dist/runtime/components/Modal.vue +2 -2
- package/dist/runtime/components/ModalProvider.vue +1 -1
- package/dist/runtime/components/PinInput.vue +86 -0
- package/dist/runtime/components/Popover.vue +1 -1
- package/dist/runtime/components/RadioGroup.vue +2 -8
- package/dist/runtime/components/ScrollArea.vue +72 -0
- package/dist/runtime/components/Select.vue +2 -1
- package/dist/runtime/components/Slider.vue +97 -0
- package/dist/runtime/components/Switch.vue +1 -2
- package/dist/runtime/components/Tabs.vue +6 -6
- package/dist/runtime/components/Textarea.vue +172 -0
- package/dist/runtime/components/Toast.vue +2 -2
- package/dist/runtime/components/Toaster.vue +2 -1
- package/dist/runtime/components/Tooltip.vue +1 -1
- package/dist/runtime/composables/defineInjection.d.ts +11 -0
- package/dist/runtime/composables/defineInjection.mjs +9 -0
- package/dist/runtime/composables/useModal.d.ts +1 -1
- package/dist/runtime/composables/useModal.mjs +3 -2
- package/dist/runtime/composables/useTheme.d.ts +3 -1
- package/dist/runtime/composables/useTheme.mjs +14 -6
- package/dist/runtime/theme/accordion.mjs +24 -21
- package/dist/runtime/theme/alert.d.ts +85 -0
- package/dist/runtime/theme/alert.mjs +47 -0
- package/dist/runtime/theme/app.mjs +1 -0
- package/dist/runtime/theme/badge.d.ts +79 -0
- package/dist/runtime/theme/badge.mjs +89 -0
- package/dist/runtime/theme/button.d.ts +4 -9
- package/dist/runtime/theme/button.mjs +130 -127
- package/dist/runtime/theme/card.d.ts +2 -2
- package/dist/runtime/theme/card.mjs +12 -9
- package/dist/runtime/theme/checkbox.d.ts +0 -12
- package/dist/runtime/theme/checkbox.mjs +45 -47
- package/dist/runtime/theme/chip.d.ts +56 -0
- package/dist/runtime/theme/chip.mjs +63 -0
- package/dist/runtime/theme/drawer.mjs +69 -66
- package/dist/runtime/theme/index.d.ts +7 -0
- package/dist/runtime/theme/index.mjs +7 -0
- package/dist/runtime/theme/input.d.ts +13 -5
- package/dist/runtime/theme/input.mjs +135 -122
- package/dist/runtime/theme/link.d.ts +1 -1
- package/dist/runtime/theme/link.mjs +23 -20
- package/dist/runtime/theme/modal.mjs +51 -48
- package/dist/runtime/theme/pinInput.d.ts +97 -0
- package/dist/runtime/theme/pinInput.mjs +108 -0
- package/dist/runtime/theme/popover.mjs +11 -8
- package/dist/runtime/theme/radioGroup.d.ts +0 -24
- package/dist/runtime/theme/radioGroup.mjs +50 -59
- package/dist/runtime/theme/scrollArea.d.ts +51 -0
- package/dist/runtime/theme/scrollArea.mjs +33 -0
- package/dist/runtime/theme/select.d.ts +5 -2
- package/dist/runtime/theme/select.mjs +156 -143
- package/dist/runtime/theme/slider.d.ts +73 -0
- package/dist/runtime/theme/slider.mjs +49 -0
- package/dist/runtime/theme/switch.d.ts +0 -12
- package/dist/runtime/theme/switch.mjs +66 -69
- package/dist/runtime/theme/tabs.d.ts +44 -13
- package/dist/runtime/theme/tabs.mjs +132 -106
- package/dist/runtime/theme/textarea.d.ts +93 -0
- package/dist/runtime/theme/textarea.mjs +113 -0
- package/dist/runtime/theme/toast.mjs +26 -23
- package/dist/runtime/theme/toaster.d.ts +2 -2
- package/dist/runtime/theme/toaster.mjs +84 -81
- package/dist/runtime/theme/tooltip.mjs +9 -6
- package/dist/runtime/types/components.d.ts +7 -0
- package/dist/runtime/types/index.d.ts +1 -3
- package/dist/runtime/utils/extend-theme.mjs +1 -1
- package/dist/runtime/utils/index.d.ts +0 -11
- package/dist/runtime/utils/index.mjs +0 -11
- package/dist/runtime/utils/link.d.ts +1 -1
- package/dist/shared/ui.CzDyI29e.mjs +8 -0
- package/dist/shared/ui.CzDyI29e.mjs.map +1 -0
- package/dist/unocss-preset.d.mts +15 -7
- package/dist/unocss-preset.d.ts +15 -7
- package/dist/unocss-preset.mjs +97 -384
- package/dist/unocss-preset.mjs.map +1 -0
- package/dist/unplugin.d.mts +25 -0
- package/dist/unplugin.d.ts +25 -0
- package/dist/unplugin.mjs +64 -0
- package/dist/unplugin.mjs.map +1 -0
- package/dist/vite.d.mts +9 -0
- package/dist/vite.d.ts +9 -0
- package/dist/vite.mjs +14 -0
- package/dist/vite.mjs.map +1 -0
- package/package.json +22 -14
- package/dist/index.cjs +0 -38
- package/dist/resolver.d.mts +0 -13
- package/dist/resolver.d.ts +0 -13
- package/dist/resolver.mjs +0 -21
- package/dist/runtime/components/index.cjs +0 -132
- package/dist/runtime/components/index.d.ts +0 -18
- package/dist/runtime/components/index.mjs +0 -18
- package/dist/runtime/composables/index.cjs +0 -33
- package/dist/runtime/composables/index.d.ts +0 -4
- package/dist/runtime/composables/index.mjs +0 -4
- package/dist/runtime/composables/useComponentIcons.cjs +0 -30
- package/dist/runtime/composables/useModal.cjs +0 -55
- package/dist/runtime/composables/useTheme.cjs +0 -30
- package/dist/runtime/composables/useToast.cjs +0 -51
- package/dist/runtime/theme/accordion.cjs +0 -27
- package/dist/runtime/theme/app.cjs +0 -15
- package/dist/runtime/theme/button.cjs +0 -127
- package/dist/runtime/theme/card.cjs +0 -17
- package/dist/runtime/theme/checkbox.cjs +0 -56
- package/dist/runtime/theme/drawer.cjs +0 -73
- package/dist/runtime/theme/index.cjs +0 -125
- package/dist/runtime/theme/input.cjs +0 -115
- package/dist/runtime/theme/link.cjs +0 -23
- package/dist/runtime/theme/modal.cjs +0 -55
- package/dist/runtime/theme/popover.cjs +0 -13
- package/dist/runtime/theme/radioGroup.cjs +0 -73
- package/dist/runtime/theme/select.cjs +0 -128
- package/dist/runtime/theme/switch.cjs +0 -73
- package/dist/runtime/theme/tabs.cjs +0 -105
- package/dist/runtime/theme/toast.cjs +0 -33
- package/dist/runtime/theme/toaster.cjs +0 -72
- package/dist/runtime/theme/tooltip.cjs +0 -14
- package/dist/runtime/types/components.cjs +0 -1
- package/dist/runtime/types/index.cjs +0 -27
- package/dist/runtime/types/utils.cjs +0 -1
- package/dist/runtime/utils/extend-theme.cjs +0 -24
- package/dist/runtime/utils/index.cjs +0 -119
- package/dist/runtime/utils/link.cjs +0 -10
- package/dist/runtime/utils/styler.cjs +0 -18
- package/dist/shared/ui.CPXA9QoM.mjs +0 -23
package/dist/unocss-preset.mjs
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { definePreset, mergeConfigs } from '@unocss/core';
|
|
2
|
+
import { parseColor, parseCssColor } from '@unocss/preset-mini/utils';
|
|
3
|
+
import { kebabCase } from 'scule';
|
|
4
|
+
import { presetUno } from '@unocss/preset-uno';
|
|
4
5
|
|
|
5
6
|
const cssVarsPrefix = "ui";
|
|
6
7
|
const cssVarsBase = ["cb", "c1", "c2", "c3"];
|
|
@@ -36,10 +37,7 @@ const theme = {
|
|
|
36
37
|
}
|
|
37
38
|
},
|
|
38
39
|
borderRadius: {
|
|
39
|
-
[`${cssVarsPrefix}
|
|
40
|
-
[`${cssVarsPrefix}-button`]: cssVar("radius-button", cssVar("radius")),
|
|
41
|
-
[`${cssVarsPrefix}-box`]: cssVar("radius-box", cssVar("radius")),
|
|
42
|
-
[`${cssVarsPrefix}-tabs`]: cssVar("radius-tabs", cssVar("radius"))
|
|
40
|
+
...Object.fromEntries(["base", "box", "button", "checkbox", "radio", "switch", "tabs"].map((name) => [`${cssVarsPrefix}-${name}`, name === "base" ? cssVar("radius") : cssVar(`radius-${name}`, cssVar("radius"))]))
|
|
43
41
|
},
|
|
44
42
|
ringWidth: {
|
|
45
43
|
DEFAULT: "1px"
|
|
@@ -81,387 +79,53 @@ function cssColor(...rgb) {
|
|
|
81
79
|
return `rgb(${rgb.join(" ")})`;
|
|
82
80
|
}
|
|
83
81
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
],
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
(
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
return
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
/^outline-offset-(.+)$/,
|
|
123
|
-
([value]) => {
|
|
124
|
-
if (theme$2.lineWidth && value in theme$2.lineWidth)
|
|
125
|
-
return "outline-offset";
|
|
126
|
-
if (h.bracket.cssvar.global.px(value))
|
|
127
|
-
return "outline-offset";
|
|
128
|
-
return null;
|
|
129
|
-
}
|
|
130
|
-
],
|
|
131
|
-
[
|
|
132
|
-
/^outline(?:-(.+))$/,
|
|
133
|
-
([value]) => {
|
|
134
|
-
if (!value)
|
|
135
|
-
return "outline-style";
|
|
136
|
-
if (["auto", "dashed", "dotted", "double", "hidden", "solid", "groove", "ridge", "inset", "outset", ...globalKeywords].includes(value))
|
|
137
|
-
return "outline-style";
|
|
138
|
-
if (value === "none")
|
|
139
|
-
return "outline,outline-offset";
|
|
140
|
-
return null;
|
|
141
|
-
}
|
|
142
|
-
],
|
|
143
|
-
// _rules/border
|
|
144
|
-
[/^(?:border|b)(?:-(.+))?$/, ([value]) => {
|
|
145
|
-
if (!value)
|
|
146
|
-
return "border-width";
|
|
147
|
-
const borderStyles = /* @__PURE__ */ new Set(["solid", "dashed", "dotted", "double", "hidden", "none", "groove", "ridge", "inset", "outset", ...globalKeywords]);
|
|
148
|
-
if (borderStyles.has(value))
|
|
149
|
-
return "border-style";
|
|
150
|
-
const matched = value && value.match(/^([xyrltbse]|block|inline|[bi][se])?(?:-(.+))?$/);
|
|
151
|
-
if (matched) {
|
|
152
|
-
const [_, d = "", value2 = "1"] = matched;
|
|
153
|
-
const parsed = parseColor(value2, theme$2);
|
|
154
|
-
const size = !!(theme$2.lineWidth && value2 in theme$2.lineWidth || h.bracket.cssvar.global.px(value2));
|
|
155
|
-
const base = directionMap[d]?.map((v) => `border${v}`) ?? null;
|
|
156
|
-
if (!base)
|
|
157
|
-
return `null`;
|
|
158
|
-
if (borderStyles.has(value2))
|
|
159
|
-
return base.map((v) => `${v}-style`).join(",");
|
|
160
|
-
if (size)
|
|
161
|
-
return base.map((v) => `${v}-width`).join(",");
|
|
162
|
-
if (parsed?.color)
|
|
163
|
-
return base.map((v) => `${v}-color`).join(",");
|
|
164
|
-
}
|
|
165
|
-
return null;
|
|
166
|
-
}],
|
|
167
|
-
[/^(?:border-|b-)?(?:rounded|rd)(.+)$/, ([type]) => {
|
|
168
|
-
let result = "border-radius";
|
|
169
|
-
[
|
|
170
|
-
/^([xyrltbse]|block|inline|[bi][se])(?:-(.+))?$/
|
|
171
|
-
].some((r) => {
|
|
172
|
-
const matched = type.match(r);
|
|
173
|
-
if (matched) {
|
|
174
|
-
result = `border-radius-${matched[1]}`;
|
|
175
|
-
return true;
|
|
176
|
-
}
|
|
177
|
-
return false;
|
|
178
|
-
});
|
|
179
|
-
return result;
|
|
180
|
-
}],
|
|
181
|
-
// _rules/color
|
|
182
|
-
[/^op(?:acity)?-?(.+)$/, () => `opacity`],
|
|
183
|
-
[/^bg-(.+)$/, ([type]) => {
|
|
184
|
-
if (/^\[url\(.+\)\]$/.test(type))
|
|
185
|
-
return "image";
|
|
186
|
-
if (/^\[image:.+\]$/.test(type))
|
|
187
|
-
return "image";
|
|
188
|
-
if (/^\[(?:linear|conic|radial)-gradient\(.+\)\]$/.test(type))
|
|
189
|
-
return "image";
|
|
190
|
-
if (/^\[(?:length|size):.+\]$/.test(type))
|
|
191
|
-
return "size";
|
|
192
|
-
if (/^\[position:.+\]$/.test(type))
|
|
193
|
-
return "position";
|
|
194
|
-
if (/^op(?:acity)?-?(.+)$/.test(type))
|
|
195
|
-
return "opacity";
|
|
196
|
-
const parsed = parseColor(type, theme$2);
|
|
197
|
-
return parsed?.color ? "background-color" : null;
|
|
198
|
-
}],
|
|
199
|
-
// _rules/container
|
|
200
|
-
[/^@container(?:\/(\w+))?(?:-(normal))?$/, () => "container"],
|
|
201
|
-
// _rules/decoration
|
|
202
|
-
// _rules/default
|
|
203
|
-
// _rules/flex
|
|
204
|
-
// _rules/gap
|
|
205
|
-
[
|
|
206
|
-
/^(?:flex-|grid-)?(?:gap-?()|gap-([xy]-?|col-?|row-?))(.+)$/,
|
|
207
|
-
([direction]) => {
|
|
208
|
-
if (direction === "y" || direction === "row")
|
|
209
|
-
return "row-gap";
|
|
210
|
-
if (direction === "x" || direction === "col")
|
|
211
|
-
return "column-gap";
|
|
212
|
-
return "gap";
|
|
213
|
-
}
|
|
214
|
-
],
|
|
215
|
-
// _rules/grid
|
|
216
|
-
// _rules/layout
|
|
217
|
-
// _rules/position
|
|
218
|
-
[/^(?:position-|pos-)?(relative|absolute|fixed|sticky)$/, () => "position"],
|
|
219
|
-
[/^(?:position-|pos-)([-\w]+)$/, ([value]) => globalKeywords.includes(value) ? "position" : null],
|
|
220
|
-
[/^(?:position-|pos-)?(static)$/, () => "position"],
|
|
221
|
-
// _rules/question-mark
|
|
222
|
-
// _rules/ring
|
|
223
|
-
// _rules/shadow
|
|
224
|
-
// _rules/size
|
|
225
|
-
[
|
|
226
|
-
/^size-(min-|max-)?(.+)$/,
|
|
227
|
-
([m, s]) => {
|
|
228
|
-
return getSizeValue(m, "w", theme$2, s) ? [getSizePropName(m, "w"), getSizePropName(m, "h")].join(",") : null;
|
|
229
|
-
}
|
|
230
|
-
],
|
|
231
|
-
[
|
|
232
|
-
/^(?:size-)?(min-|max-)?([wh])-?(.+)$/,
|
|
233
|
-
([m, w, s]) => {
|
|
234
|
-
return getSizeValue(m, w, theme$2, s) ? getSizePropName(m, w) : null;
|
|
235
|
-
}
|
|
236
|
-
],
|
|
237
|
-
[
|
|
238
|
-
/^(?:size-)?(min-|max-)?(block|inline)-(.+)$/,
|
|
239
|
-
([m, w, s]) => {
|
|
240
|
-
return getSizeValue(m, w, theme$2, s) ? getSizePropName(m, w) : null;
|
|
241
|
-
}
|
|
242
|
-
],
|
|
243
|
-
[
|
|
244
|
-
/^(?:size-)?(min-|max-)?(h)-screen-(.+)$/,
|
|
245
|
-
([m, h2, p]) => getSizeBreakpointValue(theme$2, p, "verticalBreakpoints") ? getSizePropName(m, h2) : null
|
|
246
|
-
],
|
|
247
|
-
[
|
|
248
|
-
/^(?:size-)?(min-|max-)?(w)-screen-(.+)$/,
|
|
249
|
-
([m, w, p]) => getSizeBreakpointValue(theme$2, p) ? getSizePropName(m, w) : null
|
|
250
|
-
],
|
|
251
|
-
[
|
|
252
|
-
/^(?:size-)?aspect-(?:ratio-)?(?:\d+\/\d+|square|video)$/,
|
|
253
|
-
() => "aspect-ratio"
|
|
254
|
-
],
|
|
255
|
-
// _rules/spacing
|
|
256
|
-
[
|
|
257
|
-
/^p-?([xyrltbse])?(?:-?(.+))?$/,
|
|
258
|
-
([direction, size]) => directionSpacing("padding", direction, size)
|
|
259
|
-
],
|
|
260
|
-
[
|
|
261
|
-
/^p-(block|inline)(?:-(.+))?$/,
|
|
262
|
-
([direction, size]) => directionSpacing("padding", direction, size)
|
|
263
|
-
],
|
|
264
|
-
[
|
|
265
|
-
/^p-?([bi][se])(?:-?(.+))?$/,
|
|
266
|
-
([direction, size]) => directionSpacing("padding", direction, size)
|
|
267
|
-
],
|
|
268
|
-
[
|
|
269
|
-
/^m-?([xyrltbse])?(?:-?(.+))?$/,
|
|
270
|
-
([direction, size]) => directionSpacing("margin", direction, size)
|
|
271
|
-
],
|
|
272
|
-
[
|
|
273
|
-
/^m-(block|inline)(?:-(.+))?$/,
|
|
274
|
-
([direction, size]) => directionSpacing("margin", direction, size)
|
|
275
|
-
],
|
|
276
|
-
[
|
|
277
|
-
/^m-?([bi][se])(?:-?(.+))?$/,
|
|
278
|
-
([direction, size]) => directionSpacing("margin", direction, size)
|
|
279
|
-
],
|
|
280
|
-
// _rules/static
|
|
281
|
-
[
|
|
282
|
-
/^(?:display-(.+)|inline|block|inline-block|contents|flow-root|list-item|hidden)$/,
|
|
283
|
-
([value]) => {
|
|
284
|
-
if (!value || globalKeywords.includes(value))
|
|
285
|
-
return "display";
|
|
286
|
-
return null;
|
|
287
|
-
}
|
|
288
|
-
],
|
|
289
|
-
[
|
|
290
|
-
/^(?:visible|invisible|backface-(.+))$/,
|
|
291
|
-
([value]) => value ? "backface-visibility" : "visibility"
|
|
292
|
-
],
|
|
293
|
-
[/^content-(.+)$/, () => "content"],
|
|
294
|
-
// _rules/svg
|
|
295
|
-
// _rules/transform
|
|
296
|
-
[
|
|
297
|
-
/^(?:transform-)?(origin|perspect(?:ive)?(?:-origin)?|(?:translate|rotate|skew|scale)(?:-[xyz])?)-(.+)$/,
|
|
298
|
-
([type]) => type
|
|
299
|
-
],
|
|
300
|
-
[
|
|
301
|
-
/^(?:transform-)?preserve-(?:3d|flat)$/,
|
|
302
|
-
() => "transform-style"
|
|
303
|
-
],
|
|
304
|
-
[
|
|
305
|
-
/^(?:transform)(?:-(.+))?$/,
|
|
306
|
-
([value]) => {
|
|
307
|
-
if (!value || value === "none" || globalKeywords.includes(value))
|
|
308
|
-
return "transform";
|
|
309
|
-
return null;
|
|
310
|
-
}
|
|
311
|
-
],
|
|
312
|
-
// _rules/transition
|
|
313
|
-
[
|
|
314
|
-
/^(?:transition-)?(?:(duration|delay|ease|property)-)(.+)$/,
|
|
315
|
-
([value]) => {
|
|
316
|
-
const mapping = {
|
|
317
|
-
duration: "transition-duration",
|
|
318
|
-
delay: "transition-delay",
|
|
319
|
-
ease: "transition-timing-function",
|
|
320
|
-
property: "transition-property"
|
|
321
|
-
};
|
|
322
|
-
return mapping[value];
|
|
323
|
-
}
|
|
324
|
-
],
|
|
325
|
-
[
|
|
326
|
-
/^transition(?:-(.+))$/,
|
|
327
|
-
([value]) => {
|
|
328
|
-
if (!value)
|
|
329
|
-
return "transition-property,transition-timing-function,transition-duration";
|
|
330
|
-
if (value === "none" || globalKeywords.includes(value))
|
|
331
|
-
return "transition";
|
|
332
|
-
if (/^discrete|normal$/.test(value))
|
|
333
|
-
return "transition-behavior";
|
|
334
|
-
return null;
|
|
335
|
-
}
|
|
336
|
-
],
|
|
337
|
-
// _rules/typography
|
|
338
|
-
[
|
|
339
|
-
/^text-(.+)$/,
|
|
340
|
-
([s = "base"]) => {
|
|
341
|
-
const returnValue = "font-size";
|
|
342
|
-
const split = splitShorthand(s, "length");
|
|
343
|
-
if (!split)
|
|
344
|
-
return null;
|
|
345
|
-
const [size] = split;
|
|
346
|
-
const sizePairs = toArray(theme$2.fontSize?.[size]);
|
|
347
|
-
if (sizePairs?.[0])
|
|
348
|
-
return returnValue;
|
|
349
|
-
const fontSize = h.bracketOfLength.rem(size);
|
|
350
|
-
if (fontSize)
|
|
351
|
-
return returnValue;
|
|
352
|
-
return h.bracketOfLength.rem(s) ? returnValue : null;
|
|
353
|
-
}
|
|
354
|
-
],
|
|
355
|
-
[
|
|
356
|
-
/^(?:text|font)-size-(.+)$/,
|
|
357
|
-
([s]) => {
|
|
358
|
-
const themed = toArray(theme$2.fontSize?.[s]);
|
|
359
|
-
const size = themed?.[0] ?? h.bracket.cssvar.global.rem(s);
|
|
360
|
-
return size == null ? null : "font-size";
|
|
361
|
-
}
|
|
362
|
-
],
|
|
363
|
-
[
|
|
364
|
-
/^text-(?:color-)?(.+)$/,
|
|
365
|
-
([colorOrSize]) => {
|
|
366
|
-
if (isCSSMathFn(h.bracket(colorOrSize)))
|
|
367
|
-
return "font-size";
|
|
368
|
-
const parsed = parseColor(colorOrSize, theme$2);
|
|
369
|
-
return parsed?.color ? "color" : null;
|
|
370
|
-
}
|
|
371
|
-
],
|
|
372
|
-
[
|
|
373
|
-
/^(?:color|c)-(.+)$/,
|
|
374
|
-
([color]) => {
|
|
375
|
-
const parsed = parseColor(color, theme$2);
|
|
376
|
-
return parsed?.color ? "color" : null;
|
|
377
|
-
}
|
|
378
|
-
],
|
|
379
|
-
// _rules/variables
|
|
380
|
-
[
|
|
381
|
-
/^\[(.*)\]$/,
|
|
382
|
-
([body]) => {
|
|
383
|
-
if (!body.includes(":"))
|
|
384
|
-
return null;
|
|
385
|
-
return body.split(":")[0];
|
|
386
|
-
}
|
|
387
|
-
],
|
|
388
|
-
// others
|
|
389
|
-
[
|
|
390
|
-
new RegExp(`^${cssVarsPrefix}-((?:${cssVarsAll.join("|")})-)?(.+)$`),
|
|
391
|
-
([prop, color]) => {
|
|
392
|
-
const parsed = parseColor(color, theme$2);
|
|
393
|
-
if (!parsed?.color)
|
|
394
|
-
return null;
|
|
395
|
-
return prop ? `--ui-${prop}` : "--ui-fill,--ui-content";
|
|
396
|
-
}
|
|
397
|
-
]
|
|
398
|
-
];
|
|
399
|
-
}
|
|
400
|
-
function getSizePropName(minmax, hw) {
|
|
401
|
-
const sizeMapping = {
|
|
402
|
-
h: "height",
|
|
403
|
-
w: "width",
|
|
404
|
-
inline: "inline-size",
|
|
405
|
-
block: "block-size"
|
|
406
|
-
};
|
|
407
|
-
return `${minmax || ""}${sizeMapping[hw]}`;
|
|
408
|
-
}
|
|
409
|
-
function getSizeValue(minmax, hw, theme, prop) {
|
|
410
|
-
const str = getSizePropName(minmax, hw).replace(/-(\w)/g, (_, p) => p.toUpperCase());
|
|
411
|
-
const v = theme[str]?.[prop];
|
|
412
|
-
if (v != null)
|
|
413
|
-
return v;
|
|
414
|
-
switch (prop) {
|
|
415
|
-
case "fit":
|
|
416
|
-
case "max":
|
|
417
|
-
case "min":
|
|
418
|
-
return `${prop}-content`;
|
|
82
|
+
const rules = [
|
|
83
|
+
[
|
|
84
|
+
new RegExp(`^${cssVarsPrefix}-([^/]+)$`),
|
|
85
|
+
([_, color], ctx) => {
|
|
86
|
+
if (color === "base")
|
|
87
|
+
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("cb")]));
|
|
88
|
+
if (color === "base-inverted")
|
|
89
|
+
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar("c1")]));
|
|
90
|
+
const data = parseColor(color, ctx.theme);
|
|
91
|
+
const value = resolveRuleValue(data);
|
|
92
|
+
if (value)
|
|
93
|
+
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]));
|
|
94
|
+
},
|
|
95
|
+
{ autocomplete: `${cssVarsPrefix}-$colors` }
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join("|")})-)([^/]+)$`),
|
|
99
|
+
([_, prop, color], ctx) => {
|
|
100
|
+
if (color === "base")
|
|
101
|
+
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("cb") };
|
|
102
|
+
if (color === "base-inverted")
|
|
103
|
+
return { [`--${cssVarsPrefix}-${prop}`]: cssVar("c1") };
|
|
104
|
+
const data = parseColor(color, ctx.theme);
|
|
105
|
+
const value = resolveRuleValue(data);
|
|
106
|
+
if (value)
|
|
107
|
+
return { [`--${cssVarsPrefix}-${prop}`]: value };
|
|
108
|
+
},
|
|
109
|
+
{ autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join("|")})-$colors` }
|
|
110
|
+
],
|
|
111
|
+
// overrides
|
|
112
|
+
[/^rotate-(\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })]
|
|
113
|
+
];
|
|
114
|
+
function resolveRuleValue(data) {
|
|
115
|
+
if (data?.color && data.cssColor?.components) {
|
|
116
|
+
let value = data.cssColor.components.join(" ");
|
|
117
|
+
if (!/var\s*\((.+)\)(.*)/.test(data.color))
|
|
118
|
+
value += ` /* ${data.color} */`;
|
|
119
|
+
return value;
|
|
419
120
|
}
|
|
420
|
-
return
|
|
421
|
-
}
|
|
422
|
-
function getSizeBreakpointValue(theme, point, key = "breakpoints") {
|
|
423
|
-
const bp = resolveBreakpoints({ theme }, key);
|
|
424
|
-
if (bp)
|
|
425
|
-
return bp.find((i) => i.point === point)?.size;
|
|
121
|
+
return null;
|
|
426
122
|
}
|
|
427
123
|
|
|
428
124
|
const preset = definePreset((options = {}) => {
|
|
429
|
-
const resolveRuleValue = (data) => {
|
|
430
|
-
if (data?.color && data.cssColor?.components) {
|
|
431
|
-
let value = data.cssColor.components.join(" ");
|
|
432
|
-
if (!/var\s*\((.+)\)(.*)/.test(data.color))
|
|
433
|
-
value += ` /* ${data.color} */`;
|
|
434
|
-
return value;
|
|
435
|
-
}
|
|
436
|
-
return null;
|
|
437
|
-
};
|
|
438
125
|
return {
|
|
439
126
|
name: "unocss-preset-ui",
|
|
440
127
|
theme,
|
|
441
|
-
rules
|
|
442
|
-
[
|
|
443
|
-
new RegExp(`^${cssVarsPrefix}-([^/]+)$`),
|
|
444
|
-
([_, color], ctx) => {
|
|
445
|
-
const data = parseColor(color, ctx.theme);
|
|
446
|
-
const value = resolveRuleValue(data);
|
|
447
|
-
if (value)
|
|
448
|
-
return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]));
|
|
449
|
-
},
|
|
450
|
-
{ autocomplete: `${cssVarsPrefix}-$colors` }
|
|
451
|
-
],
|
|
452
|
-
[
|
|
453
|
-
new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join("|")})-)([^/]+)$`),
|
|
454
|
-
([_, prop, color], ctx) => {
|
|
455
|
-
const data = parseColor(color, ctx.theme);
|
|
456
|
-
const value = resolveRuleValue(data);
|
|
457
|
-
if (value)
|
|
458
|
-
return { [`--${cssVarsPrefix}-${prop}`]: value };
|
|
459
|
-
},
|
|
460
|
-
{ autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join("|")})-$colors` }
|
|
461
|
-
],
|
|
462
|
-
// overrides
|
|
463
|
-
[/^rotate-(\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })]
|
|
464
|
-
],
|
|
128
|
+
rules,
|
|
465
129
|
preflights: [
|
|
466
130
|
{ getCSS: () => createRootCSS(mergeOptions(options)) }
|
|
467
131
|
],
|
|
@@ -471,8 +135,11 @@ const preset = definePreset((options = {}) => {
|
|
|
471
135
|
function mergeOptions(options) {
|
|
472
136
|
const defaults = {
|
|
473
137
|
radius: "0rem",
|
|
474
|
-
radiusButton: "",
|
|
475
138
|
radiusBox: "",
|
|
139
|
+
radiusButton: "",
|
|
140
|
+
radiusCheckbox: "",
|
|
141
|
+
radiusRadio: "",
|
|
142
|
+
radiusSwitch: "",
|
|
476
143
|
radiusTabs: "",
|
|
477
144
|
cb: "#1f2937",
|
|
478
145
|
c1: "#ffffff",
|
|
@@ -485,7 +152,6 @@ function mergeOptions(options) {
|
|
|
485
152
|
};
|
|
486
153
|
}
|
|
487
154
|
function createRootCSS(kv) {
|
|
488
|
-
const kebabCase = (input) => input.replace(/([A-Z][^A-Z]*)/g, "-$1").replace(/^-/, "").toLowerCase();
|
|
489
155
|
const join = (input) => input.map((item) => item.endsWith(";") ? item : `${item};`).join("");
|
|
490
156
|
const css = [
|
|
491
157
|
// initial
|
|
@@ -511,4 +177,51 @@ function createRootCSS(kv) {
|
|
|
511
177
|
return css.join("");
|
|
512
178
|
}
|
|
513
179
|
|
|
514
|
-
|
|
180
|
+
const baseUnoConfig = mergeConfigs([
|
|
181
|
+
presetUno(),
|
|
182
|
+
preset()
|
|
183
|
+
]);
|
|
184
|
+
function transformUnoRules(userConfig = {}) {
|
|
185
|
+
const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig]);
|
|
186
|
+
const mergeRules = [];
|
|
187
|
+
const resolveCSSEntries = (entries) => () => entries.flatMap((value) => Object.keys(value)).join(",");
|
|
188
|
+
const resolveCSSObject = (object) => () => {
|
|
189
|
+
if (JSON.stringify(object) === "{}")
|
|
190
|
+
return null;
|
|
191
|
+
return Object.keys(object).join(",");
|
|
192
|
+
};
|
|
193
|
+
for (const rule of rules) {
|
|
194
|
+
const [maybeString, maybeResult] = rule;
|
|
195
|
+
const ruleRE = typeof maybeString === "string" ? new RegExp(`^${maybeString}$`) : maybeString;
|
|
196
|
+
if (Array.isArray(maybeResult)) {
|
|
197
|
+
mergeRules.push([ruleRE, resolveCSSEntries(maybeResult)]);
|
|
198
|
+
continue;
|
|
199
|
+
}
|
|
200
|
+
if (typeof maybeResult === "object") {
|
|
201
|
+
mergeRules.push([ruleRE, resolveCSSObject(maybeResult)]);
|
|
202
|
+
continue;
|
|
203
|
+
}
|
|
204
|
+
const matcher = (matches) => {
|
|
205
|
+
try {
|
|
206
|
+
const result = maybeResult(["", ...matches], {
|
|
207
|
+
theme,
|
|
208
|
+
// @ts-expect-error pass
|
|
209
|
+
generator: { config: {} }
|
|
210
|
+
});
|
|
211
|
+
if (Array.isArray(result)) {
|
|
212
|
+
return result.filter((i) => typeof i === "object").map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(",")).join(",");
|
|
213
|
+
}
|
|
214
|
+
if (typeof result === "object")
|
|
215
|
+
return resolveCSSObject(result)();
|
|
216
|
+
} catch (e) {
|
|
217
|
+
console.warn(`[Fail Rule]`, ruleRE, e.message);
|
|
218
|
+
}
|
|
219
|
+
return null;
|
|
220
|
+
};
|
|
221
|
+
mergeRules.push([ruleRE, matcher]);
|
|
222
|
+
}
|
|
223
|
+
return mergeRules;
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
export { cssColor, cssVar, cssVarsAll, cssVarsBase, cssVarsDynamic, cssVarsPrefix, preset as default, preset, rules, theme, transformUnoRules };
|
|
227
|
+
//# sourceMappingURL=unocss-preset.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unocss-preset.mjs","sources":["../src/unocss/constants.ts","../src/unocss/theme.ts","../src/unocss/rules.ts","../src/unocss/preset.ts","../src/unocss/rule-transform.ts"],"sourcesContent":["export const cssVarsPrefix = 'ui'\nexport const cssVarsBase = ['cb', 'c1', 'c2', 'c3']\nexport const cssVarsDynamic = ['fill', 'content']\nexport const cssVarsAll = [...cssVarsBase, ...cssVarsDynamic]\n","import type { Theme } from '@unocss/preset-mini'\nimport { cssVarsPrefix } from './constants'\n\nexport const theme: Theme = {\n colors: {\n [cssVarsPrefix]: {\n cb: cssColor(cssVar('cb')),\n c: {\n 1: cssColor(cssVar('c1')),\n 2: cssColor(cssVar('c2')),\n 3: cssColor(cssVar('c3')),\n },\n fill: cssColor(cssVar('fill', cssVar('cb'))),\n content: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n backgroundColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('c1'))),\n },\n },\n textColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('content', cssVar('cb'))),\n },\n },\n borderColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n borderRadius: {\n ...Object.fromEntries(['base', 'box', 'button', 'checkbox', 'radio', 'switch', 'tabs']\n .map((name) => [`${cssVarsPrefix}-${name}`, name === 'base'\n ? cssVar('radius')\n : cssVar(`radius-${name}`, cssVar('radius'))])),\n },\n ringWidth: {\n DEFAULT: '1px',\n },\n shadowColor: {\n [cssVarsPrefix]: {\n base: cssColor(cssVar('fill', cssVar('cb'))),\n },\n },\n animation: {\n keyframes: {\n 'fade-in': '{from {opacity: 0;}to {opacity: 1;}}',\n 'fade-out': '{from {opacity: 1;}to {opacity: 0;}}',\n 'scale-in': '{from {opacity: 0;scale: 0.95;}to {opacity: 1;scale: 1;}}',\n 'scale-out': '{from {opacity: 1;scale: 1;}to {opacity: 0;scale: 0.95;}}',\n 'slide-in-from-top': '{from {transform: translateY(-100%);}to {transform: translateY(0);}}',\n 'slide-out-to-top': '{from {transform: translateY(0);}to {transform: translateY(-100%);}}',\n 'slide-in-from-right': '{from {transform: translateX(100%);}to {transform: translateX(0);}}',\n 'slide-out-to-right': '{from {transform: translateX(0);}to {transform: translateX(100%);}}',\n 'slide-in-from-bottom': '{from {transform: translateY(100%);}to {transform: translateY(0);}}',\n 'slide-out-to-bottom': '{from {transform: translateY(0);}to {transform: translateY(100%);}}',\n 'slide-in-from-left': '{from {transform: translateX(-100%);}to {transform: translateX(0);}}',\n 'slide-out-to-left': '{from {transform: translateX(0);}to {transform: translateX(-100%);}}',\n 'slide-in-from-top-and-fade': '{from {opacity: 0;transform: translateY(-4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-top-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(-4px);}}',\n 'slide-in-from-right-and-fade': '{from {opacity: 0;transform: translateX(4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-right-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(4px);}}',\n 'slide-in-from-bottom-and-fade': '{from {opacity: 0;transform: translateY(4px);}to {opacity: 1;transform: translateY(0);}}',\n 'slide-out-to-bottom-and-fade': '{from {opacity: 1;transform: translateY(0);}to {opacity: 0;transform: translateY(4px);}}',\n 'slide-in-from-left-and-fade': '{from {opacity: 0;transform: translateX(-4px);}to {opacity: 1;transform: translateX(0);}}',\n 'slide-out-to-left-and-fade': '{from {opacity: 1;transform: translateX(0);}to {opacity: 0;transform: translateX(-4px);}}',\n },\n },\n}\n\nexport function cssVar(name: string, ...defaultValue: string[]) {\n return `var(${[`--${cssVarsPrefix}-${name}`, ...defaultValue].join(',')})`\n}\n\nexport function cssColor(...rgb: (string | number)[]) {\n return `rgb(${rgb.join(' ')})`\n}\n\nexport default theme\n","import type { Rule } from '@unocss/core'\r\nimport type { ParsedColorValue } from '@unocss/preset-mini/utils'\r\nimport { parseColor } from '@unocss/preset-mini/utils'\r\nimport { cssVarsAll, cssVarsDynamic, cssVarsPrefix } from './constants'\r\nimport { cssVar } from './theme'\r\n\r\nexport const rules: Rule[] = [\r\n [\r\n new RegExp(`^${cssVarsPrefix}-([^/]+)$`),\r\n ([_, color], ctx) => {\r\n if (color === 'base')\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('cb')]))\r\n\r\n if (color === 'base-inverted')\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, cssVar('c1')]))\r\n\r\n const data = parseColor(color, ctx.theme)\r\n const value = resolveRuleValue(data)\r\n\r\n if (value)\r\n return Object.fromEntries(cssVarsDynamic.map((prop) => [`--${cssVarsPrefix}-${prop}`, value]))\r\n },\r\n { autocomplete: `${cssVarsPrefix}-$colors` },\r\n ],\r\n [\r\n new RegExp(`^${cssVarsPrefix}-(?:(${cssVarsAll.join('|')})-)([^/]+)$`),\r\n ([_, prop, color], ctx) => {\r\n if (color === 'base')\r\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('cb') }\r\n\r\n if (color === 'base-inverted')\r\n return { [`--${cssVarsPrefix}-${prop}`]: cssVar('c1') }\r\n\r\n const data = parseColor(color, ctx.theme)\r\n const value = resolveRuleValue(data)\r\n\r\n if (value)\r\n return { [`--${cssVarsPrefix}-${prop}`]: value }\r\n },\r\n { autocomplete: `${cssVarsPrefix}-(${cssVarsAll.join('|')})-$colors` },\r\n ],\r\n // overrides\r\n [/^rotate-(\\d+)$/, ([_, d]) => ({ rotate: `${d}deg` })],\r\n]\r\n\r\nexport default rules\r\n\r\nfunction resolveRuleValue(data: ParsedColorValue | undefined) {\r\n if (data?.color && data.cssColor?.components) {\r\n let value = data.cssColor.components.join(' ')\r\n\r\n if (!/var\\s*\\((.+)\\)(.*)/.test(data.color))\r\n value += ` /* ${data.color} */`\r\n\r\n return value\r\n }\r\n\r\n return null\r\n}\r\n","import { definePreset } from '@unocss/core'\nimport { parseCssColor } from '@unocss/preset-mini/utils'\nimport { kebabCase } from 'scule'\nimport { cssVarsPrefix } from './constants'\nimport rules from './rules'\nimport theme, { cssColor, cssVar } from './theme'\n\nexport interface PresetOptions {\n /** @default \"0rem\" */\n radius?: string\n /** @default \"[radius]\" */\n radiusBox?: string\n /** @default \"[radius]\" */\n radiusButton?: string\n /** @default \"[radius]\" */\n radiusCheckbox?: string\n /** @default \"[radius]\" */\n radiusRadio?: string\n /** @default \"[radius]\" */\n radiusSwitch?: string\n /** @default \"[radius]\" */\n radiusTabs?: string\n /**\n * Base content color\n * @default \"#1f2937\"\n */\n cb?: string\n /**\n * Base color 1\n * @default \"#ffffff\"\n */\n c1?: string\n /**\n * Base color 2\n * @default \"#f2f2f2\"\n */\n c2?: string\n /**\n * Base color 3\n * @default \"#e5e6e6\"\n */\n c3?: string\n}\n\nexport const preset = definePreset((\n options: PresetOptions = {},\n) => {\n return {\n name: 'unocss-preset-ui',\n theme,\n rules,\n preflights: [\n { getCSS: () => createRootCSS(mergeOptions(options)) },\n ],\n safelist: Object.keys(theme.animation!.keyframes!).map((v) => `keyframes-${v}`),\n }\n})\n\nexport default preset\n\nfunction mergeOptions(options: PresetOptions): PresetOptions {\n const defaults: Required<PresetOptions> = {\n radius: '0rem',\n radiusBox: '',\n radiusButton: '',\n radiusCheckbox: '',\n radiusRadio: '',\n radiusSwitch: '',\n radiusTabs: '',\n cb: '#1f2937',\n c1: '#ffffff',\n c2: '#f2f2f2',\n c3: '#e5e6e6',\n }\n\n return {\n ...defaults,\n ...options,\n }\n}\n\nfunction createRootCSS(kv: PresetOptions) {\n const join = (input: string[]) => input.map((item) => item.endsWith(';') ? item : `${item};`).join('')\n\n const css = [\n // initial\n `:root{${join(Object.entries(kv)\n .filter(([_, v]) => Boolean(v))\n .map(([k, v]) => {\n const name = kebabCase(k)\n const content = parseCssColor(v)?.components.join(' ') ?? v\n return `--${cssVarsPrefix}-${name}:${content}`\n }))}}`,\n // reset\n `:root{${join([\n `color:${cssColor(cssVar('cb'))}`,\n ])}}`,\n `*,::before,::after{${join([\n `--un-default-border-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 10%,transparent)`,\n `accent-color:${cssColor(cssVar('fill', cssVar('cb')))}`,\n `scrollbar-color:color-mix(in srgb,${cssColor(cssVar('cb'))} 25%,transparent) transparent`,\n ])}}`,\n `*::selection{${join([\n `color:${cssColor(cssVar('c1'))}`,\n `background-color:${cssColor(cssVar('fill', cssVar('cb')))}`,\n ])}}`,\n ]\n\n return css.join('')\n}\n","import type { CRRule, CRRuleMatcher } from '@byyuurin/ui-kit'\r\nimport type { CSSEntries, CSSObject, UserConfig } from '@unocss/core'\r\nimport { mergeConfigs } from '@unocss/core'\r\nimport { presetUno } from '@unocss/preset-uno'\r\nimport { preset } from './preset'\r\n\r\nconst baseUnoConfig = mergeConfigs([\r\n presetUno(),\r\n preset(),\r\n])\r\n\r\nexport function transformUnoRules(\r\n userConfig: UserConfig = {},\r\n) {\r\n const { rules = [], theme = {} } = mergeConfigs([baseUnoConfig, userConfig])\r\n const mergeRules: CRRule[] = []\r\n\r\n const resolveCSSEntries = (entries: CSSEntries) => () => entries.flatMap((value) => Object.keys(value)).join(',')\r\n\r\n const resolveCSSObject = (object: CSSObject) => () => {\r\n if (JSON.stringify(object) === '{}')\r\n return null\r\n\r\n return Object.keys(object).join(',')\r\n }\r\n\r\n for (const rule of rules) {\r\n const [maybeString, maybeResult] = rule\r\n const ruleRE = typeof maybeString === 'string' ? new RegExp(`^${maybeString}$`) : maybeString\r\n\r\n if (Array.isArray(maybeResult)) {\r\n mergeRules.push([ruleRE, resolveCSSEntries(maybeResult)])\r\n continue\r\n }\r\n\r\n if (typeof maybeResult === 'object') {\r\n mergeRules.push([ruleRE, resolveCSSObject(maybeResult)])\r\n continue\r\n }\r\n\r\n const matcher: CRRuleMatcher = (matches) => {\r\n try {\r\n const result = maybeResult(['', ...matches], {\r\n theme,\r\n // @ts-expect-error pass\r\n generator: { config: {} },\r\n })\r\n\r\n if (Array.isArray(result)) {\r\n return result\r\n .filter((i) => typeof i === 'object')\r\n .map((i) => Array.isArray(i) ? i[0] : Object.keys(i).join(','))\r\n .join(',')\r\n }\r\n\r\n if (typeof result === 'object')\r\n return resolveCSSObject(result as any)()\r\n }\r\n catch (e: any) {\r\n console.warn(`[Fail Rule]`, ruleRE, e.message)\r\n }\r\n\r\n return null\r\n }\r\n\r\n mergeRules.push([ruleRE, matcher])\r\n }\r\n\r\n return mergeRules\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as unplugin from 'unplugin';
|
|
2
|
+
import { Options } from 'unplugin-auto-import/types';
|
|
3
|
+
import { Options as Options$1 } from 'unplugin-vue-components/types';
|
|
4
|
+
|
|
5
|
+
interface UIOptions {
|
|
6
|
+
/**
|
|
7
|
+
* prefix for components used in templates
|
|
8
|
+
*
|
|
9
|
+
* @default "U"
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/** Whether to generate declaration files for auto-imported components. */
|
|
13
|
+
dts?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Override options for `unplugin-auto-import`
|
|
16
|
+
*/
|
|
17
|
+
autoImport?: Partial<Options>;
|
|
18
|
+
/**
|
|
19
|
+
* Override options for `unplugin-vue-components`
|
|
20
|
+
*/
|
|
21
|
+
components?: Partial<Options$1>;
|
|
22
|
+
}
|
|
23
|
+
declare const UIPlugin: unplugin.UnpluginInstance<UIOptions | undefined, boolean>;
|
|
24
|
+
|
|
25
|
+
export { type UIOptions, UIPlugin, UIPlugin as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as unplugin from 'unplugin';
|
|
2
|
+
import { Options } from 'unplugin-auto-import/types';
|
|
3
|
+
import { Options as Options$1 } from 'unplugin-vue-components/types';
|
|
4
|
+
|
|
5
|
+
interface UIOptions {
|
|
6
|
+
/**
|
|
7
|
+
* prefix for components used in templates
|
|
8
|
+
*
|
|
9
|
+
* @default "U"
|
|
10
|
+
*/
|
|
11
|
+
prefix?: string;
|
|
12
|
+
/** Whether to generate declaration files for auto-imported components. */
|
|
13
|
+
dts?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Override options for `unplugin-auto-import`
|
|
16
|
+
*/
|
|
17
|
+
autoImport?: Partial<Options>;
|
|
18
|
+
/**
|
|
19
|
+
* Override options for `unplugin-vue-components`
|
|
20
|
+
*/
|
|
21
|
+
components?: Partial<Options$1>;
|
|
22
|
+
}
|
|
23
|
+
declare const UIPlugin: unplugin.UnpluginInstance<UIOptions | undefined, boolean>;
|
|
24
|
+
|
|
25
|
+
export { type UIOptions, UIPlugin, UIPlugin as default };
|