@dskripchenko/laravel-admin 1.1.23 → 1.2.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/dist/components/auth/ForgotPasswordPage.vue.d.ts +9 -0
- package/dist/components/auth/LoginPage.vue.d.ts +7 -3
- package/dist/components/auth/ResetPasswordPage.vue.d.ts +7 -0
- package/dist/components/dashboard/AddWidgetDialog.vue.d.ts +12 -0
- package/dist/components/dashboard/BarChartWidget.vue.d.ts +1 -1
- package/dist/components/dashboard/ChartWidget.vue.d.ts +18 -0
- package/dist/components/dashboard/DashboardPage.vue.d.ts +8 -6
- package/dist/components/dashboard/GaugeWidget.vue.d.ts +1 -1
- package/dist/components/dashboard/WidgetActionsOverlay.vue.d.ts +8 -0
- package/dist/components/dashboard/WidgetConfigDialog.vue.d.ts +24 -0
- package/dist/components/dashboard/builtin.d.ts +5 -0
- package/dist/components/fields/DateField.vue.d.ts +2 -2
- package/dist/components/fields/NumberField.vue.d.ts +3 -3
- package/dist/components/fields/SelectField.vue.d.ts +1 -1
- package/dist/components/fields/TagsField.vue.d.ts +38 -0
- package/dist/components/fields/TextAreaField.vue.d.ts +1 -1
- package/dist/components/fields/TextField.vue.d.ts +1 -1
- package/dist/components/fields/TranslatableField.vue.d.ts +24 -0
- package/dist/components/fields/wysiwyg/quill/QuillField.vue.d.ts +4 -5
- package/dist/components/infolist/BadgeEntry.vue.d.ts +1 -1
- package/dist/components/infolist/TextEntry.vue.d.ts +6 -1
- package/dist/components/profile/ApiTokensManager.vue.d.ts +2 -0
- package/dist/components/profile/TwoFactorSetup.vue.d.ts +24 -0
- package/dist/components/resource/AdminFilterToolbar.vue.d.ts +42 -0
- package/dist/components/resource/AuditTimeline.vue.d.ts +12 -0
- package/dist/components/resource/FilterEditor.d.ts +58 -0
- package/dist/components/resource/InlineEditCell.vue.d.ts +26 -0
- package/dist/components/resource/ResourceFormPage.vue.d.ts +6 -3
- package/dist/components/resource/ResourceIndexPage.vue.d.ts +10 -4
- package/dist/components/resource/ResourceViewPage.vue.d.ts +33 -4
- package/dist/components/shell/AdminShell.vue.d.ts +8 -2
- package/dist/components/shell/AdminSidebar.vue.d.ts +10 -4
- package/dist/components/shell/AdminTopBar.vue.d.ts +4 -4
- package/dist/components/shell/BrandLogo.vue.d.ts +16 -0
- package/dist/components/shell/NotificationsDrawer.vue.d.ts +2 -0
- package/dist/components/shell/iconRegistry.d.ts +18 -0
- package/dist/createAdminApp.d.ts +3 -0
- package/dist/index.cjs +3 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +6200 -2499
- package/dist/index.mjs.map +1 -1
- package/dist/quill.cjs +1 -1
- package/dist/quill.cjs.map +1 -1
- package/dist/quill.mjs +21 -33
- package/dist/quill.mjs.map +1 -1
- package/dist/router/index.d.ts +4 -0
- package/dist/stores/dashboard.d.ts +212 -0
- package/dist/stores/i18n.d.ts +31 -0
- package/dist/stores/manifest.d.ts +111 -11
- package/dist/stores/navigation.d.ts +1 -1
- package/dist/stores/notifications.d.ts +14 -2
- package/dist/stores/resourceForm.d.ts +3 -3
- package/dist/stores/resourceIndex.d.ts +1 -1
- package/dist/stores/toast.d.ts +16 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
brandName?: string;
|
|
3
|
+
loginRouteName?: string;
|
|
4
|
+
}
|
|
5
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
6
|
+
brandName: string;
|
|
7
|
+
loginRouteName: string;
|
|
8
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
export default _default;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
interface Props {
|
|
2
2
|
brandName?: string;
|
|
3
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Custom mark (если задан — рендерится вместо BrandLogo). Полезно
|
|
5
|
+
* host'у с собственным брендом.
|
|
6
|
+
*/
|
|
7
|
+
brandMark?: string | null;
|
|
4
8
|
brandLogo?: string | null;
|
|
5
9
|
homeRouteName?: string;
|
|
6
10
|
redirectQueryKey?: string;
|
|
@@ -14,12 +18,12 @@ interface Props {
|
|
|
14
18
|
}
|
|
15
19
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
16
20
|
brandName: string;
|
|
17
|
-
brandMark: string;
|
|
21
|
+
brandMark: string | null;
|
|
22
|
+
homeRouteName: string;
|
|
18
23
|
forgotUrl: string | null;
|
|
19
24
|
ssoLinkLabel: string | null;
|
|
20
25
|
ssoUrl: string | null;
|
|
21
26
|
brandLogo: string | null;
|
|
22
|
-
homeRouteName: string;
|
|
23
27
|
redirectQueryKey: string;
|
|
24
28
|
showCornerActions: boolean;
|
|
25
29
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
loginRouteName?: string;
|
|
3
|
+
}
|
|
4
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
5
|
+
loginRouteName: string;
|
|
6
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
7
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { WidgetLayoutItem } from '../../stores/dashboard';
|
|
2
|
+
interface Props {
|
|
3
|
+
open: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
6
|
+
add: (item: WidgetLayoutItem) => any;
|
|
7
|
+
close: () => any;
|
|
8
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
9
|
+
onAdd?: ((item: WidgetLayoutItem) => any) | undefined;
|
|
10
|
+
onClose?: (() => any) | undefined;
|
|
11
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -11,8 +11,8 @@ interface Props {
|
|
|
11
11
|
}
|
|
12
12
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
13
13
|
title: string;
|
|
14
|
-
description: string;
|
|
15
14
|
height: number;
|
|
15
|
+
description: string;
|
|
16
16
|
accent: string;
|
|
17
17
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
18
|
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface ChartDataset {
|
|
2
|
+
label: string;
|
|
3
|
+
data: number[];
|
|
4
|
+
color?: string;
|
|
5
|
+
}
|
|
6
|
+
interface ChartData {
|
|
7
|
+
type?: string;
|
|
8
|
+
labels?: string[];
|
|
9
|
+
datasets?: ChartDataset[];
|
|
10
|
+
}
|
|
11
|
+
interface Props {
|
|
12
|
+
type?: string;
|
|
13
|
+
title?: string;
|
|
14
|
+
size?: number;
|
|
15
|
+
data?: ChartData;
|
|
16
|
+
}
|
|
17
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
export default _default;
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import { type WidgetNode } from './WidgetRenderer.vue';
|
|
2
2
|
interface Props {
|
|
3
|
-
/** Slug dashboard'а в manifest.dashboards. */
|
|
4
3
|
slug?: string;
|
|
5
|
-
/** Прямой override widget'ов (если slug не задан или не нашёлся). */
|
|
6
4
|
widgets?: WidgetNode[];
|
|
7
|
-
/** Заголовок страницы. */
|
|
8
5
|
title?: string;
|
|
9
|
-
/** Подзаголовок (description). */
|
|
10
6
|
subtitle?: string;
|
|
11
7
|
}
|
|
12
8
|
declare var __VLS_1: {};
|
|
13
9
|
type __VLS_Slots = {} & {
|
|
14
10
|
actions?: (props: typeof __VLS_1) => any;
|
|
15
11
|
};
|
|
16
|
-
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
12
|
+
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
13
|
+
"change-period": (value: string) => any;
|
|
14
|
+
export: () => any;
|
|
15
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
16
|
+
"onChange-period"?: ((value: string) => any) | undefined;
|
|
17
|
+
onExport?: (() => any) | undefined;
|
|
18
|
+
}>, {
|
|
17
19
|
title: string;
|
|
18
20
|
slug: string;
|
|
19
|
-
subtitle: string;
|
|
20
21
|
widgets: WidgetNode[];
|
|
22
|
+
subtitle: string;
|
|
21
23
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
22
24
|
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
23
25
|
export default _default;
|
|
@@ -15,10 +15,10 @@ interface Props {
|
|
|
15
15
|
}
|
|
16
16
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
17
17
|
value: number;
|
|
18
|
+
size: number;
|
|
18
19
|
label: string;
|
|
19
20
|
title: string;
|
|
20
21
|
color: string;
|
|
21
|
-
size: number;
|
|
22
22
|
max: number;
|
|
23
23
|
min: number;
|
|
24
24
|
suffix: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
2
|
+
configure: () => any;
|
|
3
|
+
remove: () => any;
|
|
4
|
+
}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{
|
|
5
|
+
onConfigure?: (() => any) | undefined;
|
|
6
|
+
onRemove?: (() => any) | undefined;
|
|
7
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { WidgetLayoutItem } from '../../stores/dashboard';
|
|
2
|
+
interface Props {
|
|
3
|
+
open: boolean;
|
|
4
|
+
/** 'add' — выбор типа; 'configure' — редактирование существующего. */
|
|
5
|
+
mode?: 'add' | 'configure';
|
|
6
|
+
/** Initial-state для configure (slug + type + size + config). */
|
|
7
|
+
item?: WidgetLayoutItem | null;
|
|
8
|
+
/** Title виджета на момент открытия (для configure-mode из manifest'а). */
|
|
9
|
+
initialTitle?: string;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
12
|
+
add: (item: WidgetLayoutItem) => any;
|
|
13
|
+
close: () => any;
|
|
14
|
+
save: (patch: Partial<WidgetLayoutItem>) => any;
|
|
15
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
16
|
+
onAdd?: ((item: WidgetLayoutItem) => any) | undefined;
|
|
17
|
+
onClose?: (() => any) | undefined;
|
|
18
|
+
onSave?: ((patch: Partial<WidgetLayoutItem>) => any) | undefined;
|
|
19
|
+
}>, {
|
|
20
|
+
mode: "add" | "configure";
|
|
21
|
+
item: WidgetLayoutItem | null;
|
|
22
|
+
initialTitle: string;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
export default _default;
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Default-bundle с минимальным набором builtin widget-типов.
|
|
3
3
|
*/
|
|
4
|
+
/**
|
|
5
|
+
* Регистрирует встроенные widget-компоненты + backend-aliases. Имена
|
|
6
|
+
* слева совпадают с тем что отдают backend Widget::widgetType()
|
|
7
|
+
* (`stats`/`chart`/`recent_list` и т.д.); справа — frontend Vue-компонент.
|
|
8
|
+
*/
|
|
4
9
|
export declare function registerBuiltinWidgets(): void;
|
|
@@ -15,10 +15,10 @@ interface Props {
|
|
|
15
15
|
}
|
|
16
16
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
17
17
|
label: string | null;
|
|
18
|
-
disabled: boolean;
|
|
19
|
-
required: boolean;
|
|
20
18
|
max: string | null;
|
|
21
19
|
min: string | null;
|
|
20
|
+
disabled: boolean;
|
|
21
|
+
required: boolean;
|
|
22
22
|
help: string | null;
|
|
23
23
|
inputType: "date" | "datetime-local" | "time";
|
|
24
24
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -12,13 +12,13 @@ interface Props {
|
|
|
12
12
|
}
|
|
13
13
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
14
14
|
label: string | null;
|
|
15
|
+
max: number | null;
|
|
16
|
+
min: number | null;
|
|
15
17
|
disabled: boolean;
|
|
16
18
|
placeholder: string | null;
|
|
17
19
|
step: number | null;
|
|
18
|
-
required: boolean;
|
|
19
20
|
readonly: boolean;
|
|
20
|
-
|
|
21
|
-
min: number | null;
|
|
21
|
+
required: boolean;
|
|
22
22
|
help: string | null;
|
|
23
23
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
24
|
export default _default;
|
|
@@ -16,10 +16,10 @@ interface Props {
|
|
|
16
16
|
size?: 'sm' | 'md' | 'lg';
|
|
17
17
|
}
|
|
18
18
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
19
|
+
size: "sm" | "md" | "lg";
|
|
19
20
|
label: string | null;
|
|
20
21
|
disabled: boolean;
|
|
21
22
|
placeholder: string | null;
|
|
22
|
-
size: "sm" | "md" | "lg";
|
|
23
23
|
searchable: boolean;
|
|
24
24
|
required: boolean;
|
|
25
25
|
clearable: boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
interface SuggestionGroup {
|
|
2
|
+
label: string;
|
|
3
|
+
items: string[];
|
|
4
|
+
}
|
|
5
|
+
interface Props {
|
|
6
|
+
name: string;
|
|
7
|
+
label?: string | null;
|
|
8
|
+
help?: string | null;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
placeholder?: string | null;
|
|
11
|
+
/** Плоский список подсказок (compat-вариант). */
|
|
12
|
+
suggestions?: string[];
|
|
13
|
+
/**
|
|
14
|
+
* Группированные подсказки. Когда заданы — dropdown рендерится с
|
|
15
|
+
* заголовками групп. Имеет приоритет над `suggestions`.
|
|
16
|
+
*/
|
|
17
|
+
suggestionsByGroup?: SuggestionGroup[];
|
|
18
|
+
/** Лимит количества тегов. */
|
|
19
|
+
maxItems?: number;
|
|
20
|
+
/**
|
|
21
|
+
* Дополнительный разделитель (помимо Enter). Например `,` или `;`.
|
|
22
|
+
* При вводе одного из этих символов value до него превращается в chip.
|
|
23
|
+
*/
|
|
24
|
+
separator?: string;
|
|
25
|
+
disabled?: boolean;
|
|
26
|
+
}
|
|
27
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
28
|
+
label: string | null;
|
|
29
|
+
disabled: boolean;
|
|
30
|
+
placeholder: string | null;
|
|
31
|
+
required: boolean;
|
|
32
|
+
help: string | null;
|
|
33
|
+
suggestions: string[];
|
|
34
|
+
suggestionsByGroup: SuggestionGroup[];
|
|
35
|
+
maxItems: number;
|
|
36
|
+
separator: string;
|
|
37
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
38
|
+
export default _default;
|
|
@@ -12,8 +12,8 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
12
12
|
label: string | null;
|
|
13
13
|
disabled: boolean;
|
|
14
14
|
placeholder: string | null;
|
|
15
|
-
required: boolean;
|
|
16
15
|
readonly: boolean;
|
|
16
|
+
required: boolean;
|
|
17
17
|
rows: number;
|
|
18
18
|
help: string | null;
|
|
19
19
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -13,8 +13,8 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
13
13
|
label: string | null;
|
|
14
14
|
disabled: boolean;
|
|
15
15
|
placeholder: string | null;
|
|
16
|
-
required: boolean;
|
|
17
16
|
readonly: boolean;
|
|
17
|
+
required: boolean;
|
|
18
18
|
autocomplete: string | null;
|
|
19
19
|
help: string | null;
|
|
20
20
|
inputType: "text" | "email" | "url" | "password" | "tel" | "search";
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
name: string;
|
|
3
|
+
label?: string | null;
|
|
4
|
+
help?: string | null;
|
|
5
|
+
required?: boolean;
|
|
6
|
+
placeholder?: string | null;
|
|
7
|
+
/** Override доступных локалей. Default — locale.available. */
|
|
8
|
+
locales?: string[];
|
|
9
|
+
/** Использовать textarea вместо input (для длинных полей body/description). */
|
|
10
|
+
multiline?: boolean;
|
|
11
|
+
rows?: number;
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
15
|
+
label: string | null;
|
|
16
|
+
disabled: boolean;
|
|
17
|
+
placeholder: string | null;
|
|
18
|
+
required: boolean;
|
|
19
|
+
rows: number;
|
|
20
|
+
help: string | null;
|
|
21
|
+
locales: string[];
|
|
22
|
+
multiline: boolean;
|
|
23
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
export default _default;
|
|
@@ -5,12 +5,11 @@ interface Props {
|
|
|
5
5
|
required?: boolean;
|
|
6
6
|
placeholder?: string | null;
|
|
7
7
|
/**
|
|
8
|
-
* Quill toolbar config
|
|
8
|
+
* Quill toolbar config. Принимает `'essential' | 'minimal' | 'full'`
|
|
9
|
+
* либо raw-конфиг массивом групп.
|
|
9
10
|
*/
|
|
10
11
|
toolbar?: string | unknown[];
|
|
11
|
-
/**
|
|
12
|
-
* Имя темы Quill ('snow' default | 'bubble' | 'core').
|
|
13
|
-
*/
|
|
12
|
+
/** 'snow' (default toolbar) | 'bubble' (inline) | 'core' (без UI). */
|
|
14
13
|
theme?: 'snow' | 'bubble' | 'core';
|
|
15
14
|
disabled?: boolean;
|
|
16
15
|
}
|
|
@@ -19,8 +18,8 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
19
18
|
disabled: boolean;
|
|
20
19
|
placeholder: string | null;
|
|
21
20
|
theme: "snow" | "bubble" | "core";
|
|
22
|
-
required: boolean;
|
|
23
21
|
toolbar: string | unknown[];
|
|
22
|
+
required: boolean;
|
|
24
23
|
help: string | null;
|
|
25
24
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
26
25
|
export default _default;
|
|
@@ -12,7 +12,7 @@ declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, imp
|
|
|
12
12
|
map: Record<string, BadgeVariant>;
|
|
13
13
|
value: string | null;
|
|
14
14
|
label: string;
|
|
15
|
-
variant: BadgeVariant;
|
|
16
15
|
name: string;
|
|
16
|
+
variant: BadgeVariant;
|
|
17
17
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
18
|
export default _default;
|
|
@@ -6,12 +6,17 @@ interface Props {
|
|
|
6
6
|
placeholder?: string;
|
|
7
7
|
/** Применить mono-font (например для ID/UUID). */
|
|
8
8
|
mono?: boolean;
|
|
9
|
+
/** Preset форматтер: datetime/date/money/boolean/bytes. */
|
|
10
|
+
preset?: string;
|
|
11
|
+
meta?: Record<string, unknown>;
|
|
9
12
|
}
|
|
10
13
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
11
14
|
value: string | number | null;
|
|
12
15
|
label: string;
|
|
13
|
-
|
|
16
|
+
meta: Record<string, unknown>;
|
|
14
17
|
name: string;
|
|
18
|
+
placeholder: string;
|
|
15
19
|
mono: boolean;
|
|
20
|
+
preset: string;
|
|
16
21
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
17
22
|
export default _default;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/** Включена ли 2FA на момент монтирования (auth.user.twoFactorEnabled). */
|
|
3
|
+
enabled: boolean;
|
|
4
|
+
}
|
|
5
|
+
declare var __VLS_17: {
|
|
6
|
+
uri: string;
|
|
7
|
+
};
|
|
8
|
+
type __VLS_Slots = {} & {
|
|
9
|
+
'qr-code'?: (props: typeof __VLS_17) => any;
|
|
10
|
+
};
|
|
11
|
+
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
12
|
+
disabled: () => any;
|
|
13
|
+
enabled: () => any;
|
|
14
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
15
|
+
onDisabled?: (() => any) | undefined;
|
|
16
|
+
onEnabled?: (() => any) | undefined;
|
|
17
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
18
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
19
|
+
export default _default;
|
|
20
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
21
|
+
new (): {
|
|
22
|
+
$slots: S;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { type FilterDef } from './FilterEditor';
|
|
2
|
+
interface ColumnDef {
|
|
3
|
+
key?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
label?: string;
|
|
6
|
+
groupable?: boolean;
|
|
7
|
+
hidden?: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface Props {
|
|
10
|
+
search: string;
|
|
11
|
+
searchPlaceholder?: string;
|
|
12
|
+
filters: FilterDef[];
|
|
13
|
+
values: Record<string, unknown>;
|
|
14
|
+
columns: ColumnDef[];
|
|
15
|
+
/** Group-by column key (если выбран). */
|
|
16
|
+
groupBy?: string | null;
|
|
17
|
+
/** Visibility map для column-toggle. true = видна. */
|
|
18
|
+
columnVisibility?: Record<string, boolean>;
|
|
19
|
+
/** Показывать ли "Сохранить" (saved-views) — host управляет наличием feature. */
|
|
20
|
+
enableSavedViews?: boolean;
|
|
21
|
+
}
|
|
22
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
|
+
reset: () => any;
|
|
24
|
+
"update:search": (value: string) => any;
|
|
25
|
+
"apply-filter": (name: string, value: unknown) => any;
|
|
26
|
+
"group-by": (column: string | null) => any;
|
|
27
|
+
"columns-visibility": (next: Record<string, boolean>) => any;
|
|
28
|
+
"save-view": (label: string) => any;
|
|
29
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
30
|
+
onReset?: (() => any) | undefined;
|
|
31
|
+
"onUpdate:search"?: ((value: string) => any) | undefined;
|
|
32
|
+
"onApply-filter"?: ((name: string, value: unknown) => any) | undefined;
|
|
33
|
+
"onGroup-by"?: ((column: string | null) => any) | undefined;
|
|
34
|
+
"onColumns-visibility"?: ((next: Record<string, boolean>) => any) | undefined;
|
|
35
|
+
"onSave-view"?: ((label: string) => any) | undefined;
|
|
36
|
+
}>, {
|
|
37
|
+
searchPlaceholder: string;
|
|
38
|
+
groupBy: string | null;
|
|
39
|
+
columnVisibility: Record<string, boolean>;
|
|
40
|
+
enableSavedViews: boolean;
|
|
41
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
42
|
+
export default _default;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
/**
|
|
3
|
+
* Eloquent morph-class либо FQCN модели. Может быть пустой строкой /
|
|
4
|
+
* null — компонент в этом случае не делает запрос и показывает
|
|
5
|
+
* пустой state. Это нужно чтобы блок «История изменений» был всегда
|
|
6
|
+
* виден на view-странице даже когда у Resource не задан model-class.
|
|
7
|
+
*/
|
|
8
|
+
subjectType: string | null;
|
|
9
|
+
subjectId: string | number;
|
|
10
|
+
}
|
|
11
|
+
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FilterEditor — render-функция для редактора одного filter'а.
|
|
3
|
+
*
|
|
4
|
+
* Отдельный модуль (не SFC), потому что компонент чисто render-based —
|
|
5
|
+
* выбирает control под filter.type без шаблона и состояния.
|
|
6
|
+
*/
|
|
7
|
+
import { type PropType } from 'vue';
|
|
8
|
+
export interface FilterOption {
|
|
9
|
+
value: string | number;
|
|
10
|
+
label: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FilterDef {
|
|
13
|
+
name: string;
|
|
14
|
+
label: string;
|
|
15
|
+
type: string;
|
|
16
|
+
icon?: string | null;
|
|
17
|
+
options?: FilterOption[] | null;
|
|
18
|
+
multiple?: boolean;
|
|
19
|
+
default?: unknown;
|
|
20
|
+
placeholder?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare const FilterEditor: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
23
|
+
filter: {
|
|
24
|
+
type: PropType<FilterDef>;
|
|
25
|
+
required: true;
|
|
26
|
+
};
|
|
27
|
+
draft: {
|
|
28
|
+
type: PropType<unknown>;
|
|
29
|
+
required: false;
|
|
30
|
+
default: unknown;
|
|
31
|
+
};
|
|
32
|
+
isChecked: {
|
|
33
|
+
type: PropType<(v: string | number) => boolean>;
|
|
34
|
+
required: true;
|
|
35
|
+
};
|
|
36
|
+
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
37
|
+
[key: string]: any;
|
|
38
|
+
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("toggle-option" | "set-draft")[], "toggle-option" | "set-draft", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
39
|
+
filter: {
|
|
40
|
+
type: PropType<FilterDef>;
|
|
41
|
+
required: true;
|
|
42
|
+
};
|
|
43
|
+
draft: {
|
|
44
|
+
type: PropType<unknown>;
|
|
45
|
+
required: false;
|
|
46
|
+
default: unknown;
|
|
47
|
+
};
|
|
48
|
+
isChecked: {
|
|
49
|
+
type: PropType<(v: string | number) => boolean>;
|
|
50
|
+
required: true;
|
|
51
|
+
};
|
|
52
|
+
}>> & Readonly<{
|
|
53
|
+
"onToggle-option"?: ((...args: any[]) => any) | undefined;
|
|
54
|
+
"onSet-draft"?: ((...args: any[]) => any) | undefined;
|
|
55
|
+
}>, {
|
|
56
|
+
draft: unknown;
|
|
57
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
58
|
+
export default FilterEditor;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
resourceSlug: string;
|
|
3
|
+
rowId: string | number;
|
|
4
|
+
column: string;
|
|
5
|
+
value: unknown;
|
|
6
|
+
/** Если false — двойной клик ничего не делает (read-only cell). */
|
|
7
|
+
editable?: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare var __VLS_1: {};
|
|
10
|
+
type __VLS_Slots = {} & {
|
|
11
|
+
default?: (props: typeof __VLS_1) => any;
|
|
12
|
+
};
|
|
13
|
+
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
14
|
+
saved: (value: unknown) => any;
|
|
15
|
+
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
16
|
+
onSaved?: ((value: unknown) => any) | undefined;
|
|
17
|
+
}>, {
|
|
18
|
+
editable: boolean;
|
|
19
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
20
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
21
|
+
export default _default;
|
|
22
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
23
|
+
new (): {
|
|
24
|
+
$slots: S;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -3,11 +3,14 @@ interface Props {
|
|
|
3
3
|
slug: string;
|
|
4
4
|
/** ID записи. null/undefined → create-mode; число/строка → edit. */
|
|
5
5
|
id?: string | number | null;
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Override имени router-route для back-redirect после save/delete.
|
|
8
|
+
* По умолчанию выводится из slug: `admin.resource.{slug}.index`.
|
|
9
|
+
*/
|
|
10
|
+
indexRouteName?: string | null;
|
|
8
11
|
}
|
|
9
12
|
declare const _default: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
10
13
|
id: string | number | null;
|
|
11
|
-
indexRouteName: string;
|
|
14
|
+
indexRouteName: string | null;
|
|
12
15
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
13
16
|
export default _default;
|
|
@@ -10,25 +10,31 @@ interface Props {
|
|
|
10
10
|
/** Имя router-route для action «Создать». */
|
|
11
11
|
createRouteName?: string | null;
|
|
12
12
|
}
|
|
13
|
-
declare var __VLS_1: {},
|
|
13
|
+
declare var __VLS_1: {}, __VLS_75: {}, __VLS_153: {
|
|
14
14
|
filters: Record<string, unknown>;
|
|
15
15
|
setFilter: (key: string, value: unknown) => Promise<void>;
|
|
16
|
-
},
|
|
16
|
+
}, __VLS_215: `cell-${string}`, __VLS_216: {
|
|
17
17
|
row: Record<string, unknown> | undefined;
|
|
18
18
|
};
|
|
19
19
|
type __VLS_Slots = {} & {
|
|
20
|
-
[K in NonNullable<typeof
|
|
20
|
+
[K in NonNullable<typeof __VLS_215>]?: (props: typeof __VLS_216) => any;
|
|
21
21
|
} & {
|
|
22
22
|
actions?: (props: typeof __VLS_1) => any;
|
|
23
23
|
} & {
|
|
24
|
-
|
|
24
|
+
'header-menu'?: (props: typeof __VLS_75) => any;
|
|
25
|
+
} & {
|
|
26
|
+
filters?: (props: typeof __VLS_153) => any;
|
|
25
27
|
};
|
|
26
28
|
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
29
|
+
import: () => any;
|
|
27
30
|
"bulk-action": (action: string, ids: (string | number)[]) => any;
|
|
28
31
|
"row-click": (row: Record<string, unknown>) => any;
|
|
32
|
+
"header-action": (action: string) => any;
|
|
29
33
|
}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{
|
|
34
|
+
onImport?: (() => any) | undefined;
|
|
30
35
|
"onBulk-action"?: ((action: string, ids: (string | number)[]) => any) | undefined;
|
|
31
36
|
"onRow-click"?: ((row: Record<string, unknown>) => any) | undefined;
|
|
37
|
+
"onHeader-action"?: ((action: string) => any) | undefined;
|
|
32
38
|
}>, {
|
|
33
39
|
title: string | null;
|
|
34
40
|
subtitle: string | null;
|
|
@@ -3,11 +3,40 @@ interface Props {
|
|
|
3
3
|
id: string | number;
|
|
4
4
|
/** Имя router-route для перехода в edit. */
|
|
5
5
|
editRouteName?: string;
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Override имени router-route для back-link / возврата после delete.
|
|
8
|
+
* По умолчанию выводится из slug: `admin.resource.{slug}.index`. Если
|
|
9
|
+
* у host'а собственное имя — передаётся явно.
|
|
10
|
+
*/
|
|
11
|
+
indexRouteName?: string | null;
|
|
12
|
+
/**
|
|
13
|
+
* Override Eloquent morph-class. По умолчанию резолвится из
|
|
14
|
+
* `manifest.resources[slug].subject_type` (Resource::meta()).
|
|
15
|
+
*/
|
|
16
|
+
auditSubjectType?: string | null;
|
|
17
|
+
/** Поле в record, по которому считать status badge. По умолчанию `status`. */
|
|
18
|
+
statusField?: string;
|
|
19
|
+
/** Префикс UID-метки рядом со статусом. Например 'A-' даёт 'A-1284'. */
|
|
20
|
+
uidPrefix?: string;
|
|
8
21
|
}
|
|
9
|
-
declare
|
|
10
|
-
|
|
22
|
+
declare var __VLS_75: {
|
|
23
|
+
record: Record<string, unknown>;
|
|
24
|
+
resource: import("../..").ManifestResourceMeta | null;
|
|
25
|
+
};
|
|
26
|
+
type __VLS_Slots = {} & {
|
|
27
|
+
sidebar?: (props: typeof __VLS_75) => any;
|
|
28
|
+
};
|
|
29
|
+
declare const __VLS_component: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
30
|
+
indexRouteName: string | null;
|
|
11
31
|
editRouteName: string;
|
|
32
|
+
auditSubjectType: string | null;
|
|
33
|
+
statusField: string;
|
|
34
|
+
uidPrefix: string;
|
|
12
35
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
36
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
13
37
|
export default _default;
|
|
38
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
39
|
+
new (): {
|
|
40
|
+
$slots: S;
|
|
41
|
+
};
|
|
42
|
+
};
|