@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.
Files changed (142) hide show
  1. package/README.md +15 -24
  2. package/dist/index.d.ts +25 -2
  3. package/dist/index.mjs +25 -2
  4. package/dist/nuxt.d.mts +1 -1
  5. package/dist/nuxt.d.ts +1 -1
  6. package/dist/nuxt.mjs +14 -10
  7. package/dist/nuxt.mjs.map +1 -0
  8. package/dist/runtime/components/Accordion.vue +1 -1
  9. package/dist/runtime/components/Alert.vue +120 -0
  10. package/dist/runtime/components/App.vue +5 -1
  11. package/dist/runtime/components/Badge.vue +71 -0
  12. package/dist/runtime/components/Button.vue +3 -3
  13. package/dist/runtime/components/Card.vue +4 -4
  14. package/dist/runtime/components/Checkbox.vue +3 -6
  15. package/dist/runtime/components/Chip.vue +59 -0
  16. package/dist/runtime/components/Drawer.vue +2 -2
  17. package/dist/runtime/components/Input.vue +7 -2
  18. package/dist/runtime/components/Link.vue +1 -1
  19. package/dist/runtime/components/Modal.vue +2 -2
  20. package/dist/runtime/components/ModalProvider.vue +1 -1
  21. package/dist/runtime/components/PinInput.vue +86 -0
  22. package/dist/runtime/components/Popover.vue +1 -1
  23. package/dist/runtime/components/RadioGroup.vue +2 -8
  24. package/dist/runtime/components/ScrollArea.vue +72 -0
  25. package/dist/runtime/components/Select.vue +2 -1
  26. package/dist/runtime/components/Slider.vue +97 -0
  27. package/dist/runtime/components/Switch.vue +1 -2
  28. package/dist/runtime/components/Tabs.vue +6 -6
  29. package/dist/runtime/components/Textarea.vue +172 -0
  30. package/dist/runtime/components/Toast.vue +2 -2
  31. package/dist/runtime/components/Toaster.vue +2 -1
  32. package/dist/runtime/components/Tooltip.vue +1 -1
  33. package/dist/runtime/composables/defineInjection.d.ts +11 -0
  34. package/dist/runtime/composables/defineInjection.mjs +9 -0
  35. package/dist/runtime/composables/useModal.d.ts +1 -1
  36. package/dist/runtime/composables/useModal.mjs +3 -2
  37. package/dist/runtime/composables/useTheme.d.ts +3 -1
  38. package/dist/runtime/composables/useTheme.mjs +14 -6
  39. package/dist/runtime/theme/accordion.mjs +24 -21
  40. package/dist/runtime/theme/alert.d.ts +85 -0
  41. package/dist/runtime/theme/alert.mjs +47 -0
  42. package/dist/runtime/theme/app.mjs +1 -0
  43. package/dist/runtime/theme/badge.d.ts +79 -0
  44. package/dist/runtime/theme/badge.mjs +89 -0
  45. package/dist/runtime/theme/button.d.ts +4 -9
  46. package/dist/runtime/theme/button.mjs +130 -127
  47. package/dist/runtime/theme/card.d.ts +2 -2
  48. package/dist/runtime/theme/card.mjs +12 -9
  49. package/dist/runtime/theme/checkbox.d.ts +0 -12
  50. package/dist/runtime/theme/checkbox.mjs +45 -47
  51. package/dist/runtime/theme/chip.d.ts +56 -0
  52. package/dist/runtime/theme/chip.mjs +63 -0
  53. package/dist/runtime/theme/drawer.mjs +69 -66
  54. package/dist/runtime/theme/index.d.ts +7 -0
  55. package/dist/runtime/theme/index.mjs +7 -0
  56. package/dist/runtime/theme/input.d.ts +13 -5
  57. package/dist/runtime/theme/input.mjs +135 -122
  58. package/dist/runtime/theme/link.d.ts +1 -1
  59. package/dist/runtime/theme/link.mjs +23 -20
  60. package/dist/runtime/theme/modal.mjs +51 -48
  61. package/dist/runtime/theme/pinInput.d.ts +97 -0
  62. package/dist/runtime/theme/pinInput.mjs +108 -0
  63. package/dist/runtime/theme/popover.mjs +11 -8
  64. package/dist/runtime/theme/radioGroup.d.ts +0 -24
  65. package/dist/runtime/theme/radioGroup.mjs +50 -59
  66. package/dist/runtime/theme/scrollArea.d.ts +51 -0
  67. package/dist/runtime/theme/scrollArea.mjs +33 -0
  68. package/dist/runtime/theme/select.d.ts +5 -2
  69. package/dist/runtime/theme/select.mjs +156 -143
  70. package/dist/runtime/theme/slider.d.ts +73 -0
  71. package/dist/runtime/theme/slider.mjs +49 -0
  72. package/dist/runtime/theme/switch.d.ts +0 -12
  73. package/dist/runtime/theme/switch.mjs +66 -69
  74. package/dist/runtime/theme/tabs.d.ts +44 -13
  75. package/dist/runtime/theme/tabs.mjs +132 -106
  76. package/dist/runtime/theme/textarea.d.ts +93 -0
  77. package/dist/runtime/theme/textarea.mjs +113 -0
  78. package/dist/runtime/theme/toast.mjs +26 -23
  79. package/dist/runtime/theme/toaster.d.ts +2 -2
  80. package/dist/runtime/theme/toaster.mjs +84 -81
  81. package/dist/runtime/theme/tooltip.mjs +9 -6
  82. package/dist/runtime/types/components.d.ts +7 -0
  83. package/dist/runtime/types/index.d.ts +1 -3
  84. package/dist/runtime/utils/extend-theme.mjs +1 -1
  85. package/dist/runtime/utils/index.d.ts +0 -11
  86. package/dist/runtime/utils/index.mjs +0 -11
  87. package/dist/runtime/utils/link.d.ts +1 -1
  88. package/dist/shared/ui.CzDyI29e.mjs +8 -0
  89. package/dist/shared/ui.CzDyI29e.mjs.map +1 -0
  90. package/dist/unocss-preset.d.mts +15 -7
  91. package/dist/unocss-preset.d.ts +15 -7
  92. package/dist/unocss-preset.mjs +97 -384
  93. package/dist/unocss-preset.mjs.map +1 -0
  94. package/dist/unplugin.d.mts +25 -0
  95. package/dist/unplugin.d.ts +25 -0
  96. package/dist/unplugin.mjs +64 -0
  97. package/dist/unplugin.mjs.map +1 -0
  98. package/dist/vite.d.mts +9 -0
  99. package/dist/vite.d.ts +9 -0
  100. package/dist/vite.mjs +14 -0
  101. package/dist/vite.mjs.map +1 -0
  102. package/package.json +22 -14
  103. package/dist/index.cjs +0 -38
  104. package/dist/resolver.d.mts +0 -13
  105. package/dist/resolver.d.ts +0 -13
  106. package/dist/resolver.mjs +0 -21
  107. package/dist/runtime/components/index.cjs +0 -132
  108. package/dist/runtime/components/index.d.ts +0 -18
  109. package/dist/runtime/components/index.mjs +0 -18
  110. package/dist/runtime/composables/index.cjs +0 -33
  111. package/dist/runtime/composables/index.d.ts +0 -4
  112. package/dist/runtime/composables/index.mjs +0 -4
  113. package/dist/runtime/composables/useComponentIcons.cjs +0 -30
  114. package/dist/runtime/composables/useModal.cjs +0 -55
  115. package/dist/runtime/composables/useTheme.cjs +0 -30
  116. package/dist/runtime/composables/useToast.cjs +0 -51
  117. package/dist/runtime/theme/accordion.cjs +0 -27
  118. package/dist/runtime/theme/app.cjs +0 -15
  119. package/dist/runtime/theme/button.cjs +0 -127
  120. package/dist/runtime/theme/card.cjs +0 -17
  121. package/dist/runtime/theme/checkbox.cjs +0 -56
  122. package/dist/runtime/theme/drawer.cjs +0 -73
  123. package/dist/runtime/theme/index.cjs +0 -125
  124. package/dist/runtime/theme/input.cjs +0 -115
  125. package/dist/runtime/theme/link.cjs +0 -23
  126. package/dist/runtime/theme/modal.cjs +0 -55
  127. package/dist/runtime/theme/popover.cjs +0 -13
  128. package/dist/runtime/theme/radioGroup.cjs +0 -73
  129. package/dist/runtime/theme/select.cjs +0 -128
  130. package/dist/runtime/theme/switch.cjs +0 -73
  131. package/dist/runtime/theme/tabs.cjs +0 -105
  132. package/dist/runtime/theme/toast.cjs +0 -33
  133. package/dist/runtime/theme/toaster.cjs +0 -72
  134. package/dist/runtime/theme/tooltip.cjs +0 -14
  135. package/dist/runtime/types/components.cjs +0 -1
  136. package/dist/runtime/types/index.cjs +0 -27
  137. package/dist/runtime/types/utils.cjs +0 -1
  138. package/dist/runtime/utils/extend-theme.cjs +0 -24
  139. package/dist/runtime/utils/index.cjs +0 -119
  140. package/dist/runtime/utils/link.cjs +0 -10
  141. package/dist/runtime/utils/styler.cjs +0 -18
  142. package/dist/shared/ui.CPXA9QoM.mjs +0 -23
@@ -1,6 +1,7 @@
1
- import { mergeDeep, toArray, definePreset } from '@unocss/core';
2
- import { h, isCSSMathFn, parseColor, globalKeywords, directionMap, splitShorthand, resolveBreakpoints, directionSize, parseCssColor } from '@unocss/preset-mini/utils';
3
- import { theme as theme$1 } from '@unocss/preset-mini';
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}-base`]: cssVar("radius"),
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
- function createMergeRules() {
85
- const theme$2 = mergeDeep(theme$1, theme);
86
- const directionSpacing = (type, direction = "", size = "") => {
87
- if (directionSize(type)(["", direction, size], { theme: theme$2 }))
88
- return directionMap[direction]?.map((v) => `${type}${v}`).join(",");
89
- return null;
90
- };
91
- return [
92
- // _rules/align
93
- [
94
- /^(?:vertical|align|v)-([-\w]+%?)$/,
95
- () => "vertical-align"
96
- ],
97
- [
98
- /^(?:text-align|text)-(.+)$/,
99
- ([value]) => ["center", "left", "right", "justify", "start", "end"].includes(value) ? "text-align" : null
100
- ],
101
- // _rules/behaviors
102
- [
103
- /^outline-(?:width-|size-)?(.+)$/,
104
- ([value]) => {
105
- if (theme$2.lineWidth && value in theme$2.lineWidth)
106
- return "outline-width";
107
- if (h.bracket.cssvar.global.px(value))
108
- return "outline-width";
109
- return null;
110
- }
111
- ],
112
- [
113
- /^outline-(?:color-)?(.+)$/,
114
- ([value]) => {
115
- if (isCSSMathFn(h.bracket(value)))
116
- return null;
117
- const parsed = parseColor(value, theme$2);
118
- return parsed?.color ? "outline-color" : null;
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 h.bracket.cssvar.global.auto.fraction.rem(prop);
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
- export { createMergeRules, cssColor, cssVar, cssVarsAll, cssVarsBase, cssVarsDynamic, cssVarsPrefix, preset as default, preset, theme };
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":";;;;;AAAO,MAAM,aAAgB,GAAA;AACtB,MAAM,WAAc,GAAA,CAAC,IAAM,EAAA,IAAA,EAAM,MAAM,IAAI;AACrC,MAAA,cAAA,GAAiB,CAAC,MAAA,EAAQ,SAAS;AACzC,MAAM,UAAa,GAAA,CAAC,GAAG,WAAA,EAAa,GAAG,cAAc;;ACArD,MAAM,KAAe,GAAA;AAAA,EAC1B,MAAQ,EAAA;AAAA,IACN,CAAC,aAAa,GAAG;AAAA,MACf,EAAI,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,MACzB,CAAG,EAAA;AAAA,QACD,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,QACxB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAA;AAAA,QACxB,CAAG,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC;AAAA,OAC1B;AAAA,MACA,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA;AAAA,MAC3C,SAAS,QAAS,CAAA,MAAA,CAAO,WAAW,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AACnD,GACF;AAAA,EACA,eAAiB,EAAA;AAAA,IACf,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,SAAW,EAAA;AAAA,IACT,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,WAAW,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAChD,GACF;AAAA,EACA,WAAa,EAAA;AAAA,IACX,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,YAAc,EAAA;AAAA,IACZ,GAAG,MAAA,CAAO,WAAY,CAAA,CAAC,QAAQ,KAAO,EAAA,QAAA,EAAU,UAAY,EAAA,OAAA,EAAS,UAAU,MAAM,CAAA,CAClF,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAG,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,IAAA,KAAS,MACjD,GAAA,MAAA,CAAO,QAAQ,CACf,GAAA,MAAA,CAAO,CAAU,OAAA,EAAA,IAAI,IAAI,MAAO,CAAA,QAAQ,CAAC,CAAC,CAAC,CAAC;AAAA,GACpD;AAAA,EACA,SAAW,EAAA;AAAA,IACT,OAAS,EAAA;AAAA,GACX;AAAA,EACA,WAAa,EAAA;AAAA,IACX,CAAC,aAAa,GAAG;AAAA,MACf,MAAM,QAAS,CAAA,MAAA,CAAO,QAAQ,MAAO,CAAA,IAAI,CAAC,CAAC;AAAA;AAC7C,GACF;AAAA,EACA,SAAW,EAAA;AAAA,IACT,SAAW,EAAA;AAAA,MACT,SAAW,EAAA,sCAAA;AAAA,MACX,UAAY,EAAA,sCAAA;AAAA,MACZ,UAAY,EAAA,2DAAA;AAAA,MACZ,WAAa,EAAA,2DAAA;AAAA,MACb,mBAAqB,EAAA,sEAAA;AAAA,MACrB,kBAAoB,EAAA,sEAAA;AAAA,MACpB,qBAAuB,EAAA,qEAAA;AAAA,MACvB,oBAAsB,EAAA,qEAAA;AAAA,MACtB,sBAAwB,EAAA,qEAAA;AAAA,MACxB,qBAAuB,EAAA,qEAAA;AAAA,MACvB,oBAAsB,EAAA,sEAAA;AAAA,MACtB,mBAAqB,EAAA,sEAAA;AAAA,MACrB,4BAA8B,EAAA,2FAAA;AAAA,MAC9B,2BAA6B,EAAA,2FAAA;AAAA,MAC7B,8BAAgC,EAAA,0FAAA;AAAA,MAChC,6BAA+B,EAAA,0FAAA;AAAA,MAC/B,+BAAiC,EAAA,0FAAA;AAAA,MACjC,8BAAgC,EAAA,0FAAA;AAAA,MAChC,6BAA+B,EAAA,2FAAA;AAAA,MAC/B,4BAA8B,EAAA;AAAA;AAChC;AAEJ;AAEgB,SAAA,MAAA,CAAO,SAAiB,YAAwB,EAAA;AAC9D,EAAA,OAAO,CAAO,IAAA,EAAA,CAAC,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,GAAG,YAAY,CAAA,CAAE,IAAK,CAAA,GAAG,CAAC,CAAA,CAAA,CAAA;AACzE;AAEO,SAAS,YAAY,GAA0B,EAAA;AACpD,EAAA,OAAO,CAAO,IAAA,EAAA,GAAA,CAAI,IAAK,CAAA,GAAG,CAAC,CAAA,CAAA,CAAA;AAC7B;;ACvEO,MAAM,KAAgB,GAAA;AAAA,EAC3B;AAAA,IACE,IAAI,MAAA,CAAO,CAAI,CAAA,EAAA,aAAa,CAAW,SAAA,CAAA,CAAA;AAAA,IACvC,CAAC,CAAC,CAAG,EAAA,KAAK,GAAG,GAAQ,KAAA;AACnB,MAAA,IAAI,KAAU,KAAA,MAAA;AACZ,QAAA,OAAO,OAAO,WAAY,CAAA,cAAA,CAAe,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,MAAA,CAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAA,IAAI,KAAU,KAAA,eAAA;AACZ,QAAA,OAAO,OAAO,WAAY,CAAA,cAAA,CAAe,GAAI,CAAA,CAAC,SAAS,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,MAAA,CAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAEtG,MAAA,MAAM,IAAO,GAAA,UAAA,CAAW,KAAO,EAAA,GAAA,CAAI,KAAK,CAAA;AACxC,MAAM,MAAA,KAAA,GAAQ,iBAAiB,IAAI,CAAA;AAEnC,MAAI,IAAA,KAAA;AACF,QAAA,OAAO,MAAO,CAAA,WAAA,CAAY,cAAe,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA,CAAC,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAC,CAAC,CAAA;AAAA,KACjG;AAAA,IACA,EAAE,YAAA,EAAc,CAAG,EAAA,aAAa,CAAW,QAAA,CAAA;AAAA,GAC7C;AAAA,EACA;AAAA,IACE,IAAI,OAAO,CAAI,CAAA,EAAA,aAAa,QAAQ,UAAW,CAAA,IAAA,CAAK,GAAG,CAAC,CAAa,WAAA,CAAA,CAAA;AAAA,IACrE,CAAC,CAAC,CAAA,EAAG,IAAM,EAAA,KAAK,GAAG,GAAQ,KAAA;AACzB,MAAA,IAAI,KAAU,KAAA,MAAA;AACZ,QAAO,OAAA,EAAE,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,GAAG,MAAO,CAAA,IAAI,CAAE,EAAA;AAExD,MAAA,IAAI,KAAU,KAAA,eAAA;AACZ,QAAO,OAAA,EAAE,CAAC,CAAA,EAAA,EAAK,aAAa,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA,GAAG,MAAO,CAAA,IAAI,CAAE,EAAA;AAExD,MAAA,MAAM,IAAO,GAAA,UAAA,CAAW,KAAO,EAAA,GAAA,CAAI,KAAK,CAAA;AACxC,MAAM,MAAA,KAAA,GAAQ,iBAAiB,IAAI,CAAA;AAEnC,MAAI,IAAA,KAAA;AACF,QAAO,OAAA,EAAE,CAAC,CAAK,EAAA,EAAA,aAAa,IAAI,IAAI,CAAA,CAAE,GAAG,KAAM,EAAA;AAAA,KACnD;AAAA,IACA,EAAE,cAAc,CAAG,EAAA,aAAa,KAAK,UAAW,CAAA,IAAA,CAAK,GAAG,CAAC,CAAY,SAAA,CAAA;AAAA,GACvE;AAAA;AAAA,EAEA,CAAC,gBAAA,EAAkB,CAAC,CAAC,CAAG,EAAA,CAAC,CAAO,MAAA,EAAE,MAAQ,EAAA,CAAA,EAAG,CAAC,CAAA,GAAA,CAAA,EAAQ,CAAA;AACxD;AAIA,SAAS,iBAAiB,IAAoC,EAAA;AAC5D,EAAA,IAAI,IAAM,EAAA,KAAA,IAAS,IAAK,CAAA,QAAA,EAAU,UAAY,EAAA;AAC5C,IAAA,IAAI,KAAQ,GAAA,IAAA,CAAK,QAAS,CAAA,UAAA,CAAW,KAAK,GAAG,CAAA;AAE7C,IAAA,IAAI,CAAC,oBAAA,CAAqB,IAAK,CAAA,IAAA,CAAK,KAAK,CAAA;AACvC,MAAS,KAAA,IAAA,CAAA,IAAA,EAAO,KAAK,KAAK,CAAA,GAAA,CAAA;AAE5B,IAAO,OAAA,KAAA;AAAA;AAGT,EAAO,OAAA,IAAA;AACT;;ACdO,MAAM,MAAS,GAAA,YAAA,CAAa,CACjC,OAAA,GAAyB,EACtB,KAAA;AACH,EAAO,OAAA;AAAA,IACL,IAAM,EAAA,kBAAA;AAAA,IACN,KAAA;AAAA,IACA,KAAA;AAAA,IACA,UAAY,EAAA;AAAA,MACV,EAAE,MAAQ,EAAA,MAAM,cAAc,YAAa,CAAA,OAAO,CAAC,CAAE;AAAA,KACvD;AAAA,IACA,QAAU,EAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,SAAW,CAAA,SAAU,CAAE,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,CAAa,UAAA,EAAA,CAAC,CAAE,CAAA;AAAA,GAChF;AACF,CAAC;AAID,SAAS,aAAa,OAAuC,EAAA;AAC3D,EAAA,MAAM,QAAoC,GAAA;AAAA,IACxC,MAAQ,EAAA,MAAA;AAAA,IACR,SAAW,EAAA,EAAA;AAAA,IACX,YAAc,EAAA,EAAA;AAAA,IACd,cAAgB,EAAA,EAAA;AAAA,IAChB,WAAa,EAAA,EAAA;AAAA,IACb,YAAc,EAAA,EAAA;AAAA,IACd,UAAY,EAAA,EAAA;AAAA,IACZ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA,SAAA;AAAA,IACJ,EAAI,EAAA;AAAA,GACN;AAEA,EAAO,OAAA;AAAA,IACL,GAAG,QAAA;AAAA,IACH,GAAG;AAAA,GACL;AACF;AAEA,SAAS,cAAc,EAAmB,EAAA;AACxC,EAAA,MAAM,OAAO,CAAC,KAAA,KAAoB,KAAM,CAAA,GAAA,CAAI,CAAC,IAAS,KAAA,IAAA,CAAK,QAAS,CAAA,GAAG,IAAI,IAAO,GAAA,CAAA,EAAG,IAAI,CAAG,CAAA,CAAA,CAAA,CAAE,KAAK,EAAE,CAAA;AAErG,EAAA,MAAM,GAAM,GAAA;AAAA;AAAA,IAEV,CAAA,MAAA,EAAS,KAAK,MAAO,CAAA,OAAA,CAAQ,EAAE,CAC5B,CAAA,MAAA,CAAO,CAAC,CAAC,CAAA,EAAG,CAAC,CAAM,KAAA,OAAA,CAAQ,CAAC,CAAC,CAAA,CAC7B,IAAI,CAAC,CAAC,CAAG,EAAA,CAAC,CAAM,KAAA;AACf,MAAM,MAAA,IAAA,GAAO,UAAU,CAAC,CAAA;AACxB,MAAA,MAAM,UAAU,aAAc,CAAA,CAAC,GAAG,UAAW,CAAA,IAAA,CAAK,GAAG,CAAK,IAAA,CAAA;AAC1D,MAAA,OAAO,CAAK,EAAA,EAAA,aAAa,CAAI,CAAA,EAAA,IAAI,IAAI,OAAO,CAAA,CAAA;AAAA,KAC7C,CAAC,CAAC,CAAA,CAAA,CAAA;AAAA;AAAA,IAEL,SAAS,IAAK,CAAA;AAAA,MACZ,CAAS,MAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA;AAAA,KAChC,CAAC,CAAA,CAAA,CAAA;AAAA,IACF,sBAAsB,IAAK,CAAA;AAAA,MACzB,CAA+C,4CAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,iBAAA,CAAA;AAAA,MACrE,CAAA,aAAA,EAAgB,SAAS,MAAO,CAAA,MAAA,EAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA,CAAA;AAAA,MACtD,CAAqC,kCAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,6BAAA;AAAA,KAC5D,CAAC,CAAA,CAAA,CAAA;AAAA,IACF,gBAAgB,IAAK,CAAA;AAAA,MACnB,CAAS,MAAA,EAAA,QAAA,CAAS,MAAO,CAAA,IAAI,CAAC,CAAC,CAAA,CAAA;AAAA,MAC/B,CAAA,iBAAA,EAAoB,SAAS,MAAO,CAAA,MAAA,EAAQ,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAAA,KAC3D,CAAC,CAAA,CAAA;AAAA,GACJ;AAEA,EAAO,OAAA,GAAA,CAAI,KAAK,EAAE,CAAA;AACpB;;ACvGA,MAAM,gBAAgB,YAAa,CAAA;AAAA,EACjC,SAAU,EAAA;AAAA,EACV,MAAO;AACT,CAAC,CAAA;AAEe,SAAA,iBAAA,CACd,UAAyB,GAAA,EACzB,EAAA;AACA,EAAA,MAAM,EAAE,KAAA,GAAQ,EAAC,EAAG,KAAQ,GAAA,EAAG,EAAA,GAAI,YAAa,CAAA,CAAC,aAAe,EAAA,UAAU,CAAC,CAAA;AAC3E,EAAA,MAAM,aAAuB,EAAC;AAE9B,EAAA,MAAM,iBAAoB,GAAA,CAAC,OAAwB,KAAA,MAAM,QAAQ,OAAQ,CAAA,CAAC,KAAU,KAAA,MAAA,CAAO,IAAK,CAAA,KAAK,CAAC,CAAA,CAAE,KAAK,GAAG,CAAA;AAEhH,EAAM,MAAA,gBAAA,GAAmB,CAAC,MAAA,KAAsB,MAAM;AACpD,IAAI,IAAA,IAAA,CAAK,SAAU,CAAA,MAAM,CAAM,KAAA,IAAA;AAC7B,MAAO,OAAA,IAAA;AAET,IAAA,OAAO,MAAO,CAAA,IAAA,CAAK,MAAM,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,GACrC;AAEA,EAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,IAAM,MAAA,CAAC,WAAa,EAAA,WAAW,CAAI,GAAA,IAAA;AACnC,IAAM,MAAA,MAAA,GAAS,OAAO,WAAgB,KAAA,QAAA,GAAW,IAAI,MAAO,CAAA,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,CAAG,CAAI,GAAA,WAAA;AAElF,IAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,WAAW,CAAG,EAAA;AAC9B,MAAA,UAAA,CAAW,KAAK,CAAC,MAAA,EAAQ,iBAAkB,CAAA,WAAW,CAAC,CAAC,CAAA;AACxD,MAAA;AAAA;AAGF,IAAI,IAAA,OAAO,gBAAgB,QAAU,EAAA;AACnC,MAAA,UAAA,CAAW,KAAK,CAAC,MAAA,EAAQ,gBAAiB,CAAA,WAAW,CAAC,CAAC,CAAA;AACvD,MAAA;AAAA;AAGF,IAAM,MAAA,OAAA,GAAyB,CAAC,OAAY,KAAA;AAC1C,MAAI,IAAA;AACF,QAAA,MAAM,SAAS,WAAY,CAAA,CAAC,EAAI,EAAA,GAAG,OAAO,CAAG,EAAA;AAAA,UAC3C,KAAA;AAAA;AAAA,UAEA,SAAW,EAAA,EAAE,MAAQ,EAAA,EAAG;AAAA,SACzB,CAAA;AAED,QAAI,IAAA,KAAA,CAAM,OAAQ,CAAA,MAAM,CAAG,EAAA;AACzB,UAAO,OAAA,MAAA,CACJ,MAAO,CAAA,CAAC,CAAM,KAAA,OAAO,CAAM,KAAA,QAAQ,CACnC,CAAA,GAAA,CAAI,CAAC,CAAA,KAAM,KAAM,CAAA,OAAA,CAAQ,CAAC,CAAA,GAAI,CAAE,CAAA,CAAC,CAAI,GAAA,MAAA,CAAO,IAAK,CAAA,CAAC,CAAE,CAAA,IAAA,CAAK,GAAG,CAAC,CAC7D,CAAA,IAAA,CAAK,GAAG,CAAA;AAAA;AAGb,QAAA,IAAI,OAAO,MAAW,KAAA,QAAA;AACpB,UAAO,OAAA,gBAAA,CAAiB,MAAa,CAAE,EAAA;AAAA,eAEpC,CAAQ,EAAA;AACb,QAAA,OAAA,CAAQ,IAAK,CAAA,CAAA,WAAA,CAAA,EAAe,MAAQ,EAAA,CAAA,CAAE,OAAO,CAAA;AAAA;AAG/C,MAAO,OAAA,IAAA;AAAA,KACT;AAEA,IAAA,UAAA,CAAW,IAAK,CAAA,CAAC,MAAQ,EAAA,OAAO,CAAC,CAAA;AAAA;AAGnC,EAAO,OAAA,UAAA;AACT;;;;"}
@@ -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 };