@codemonster-ru/vueforge 0.7.0 → 0.9.0
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 +154 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.ts.mjs +828 -645
- package/dist/index.ts.umd.js +3 -3
- package/dist/package/components/__tests__/modal.test.d.ts +1 -0
- package/dist/package/components/modal.vue.d.ts +55 -0
- package/dist/package/config/__tests__/theme-core.test.d.ts +1 -0
- package/dist/package/config/index.d.ts +3 -15
- package/dist/package/config/theme-core.d.ts +216 -0
- package/dist/package/config/theme-runtime.d.ts +10 -0
- package/dist/package/themes/default/base.d.ts +12 -0
- package/dist/package/themes/default/components/modal.d.ts +29 -0
- package/dist/package/themes/default/index.d.ts +52 -0
- package/package.json +9 -5
package/README.md
CHANGED
|
@@ -50,10 +50,129 @@ app.use(VueForge, {
|
|
|
50
50
|
- Input
|
|
51
51
|
- Link
|
|
52
52
|
- Menu
|
|
53
|
+
- Modal
|
|
53
54
|
- Popover
|
|
54
55
|
- Select
|
|
55
56
|
- Switch
|
|
56
57
|
|
|
58
|
+
## Modal
|
|
59
|
+
|
|
60
|
+
Props:
|
|
61
|
+
|
|
62
|
+
- `modelValue?: boolean` (v-model)
|
|
63
|
+
- `title?: string`
|
|
64
|
+
- `size?: 'sm' | 'md' | 'lg'`
|
|
65
|
+
- `closeOnOverlay?: boolean` (default true)
|
|
66
|
+
- `closeOnEsc?: boolean` (default true)
|
|
67
|
+
- `showClose?: boolean` (default true)
|
|
68
|
+
- `lockScroll?: boolean` (default true)
|
|
69
|
+
|
|
70
|
+
Slots:
|
|
71
|
+
|
|
72
|
+
- `header` (optional) - replaces the title area
|
|
73
|
+
- `body` (optional) - modal content (defaults to default slot if not provided)
|
|
74
|
+
- `default` (optional) - modal content if `body` slot is not used
|
|
75
|
+
- `footer` (optional)
|
|
76
|
+
- `close` (optional) - custom close button; slot props: `{ close }`
|
|
77
|
+
|
|
78
|
+
Events:
|
|
79
|
+
|
|
80
|
+
- `update:modelValue`
|
|
81
|
+
- `open`
|
|
82
|
+
- `close`
|
|
83
|
+
|
|
84
|
+
Example:
|
|
85
|
+
|
|
86
|
+
```vue
|
|
87
|
+
<Modal v-model="open" title="Confirm action" size="sm">
|
|
88
|
+
<template #body>
|
|
89
|
+
<p>Are you sure?</p>
|
|
90
|
+
</template>
|
|
91
|
+
<template #footer>
|
|
92
|
+
<Button label="Cancel" severity="secondary" @click="open = false" />
|
|
93
|
+
<Button label="Confirm" @click="open = false" />
|
|
94
|
+
</template>
|
|
95
|
+
</Modal>
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Modal tokens
|
|
99
|
+
|
|
100
|
+
Component tokens (override via `theme.overrides.components.modal`):
|
|
101
|
+
|
|
102
|
+
- `width`, `maxWidth`, `maxHeight`
|
|
103
|
+
- `widthSm`, `maxWidthSm`
|
|
104
|
+
- `widthLg`, `maxWidthLg`
|
|
105
|
+
- `padding`, `borderRadius`
|
|
106
|
+
- `backgroundColor`, `textColor`
|
|
107
|
+
- `overlayBackgroundColor`
|
|
108
|
+
- `shadow`
|
|
109
|
+
- `zIndex`
|
|
110
|
+
- `headerGap`, `bodyGap`, `footerGap`
|
|
111
|
+
- `titleFontSize`, `titleLineHeight`, `titleFontWeight`
|
|
112
|
+
- `closeSize`, `closeRadius`, `closeOffset`
|
|
113
|
+
- `closeColor`, `closeFontSize`, `closeHoverBackgroundColor`
|
|
114
|
+
|
|
115
|
+
## Tokens
|
|
116
|
+
|
|
117
|
+
VueForge exposes design tokens as CSS variables generated from the theme preset. Core groups:
|
|
118
|
+
|
|
119
|
+
- `colors.*` → `--vf-{color}` + shades (`--vf-{color}-100..900`)
|
|
120
|
+
- `radii.*` → corner radii
|
|
121
|
+
- `typography.*` → base font size & line height
|
|
122
|
+
- `states.*` → focus ring, disabled opacity
|
|
123
|
+
- `controls.*` → base control sizing (height, padding)
|
|
124
|
+
- `sizes.sm/lg` → shared small/large sizing for Button/Input/Select
|
|
125
|
+
|
|
126
|
+
Typed tokens:
|
|
127
|
+
|
|
128
|
+
- `ThemeTokens`/`ThemeOptions`/`ThemePreset` are exported for type-safe theming in TS.
|
|
129
|
+
- `components.*` accepts component-specific tokens (typed keys: button/card/checkbox/codeBlock/input/link/menu/popover/select/switch).
|
|
130
|
+
|
|
131
|
+
Default core values (from `DefaultTheme`):
|
|
132
|
+
|
|
133
|
+
| Token | Value |
|
|
134
|
+
| ------------------------ | ---------------------------------------------- |
|
|
135
|
+
| `borderWidth` | `1px` |
|
|
136
|
+
| `controls.height` | `2rem` |
|
|
137
|
+
| `controls.paddingY` | `0.25rem` |
|
|
138
|
+
| `controls.paddingX` | `0.6rem` |
|
|
139
|
+
| `radii.sm` | `4px` |
|
|
140
|
+
| `radii.md` | `6px` |
|
|
141
|
+
| `radii.lg` | `10px` |
|
|
142
|
+
| `typography.fontSize` | `1rem` |
|
|
143
|
+
| `typography.lineHeight` | `1.4` |
|
|
144
|
+
| `states.disabledOpacity` | `0.6` |
|
|
145
|
+
| `states.focusRingShadow` | `0 0 0 3px rgba(var(--vf-blue-600-rgb), 0.12)` |
|
|
146
|
+
| `sizes.sm.fontSize` | `0.875rem` |
|
|
147
|
+
| `sizes.sm.paddingY` | `0.2rem` |
|
|
148
|
+
| `sizes.sm.paddingX` | `0.5rem` |
|
|
149
|
+
| `sizes.lg.fontSize` | `1.125rem` |
|
|
150
|
+
| `sizes.lg.paddingY` | `0.5rem` |
|
|
151
|
+
| `sizes.lg.paddingX` | `1rem` |
|
|
152
|
+
|
|
153
|
+
Example override:
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
setTheme({
|
|
157
|
+
preset: DefaultTheme,
|
|
158
|
+
overrides: {
|
|
159
|
+
typography: {
|
|
160
|
+
fontSize: '0.9375rem',
|
|
161
|
+
lineHeight: '1.4',
|
|
162
|
+
},
|
|
163
|
+
controls: {
|
|
164
|
+
height: '2rem',
|
|
165
|
+
paddingY: '0.25rem',
|
|
166
|
+
paddingX: '0.6rem',
|
|
167
|
+
},
|
|
168
|
+
sizes: {
|
|
169
|
+
sm: { fontSize: '0.8125rem', paddingY: '0.2rem', paddingX: '0.45rem' },
|
|
170
|
+
lg: { fontSize: '1.125rem', paddingY: '0.5rem', paddingX: '1rem' },
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
});
|
|
174
|
+
```
|
|
175
|
+
|
|
57
176
|
## Examples
|
|
58
177
|
|
|
59
178
|
The example app lives in `src/example` and showcases all components.
|
|
@@ -70,6 +189,7 @@ VueForge maps the theme preset to CSS variables. You can override parts of the p
|
|
|
70
189
|
app.use(VueForge, {
|
|
71
190
|
theme: {
|
|
72
191
|
preset: DefaultTheme,
|
|
192
|
+
strict: false,
|
|
73
193
|
overrides: {
|
|
74
194
|
colors: {
|
|
75
195
|
green: '#18a66a',
|
|
@@ -94,6 +214,40 @@ updateTheme({
|
|
|
94
214
|
});
|
|
95
215
|
```
|
|
96
216
|
|
|
217
|
+
Notes:
|
|
218
|
+
|
|
219
|
+
- Non-hex colors (e.g. `rgb(...)`, `hsl(...)`, `var(--brand)`) are allowed, but shade variables (`--vf-*-100..900`) will not be generated.
|
|
220
|
+
- Set `theme.strict: true` to throw on invalid token values (non-string / non-plain object) during theme application.
|
|
221
|
+
|
|
222
|
+
## Theme API
|
|
223
|
+
|
|
224
|
+
Core methods:
|
|
225
|
+
|
|
226
|
+
- `setTheme(options)` — apply a theme preset (with optional overrides).
|
|
227
|
+
- `updateTheme(partial)` — update only parts of the current theme.
|
|
228
|
+
- `getTheme()` — get the last applied theme options.
|
|
229
|
+
|
|
230
|
+
Key options:
|
|
231
|
+
|
|
232
|
+
- `preset`: base theme object (e.g. `DefaultTheme`)
|
|
233
|
+
- `overrides`: partial overrides merged into preset
|
|
234
|
+
- `selector`: CSS selector for base variables (default `:root`)
|
|
235
|
+
- `darkSelector`: selector for dark scheme (default `:root[data-theme=dark]`)
|
|
236
|
+
- `strict`: throw on invalid token values (otherwise warnings)
|
|
237
|
+
|
|
238
|
+
Example:
|
|
239
|
+
|
|
240
|
+
```ts
|
|
241
|
+
setTheme({
|
|
242
|
+
preset: DefaultTheme,
|
|
243
|
+
overrides: {
|
|
244
|
+
colors: { blue: '#2b6cb0' },
|
|
245
|
+
typography: { fontSize: '0.95rem' },
|
|
246
|
+
},
|
|
247
|
+
strict: true,
|
|
248
|
+
});
|
|
249
|
+
```
|
|
250
|
+
|
|
97
251
|
## License
|
|
98
252
|
|
|
99
253
|
[MIT](https://github.com/codemonster-ru/vueforge/blob/main/LICENSE)
|
package/dist/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.vf-link{color:inherit;cursor:pointer;text-decoration:none;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-link:hover{color:var(--vf-link-hover-color)}.vf-link:active{color:var(--vf-link-active-color)}.vf-link.vf-link_disabled{cursor:not-allowed}.vf-link_active,.vf-link_partially-active{color:var(--vf-link-active-color)}.vf-card{border:var(--vf-border-width) solid var(--vf-card-border-color);border-radius:var(--vf-card-border-radius)}.vf-card__default{padding:var(--vf-card-padding)}.vf-menu{display:flex}.vf-menu_horizontal>.vf-menu__list{flex-direction:row}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item{align-items:center}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item:not(:first-child){margin-left:var(--vf-menu-item-margin-left)}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item:not(:last-child){margin-right:var(--vf-menu-item-margin-right)}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item>.vf-menu__separator{height:var(--vf-menu-separator-height);border-top:none;border-right:none;border-left:var(--vf-menu-separator-thickness) solid var(--vf-menu-separator-color);border-bottom:none}.vf-menu_vertical>.vf-menu__list{width:100%;flex-direction:column}.vf-menu_vertical>.vf-menu__list>.vf-menu__item{flex-direction:column}.vf-menu_vertical>.vf-menu__list>.vf-menu__item:not(:first-child){margin-top:var(--vf-menu-item-margin-top)}.vf-menu_vertical>.vf-menu__list>.vf-menu__item:not(:last-child){margin-bottom:var(--vf-menu-item-margin-bottom)}.vf-menu_vertical>.vf-menu__list>.vf-menu__item>.vf-menu{overflow:hidden}.vf-menu__list{margin:0;padding:0;display:flex;list-style:none}.vf-menu__separator{width:100%;height:var(--vf-menu-separator-thickness);border:none;margin:0;background-color:var(--vf-menu-separator-color)}.vf-menu__item{display:flex;font-weight:500}.vf-menu__link{display:flex;align-items:center;text-decoration:none;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-menu__link:hover{color:var(--vf-menu-link-hover-color)}.vf-menu__parent{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-menu__parent:hover{color:var(--vf-menu-parent-hover-color)}.vf-menu__icon{margin-right:var(--vf-menu-icon-gap)}.vf-menu__submenu.vf-menu__submenu_visible{margin-top:var(--vf-menu-submenu-offset);margin-left:var(--vf-menu-submenu-offset)}.vf-menu__submenu:not(.vf-menu__submenu_visible){height:0}.vf-button{display:inline-flex;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;height:var(--vf-controls-height);box-sizing:border-box;padding:var(--vf-button-padding);font-size:var(--vf-button-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;border-radius:var(--vf-button-border-radius);overflow:hidden}.vf-button_text{border:var(--vf-border-width) solid transparent;background-color:transparent}.vf-button_outlined{background-color:transparent}.vf-button_primary.vf-button_text{color:var(--vf-button-text-primary-color)}.vf-button_primary.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-primary-hover-background-color)}.vf-button_primary.vf-button_outlined{color:var(--vf-button-outlined-primary-color);border:var(--vf-border-width) solid var(--vf-button-outlined-primary-border-color)}.vf-button_primary.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-primary-hover-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-primary-color);border:var(--vf-border-width) solid var(--vf-button-primary-border-color);background-color:var(--vf-button-primary-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-primary-hover-color);border:var(--vf-border-width) solid var(--vf-button-primary-hover-border-color);background-color:var(--vf-button-primary-hover-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-primary-active-color);border:var(--vf-border-width) solid var(--vf-button-primary-active-border-color);background-color:var(--vf-button-primary-active-background-color)}.vf-button_secondary.vf-button_text{color:var(--vf-button-text-secondary-color)}.vf-button_secondary.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-secondary-hover-background-color)}.vf-button_secondary.vf-button_outlined{color:var(--vf-button-outlined-secondary-color);border:var(--vf-border-width) solid var(--vf-button-outlined-secondary-border-color)}.vf-button_secondary.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-secondary-hover-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-secondary-color);border:var(--vf-border-width) solid var(--vf-button-secondary-border-color);background-color:var(--vf-button-secondary-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-secondary-hover-color);border:var(--vf-border-width) solid var(--vf-button-secondary-hover-border-color);background-color:var(--vf-button-secondary-hover-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-secondary-active-color);border:var(--vf-border-width) solid var(--vf-button-secondary-active-border-color);background-color:var(--vf-button-secondary-active-background-color)}.vf-button_success.vf-button_text{color:var(--vf-button-text-success-color)}.vf-button_success.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-success-hover-background-color)}.vf-button_success.vf-button_outlined{color:var(--vf-button-outlined-success-color);border:var(--vf-border-width) solid var(--vf-button-outlined-success-border-color)}.vf-button_success.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-success-hover-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-success-color);border:var(--vf-border-width) solid var(--vf-button-success-border-color);background-color:var(--vf-button-success-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-success-hover-color);border:var(--vf-border-width) solid var(--vf-button-success-hover-border-color);background-color:var(--vf-button-success-hover-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-success-active-color);border:var(--vf-border-width) solid var(--vf-button-success-active-border-color);background-color:var(--vf-button-success-active-background-color)}.vf-button_info.vf-button_text{color:var(--vf-button-text-info-color)}.vf-button_info.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-info-hover-background-color)}.vf-button_info.vf-button_outlined{color:var(--vf-button-outlined-info-color);border:var(--vf-border-width) solid var(--vf-button-outlined-info-border-color)}.vf-button_info.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-info-hover-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-info-color);border:var(--vf-border-width) solid var(--vf-button-info-border-color);background-color:var(--vf-button-info-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-info-hover-color);border:var(--vf-border-width) solid var(--vf-button-info-hover-border-color);background-color:var(--vf-button-info-hover-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-info-active-color);border:var(--vf-border-width) solid var(--vf-button-info-active-border-color);background-color:var(--vf-button-info-active-background-color)}.vf-button_warning.vf-button_text{color:var(--vf-button-text-warning-color)}.vf-button_warning.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-warning-hover-background-color)}.vf-button_warning.vf-button_outlined{color:var(--vf-button-outlined-warning-color);border:var(--vf-border-width) solid var(--vf-button-outlined-warning-border-color)}.vf-button_warning.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-warning-hover-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-warning-color);border:var(--vf-border-width) solid var(--vf-button-warning-border-color);background-color:var(--vf-button-warning-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-warning-hover-color);border:var(--vf-border-width) solid var(--vf-button-warning-hover-border-color);background-color:var(--vf-button-warning-hover-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-warning-active-color);border:var(--vf-border-width) solid var(--vf-button-warning-active-border-color);background-color:var(--vf-button-warning-active-background-color)}.vf-button_danger.vf-button_text{color:var(--vf-button-text-danger-color)}.vf-button_danger.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-danger-hover-background-color)}.vf-button_danger.vf-button_outlined{color:var(--vf-button-outlined-danger-color);border:var(--vf-border-width) solid var(--vf-button-outlined-danger-border-color)}.vf-button_danger.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-danger-hover-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-danger-color);border:var(--vf-border-width) solid var(--vf-button-danger-border-color);background-color:var(--vf-button-danger-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-danger-hover-color);border:var(--vf-border-width) solid var(--vf-button-danger-hover-border-color);background-color:var(--vf-button-danger-hover-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-danger-active-color);border:var(--vf-border-width) solid var(--vf-button-danger-active-border-color);background-color:var(--vf-button-danger-active-background-color)}.vf-button_vertical{flex-direction:column}.vf-button__icon{display:inline-block}.vf-button__icon_top+.vf-button__label{margin-top:var(--vf-button-icon-gap)}.vf-button__icon_right{order:1}.vf-button__icon_right+.vf-button__label{margin-right:var(--vf-button-icon-gap)}.vf-button__icon_bottom{order:1}.vf-button__icon_bottom+.vf-button__label{margin-bottom:var(--vf-button-icon-gap)}.vf-button__icon_left+.vf-button__label{margin-left:var(--vf-button-icon-gap)}.vf-button_disabled{opacity:var(--vf-states-disabled-opacity);cursor:default}.vf-button_rounded{border-radius:var(--vf-button-rounded-border-radius)}.vf-button_small{font-size:var(--vf-button-small-font-size);padding:var(--vf-button-small-padding)}.vf-button_large{font-size:var(--vf-button-large-font-size);padding:var(--vf-button-large-padding)}.vf-input{display:flex;align-items:center;gap:var(--vf-input-gap);height:var(--vf-controls-height);box-sizing:border-box;padding:var(--vf-input-padding);border-radius:var(--vf-input-border-radius);border:var(--vf-border-width) solid var(--vf-input-border-color);background-color:var(--vf-input-background-color);color:var(--vf-input-text-color);transition:border-color .2s ease}.vf-input__control{flex:1;border:none;background:transparent;color:inherit;font-size:var(--vf-input-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;outline:none}.vf-input__control::placeholder{color:var(--vf-input-placeholder-color)}.vf-input:hover:not(.vf-input_disabled){border-color:var(--vf-input-hover-border-color)}.vf-input:focus-within:not(.vf-input_disabled){border-color:var(--vf-input-focus-border-color);box-shadow:var(--vf-input-focus-ring-shadow)}.vf-input_outlined{background-color:transparent}.vf-input_small{padding:var(--vf-input-small-padding)}.vf-input_small .vf-input__control{font-size:var(--vf-input-small-font-size)}.vf-input_large{padding:var(--vf-input-large-padding)}.vf-input_large .vf-input__control{font-size:var(--vf-input-large-font-size)}.vf-input_disabled{opacity:var(--vf-input-disabled-opacity);cursor:not-allowed}.vf-select{position:relative;display:inline-block;min-width:var(--vf-select-min-width);height:var(--vf-controls-height);box-sizing:border-box;border-radius:var(--vf-select-border-radius);border:var(--vf-border-width) solid var(--vf-select-border-color);background-color:var(--vf-select-background-color);color:var(--vf-select-text-color);transition:border-color .2s ease,box-shadow .2s ease}.vf-select__control{width:100%;padding:var(--vf-select-padding);border:none;background:transparent;color:inherit;font-size:var(--vf-select-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;outline:none;display:inline-flex;align-items:center;justify-content:space-between;height:var(--vf-controls-height);box-sizing:border-box;gap:var(--vf-select-control-gap);cursor:pointer}.vf-select__label{text-align:left}.vf-select__label_placeholder{color:var(--vf-secondary-text-color)}.vf-select__chevron{font-size:var(--vf-select-chevron-size);opacity:.7}.vf-select__panel{position:fixed;z-index:50;padding:var(--vf-select-panel-padding);max-height:var(--vf-select-panel-max-height);overflow:auto;border-radius:calc(var(--vf-select-border-radius) + var(--vf-select-panel-radius-offset));border:var(--vf-border-width) solid var(--vf-select-panel-border-color);background-color:var(--vf-select-panel-background-color);box-shadow:var(--vf-select-panel-shadow);color:var(--vf-select-text-color)}.vf-select__option{width:100%;text-align:left;border:none;background:transparent;padding:var(--vf-select-option-padding);border-radius:var(--vf-select-option-border-radius);color:inherit;cursor:pointer;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height);font-family:inherit}.vf-select__option:hover:not(.is-disabled),.vf-select__option:focus-visible:not(.is-disabled){background-color:var(--vf-select-option-hover-background-color);outline:none}.vf-select__option.is-active{background-color:var(--vf-select-option-active-background-color);color:var(--vf-select-option-active-text-color)}.vf-select__option.is-disabled{opacity:.6;cursor:not-allowed}.vf-select_open{border-color:var(--vf-select-focus-border-color);box-shadow:var(--vf-select-focus-ring-shadow)}.vf-select:hover:not(.vf-select_disabled){border-color:var(--vf-select-hover-border-color)}.vf-select:focus-within:not(.vf-select_disabled){border-color:var(--vf-select-focus-border-color)}.vf-select_small .vf-select__control{padding:var(--vf-select-small-padding);font-size:var(--vf-select-small-font-size)}.vf-select_large .vf-select__control{padding:var(--vf-select-large-padding);font-size:var(--vf-select-large-font-size)}.vf-select_disabled{opacity:var(--vf-select-disabled-opacity);cursor:not-allowed}.vf-select_disabled .vf-select__control{cursor:not-allowed}.vf-checkbox{display:inline-flex;align-items:center;gap:var(--vf-checkbox-gap);cursor:pointer;color:var(--vf-checkbox-text-color);font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-checkbox__control{position:absolute;opacity:0;pointer-events:none}.vf-checkbox__box{width:var(--vf-checkbox-size);height:var(--vf-checkbox-size);border:var(--vf-border-width) solid var(--vf-checkbox-border-color);border-radius:var(--vf-checkbox-border-radius);background-color:var(--vf-checkbox-background-color);display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.vf-checkbox__control:checked+.vf-checkbox__box{background-color:var(--vf-checkbox-checked-background-color);border-color:var(--vf-checkbox-checked-border-color)}.vf-checkbox__control:checked+.vf-checkbox__box:after{content:"";width:calc(var(--vf-checkbox-size) / 2);height:calc(var(--vf-checkbox-size) / 2);background-color:var(--vf-checkbox-check-color);border-radius:var(--vf-checkbox-check-border-radius)}.vf-checkbox_disabled{opacity:var(--vf-checkbox-disabled-opacity);cursor:not-allowed}.vf-switch{display:inline-flex;align-items:center;gap:var(--vf-switch-gap);cursor:pointer;color:var(--vf-switch-text-color);font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-switch__control{position:absolute;opacity:0;pointer-events:none}.vf-switch__track{position:relative;width:var(--vf-switch-width);height:var(--vf-switch-height);border-radius:var(--vf-switch-height);background-color:var(--vf-switch-background-color);transition:background-color .2s ease}.vf-switch__thumb{position:absolute;top:50%;left:var(--vf-switch-thumb-offset);width:var(--vf-switch-thumb-size);height:var(--vf-switch-thumb-size);border-radius:50%;background-color:var(--vf-switch-thumb-color);transform:translateY(-50%);transition:transform .2s ease}.vf-switch__control:checked+.vf-switch__track{background-color:var(--vf-switch-checked-background-color)}.vf-switch__control:checked+.vf-switch__track .vf-switch__thumb{transform:translate(calc(var(--vf-switch-width) - var(--vf-switch-thumb-size) - var(--vf-switch-thumb-translate-offset)),-50%)}.vf-switch_disabled{opacity:var(--vf-switch-disabled-opacity);cursor:not-allowed}.vf-popover{position:relative}.vf-popover__button{cursor:pointer;-webkit-user-select:none;user-select:none}.vf-popover__wrapper{position:absolute;background-color:var(--vf-popover-background-color)}
|
|
1
|
+
.vf-link{color:inherit;cursor:pointer;text-decoration:none;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-link:hover{color:var(--vf-link-hover-color)}.vf-link:active{color:var(--vf-link-active-color)}.vf-link.vf-link_disabled{cursor:not-allowed}.vf-link_active,.vf-link_partially-active{color:var(--vf-link-active-color)}.vf-card{border:var(--vf-border-width) solid var(--vf-card-border-color);border-radius:var(--vf-card-border-radius)}.vf-card__default{padding:var(--vf-card-padding)}.vf-menu{display:flex}.vf-menu_horizontal>.vf-menu__list{flex-direction:row}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item{align-items:center}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item:not(:first-child){margin-left:var(--vf-menu-item-margin-left)}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item:not(:last-child){margin-right:var(--vf-menu-item-margin-right)}.vf-menu_horizontal>.vf-menu__list>.vf-menu__item>.vf-menu__separator{height:var(--vf-menu-separator-height);border-top:none;border-right:none;border-left:var(--vf-menu-separator-thickness) solid var(--vf-menu-separator-color);border-bottom:none}.vf-menu_vertical>.vf-menu__list{width:100%;flex-direction:column}.vf-menu_vertical>.vf-menu__list>.vf-menu__item{flex-direction:column}.vf-menu_vertical>.vf-menu__list>.vf-menu__item:not(:first-child){margin-top:var(--vf-menu-item-margin-top)}.vf-menu_vertical>.vf-menu__list>.vf-menu__item:not(:last-child){margin-bottom:var(--vf-menu-item-margin-bottom)}.vf-menu_vertical>.vf-menu__list>.vf-menu__item>.vf-menu{overflow:hidden}.vf-menu__list{margin:0;padding:0;display:flex;list-style:none}.vf-menu__separator{width:100%;height:var(--vf-menu-separator-thickness);border:none;margin:0;background-color:var(--vf-menu-separator-color)}.vf-menu__item{display:flex;font-weight:500}.vf-menu__link{display:flex;align-items:center;text-decoration:none;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-menu__link:hover{color:var(--vf-menu-link-hover-color)}.vf-menu__parent{cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-menu__parent:hover{color:var(--vf-menu-parent-hover-color)}.vf-menu__icon{margin-right:var(--vf-menu-icon-gap)}.vf-menu__submenu.vf-menu__submenu_visible{margin-top:var(--vf-menu-submenu-offset);margin-left:var(--vf-menu-submenu-offset)}.vf-menu__submenu:not(.vf-menu__submenu_visible){height:0}.vf-button{display:inline-flex;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;justify-content:center;height:var(--vf-controls-height);box-sizing:border-box;padding:var(--vf-button-padding);font-size:var(--vf-button-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;border-radius:var(--vf-button-border-radius);overflow:hidden}.vf-button_text{border:var(--vf-border-width) solid transparent;background-color:transparent}.vf-button_outlined{background-color:transparent}.vf-button_primary.vf-button_text{color:var(--vf-button-text-primary-color)}.vf-button_primary.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-primary-hover-background-color)}.vf-button_primary.vf-button_outlined{color:var(--vf-button-outlined-primary-color);border:var(--vf-border-width) solid var(--vf-button-outlined-primary-border-color)}.vf-button_primary.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-primary-hover-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-primary-color);border:var(--vf-border-width) solid var(--vf-button-primary-border-color);background-color:var(--vf-button-primary-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-primary-hover-color);border:var(--vf-border-width) solid var(--vf-button-primary-hover-border-color);background-color:var(--vf-button-primary-hover-background-color)}.vf-button_primary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-primary-active-color);border:var(--vf-border-width) solid var(--vf-button-primary-active-border-color);background-color:var(--vf-button-primary-active-background-color)}.vf-button_secondary.vf-button_text{color:var(--vf-button-text-secondary-color)}.vf-button_secondary.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-secondary-hover-background-color)}.vf-button_secondary.vf-button_outlined{color:var(--vf-button-outlined-secondary-color);border:var(--vf-border-width) solid var(--vf-button-outlined-secondary-border-color)}.vf-button_secondary.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-secondary-hover-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-secondary-color);border:var(--vf-border-width) solid var(--vf-button-secondary-border-color);background-color:var(--vf-button-secondary-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-secondary-hover-color);border:var(--vf-border-width) solid var(--vf-button-secondary-hover-border-color);background-color:var(--vf-button-secondary-hover-background-color)}.vf-button_secondary:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-secondary-active-color);border:var(--vf-border-width) solid var(--vf-button-secondary-active-border-color);background-color:var(--vf-button-secondary-active-background-color)}.vf-button_success.vf-button_text{color:var(--vf-button-text-success-color)}.vf-button_success.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-success-hover-background-color)}.vf-button_success.vf-button_outlined{color:var(--vf-button-outlined-success-color);border:var(--vf-border-width) solid var(--vf-button-outlined-success-border-color)}.vf-button_success.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-success-hover-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-success-color);border:var(--vf-border-width) solid var(--vf-button-success-border-color);background-color:var(--vf-button-success-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-success-hover-color);border:var(--vf-border-width) solid var(--vf-button-success-hover-border-color);background-color:var(--vf-button-success-hover-background-color)}.vf-button_success:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-success-active-color);border:var(--vf-border-width) solid var(--vf-button-success-active-border-color);background-color:var(--vf-button-success-active-background-color)}.vf-button_info.vf-button_text{color:var(--vf-button-text-info-color)}.vf-button_info.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-info-hover-background-color)}.vf-button_info.vf-button_outlined{color:var(--vf-button-outlined-info-color);border:var(--vf-border-width) solid var(--vf-button-outlined-info-border-color)}.vf-button_info.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-info-hover-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-info-color);border:var(--vf-border-width) solid var(--vf-button-info-border-color);background-color:var(--vf-button-info-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-info-hover-color);border:var(--vf-border-width) solid var(--vf-button-info-hover-border-color);background-color:var(--vf-button-info-hover-background-color)}.vf-button_info:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-info-active-color);border:var(--vf-border-width) solid var(--vf-button-info-active-border-color);background-color:var(--vf-button-info-active-background-color)}.vf-button_warning.vf-button_text{color:var(--vf-button-text-warning-color)}.vf-button_warning.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-warning-hover-background-color)}.vf-button_warning.vf-button_outlined{color:var(--vf-button-outlined-warning-color);border:var(--vf-border-width) solid var(--vf-button-outlined-warning-border-color)}.vf-button_warning.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-warning-hover-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-warning-color);border:var(--vf-border-width) solid var(--vf-button-warning-border-color);background-color:var(--vf-button-warning-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-warning-hover-color);border:var(--vf-border-width) solid var(--vf-button-warning-hover-border-color);background-color:var(--vf-button-warning-hover-background-color)}.vf-button_warning:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-warning-active-color);border:var(--vf-border-width) solid var(--vf-button-warning-active-border-color);background-color:var(--vf-button-warning-active-background-color)}.vf-button_danger.vf-button_text{color:var(--vf-button-text-danger-color)}.vf-button_danger.vf-button_text:not(.vf-button_disabled):hover{background-color:var(--vf-button-text-danger-hover-background-color)}.vf-button_danger.vf-button_outlined{color:var(--vf-button-outlined-danger-color);border:var(--vf-border-width) solid var(--vf-button-outlined-danger-border-color)}.vf-button_danger.vf-button_outlined:not(.vf-button_disabled):hover{background-color:var(--vf-button-outlined-danger-hover-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined){color:var(--vf-button-danger-color);border:var(--vf-border-width) solid var(--vf-button-danger-border-color);background-color:var(--vf-button-danger-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):hover{color:var(--vf-button-danger-hover-color);border:var(--vf-border-width) solid var(--vf-button-danger-hover-border-color);background-color:var(--vf-button-danger-hover-background-color)}.vf-button_danger:not(.vf-button_text):not(.vf-button_outlined):not(.vf-button_disabled):active{color:var(--vf-button-danger-active-color);border:var(--vf-border-width) solid var(--vf-button-danger-active-border-color);background-color:var(--vf-button-danger-active-background-color)}.vf-button_vertical{flex-direction:column}.vf-button__icon{display:inline-block}.vf-button__icon_top+.vf-button__label{margin-top:var(--vf-button-icon-gap)}.vf-button__icon_right{order:1}.vf-button__icon_right+.vf-button__label{margin-right:var(--vf-button-icon-gap)}.vf-button__icon_bottom{order:1}.vf-button__icon_bottom+.vf-button__label{margin-bottom:var(--vf-button-icon-gap)}.vf-button__icon_left+.vf-button__label{margin-left:var(--vf-button-icon-gap)}.vf-button_disabled{opacity:var(--vf-states-disabled-opacity);cursor:default}.vf-button_rounded{border-radius:var(--vf-button-rounded-border-radius)}.vf-button_small{font-size:var(--vf-button-small-font-size);padding:var(--vf-button-small-padding)}.vf-button_large{font-size:var(--vf-button-large-font-size);padding:var(--vf-button-large-padding)}.vf-input{display:flex;align-items:center;gap:var(--vf-input-gap);height:var(--vf-controls-height);box-sizing:border-box;padding:var(--vf-input-padding);border-radius:var(--vf-input-border-radius);border:var(--vf-border-width) solid var(--vf-input-border-color);background-color:var(--vf-input-background-color);color:var(--vf-input-text-color);transition:border-color .2s ease}.vf-input__control{flex:1;border:none;background:transparent;color:inherit;font-size:var(--vf-input-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;outline:none}.vf-input__control::placeholder{color:var(--vf-input-placeholder-color)}.vf-input:hover:not(.vf-input_disabled){border-color:var(--vf-input-hover-border-color)}.vf-input:focus-within:not(.vf-input_disabled){border-color:var(--vf-input-focus-border-color);box-shadow:var(--vf-input-focus-ring-shadow)}.vf-input_outlined{background-color:transparent}.vf-input_small{padding:var(--vf-input-small-padding)}.vf-input_small .vf-input__control{font-size:var(--vf-input-small-font-size)}.vf-input_large{padding:var(--vf-input-large-padding)}.vf-input_large .vf-input__control{font-size:var(--vf-input-large-font-size)}.vf-input_disabled{opacity:var(--vf-input-disabled-opacity);cursor:not-allowed}.vf-select{position:relative;display:inline-block;min-width:var(--vf-select-min-width);height:var(--vf-controls-height);box-sizing:border-box;border-radius:var(--vf-select-border-radius);border:var(--vf-border-width) solid var(--vf-select-border-color);background-color:var(--vf-select-background-color);color:var(--vf-select-text-color);transition:border-color .2s ease,box-shadow .2s ease}.vf-select__control{width:100%;padding:var(--vf-select-padding);border:none;background:transparent;color:inherit;font-size:var(--vf-select-font-size);line-height:var(--vf-typography-line-height);font-family:inherit;outline:none;display:inline-flex;align-items:center;justify-content:space-between;height:var(--vf-controls-height);box-sizing:border-box;gap:var(--vf-select-control-gap);cursor:pointer}.vf-select__label{text-align:left}.vf-select__label_placeholder{color:var(--vf-secondary-text-color)}.vf-select__chevron{font-size:var(--vf-select-chevron-size);opacity:.7}.vf-select__panel{position:fixed;z-index:50;padding:var(--vf-select-panel-padding);max-height:var(--vf-select-panel-max-height);overflow:auto;border-radius:calc(var(--vf-select-border-radius) + var(--vf-select-panel-radius-offset));border:var(--vf-border-width) solid var(--vf-select-panel-border-color);background-color:var(--vf-select-panel-background-color);box-shadow:var(--vf-select-panel-shadow);color:var(--vf-select-text-color)}.vf-select__option{width:100%;text-align:left;border:none;background:transparent;padding:var(--vf-select-option-padding);border-radius:var(--vf-select-option-border-radius);color:inherit;cursor:pointer;font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height);font-family:inherit}.vf-select__option:hover:not(.is-disabled),.vf-select__option:focus-visible:not(.is-disabled){background-color:var(--vf-select-option-hover-background-color);outline:none}.vf-select__option.is-active{background-color:var(--vf-select-option-active-background-color);color:var(--vf-select-option-active-text-color)}.vf-select__option.is-disabled{opacity:.6;cursor:not-allowed}.vf-select_open{border-color:var(--vf-select-focus-border-color);box-shadow:var(--vf-select-focus-ring-shadow)}.vf-select:hover:not(.vf-select_disabled){border-color:var(--vf-select-hover-border-color)}.vf-select:focus-within:not(.vf-select_disabled){border-color:var(--vf-select-focus-border-color)}.vf-select_small .vf-select__control{padding:var(--vf-select-small-padding);font-size:var(--vf-select-small-font-size)}.vf-select_large .vf-select__control{padding:var(--vf-select-large-padding);font-size:var(--vf-select-large-font-size)}.vf-select_disabled{opacity:var(--vf-select-disabled-opacity);cursor:not-allowed}.vf-select_disabled .vf-select__control{cursor:not-allowed}.vf-checkbox{display:inline-flex;align-items:center;gap:var(--vf-checkbox-gap);cursor:pointer;color:var(--vf-checkbox-text-color);font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-checkbox__control{position:absolute;opacity:0;pointer-events:none}.vf-checkbox__box{width:var(--vf-checkbox-size);height:var(--vf-checkbox-size);border:var(--vf-border-width) solid var(--vf-checkbox-border-color);border-radius:var(--vf-checkbox-border-radius);background-color:var(--vf-checkbox-background-color);display:inline-flex;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease}.vf-checkbox__control:checked+.vf-checkbox__box{background-color:var(--vf-checkbox-checked-background-color);border-color:var(--vf-checkbox-checked-border-color)}.vf-checkbox__control:checked+.vf-checkbox__box:after{content:"";width:calc(var(--vf-checkbox-size) / 2);height:calc(var(--vf-checkbox-size) / 2);background-color:var(--vf-checkbox-check-color);border-radius:var(--vf-checkbox-check-border-radius)}.vf-checkbox_disabled{opacity:var(--vf-checkbox-disabled-opacity);cursor:not-allowed}.vf-switch{display:inline-flex;align-items:center;gap:var(--vf-switch-gap);cursor:pointer;color:var(--vf-switch-text-color);font-size:var(--vf-typography-font-size);line-height:var(--vf-typography-line-height)}.vf-switch__control{position:absolute;opacity:0;pointer-events:none}.vf-switch__track{position:relative;width:var(--vf-switch-width);height:var(--vf-switch-height);border-radius:var(--vf-switch-height);background-color:var(--vf-switch-background-color);transition:background-color .2s ease}.vf-switch__thumb{position:absolute;top:50%;left:var(--vf-switch-thumb-offset);width:var(--vf-switch-thumb-size);height:var(--vf-switch-thumb-size);border-radius:50%;background-color:var(--vf-switch-thumb-color);transform:translateY(-50%);transition:transform .2s ease}.vf-switch__control:checked+.vf-switch__track{background-color:var(--vf-switch-checked-background-color)}.vf-switch__control:checked+.vf-switch__track .vf-switch__thumb{transform:translate(calc(var(--vf-switch-width) - var(--vf-switch-thumb-size) - var(--vf-switch-thumb-translate-offset)),-50%)}.vf-switch_disabled{opacity:var(--vf-switch-disabled-opacity);cursor:not-allowed}.vf-popover{position:relative}.vf-popover__button{cursor:pointer;-webkit-user-select:none;user-select:none}.vf-popover__wrapper{position:absolute;background-color:var(--vf-popover-background-color)}.vf-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--vf-modal-z-index);display:flex;align-items:center;justify-content:center}.vf-modal__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--vf-modal-overlay-background-color)}.vf-modal__panel{position:relative;z-index:1;width:var(--vf-modal-width);max-width:var(--vf-modal-max-width);max-height:var(--vf-modal-max-height);padding:var(--vf-modal-padding);border-radius:var(--vf-modal-border-radius);background-color:var(--vf-modal-background-color);color:var(--vf-modal-text-color);box-shadow:var(--vf-modal-shadow);overflow:auto;outline:none}.vf-modal_sm .vf-modal__panel{width:var(--vf-modal-width-sm);max-width:var(--vf-modal-max-width-sm)}.vf-modal_lg .vf-modal__panel{width:var(--vf-modal-width-lg);max-width:var(--vf-modal-max-width-lg)}.vf-modal__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--vf-modal-header-gap)}.vf-modal__title{margin:0;font-size:var(--vf-modal-title-font-size);line-height:var(--vf-modal-title-line-height);font-weight:var(--vf-modal-title-font-weight)}.vf-modal__body{margin-bottom:var(--vf-modal-body-gap)}.vf-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--vf-modal-footer-gap)}.vf-modal__close{position:absolute;top:var(--vf-modal-close-offset);right:var(--vf-modal-close-offset);width:var(--vf-modal-close-size);height:var(--vf-modal-close-size);border-radius:var(--vf-modal-close-radius);border:none;background:transparent;color:var(--vf-modal-close-color);cursor:pointer;font-size:var(--vf-modal-close-font-size);line-height:1}.vf-modal__close:hover{background-color:var(--vf-modal-close-hover-background-color)}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,5 +7,7 @@ export { default as Select } from './package/components/select.vue';
|
|
|
7
7
|
export { default as Checkbox } from './package/components/checkbox.vue';
|
|
8
8
|
export { default as Switch } from './package/components/switch.vue';
|
|
9
9
|
export { default as Popover } from './package/components/popover.vue';
|
|
10
|
+
export { default as Modal } from './package/components/modal.vue';
|
|
10
11
|
export { default as VueForge, setTheme, updateTheme, getTheme } from './package/config/index';
|
|
12
|
+
export type { ThemeTokens, ThemeOptions, ThemePreset } from './package/config/theme-core';
|
|
11
13
|
export { default as DefaultTheme } from './package/themes/default';
|