vuiii 0.1.0-alpha
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 +16 -0
- package/dist/components/Breadcrumbs.vue.d.ts +17 -0
- package/dist/components/Button.vue.d.ts +76 -0
- package/dist/components/Checkbox.vue.d.ts +28 -0
- package/dist/components/CheckboxGroup.vue.d.ts +59 -0
- package/dist/components/Form.vue.d.ts +84 -0
- package/dist/components/FormFields.vue.d.ts +49 -0
- package/dist/components/FormGroup.vue.d.ts +47 -0
- package/dist/components/Icon.vue.d.ts +16 -0
- package/dist/components/Input.vue.d.ts +57 -0
- package/dist/components/Select.vue.d.ts +83 -0
- package/dist/components/Table.vue.d.ts +51 -0
- package/dist/components/Textarea.vue.d.ts +19 -0
- package/dist/components/modal/ModalLayout.vue.d.ts +32 -0
- package/dist/components/modal/ModalLayoutDialog.vue.d.ts +36 -0
- package/dist/components/modal/ModalStack.vue.d.ts +18 -0
- package/dist/components/snackbar/SnackbarStack.vue.d.ts +18 -0
- package/dist/favicon.ico +0 -0
- package/dist/hooks/useAction.d.ts +35 -0
- package/dist/icons/arrow-narrow-down.vue.d.ts +2 -0
- package/dist/icons/arrow-narrow-left.vue.d.ts +2 -0
- package/dist/icons/arrow-narrow-right.vue.d.ts +2 -0
- package/dist/icons/arrow-narrow-up.vue.d.ts +2 -0
- package/dist/icons/check-circle.vue.d.ts +2 -0
- package/dist/icons/check.vue.d.ts +2 -0
- package/dist/icons/chevron-left.vue.d.ts +2 -0
- package/dist/icons/chevron-right.vue.d.ts +2 -0
- package/dist/icons/exclamation-circle.vue.d.ts +2 -0
- package/dist/icons/exclamation.vue.d.ts +2 -0
- package/dist/icons/plus.vue.d.ts +2 -0
- package/dist/icons/search.vue.d.ts +2 -0
- package/dist/icons/spinner.vue.d.ts +2 -0
- package/dist/icons/trash.vue.d.ts +2 -0
- package/dist/icons/x.vue.d.ts +2 -0
- package/dist/index.d.ts +21 -0
- package/dist/modal.d.ts +69 -0
- package/dist/snackbar.d.ts +21 -0
- package/dist/style.css +1 -0
- package/dist/utils/normalizeOptions.d.ts +13 -0
- package/dist/utils/resolveGlobImport.d.ts +3 -0
- package/dist/utils/transformInputAttrs.d.ts +5 -0
- package/dist/vui.es.js +1751 -0
- package/dist/vui.umd.js +1 -0
- package/package.json +45 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { ButtonOptions } from '../../modal';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
title: {
|
|
5
|
+
type: StringConstructor;
|
|
6
|
+
default: string;
|
|
7
|
+
};
|
|
8
|
+
message: {
|
|
9
|
+
type: StringConstructor;
|
|
10
|
+
default: string;
|
|
11
|
+
};
|
|
12
|
+
buttons: {
|
|
13
|
+
type: PropType<ButtonOptions[]>;
|
|
14
|
+
default: () => never[];
|
|
15
|
+
};
|
|
16
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "close"[], "close", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
17
|
+
title: {
|
|
18
|
+
type: StringConstructor;
|
|
19
|
+
default: string;
|
|
20
|
+
};
|
|
21
|
+
message: {
|
|
22
|
+
type: StringConstructor;
|
|
23
|
+
default: string;
|
|
24
|
+
};
|
|
25
|
+
buttons: {
|
|
26
|
+
type: PropType<ButtonOptions[]>;
|
|
27
|
+
default: () => never[];
|
|
28
|
+
};
|
|
29
|
+
}>> & {
|
|
30
|
+
onClose?: ((...args: any[]) => any) | undefined;
|
|
31
|
+
}, {
|
|
32
|
+
title: string;
|
|
33
|
+
buttons: ButtonOptions[];
|
|
34
|
+
message: string;
|
|
35
|
+
}>;
|
|
36
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { Modal } from '@/modal';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
modals: {
|
|
5
|
+
type: PropType<Modal[]>;
|
|
6
|
+
default: () => never[];
|
|
7
|
+
};
|
|
8
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "closeModal"[], "closeModal", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
modals: {
|
|
10
|
+
type: PropType<Modal[]>;
|
|
11
|
+
default: () => never[];
|
|
12
|
+
};
|
|
13
|
+
}>> & {
|
|
14
|
+
onCloseModal?: ((...args: any[]) => any) | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
modals: Modal[];
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
2
|
+
import { Message } from '../../snackbar';
|
|
3
|
+
declare const _default: import("vue").DefineComponent<{
|
|
4
|
+
messages: {
|
|
5
|
+
type: PropType<Message[]>;
|
|
6
|
+
default: () => never[];
|
|
7
|
+
};
|
|
8
|
+
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "remove-message"[], "remove-message", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
9
|
+
messages: {
|
|
10
|
+
type: PropType<Message[]>;
|
|
11
|
+
default: () => never[];
|
|
12
|
+
};
|
|
13
|
+
}>> & {
|
|
14
|
+
"onRemove-message"?: ((...args: any[]) => any) | undefined;
|
|
15
|
+
}, {
|
|
16
|
+
messages: Message[];
|
|
17
|
+
}>;
|
|
18
|
+
export default _default;
|
package/dist/favicon.ico
ADDED
|
Binary file
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
import { RouteLocationRaw, Router } from 'vue-router';
|
|
3
|
+
import { useModal } from '../modal';
|
|
4
|
+
export declare type ValidationErrors<T = any> = {
|
|
5
|
+
[key in keyof T]?: any;
|
|
6
|
+
};
|
|
7
|
+
export declare type ValidationResults<T = any> = {
|
|
8
|
+
isValid: boolean;
|
|
9
|
+
errors: ValidationErrors<T>;
|
|
10
|
+
};
|
|
11
|
+
declare type ConfirmParams = Parameters<ReturnType<typeof useModal>['confirm']>[0];
|
|
12
|
+
export declare function useAction<T = unknown, R = unknown>(action: (data: T) => any | Promise<any>, params?: {
|
|
13
|
+
validator?: (data: T) => Promise<ValidationResults<T>>;
|
|
14
|
+
confirm?: ((data: T) => ConfirmParams) | ConfirmParams;
|
|
15
|
+
onSuccess?: (params: {
|
|
16
|
+
result: R;
|
|
17
|
+
data: T;
|
|
18
|
+
router: Router;
|
|
19
|
+
}) => void;
|
|
20
|
+
onError?: (params: {
|
|
21
|
+
error: Error;
|
|
22
|
+
data: T;
|
|
23
|
+
router: Router;
|
|
24
|
+
}) => boolean | void;
|
|
25
|
+
redirectOnSuccess?: RouteLocationRaw | ((result: R, data: T) => RouteLocationRaw) | undefined;
|
|
26
|
+
successMessage?: ((result: R, data: T) => string) | string;
|
|
27
|
+
errorMessage?: ((error: Error, data: T) => string) | string;
|
|
28
|
+
immediate?: boolean;
|
|
29
|
+
}): {
|
|
30
|
+
submit: (data?: T) => Promise<any>;
|
|
31
|
+
isSubmitting: Ref<boolean>;
|
|
32
|
+
result: Ref<R>;
|
|
33
|
+
errors: Ref<ValidationErrors<T>>;
|
|
34
|
+
};
|
|
35
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import './assets/css/style.css';
|
|
2
|
+
export type { BreadcrumbItems } from './components/Breadcrumbs.vue';
|
|
3
|
+
export { default as Breadcrumbs } from './components/Breadcrumbs.vue';
|
|
4
|
+
export type { Size as ButtonSize, Variant as ButtonVariant } from './components/Button.vue';
|
|
5
|
+
export { default as Button } from './components/Button.vue';
|
|
6
|
+
export { default as Checkbox } from './components/Checkbox.vue';
|
|
7
|
+
export { default as CheckboxGroup } from './components/CheckboxGroup.vue';
|
|
8
|
+
export type { FormStructure } from './components/Form.vue';
|
|
9
|
+
export { default as Form } from './components/Form.vue';
|
|
10
|
+
export type { FormFieldsStructure } from './components/FormFields.vue';
|
|
11
|
+
export { default as FormFields } from './components/FormFields.vue';
|
|
12
|
+
export { default as FormGroup } from './components/FormGroup.vue';
|
|
13
|
+
export { default as Icon, registerCustomIconResolver } from './components/Icon.vue';
|
|
14
|
+
export { default as Input } from './components/Input.vue';
|
|
15
|
+
export { default as Select } from './components/Select.vue';
|
|
16
|
+
export type { TableColumns } from './components/Table.vue';
|
|
17
|
+
export { default as Table } from './components/Table.vue';
|
|
18
|
+
export { default as Textarea } from './components/Textarea.vue';
|
|
19
|
+
export { useAction } from './hooks/useAction';
|
|
20
|
+
export { modal, useModal } from './modal';
|
|
21
|
+
export { snackbar, useSnackbar } from './snackbar';
|
package/dist/modal.d.ts
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Component, ComponentCustomProps, Plugin } from 'vue';
|
|
2
|
+
import { Variant as ButtonVariant } from './components/Button.vue';
|
|
3
|
+
export declare type Modal = {
|
|
4
|
+
id: number;
|
|
5
|
+
component: Component;
|
|
6
|
+
props?: ComponentCustomProps;
|
|
7
|
+
resolve: (result: any) => void;
|
|
8
|
+
focusElement: HTMLElement | null;
|
|
9
|
+
};
|
|
10
|
+
export declare type Config = Partial<{
|
|
11
|
+
cancelLabel: string;
|
|
12
|
+
confirmLabel: string;
|
|
13
|
+
}>;
|
|
14
|
+
export declare type ButtonOptions = {
|
|
15
|
+
variant?: ButtonVariant;
|
|
16
|
+
label: string;
|
|
17
|
+
icon?: string;
|
|
18
|
+
value?: any;
|
|
19
|
+
};
|
|
20
|
+
export declare type DialogOptions = {
|
|
21
|
+
title?: string;
|
|
22
|
+
message?: string;
|
|
23
|
+
buttons?: ButtonOptions[];
|
|
24
|
+
};
|
|
25
|
+
export declare type AlertOptions = string | {
|
|
26
|
+
title?: string;
|
|
27
|
+
message?: string;
|
|
28
|
+
confirmLabel?: string;
|
|
29
|
+
confirmVariant?: ButtonVariant;
|
|
30
|
+
confirmIcon?: string;
|
|
31
|
+
};
|
|
32
|
+
export declare type ConfirmOptions = string | {
|
|
33
|
+
title?: string;
|
|
34
|
+
message?: string;
|
|
35
|
+
cancelLabel?: string;
|
|
36
|
+
cancelVariant?: ButtonVariant;
|
|
37
|
+
cancelIcon?: string;
|
|
38
|
+
confirmLabel?: string;
|
|
39
|
+
confirmVariant?: ButtonVariant;
|
|
40
|
+
confirmIcon?: string;
|
|
41
|
+
};
|
|
42
|
+
export interface OpenModalInterface {
|
|
43
|
+
<T = any>(component: Component, props?: {
|
|
44
|
+
[key: string]: any;
|
|
45
|
+
}): Promise<T>;
|
|
46
|
+
}
|
|
47
|
+
export interface OpenDialogInterface {
|
|
48
|
+
<T = any>(options: DialogOptions): Promise<T>;
|
|
49
|
+
}
|
|
50
|
+
export interface OpenAlertInterface {
|
|
51
|
+
(options: AlertOptions): Promise<void>;
|
|
52
|
+
}
|
|
53
|
+
export interface OpenConfirmInterface {
|
|
54
|
+
(options: ConfirmOptions): Promise<boolean>;
|
|
55
|
+
}
|
|
56
|
+
interface ModalInterface {
|
|
57
|
+
open: OpenModalInterface;
|
|
58
|
+
alert: OpenAlertInterface;
|
|
59
|
+
dialog: OpenDialogInterface;
|
|
60
|
+
confirm: OpenConfirmInterface;
|
|
61
|
+
}
|
|
62
|
+
declare module '@vue/runtime-core' {
|
|
63
|
+
interface ComponentCustomProperties {
|
|
64
|
+
$modal: ModalInterface;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
export declare const modal: Plugin;
|
|
68
|
+
export declare function useModal(): ModalInterface;
|
|
69
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Plugin } from 'vue';
|
|
2
|
+
export declare type MessageType = 'success' | 'error';
|
|
3
|
+
export interface Message {
|
|
4
|
+
id: number;
|
|
5
|
+
text: string;
|
|
6
|
+
type: MessageType;
|
|
7
|
+
}
|
|
8
|
+
export interface ShowMessage {
|
|
9
|
+
(message: string, type?: MessageType, duration?: number): void;
|
|
10
|
+
}
|
|
11
|
+
export interface Snackbar {
|
|
12
|
+
success: ShowMessage;
|
|
13
|
+
error: ShowMessage;
|
|
14
|
+
}
|
|
15
|
+
declare module '@vue/runtime-core' {
|
|
16
|
+
interface ComponentCustomProperties {
|
|
17
|
+
$snackbar: Snackbar;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export declare const snackbar: Plugin;
|
|
21
|
+
export declare function useSnackbar(): Snackbar;
|
package/dist/style.css
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.link{cursor:pointer;color:var(--vui-color-primary);text-decoration:none}.link:hover{color:var(--vui-color-primary--darker);text-decoration:underline}.link.link--danger,.link.link--danger:hover{color:var(--vui-color-danger--darker)}.IconSpinner[data-v-683816b2]{will-change:transform;-webkit-animation:animation-683816b2 .7s infinite linear;animation:animation-683816b2 .7s infinite linear}@-webkit-keyframes animation-683816b2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes animation-683816b2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.Icon[data-v-3f9f02d0]{display:inline-block;vertical-align:middle;width:1.5rem;aspect-ratio:1 / 1;flex:none}.Breadcrumbs[data-v-357000f6]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;opacity:.5}.Breadcrumbs__breadcrumb[data-v-357000f6]{display:flex;align-items:center;font-size:.85rem;gap:.5rem}.Breadcrumbs__link[data-v-357000f6]:hover{text-decoration:underline}.Breadcrumbs__arrow[data-v-357000f6]{width:1rem}:root{--vui-color-gray: rgb(212 212 216);--vui-color-gray--light: rgb(229, 229, 229);--vui-color-gray--lighter: rgb(245, 245, 245);--vui-color-gray--lightest: rgb(250, 250, 250);--vui-color-gray--dark: rgb(163, 163, 163);--vui-color-gray--darker: rgb(115, 115, 115);--vui-color-gray--darkest: rgb(82, 82, 82);--vui-color-primary: rgb(79 70 229);--vui-color-primary-shadow: rgb(67 56 202/.25);--vui-color-primary--darker: rgb(67 56 202);--vui-color-danger: rgb(225 29 72);--vui-color-danger-shadow: rgb(225 29 72/.25);--vui-color-danger--darker: rgb(190 18 60);--vui-color-success: rgb(77 124 15);--vui-color-success-shadow: rgb(77 124 15/.25);--vui-color-success--darker: rgb(63 98 18);--vui-shadow: 0 1px 3px 0 rgb(0 0 0/.1), 0 1px 2px -1px rgb(0 0 0/.1));--vui-field-height: 3rem;--vui-field-ringSize: 4px;--vui-field-borderRadius: .375rem;--vui-field-fontSize: .96rem;--vui-field-borderColor: rgb(212 212 216);--vui-field-borderColor--active: rgb(67 56 202);--vui-field-ringColor: rgb(79 70 229/.1);--vui-field-fontSize--small: .85rem;--vui-field-height--small: 2.25rem;--vui-field-ringSize--small: 2px;--vui-fontSize-base: 1rem;--vui-fontSize-small: .85rem}.button{--bgColor: var(--vui-button-bgColor, transparent);--textColor: var(--vui-button-textColor, black);--borderRadius: var(--vui-button-borderRadius, var(--vui-field-borderRadius));--borderWidth: var(--vui-button-borderWidth, 1px);--borderColor: var(--vui-button-borderColor, var(--vui-color-gray));--height: var(--vui-button-height, var(--vui-field-height));--padding: var(--vui-button-padding, 2rem);--fontSize: var(--vui-button-fontSize, var(--vui-field-fontSize));--shadow: var(--vui-button-shadow, var(--vui-shadow));--ringColor: var(--vui-button-ringColor, rgb(0 0 0/.05));--ringSize: 0;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;gap:.5rem;align-items:center;align-self:center;justify-content:center;padding:0 var(--padding);min-height:var(--height);cursor:pointer;font-size:var(--fontSize);outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border-radius:var(--borderRadius);box-shadow:0 0 0 var(--ringSize) var(--ringColor),var(--shadow);transition:box-shadow .15s,background-color .15s;position:relative;background-color:var(--bgColor);border:var(--borderWidth) solid var(--borderColor);color:var(--textColor)}.button:hover{--bgColor: var(--vui-button-bgColor--hover, var(--vui-button-bgColor, transparent));--borderColor: var(--vui-button-borderColor--hover, var(--vui-color-gray--dark));--textColor: var(--vui-button-textColor--hover, var(--vui-button-textColor, black))}.button:focus{--ringSize: var(--vui-field-ringSize)}.button.button--small{--height: var(--vui-button-height--small, var(--vui-field-height--small));--padding: var(--vui-button-padding--small, 1rem);--fontSize: var(--vui-button-fontSize--small, var(--vui-field-fontSize--small)) }.button.button--small:focus{--ringSize: var(--vui-field-ringSize--small)}.button.button--primary{--bgColor: var(--vui-button-bgColor--primary, var(--vui-color-primary));--borderColor: var(--vui-button-borderColor--primary, transparent);--textColor: var(--vui-button-textColor--primary, white);--ringColor: var(--vui-button-ringColor--primary, var(--vui-color-primary-shadow)) }.button.button--primary:hover{--bgColor: var(--vui-button-bgColor--primary--hover, var(--vui-button-bgColor--primary, var(--vui-color-primary--darker)));--borderColor: var(--vui-button-borderColor--primary--hover, var(--vui-button-borderColor--primary, transparent));--textColor: var(--vui-button-textColor--primary--hover, var(--vui-button-textColor--primary, white))}.button.button--secondary{--bgColor: var(--vui-button-bgColor--secondary, var(--vui-color-gray));--borderColor: var(--vui-button-borderColor--secondary, transparent);--textColor: var(--vui-button-textColor--secondary, black);--ringColor: var(--vui-button-ringColor--secondary, var(--vui-color-secondary-shadow)) }.button.button--secondary:hover{--bgColor: var(--vui-button-bgColor--secondary--hover, var(--vui-button-bgColor--secondary, var(--vui-color-gray--dark)));--borderColor: var(--vui-button-borderColor--secondary--hover, var(--vui-button-borderColor--secondary, transparent));--textColor: var(--vui-button-textColor--secondary--hover, var(--vui-button-textColor--secondary, black))}.button.button--danger{--bgColor: var(--vui-button-bgColor--danger, var(--vui-color-danger));--borderColor: var(--vui-button-borderColor--danger, transparent);--textColor: var(--vui-button-textColor--danger, white);--ringColor: var(--vui-button-ringColor--danger, var(--vui-color-danger-shadow)) }.button.button--danger:hover{--bgColor: var(--vui-button-bgColor--danger--hover, var(--vui-button-bgColor--danger, var(--vui-color-danger--darker)));--borderColor: var(--vui-button-borderColor--danger--hover, var(--vui-button-borderColor--danger, transparent));--textColor: var(--vui-button-textColor--danger--hover, var(--vui-button-textColor--danger, white))}.button:disabled,.button.button--disabled{opacity:.65;pointer-events:none}.Button--block[data-v-4c3e5fdd]{width:100%}.Button__icon--small[data-v-4c3e5fdd]{width:.75rem}.Button__icon--normal[data-v-4c3e5fdd]{width:1.35rem}.Button__icon--prefix.Button__icon--normal[data-v-4c3e5fdd]{margin-left:-.125rem}.Button__icon--suffix.Button__icon--normal[data-v-4c3e5fdd]{margin-right:-.125rem}.input{--ringSize: var(--vui-field-ringSize);--ringColor: var(--vui-input-ringColor, var(--vui-field-ringColor));--borderRadus: var(--vui-input-borderRadius, var(--vui-field-borderRadius));--borderWidth: var(--vui-input-borderWidth, 1px);--borderColor: var(--vui-input-borderColor, var(--vui-color-gray));--height: var(--vui-input-height, var(--vui-field-height));--padding: var(--vui-input-padding, 1rem);--fontSize: var(--vui-input-fontSize, var(--vui-field-fontSize));width:100%;background-color:#fff;border:var(--borderWidth) solid var(--borderColor);border-radius:var(--borderRadus);padding:0 var(--padding);min-height:var(--height);font-size:var(--fontSize);transition:box-shadow .15s,border-color .15s,background-color .15s}.input::-moz-placeholder{color:var(--vui-color-gray--dark)}.input:-ms-input-placeholder{color:var(--vui-color-gray--dark)}.input::placeholder{color:var(--vui-color-gray--dark)}.input:focus,.input:focus-within{--borderColor: var(--vui-input-borderColor--active, var(--vui-field-borderColor--active));outline:none;box-shadow:0 0 0 var(--ringSize) var(--ringColor)}.input:disabled,.input.input--disabled{--borderColor: var(--vui-color-gray--light);opacity:.6;pointer-events:none}.input.input--small{--height: var(--vui-input-height--small, var(--vui-field-height--small));--fontSize: var(--vui-input-fontSize--small, var(--vui-field-fontSize--small)) }.input.input--small:focus,.input.input--small:focus-within{--ringSize: var(--vui-field-ringSize--small)}.input.input--valid{color:var(--vui-color-success);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%2356B981' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.415em + .25rem) center;background-size:calc(.83em + .5rem) calc(.83em + .5rem)}.input.input--invalid{--borderColor: var(--vui-color-danger);--ringColor: var(--vui-color-danger-shadow);color:var(--vui-color-success);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='-2 -2 7 7'%3E%3Cpath stroke='%23dc3545' d='M0 0l3 3m0-3L0 3'/%3E%3Ccircle r='.5'/%3E%3Ccircle cx='3' r='.5'/%3E%3Ccircle cy='3' r='.5'/%3E%3Ccircle cx='3' cy='3' r='.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right calc(.415em + .25rem) center;background-size:calc(.83em + .5rem) calc(.83em + .5rem)}.input.input--invalid:focus,.input.input--invalid:focus-within{outline:none}.input .input__nested{padding:0 var(--padding);line-height:1;background:transparent;border:none;border-radius:var(--borderRadus);min-height:calc(var(--height) - 2px);outline:none;cursor:inherit}.input .input__nested::-moz-placeholder{color:var(--vui-color-gray--dark)}.input .input__nested:-ms-input-placeholder{color:var(--vui-color-gray--dark)}.input .input__nested::placeholder{color:var(--vui-color-gray--dark)}select.input{padding-right:2.5rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1792 1792"><path d="M1408 704q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/></svg>');background-position:right .75rem center;background-size:1.2rem;text-overflow:ellipsis}@supports (-moz-appearance:none){select.input{line-height:3}}select.input.input--small{padding-right:2rem;background-size:1rem}input[type=number].input{-moz-appearance:textfield}input.input[type=number]::-webkit-outer-spin-button,input.input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=checkbox].input,input[type=radio].input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25rem;height:1.25rem;min-height:0;padding:0;background:white;cursor:pointer;flex:none}input.input[type=checkbox]:checked,input.input[type=radio]:checked{background-repeat:no-repeat;background-position:center;background-color:var(--vui-color-primary);border-color:var(--vui-color-primary)}input.input[type=checkbox]:disabled,input.input[type=radio]:disabled{cursor:default}input[type=checkbox].input{border-radius:.25rem}input.input[type=checkbox]:checked{background-image:url('data:image/svg+xml;utf8,<svg width="100" height="100" viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"><path fill="white" d="M20.405 40.983L38.79 59.368 81.217 16.94l14.142 14.143L38.79 87.652 6.263 55.125l14.142-14.142z"/></svg>');background-size:.75rem}input[type=radio].input{border-radius:100%}input.input[type=radio]:checked{background-image:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" fill="white" viewBox="0 0 1 1"><circle r=".5" cx=".5" cy=".5" /></svg>');background-size:.5rem}textarea.input{padding-top:.75rem;padding-bottom:.75rem;vertical-align:middle;line-height:1.25;resize:vertical}.Checkbox[data-v-6d3aac34]{display:inline-flex;align-items:flex-start;vertical-align:top;cursor:pointer}--disabled.Checkbox[data-v-6d3aac34]{opacity:.5}.Checkbox__input[data-v-6d3aac34]{margin-top:1px}.Checkbox__switch[data-v-6d3aac34]{padding:3px;margin-top:-1px;width:2.25rem;border-radius:999px;transition:all .15s ease-out;background:rgb(115,115,115)}--active.Checkbox__switch[data-v-6d3aac34]{background:var(--vui-color-primary)}.Checkbox__switchDot[data-v-6d3aac34]{width:1.25rem;aspect-ratio:1 / 1;background:white;border-radius:999px;transition:all .15s ease-out}.Checkbox__switch--active .Checkbox__switchDot[data-v-6d3aac34]{transform:translate(.75rem)}.Checkbox__label[data-v-6d3aac34]{margin-left:.5rem;line-height:1.375}.Checkbox__required[data-v-6d3aac34]{line-height:1;color:var(--vui-color-danger)}.CheckboxGroup>*+*{margin-top:.5rem}.FormGroup[data-v-4214535a]{width:100%}.FormGroup--invalid[data-v-4214535a] .input,.FormGroup--invalid[data-v-4214535a] .input:hover{--borderColor: var(--vui-field-borderColor--invalid, rgb(190 18 60) );--ringColor: var(--vui-field-ringColor--invalid, rgb(225 29 72/.2) )}.FormGroup__header[data-v-4214535a]{display:flex;align-items:center;margin-bottom:.5rem;gap:.25rem}.FormGroup__label[data-v-4214535a]{font-size:.8rem;font-weight:600;letter-spacing:.05rem;text-transform:uppercase}.FormGroup__required[data-v-4214535a]{line-height:1;color:var(--vui-color-danger)}.FormGroup__description[data-v-4214535a]{font-size:.8rem;margin-bottom:.75rem;max-width:48rem;color:#737373}.FormGroup__hint[data-v-4214535a]{font-size:.8rem;margin-top:.5rem;max-width:48rem;color:#737373}.FormGroup__error[data-v-4214535a]{font-size:.8rem;margin-top:.5rem;max-width:48rem;color:var(--vui-color-danger)}.FormFields>*+*[data-v-319aedc6]{margin-top:2rem}.Form>*+*[data-v-5366fc3a]{margin-top:2rem}.Form__buttons[data-v-5366fc3a]{display:flex;align-items:center;margin-top:2rem}.Form__buttons>*+*[data-v-5366fc3a]{margin-left:1rem}.Input.Input{cursor:text;display:flex;align-items:center;padding-left:0;padding-right:0;line-height:1}.Input__icon{display:flex;align-items:center;justify-content:center;width:3rem;opacity:.35}.Input__icon--right{margin-left:-1rem}.Input__icon--left{margin-right:-1rem}.Input__nestedInput{flex:auto;align-self:stretch;width:100%}.table{min-width:100%}.table thead tr{border-bottom:1px solid var(--vui-color-gray)}.table thead th{padding:.75rem 1.5rem;font-size:.8rem;font-weight:600;text-align:left;letter-spacing:.025em;color:#404040;text-transform:uppercase}:is(.table tbody)>*+*{border-top:1px solid var(--vui-color-gray)}.table tbody td{padding:1rem 1.5rem}.table.table--hover tbody tr:hover td{background-color:#00000006}.link{cursor:pointer;color:var(--vui-color-primary);text-decoration:none}.link:hover{color:var(--vui-color-primary--darker);text-decoration:underline}.link.link--danger,.link.link--danger:hover{color:var(--vui-color-danger--darker)}.muted{color:var(--vui-color-gray-darker)}.ModalLayout{position:relative;display:flex;flex-direction:column;align-items:stretch;margin:auto;min-height:-webkit-fit-content;min-height:-moz-fit-content;min-height:fit-content;background-color:#fff;border-radius:4px;box-shadow:0 2px 10px #0000001a}.ModalLayout.isScrollable{min-height:auto;max-height:calc(100vh - 3rem)}.ModalLayout__header{flex:0 0 auto;padding:1.25rem 4rem 1.25rem 1.5rem}.ModalLayout__header .ModalLayout.isPlain{padding:0}.ModalLayout__title{font-size:larger}.ModalLayout__close{position:absolute;z-index:1;top:0;right:0;display:flex;justify-content:center;align-items:center;width:4rem;height:4.3rem;font-size:1.85rem;opacity:.4}.ModalLayout__close:hover{opacity:1;cursor:pointer}.ModalLayout__closeIcon{width:1.5rem;height:1.5rem}.ModalLayout__body{flex:1 0 auto;padding:1.5rem;border-radius:4px}.ModalLayout.hasHeader .ModalLayout__body{padding-top:0;border-top-right-radius:0;border-top-left-radius:0}.ModalLayout.hasFooter .ModalLayout__body{padding-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.ModalLayout.isScrollable .ModalLayout__body{flex:1 1 auto;overflow:auto;padding:1.5rem;-ms-scroll-chaining:none;overscroll-behavior:contain;overflow-y:scroll;-webkit-overflow-scrolling:touch}.ModalLayout.isScrollable.hasHeader .ModalLayout__body{border-top:1px solid rgba(0,0,0,.1)}.ModalLayout.isScrollable.hasFooter .ModalLayout__body{border-bottom:1px solid rgba(0,0,0,.1)}.ModalLayout.isPlain .ModalLayout__body{padding:0}.ModalLayout__footer{flex:0 0 auto;padding:1.25rem 1.5rem}.ModalLayout.isPlain .ModalLayout__footer{padding:0}.ModalLayoutDialog__buttons{display:flex;align-items:center;justify-content:flex-end;margin-top:1rem}.ModalLayoutDialog__buttons>*+*{margin-left:.5rem}.ModalStack{position:fixed;z-index:1050}.ModalStack__backdrop{background:rgba(0,0,0,.35);position:fixed;z-index:1;top:0;left:0;width:100%;height:100%}.ModalStack__modalWrapper{position:fixed;z-index:2;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;width:auto;height:auto;padding:1.5rem;overflow:auto}.ModalStack__modalScroller{overflow:auto;position:relative;height:100vh;display:flex;justify-content:center;width:100%}.ModalStack__modal{transition:filter .15s}.ModalStack__modal:not(.isActive){filter:brightness(80%)}.ModalStack__modal-enter-active,.ModalStack__modal-leave-active{transition:opacity .15s;pointer-events:none}.ModalStack__modal-enter-from,.ModalStack__modal-leave-to{opacity:0;pointer-events:none}.ModalStack__backdrop-enter-active,.ModalStack__backdrop-leave-active{transition:opacity .15s;pointer-events:none}.ModalStack__backdrop-enter-from,.ModalStack__backdrop-leave-to{opacity:0;pointer-events:none}.Snackbar{position:fixed;bottom:0;right:0;z-index:10;margin:2rem}.Snackbar__transition-enter-from,.Snackbar__transition-leave-to{opacity:0;transform:translateY(.5rem)}.Snackbar__transition-enter-active,.Snackbar__transition-leave-active{transition:all .15s ease-out}.Snackbar__transition-enter-to,.Snackbar__transition-leave-from{opacity:1}.Snackbar__message{position:absolute;bottom:0;right:0;display:flex;justify-content:flex-end;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:48rem;pointer-events:none;word-break:break-word}.Snackbar__messageWrapper{padding-top:.5rem;transition:transform .15s ease-in}.Snackbar__messageBlock{display:inline-flex;align-items:flex-start;padding:.75rem 1.5rem;color:#fff;border-radius:.25rem;cursor:default;pointer-events:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.Snackbar__messageBlock--success{background-color:#000}.Snackbar__messageBlock--error{background-color:var(--vui-color-danger)}.Snackbar__messageClose{display:inline-flex;justify-content:center;align-items:center;padding:.75rem;margin:-.75rem -.75rem -.75rem .75rem;font-size:.85rem;font-weight:600;opacity:.5;cursor:pointer}.Snackbar__messageClose:hover{opacity:1}.Snackbar__messageCloseIcon{width:1rem}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare type Option = {
|
|
2
|
+
value: string | number;
|
|
3
|
+
label: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
description?: string;
|
|
6
|
+
};
|
|
7
|
+
export declare type Extractor = string | number | ((item: any) => string | number);
|
|
8
|
+
export declare function normalizeOptions(items: any[] | object, extractors?: {
|
|
9
|
+
value?: Extractor;
|
|
10
|
+
label?: Extractor;
|
|
11
|
+
disabled?: Extractor;
|
|
12
|
+
description?: Extractor;
|
|
13
|
+
}): Option[];
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const transformInputAttrs: import("vue").DefineComponent<{}, {}, {}, {
|
|
2
|
+
normalizedAttrs(): any;
|
|
3
|
+
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{}>> & {
|
|
4
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
5
|
+
}, {}>;
|