vunor 0.1.6 → 0.2.1
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 +84 -86
- package/dist/AppToasts.d.mts +1 -1
- package/dist/ButtonBase.d.mts +1 -1
- package/dist/ButtonBase.mjs +1 -1
- package/dist/CardHeader.mjs +2 -2
- package/dist/Combobox.d.mts +32 -32
- package/dist/Combobox.mjs +1 -1
- package/dist/DatePicker.d.mts +3 -3
- package/dist/DatePickerBase.d.mts +2 -2
- package/dist/DatePickerBase.mjs +1 -1
- package/dist/DevTools.mjs +30 -6
- package/dist/Input.d.mts +1 -1
- package/dist/InputBase.mjs +1 -1
- package/dist/Pagination.mjs +5 -5
- package/dist/Select.mjs +1 -1
- package/dist/SelectBase.d.mts +2 -2
- package/dist/theme.d.mts +3 -4
- package/dist/theme.mjs +1073 -1013
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -39,15 +39,15 @@ All values are emitted as CSS custom properties, ready for use in any CSS-based
|
|
|
39
39
|
|
|
40
40
|
### Semantic Colors
|
|
41
41
|
|
|
42
|
-
| Name
|
|
43
|
-
|
|
44
|
-
| `primary`
|
|
45
|
-
| `secondary` | `#edd812` | Accent / highlight
|
|
46
|
-
| `good`
|
|
47
|
-
| `warn`
|
|
48
|
-
| `error`
|
|
49
|
-
| `grey`
|
|
50
|
-
| `neutral`
|
|
42
|
+
| Name | Default | Purpose |
|
|
43
|
+
| ----------- | --------- | ------------------- |
|
|
44
|
+
| `primary` | `#004eaf` | Main brand color |
|
|
45
|
+
| `secondary` | `#edd812` | Accent / highlight |
|
|
46
|
+
| `good` | `#7bc76a` | Success / positive |
|
|
47
|
+
| `warn` | `#ef9421` | Warning |
|
|
48
|
+
| `error` | `#bf5a5f` | Error / negative |
|
|
49
|
+
| `grey` | `#858892` | Neutral greys |
|
|
50
|
+
| `neutral` | `#5da0c5` | Alternative neutral |
|
|
51
51
|
|
|
52
52
|
### Per-Color Fine-Tuning
|
|
53
53
|
|
|
@@ -98,18 +98,18 @@ All dimensions in Vunor derive from the golden ratio (`k = 1.618`).
|
|
|
98
98
|
|
|
99
99
|
Font sizes, line heights, and letter spacing are computed from powers of `k`:
|
|
100
100
|
|
|
101
|
-
| Name
|
|
102
|
-
|
|
103
|
-
| `h1`
|
|
104
|
-
| `h2`
|
|
105
|
-
| `h3`
|
|
106
|
-
| `h4`
|
|
107
|
-
| `h5`
|
|
108
|
-
| `h6`
|
|
109
|
-
| `body`
|
|
110
|
-
| `body-s`
|
|
111
|
-
| `label`
|
|
112
|
-
| `caption` | k^-0.5
|
|
101
|
+
| Name | Size | Weight | Bold | Line Height |
|
|
102
|
+
| --------- | ------- | ------ | ---- | ----------- |
|
|
103
|
+
| `h1` | k^3.5 | 400 | 700 | k^0.5 |
|
|
104
|
+
| `h2` | k^2.5 | 400 | 700 | k^0.5 |
|
|
105
|
+
| `h3` | k^2 | 400 | 700 | k^0.5 |
|
|
106
|
+
| `h4` | k^1 | 400 | 600 | k^0.5 |
|
|
107
|
+
| `h5` | k^0.5 | 400 | 600 | k^0.5 |
|
|
108
|
+
| `h6` | k^0.25 | 600 | 700 | k^0.5 |
|
|
109
|
+
| `body` | 1 | 400 | 600 | k^0.75 |
|
|
110
|
+
| `body-s` | k^-0.5 | 400 | 600 | k^1 |
|
|
111
|
+
| `label` | k^-0.25 | 500 | 700 | k^0.5 |
|
|
112
|
+
| `caption` | k^-0.5 | 400 | 600 | k^0.5 |
|
|
113
113
|
|
|
114
114
|
Applied as UnoCSS utilities: `text-h1`, `text-body`, `text-label`, etc. Each sets `--font-size`, `--font-bold`, `--font-corrected` (actual rendered glyph height), line-height, letter-spacing, and top/bottom trim correction CSS vars.
|
|
115
115
|
|
|
@@ -127,15 +127,15 @@ typography: {
|
|
|
127
127
|
|
|
128
128
|
Spacing tokens follow the same golden-ratio progression:
|
|
129
129
|
|
|
130
|
-
| Token
|
|
131
|
-
|
|
130
|
+
| Token | Scale | ~Value |
|
|
131
|
+
| ------ | ----- | ------ |
|
|
132
132
|
| `$xxs` | 1/k^3 | 0.24em |
|
|
133
|
-
| `$xs`
|
|
134
|
-
| `$s`
|
|
135
|
-
| `$m`
|
|
136
|
-
| `$l`
|
|
137
|
-
| `$xl`
|
|
138
|
-
| `$xxl` | k^3
|
|
133
|
+
| `$xs` | 1/k^2 | 0.38em |
|
|
134
|
+
| `$s` | 1/k | 0.62em |
|
|
135
|
+
| `$m` | 1 | 1em |
|
|
136
|
+
| `$l` | k | 1.62em |
|
|
137
|
+
| `$xl` | k^2 | 2.62em |
|
|
138
|
+
| `$xxl` | k^3 | 4.24em |
|
|
139
139
|
|
|
140
140
|
Used as `p-$m`, `m-$l`, `gap-$s`, etc. Text-aware margin utilities (`text-mt-$m`, `text-mb-$s`) compensate for line-height to maintain optically correct spacing.
|
|
141
141
|
|
|
@@ -160,11 +160,11 @@ import { defineShortcuts } from 'vunor/theme'
|
|
|
160
160
|
|
|
161
161
|
const shortcuts = defineShortcuts({
|
|
162
162
|
// 'btn' is the shortcut name (used as a CSS class)
|
|
163
|
-
|
|
164
|
-
'': 'h-fingertip flex items-center',
|
|
165
|
-
'hover:': 'bg-current/05',
|
|
166
|
-
'dark:': 'text-white',
|
|
167
|
-
'[&.btn-round]:': 'rounded-full',
|
|
163
|
+
btn: {
|
|
164
|
+
'': 'h-fingertip flex items-center', // base classes (no prefix)
|
|
165
|
+
'hover:': 'bg-current/05', // → "hover:bg-current/05"
|
|
166
|
+
'dark:': 'text-white', // → "dark:text-white"
|
|
167
|
+
'[&.btn-round]:': 'rounded-full', // → "[&.btn-round]:rounded-full"
|
|
168
168
|
},
|
|
169
169
|
})
|
|
170
170
|
```
|
|
@@ -206,10 +206,10 @@ import { vunorShortcuts, defineShortcuts } from 'vunor/theme'
|
|
|
206
206
|
|
|
207
207
|
const myOverrides = defineShortcuts({
|
|
208
208
|
'c8-filled': {
|
|
209
|
-
'': 'rounded-full',
|
|
209
|
+
'': 'rounded-full', // only overrides base classes
|
|
210
210
|
},
|
|
211
211
|
'i8-flat': {
|
|
212
|
-
'': 'border-b-2',
|
|
212
|
+
'': 'border-b-2', // only overrides base classes
|
|
213
213
|
},
|
|
214
214
|
})
|
|
215
215
|
|
|
@@ -262,9 +262,7 @@ Surfaces apply specific palette stops as background + text + icon:
|
|
|
262
262
|
Fine-grained color control via CSS custom properties:
|
|
263
263
|
|
|
264
264
|
```html
|
|
265
|
-
<div class="current-bg-primary-500 bg-current text-current">
|
|
266
|
-
Colored via CSS vars
|
|
267
|
-
</div>
|
|
265
|
+
<div class="current-bg-primary-500 bg-current text-current">Colored via CSS vars</div>
|
|
268
266
|
```
|
|
269
267
|
|
|
270
268
|
- `scope-{color}` sets `--scope-color-*` vars for a palette
|
|
@@ -275,12 +273,12 @@ Fine-grained color control via CSS custom properties:
|
|
|
275
273
|
|
|
276
274
|
Button and clickable element design variants:
|
|
277
275
|
|
|
278
|
-
| Class
|
|
279
|
-
|
|
280
|
-
| `c8-filled`
|
|
281
|
-
| `c8-flat`
|
|
276
|
+
| Class | Description |
|
|
277
|
+
| ------------- | --------------------------------------- |
|
|
278
|
+
| `c8-filled` | Solid background, white text |
|
|
279
|
+
| `c8-flat` | Transparent background, colored text |
|
|
282
280
|
| `c8-outlined` | Border + colored text, transparent fill |
|
|
283
|
-
| `c8-light`
|
|
281
|
+
| `c8-light` | Light tinted background, colored text |
|
|
284
282
|
|
|
285
283
|
Each includes hover, active, focus, and disabled states. Apply on any element alongside `scope-{color}`:
|
|
286
284
|
|
|
@@ -293,11 +291,11 @@ Each includes hover, active, focus, and disabled states. Apply on any element al
|
|
|
293
291
|
|
|
294
292
|
Input field design variants:
|
|
295
293
|
|
|
296
|
-
| Class
|
|
297
|
-
|
|
298
|
-
| `i8-flat`
|
|
299
|
-
| `i8-filled` | Full border with background
|
|
300
|
-
| `i8-round`
|
|
294
|
+
| Class | Description |
|
|
295
|
+
| ----------- | ---------------------------- |
|
|
296
|
+
| `i8-flat` | Bottom border only (minimal) |
|
|
297
|
+
| `i8-filled` | Full border with background |
|
|
298
|
+
| `i8-round` | Pill-shaped (fully rounded) |
|
|
301
299
|
|
|
302
300
|
Common sub-shortcuts: `i8-input`, `i8-label` (floating label), `i8-hint`, `i8-prepend` / `i8-append`, `i8-before` / `i8-after`.
|
|
303
301
|
|
|
@@ -333,7 +331,7 @@ export default defineConfig({
|
|
|
333
331
|
spacingFactor: 1.618,
|
|
334
332
|
|
|
335
333
|
// -- Global border radius --
|
|
336
|
-
baseRadius: '0.5em',
|
|
334
|
+
baseRadius: '0.5em', // default: 0.618em (1/golden-ratio)
|
|
337
335
|
|
|
338
336
|
// -- Typography overrides --
|
|
339
337
|
typography: {
|
|
@@ -448,54 +446,54 @@ The components are consumers of the theme system described above -- they use `c8
|
|
|
448
446
|
|
|
449
447
|
### Layout
|
|
450
448
|
|
|
451
|
-
| Component
|
|
452
|
-
|
|
453
|
-
| `VuAppLayout`
|
|
454
|
-
| `VuCard`
|
|
455
|
-
| `VuCardHeader` | Card header with title and actions
|
|
456
|
-
| `VuCardInner`
|
|
457
|
-
| `VuTabs`
|
|
458
|
-
| `VuDialog`
|
|
459
|
-
| `VuPopover`
|
|
449
|
+
| Component | Description |
|
|
450
|
+
| -------------- | --------------------------------------------- |
|
|
451
|
+
| `VuAppLayout` | App shell with header, sidebar, footer slots |
|
|
452
|
+
| `VuCard` | Card container with typography-driven spacing |
|
|
453
|
+
| `VuCardHeader` | Card header with title and actions |
|
|
454
|
+
| `VuCardInner` | Nested card section |
|
|
455
|
+
| `VuTabs` | Tabbed content panels |
|
|
456
|
+
| `VuDialog` | Modal dialog with overlay |
|
|
457
|
+
| `VuPopover` | Floating popover anchored to a trigger |
|
|
460
458
|
|
|
461
459
|
### Form Inputs
|
|
462
460
|
|
|
463
|
-
| Component
|
|
464
|
-
|
|
465
|
-
| `VuInput`
|
|
466
|
-
| `VuSelect`
|
|
467
|
-
| `VuCombobox`
|
|
468
|
-
| `VuCheckbox`
|
|
469
|
-
| `VuRadioGroup` | Radio button group
|
|
470
|
-
| `VuSlider`
|
|
471
|
-
| `VuDatePicker` | Date picker with calendar popup
|
|
472
|
-
| `VuLabel`
|
|
461
|
+
| Component | Description |
|
|
462
|
+
| -------------- | ----------------------------------------- |
|
|
463
|
+
| `VuInput` | Text / textarea input with floating label |
|
|
464
|
+
| `VuSelect` | Dropdown select |
|
|
465
|
+
| `VuCombobox` | Searchable dropdown with filtering |
|
|
466
|
+
| `VuCheckbox` | Checkbox with indeterminate state |
|
|
467
|
+
| `VuRadioGroup` | Radio button group |
|
|
468
|
+
| `VuSlider` | Range slider |
|
|
469
|
+
| `VuDatePicker` | Date picker with calendar popup |
|
|
470
|
+
| `VuLabel` | Form label |
|
|
473
471
|
|
|
474
472
|
### Actions
|
|
475
473
|
|
|
476
|
-
| Component
|
|
477
|
-
|
|
478
|
-
| `VuButton`
|
|
479
|
-
| `VuMenu`
|
|
480
|
-
| `VuMenuItem`
|
|
481
|
-
| `VuPagination` | Page navigation
|
|
474
|
+
| Component | Description |
|
|
475
|
+
| -------------- | ------------------------------------------- |
|
|
476
|
+
| `VuButton` | Button with icon, loading, and link support |
|
|
477
|
+
| `VuMenu` | Navigation / command menu |
|
|
478
|
+
| `VuMenuItem` | Menu item |
|
|
479
|
+
| `VuPagination` | Page navigation |
|
|
482
480
|
|
|
483
481
|
### Feedback
|
|
484
482
|
|
|
485
|
-
| Component
|
|
486
|
-
|
|
487
|
-
| `VuAppToasts`
|
|
488
|
-
| `VuProgressBar`
|
|
489
|
-
| `VuLoadingIndicator` | Circular loading spinner
|
|
490
|
-
| `VuInnerLoading`
|
|
483
|
+
| Component | Description |
|
|
484
|
+
| -------------------- | ---------------------------------- |
|
|
485
|
+
| `VuAppToasts` | Toast notification container |
|
|
486
|
+
| `VuProgressBar` | Progress bar |
|
|
487
|
+
| `VuLoadingIndicator` | Circular loading spinner |
|
|
488
|
+
| `VuInnerLoading` | Overlay loading within a container |
|
|
491
489
|
|
|
492
490
|
### Utility
|
|
493
491
|
|
|
494
|
-
| Component
|
|
495
|
-
|
|
496
|
-
| `VuIcon`
|
|
497
|
-
| `VuOverflowContainer` | Handles content overflow
|
|
498
|
-
| `VuCalendar`
|
|
492
|
+
| Component | Description |
|
|
493
|
+
| --------------------- | ------------------------------------------- |
|
|
494
|
+
| `VuIcon` | Icon display (integrates with UnoCSS icons) |
|
|
495
|
+
| `VuOverflowContainer` | Handles content overflow |
|
|
496
|
+
| `VuCalendar` | Standalone calendar grid |
|
|
499
497
|
|
|
500
498
|
## Package Exports
|
|
501
499
|
|
package/dist/AppToasts.d.mts
CHANGED
|
@@ -4,7 +4,7 @@ type __VLS_Props = ToastProviderProps & {
|
|
|
4
4
|
class?: TVueCssClass;
|
|
5
5
|
};
|
|
6
6
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
7
|
-
swipeDirection: "left" | "right" | "
|
|
7
|
+
swipeDirection: "left" | "right" | "up" | "down";
|
|
8
8
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
9
|
declare const _default: typeof __VLS_export;
|
|
10
10
|
export default _default;
|
package/dist/ButtonBase.d.mts
CHANGED
|
@@ -16,8 +16,8 @@ type __VLS_Slots = {} & {
|
|
|
16
16
|
'icon-right'?: (props: typeof __VLS_22) => any;
|
|
17
17
|
};
|
|
18
18
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
19
|
-
iconSide: "left" | "right";
|
|
20
19
|
as: string;
|
|
20
|
+
iconSide: "left" | "right";
|
|
21
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
22
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
23
23
|
declare const _default: typeof __VLS_export;
|
package/dist/ButtonBase.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, openBlock, renderSlot, toDisplayString, unref, withCtx } from "vue";
|
|
2
2
|
import { Primitive } from "reka-ui";
|
|
3
|
-
import VuLoadingIndicator from "vunor/LoadingIndicator";
|
|
4
3
|
import VuIcon from "vunor/Icon";
|
|
4
|
+
import VuLoadingIndicator from "vunor/LoadingIndicator";
|
|
5
5
|
//#region src/components/Button/ButtonBase.vue?vue&type=script&setup=true&lang.ts
|
|
6
6
|
const _hoisted_1 = {
|
|
7
7
|
key: 0,
|
package/dist/CardHeader.mjs
CHANGED
|
@@ -21,14 +21,14 @@ var CardHeader_default = /* @__PURE__ */ defineComponent({
|
|
|
21
21
|
},
|
|
22
22
|
setup(__props) {
|
|
23
23
|
const props = __props;
|
|
24
|
-
const _as = computed(() => props.as || [
|
|
24
|
+
const _as = computed(() => props.as || ([
|
|
25
25
|
"h1",
|
|
26
26
|
"h2",
|
|
27
27
|
"h3",
|
|
28
28
|
"h4",
|
|
29
29
|
"h5",
|
|
30
30
|
"h6"
|
|
31
|
-
].includes(props.level || "") ? props.level : "h6");
|
|
31
|
+
].includes(props.level || "") ? props.level : "h6"));
|
|
32
32
|
useCardPI().inject();
|
|
33
33
|
return (_ctx, _cache) => {
|
|
34
34
|
return openBlock(), createBlock(unref(Primitive), {
|
package/dist/Combobox.d.mts
CHANGED
|
@@ -1,32 +1,3 @@
|
|
|
1
|
-
interface TComboboxItem {
|
|
2
|
-
icon?: string;
|
|
3
|
-
search?: string;
|
|
4
|
-
value: string | null | undefined;
|
|
5
|
-
label?: string;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
}
|
|
8
|
-
type TComboboxItems<T extends TComboboxItem = TComboboxItem> = Array<T | string> | Record<string, Array<T | string>>;
|
|
9
|
-
interface TComboboxProps<T extends TComboboxItem> {
|
|
10
|
-
disabledValues?: Array<string | null | undefined>;
|
|
11
|
-
defaultValue?: string | null | undefined;
|
|
12
|
-
popupClass?: string | Record<string, boolean>;
|
|
13
|
-
popupRound?: boolean;
|
|
14
|
-
valueClass?: string | Record<string, boolean>;
|
|
15
|
-
iconClass?: string | Record<string, boolean>;
|
|
16
|
-
class?: string | Record<string, boolean>;
|
|
17
|
-
items: TComboboxItems<T>;
|
|
18
|
-
disabled?: boolean;
|
|
19
|
-
placeholder?: string;
|
|
20
|
-
popupPosition?: 'inline' | 'popper';
|
|
21
|
-
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
22
|
-
sideOffset?: number;
|
|
23
|
-
sticky?: 'partial' | 'always';
|
|
24
|
-
updatePositionStrategy?: 'always' | 'optimized';
|
|
25
|
-
bodyLock?: boolean;
|
|
26
|
-
multiple?: boolean;
|
|
27
|
-
checkboxItems?: boolean;
|
|
28
|
-
dropdownIcon?: string;
|
|
29
|
-
}
|
|
30
1
|
import type { ComputedRef } from 'vue';
|
|
31
2
|
declare function useHtmlInputAttrs(): ComputedRef<TInputAttrs> | undefined;
|
|
32
3
|
declare function useInputProps(): ComputedRef<TInputProps> | undefined;
|
|
@@ -85,6 +56,35 @@ interface TInputBaseEmits {
|
|
|
85
56
|
interface TInputEmits extends TInputBaseEmits {
|
|
86
57
|
(e: 'beforeClick' | 'afterClick' | 'click', event: MouseEvent): void;
|
|
87
58
|
}
|
|
59
|
+
interface TComboboxItem {
|
|
60
|
+
icon?: string;
|
|
61
|
+
search?: string;
|
|
62
|
+
value: string | null | undefined;
|
|
63
|
+
label?: string;
|
|
64
|
+
disabled?: boolean;
|
|
65
|
+
}
|
|
66
|
+
type TComboboxItems<T extends TComboboxItem = TComboboxItem> = Array<T | string> | Record<string, Array<T | string>>;
|
|
67
|
+
interface TComboboxProps<T extends TComboboxItem> {
|
|
68
|
+
disabledValues?: Array<string | null | undefined>;
|
|
69
|
+
defaultValue?: string | null | undefined;
|
|
70
|
+
popupClass?: string | Record<string, boolean>;
|
|
71
|
+
popupRound?: boolean;
|
|
72
|
+
valueClass?: string | Record<string, boolean>;
|
|
73
|
+
iconClass?: string | Record<string, boolean>;
|
|
74
|
+
class?: string | Record<string, boolean>;
|
|
75
|
+
items: TComboboxItems<T>;
|
|
76
|
+
disabled?: boolean;
|
|
77
|
+
placeholder?: string;
|
|
78
|
+
popupPosition?: 'inline' | 'popper';
|
|
79
|
+
side?: 'top' | 'right' | 'bottom' | 'left';
|
|
80
|
+
sideOffset?: number;
|
|
81
|
+
sticky?: 'partial' | 'always';
|
|
82
|
+
updatePositionStrategy?: 'always' | 'optimized';
|
|
83
|
+
bodyLock?: boolean;
|
|
84
|
+
multiple?: boolean;
|
|
85
|
+
checkboxItems?: boolean;
|
|
86
|
+
dropdownIcon?: string;
|
|
87
|
+
}
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
declare const __VLS_export: <T extends TComboboxItem = TComboboxItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
@@ -96,7 +96,6 @@ declare const __VLS_export: <T extends TComboboxItem = TComboboxItem>(__VLS_prop
|
|
|
96
96
|
modelValue?: string | string[];
|
|
97
97
|
searchTerm?: string;
|
|
98
98
|
}) & {
|
|
99
|
-
onEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
100
99
|
onPrependClick?: ((event: MouseEvent) => any) | undefined;
|
|
101
100
|
onAppendClick?: ((event: MouseEvent) => any) | undefined;
|
|
102
101
|
onBlur?: ((event: FocusEvent) => any) | undefined;
|
|
@@ -104,8 +103,9 @@ declare const __VLS_export: <T extends TComboboxItem = TComboboxItem>(__VLS_prop
|
|
|
104
103
|
onBeforeClick?: ((event: MouseEvent) => any) | undefined;
|
|
105
104
|
onAfterClick?: ((event: MouseEvent) => any) | undefined;
|
|
106
105
|
onClick?: ((event: MouseEvent) => any) | undefined;
|
|
107
|
-
|
|
106
|
+
onEnter?: ((event: KeyboardEvent) => any) | undefined;
|
|
108
107
|
"onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
|
|
108
|
+
"onUpdate:modelValue"?: ((value: string | string[] | undefined) => any) | undefined;
|
|
109
109
|
"onUpdate:searchTerm"?: ((value: string | undefined) => any) | undefined;
|
|
110
110
|
}> & (typeof globalThis extends {
|
|
111
111
|
__VLS_PROPS_FALLBACK: infer P;
|
|
@@ -155,7 +155,7 @@ declare const __VLS_export: <T extends TComboboxItem = TComboboxItem>(__VLS_prop
|
|
|
155
155
|
} & {
|
|
156
156
|
after?: (props: {}) => any;
|
|
157
157
|
};
|
|
158
|
-
emit: (TInputEmits & ((e: "enter", event: KeyboardEvent) => void)) & (((event: "update:
|
|
158
|
+
emit: (TInputEmits & ((e: "enter", event: KeyboardEvent) => void)) & (((event: "update:open", value: boolean | undefined) => void) & ((event: "update:modelValue", value: string | string[] | undefined) => void) & ((event: "update:searchTerm", value: string | undefined) => void));
|
|
159
159
|
}>) => import("vue").VNode & {
|
|
160
160
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
161
161
|
};
|
package/dist/Combobox.mjs
CHANGED
|
@@ -4,8 +4,8 @@ import { useInputBaseProps, useInputProps } from "vunor";
|
|
|
4
4
|
import VuIcon from "vunor/Icon";
|
|
5
5
|
import { createReusableTemplate } from "@vueuse/core";
|
|
6
6
|
import VuCheckbox from "vunor/Checkbox";
|
|
7
|
-
import VuInputBase from "vunor/InputBase";
|
|
8
7
|
import VuInput from "vunor/Input";
|
|
8
|
+
import VuInputBase from "vunor/InputBase";
|
|
9
9
|
//#region src/components/Combobox/Combobox.vue?vue&type=script&setup=true&lang.ts
|
|
10
10
|
const _hoisted_1 = ["onFocus", "onBlur"];
|
|
11
11
|
const _hoisted_2 = {
|
package/dist/DatePicker.d.mts
CHANGED
|
@@ -56,9 +56,9 @@ interface TInputBaseEmits {
|
|
|
56
56
|
interface TInputEmits extends TInputBaseEmits {
|
|
57
57
|
(e: 'beforeClick' | 'afterClick' | 'click', event: MouseEvent): void;
|
|
58
58
|
}
|
|
59
|
-
import type { DatePickerRootProps } from 'reka-ui';
|
|
60
59
|
|
|
61
60
|
import type { DateValue } from '@internationalized/date';
|
|
61
|
+
import type { DatePickerRootProps } from 'reka-ui';
|
|
62
62
|
import type { TVueCssClass } from 'vunor/utils';
|
|
63
63
|
type __VLS_Props = DatePickerRootProps & {
|
|
64
64
|
popupRounded?: boolean;
|
|
@@ -71,11 +71,11 @@ type __VLS_ModelProps = {
|
|
|
71
71
|
};
|
|
72
72
|
type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
|
|
73
73
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
74
|
-
"update:modelValue": (value: DateValue | undefined) => any;
|
|
75
74
|
"update:open": (value: boolean | undefined) => any;
|
|
75
|
+
"update:modelValue": (value: DateValue | undefined) => any;
|
|
76
76
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
77
|
-
"onUpdate:modelValue"?: ((value: DateValue | undefined) => any) | undefined;
|
|
78
77
|
"onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
|
|
78
|
+
"onUpdate:modelValue"?: ((value: DateValue | undefined) => any) | undefined;
|
|
79
79
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
80
80
|
declare const _default: typeof __VLS_export;
|
|
81
81
|
export default _default;
|
|
@@ -78,13 +78,13 @@ type __VLS_Slots = {} & {
|
|
|
78
78
|
append?: (props: typeof __VLS_30) => any;
|
|
79
79
|
};
|
|
80
80
|
declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
81
|
-
"update:modelValue": (value: DateValue | undefined) => any;
|
|
82
81
|
"update:open": (value: boolean | undefined) => any;
|
|
82
|
+
"update:modelValue": (value: DateValue | undefined) => any;
|
|
83
83
|
} & {
|
|
84
84
|
"keydown-enter": () => any;
|
|
85
85
|
}, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
|
|
86
|
-
"onUpdate:modelValue"?: ((value: DateValue | undefined) => any) | undefined;
|
|
87
86
|
"onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
|
|
87
|
+
"onUpdate:modelValue"?: ((value: DateValue | undefined) => any) | undefined;
|
|
88
88
|
"onKeydown-enter"?: (() => any) | undefined;
|
|
89
89
|
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
90
90
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
package/dist/DatePickerBase.mjs
CHANGED
|
@@ -2,8 +2,8 @@ import { t as useInputProps } from "./utils-6bTTIoaw.js";
|
|
|
2
2
|
import { computed, createBlock, createCommentVNode, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, nextTick, normalizeProps, openBlock, ref, renderSlot, resolveComponent, unref, useModel, watch, withCtx, withKeys } from "vue";
|
|
3
3
|
import { DatePickerRoot, DatePickerTrigger } from "reka-ui";
|
|
4
4
|
import VuIcon from "vunor/Icon";
|
|
5
|
-
import VuDatePickerPopup from "vunor/DatePickerPopup";
|
|
6
5
|
import VuDatePickerInner from "vunor/DatePickerInner";
|
|
6
|
+
import VuDatePickerPopup from "vunor/DatePickerPopup";
|
|
7
7
|
//#region src/components/DatePicker/DatePickerBase.vue?vue&type=script&setup=true&lang.ts
|
|
8
8
|
const _hoisted_1 = ["onClick"];
|
|
9
9
|
//#endregion
|
package/dist/DevTools.mjs
CHANGED
|
@@ -2,12 +2,12 @@ import { Fragment, createCommentVNode, createElementBlock, createElementVNode, c
|
|
|
2
2
|
import VuButton$1 from "vunor/Button";
|
|
3
3
|
import VuCard$1 from "vunor/Card";
|
|
4
4
|
import VuCheckbox from "vunor/Checkbox";
|
|
5
|
+
import { color, palitra } from "@prostojs/palitra";
|
|
6
|
+
import defu from "defu";
|
|
5
7
|
import VuCardHeader$1 from "vunor/CardHeader";
|
|
6
8
|
import VuCardInner from "vunor/CardInner";
|
|
7
9
|
import VuSlider from "vunor/Slider";
|
|
8
10
|
import VuTabs from "vunor/Tabs";
|
|
9
|
-
import { color, palitra } from "@prostojs/palitra";
|
|
10
|
-
import defu from "defu";
|
|
11
11
|
//#region src/theme/palitra.ts
|
|
12
12
|
const defaultOpts = {
|
|
13
13
|
colors: {
|
|
@@ -296,6 +296,34 @@ function multiplySaturation(colors, m = .5) {
|
|
|
296
296
|
return newObj;
|
|
297
297
|
}
|
|
298
298
|
//#endregion
|
|
299
|
+
//#region src/theme/rules/palette.ts
|
|
300
|
+
function colorToRgbWithOpacity(c) {
|
|
301
|
+
const [r, g, b, _a] = color(c).rgba();
|
|
302
|
+
return `${r} ${g} ${b}`;
|
|
303
|
+
}
|
|
304
|
+
const CURRENT_SLOTS = [
|
|
305
|
+
"text-muted",
|
|
306
|
+
"icon-muted",
|
|
307
|
+
"text-hover",
|
|
308
|
+
"bg-hover",
|
|
309
|
+
"border-hover",
|
|
310
|
+
"text",
|
|
311
|
+
"bg",
|
|
312
|
+
"icon",
|
|
313
|
+
"border",
|
|
314
|
+
"outline",
|
|
315
|
+
"caret",
|
|
316
|
+
"hl"
|
|
317
|
+
];
|
|
318
|
+
const slotAlt = CURRENT_SLOTS.join("|");
|
|
319
|
+
const sourceAlt = [
|
|
320
|
+
...CURRENT_SLOTS,
|
|
321
|
+
"muted",
|
|
322
|
+
"hover"
|
|
323
|
+
].map((s) => `-${s}`).join("|");
|
|
324
|
+
new RegExp(`^current-(${slotAlt})-(.+)$`);
|
|
325
|
+
new RegExp(`^(text|bg|icon|border|outline|caret|fill|shadow|ring)-current(${sourceAlt})?(\\/\\d{1,3})?$`);
|
|
326
|
+
//#endregion
|
|
299
327
|
//#region src/components/DevTools/DevTools.vue?vue&type=script&setup=true&lang.ts
|
|
300
328
|
const _hoisted_1 = { key: 0 };
|
|
301
329
|
const _hoisted_2 = { class: "flex items-center gap-$xs mb-$xs" };
|
|
@@ -331,10 +359,6 @@ var DevTools_default = /* @__PURE__ */ defineComponent({
|
|
|
331
359
|
}),
|
|
332
360
|
emits: ["update:open"],
|
|
333
361
|
setup(__props) {
|
|
334
|
-
function colorToRgbWithOpacity(c) {
|
|
335
|
-
const [r, g, b] = color(c).rgba();
|
|
336
|
-
return `${r} ${g} ${b}`;
|
|
337
|
-
}
|
|
338
362
|
function debounce(func, wait) {
|
|
339
363
|
let timeoutId;
|
|
340
364
|
return (...args) => {
|
package/dist/Input.d.mts
CHANGED
|
@@ -77,11 +77,11 @@ declare var __VLS_1: {}, __VLS_14: {
|
|
|
77
77
|
onBlur?: (event: FocusEvent) => void;
|
|
78
78
|
onFocus?: (event: FocusEvent) => void;
|
|
79
79
|
type?: string | undefined;
|
|
80
|
-
disabled?: boolean | undefined;
|
|
81
80
|
placeholder?: string | undefined;
|
|
82
81
|
rows?: number | undefined;
|
|
83
82
|
required?: boolean | undefined;
|
|
84
83
|
maxlength?: number | undefined;
|
|
84
|
+
disabled?: boolean | undefined;
|
|
85
85
|
readonly?: boolean | undefined;
|
|
86
86
|
autocomplete?: string | undefined;
|
|
87
87
|
}, __VLS_23: {}, __VLS_26: {
|
package/dist/InputBase.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, ref, renderSlot, toDisplayString, unref, useModel, vModelDynamic, vModelText, withCtx, withDirectives } from "vue";
|
|
2
2
|
import { Primitive } from "reka-ui";
|
|
3
3
|
import { useHtmlInputAttrs, useInputDataAttrs, useInputPi } from "vunor";
|
|
4
|
-
import VuLoadingIndicator from "vunor/LoadingIndicator";
|
|
5
4
|
import VuIcon from "vunor/Icon";
|
|
5
|
+
import VuLoadingIndicator from "vunor/LoadingIndicator";
|
|
6
6
|
//#region src/components/Input/InputBase.vue?vue&type=script&setup=true&lang.ts
|
|
7
7
|
const _hoisted_1 = {
|
|
8
8
|
key: 0,
|
package/dist/Pagination.mjs
CHANGED
|
@@ -52,7 +52,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
|
|
|
52
52
|
default: withCtx(({ items }) => [
|
|
53
53
|
!__props.showEdges && __props.showArrows ? (openBlock(), createBlock(unref(PaginationFirst), {
|
|
54
54
|
key: 0,
|
|
55
|
-
class: "
|
|
55
|
+
class: "btn btn-square c8-flat disabled-soft"
|
|
56
56
|
}, {
|
|
57
57
|
default: withCtx(() => [createVNode(VuIcon, {
|
|
58
58
|
name: "i--chevron-left-2",
|
|
@@ -62,7 +62,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
|
|
|
62
62
|
})) : createCommentVNode("v-if", true),
|
|
63
63
|
__props.showArrows ? (openBlock(), createBlock(unref(PaginationPrev), {
|
|
64
64
|
key: 1,
|
|
65
|
-
class: "
|
|
65
|
+
class: "btn btn-square c8-flat disabled-soft mr-4"
|
|
66
66
|
}, {
|
|
67
67
|
default: withCtx(() => [createVNode(VuIcon, {
|
|
68
68
|
name: "i--chevron-left",
|
|
@@ -73,7 +73,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
|
|
|
73
73
|
(openBlock(true), createElementBlock(Fragment, null, renderList(items, (page, index) => {
|
|
74
74
|
return openBlock(), createElementBlock(Fragment, null, [page.type === "page" ? (openBlock(), createBlock(unref(PaginationListItem), {
|
|
75
75
|
key: index,
|
|
76
|
-
class: "
|
|
76
|
+
class: "btn btn-square c8-flat",
|
|
77
77
|
value: page.value
|
|
78
78
|
}, {
|
|
79
79
|
default: withCtx(() => [createTextVNode(toDisplayString(page.value), 1)]),
|
|
@@ -89,7 +89,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
|
|
|
89
89
|
}), 256)),
|
|
90
90
|
__props.showArrows ? (openBlock(), createBlock(unref(PaginationNext), {
|
|
91
91
|
key: 2,
|
|
92
|
-
class: "
|
|
92
|
+
class: "btn btn-square c8-flat disabled-soft ml-4"
|
|
93
93
|
}, {
|
|
94
94
|
default: withCtx(() => [createVNode(VuIcon, {
|
|
95
95
|
name: "i--chevron-right",
|
|
@@ -99,7 +99,7 @@ var Pagination_default = /* @__PURE__ */ defineComponent({
|
|
|
99
99
|
})) : createCommentVNode("v-if", true),
|
|
100
100
|
!__props.showEdges && __props.showArrows ? (openBlock(), createBlock(unref(PaginationLast), {
|
|
101
101
|
key: 3,
|
|
102
|
-
class: "
|
|
102
|
+
class: "btn btn-square c8-flat disabled-soft"
|
|
103
103
|
}, {
|
|
104
104
|
default: withCtx(() => [createVNode(VuIcon, {
|
|
105
105
|
name: "i--chevron-right-2",
|
package/dist/Select.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createVNode, defineComponent, mergeModels, mergeProps, normalizeClass, openBlock, unref, useModel, withCtx } from "vue";
|
|
2
2
|
import { SelectTrigger, SelectValue } from "reka-ui";
|
|
3
3
|
import { useInputBaseProps, useInputProps } from "vunor";
|
|
4
|
-
import VuInputBase from "vunor/InputBase";
|
|
5
4
|
import VuInput from "vunor/Input";
|
|
5
|
+
import VuInputBase from "vunor/InputBase";
|
|
6
6
|
import VuSelectBase from "vunor/SelectBase";
|
|
7
7
|
//#endregion
|
|
8
8
|
//#region src/components/Select/Select.vue
|
package/dist/SelectBase.d.mts
CHANGED
|
@@ -30,8 +30,8 @@ declare const __VLS_export: <T extends TSelectItem>(__VLS_props: NonNullable<Awa
|
|
|
30
30
|
open?: boolean;
|
|
31
31
|
modelValue?: string;
|
|
32
32
|
}) & {
|
|
33
|
-
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
34
33
|
"onUpdate:open"?: ((value: boolean | undefined) => any) | undefined;
|
|
34
|
+
"onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined;
|
|
35
35
|
}> & (typeof globalThis extends {
|
|
36
36
|
__VLS_PROPS_FALLBACK: infer P;
|
|
37
37
|
} ? P : {});
|
|
@@ -53,7 +53,7 @@ declare const __VLS_export: <T extends TSelectItem>(__VLS_props: NonNullable<Awa
|
|
|
53
53
|
} & {
|
|
54
54
|
item?: (props: T) => any;
|
|
55
55
|
};
|
|
56
|
-
emit: ((event: "update:
|
|
56
|
+
emit: ((event: "update:open", value: boolean | undefined) => void) & ((event: "update:modelValue", value: string | undefined) => void);
|
|
57
57
|
}>) => import("vue").VNode & {
|
|
58
58
|
__ctx?: Awaited<typeof __VLS_setup>;
|
|
59
59
|
};
|
package/dist/theme.d.mts
CHANGED
|
@@ -333,6 +333,9 @@ declare const presetVunor: PresetFactory<TVunorTheme, TVunorUnoPresetOpts & {
|
|
|
333
333
|
palette?: TVunorPaletteOptions;
|
|
334
334
|
}>;
|
|
335
335
|
//#endregion
|
|
336
|
+
//#region src/theme/shortcuts/raw.d.ts
|
|
337
|
+
declare const rawVunorShortcuts: TVunorShortcut[];
|
|
338
|
+
//#endregion
|
|
336
339
|
//#region src/theme/utils/shortcut-obj.d.ts
|
|
337
340
|
/**
|
|
338
341
|
* Build uno shortcut from vunor shortcut object
|
|
@@ -354,10 +357,6 @@ declare const componentClasses: Record<string, string[]>;
|
|
|
354
357
|
declare function getComponentClasses(...components: string[]): string[];
|
|
355
358
|
//#endregion
|
|
356
359
|
//#region src/theme.d.ts
|
|
357
|
-
/**
|
|
358
|
-
* Array of raw vunor shortcuts (not merged)
|
|
359
|
-
*/
|
|
360
|
-
declare const rawVunorShortcuts: TVunorShortcut[];
|
|
361
360
|
/**
|
|
362
361
|
* Vunor shortcuts (merged version of rawVunorShortcuts)
|
|
363
362
|
*/
|