@modufolio/panel 0.1.0 → 0.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/README.md +1 -1
- package/dist/Builder/dragHandle.d.ts +10 -0
- package/dist/Builder/schema.d.ts +1 -1
- package/dist/Components/Actions/Action.vue.d.ts +1 -1
- package/dist/Components/Columns/CellActions.vue.d.ts +7 -7
- package/dist/Components/Columns/SelectColumn.vue.d.ts +8 -2
- package/dist/Components/Core/Button.vue.d.ts +2 -2
- package/dist/Components/Core/FlashMessages.vue.d.ts +6 -1
- package/dist/Components/Core/SelectInput.vue.d.ts +1 -1
- package/dist/Components/Core/TextInput.vue.d.ts +1 -1
- package/dist/Components/Dialogs/Dialog.vue.d.ts +1 -1
- package/dist/Components/Drawer/Drawer.vue.d.ts +1 -1
- package/dist/Components/Drawer/DrawerLink.vue.d.ts +4 -3
- package/dist/Components/Drawer/DrawerRelationList.vue.d.ts +12 -10
- package/dist/Components/Drawer/DrawerStack.vue.d.ts +14 -14
- package/dist/Components/Drawer/useDrawerDirtyGuard.d.ts +17 -0
- package/dist/Components/Drawer/useDrawerStack.d.ts +1 -1
- package/dist/Components/Drawer/useIsDrawer.d.ts +8 -0
- package/dist/Components/Fields/BelongsToSelect.vue.d.ts +14 -9
- package/dist/Components/Fields/CheckboxField.vue.d.ts +2 -2
- package/dist/Components/Fields/ColorPickerField.vue.d.ts +3 -3
- package/dist/Components/Fields/DataField.vue.d.ts +55 -0
- package/dist/Components/Fields/DatePickerField.vue.d.ts +2 -2
- package/dist/Components/Fields/DateRangePickerField.vue.d.ts +2 -2
- package/dist/Components/Fields/DateTimePickerField.vue.d.ts +2 -2
- package/dist/Components/Fields/EmbedField.vue.d.ts +95 -0
- package/dist/Components/Fields/FieldDescription.vue.d.ts +25 -0
- package/dist/Components/Fields/FieldLabel.vue.d.ts +67 -0
- package/dist/Components/Fields/FieldMessage.vue.d.ts +25 -0
- package/dist/Components/Fields/FieldPrimitive.vue.d.ts +127 -0
- package/dist/Components/Fields/FileUploadField.vue.d.ts +2 -2
- package/dist/Components/Fields/HiddenField.vue.d.ts +28 -0
- package/dist/Components/Fields/MultiSelectField.vue.d.ts +3 -3
- package/dist/Components/Fields/ProseMirrorBuilderField.vue.d.ts +1 -1
- package/dist/Components/Fields/RangeField.vue.d.ts +2 -2
- package/dist/Components/Fields/RepeaterField.vue.d.ts +29 -15
- package/dist/Components/Fields/RichTextEditorField.vue.d.ts +3 -3
- package/dist/Components/Fields/SelectField.vue.d.ts +6 -5
- package/dist/Components/Fields/SetField.vue.d.ts +77 -0
- package/dist/Components/Fields/TagsField.vue.d.ts +3 -3
- package/dist/Components/Fields/TextField.vue.d.ts +4 -4
- package/dist/Components/Fields/TextareaField.vue.d.ts +3 -3
- package/dist/Components/Fields/TimePickerField.vue.d.ts +2 -2
- package/dist/Components/Fields/ToggleButtonsField.vue.d.ts +10 -5
- package/dist/Components/Fields/ToggleField.vue.d.ts +2 -2
- package/dist/Components/Fields/fieldsFromSpec.d.ts +10 -2
- package/dist/Components/Fields/useBlueprint.d.ts +4 -0
- package/dist/Components/Filters/DateRangeFilter.vue.d.ts +1 -1
- package/dist/Components/Filters/MultiSelectFilter.vue.d.ts +2 -2
- package/dist/Components/Filters/NumberFilter.vue.d.ts +1 -1
- package/dist/Components/Filters/SelectFilter.vue.d.ts +2 -2
- package/dist/Components/Filters/TernaryFilter.vue.d.ts +1 -1
- package/dist/Components/Layout/AppLayout.vue.d.ts +5 -3
- package/dist/Components/Layout/Breadcrumbs.vue.d.ts +2 -2
- package/dist/Components/Layout/Sidebar.vue.d.ts +22 -3
- package/dist/Components/Relations/RelationManager.vue.d.ts +4 -3
- package/dist/Components/Table/ExportButton.vue.d.ts +3 -3
- package/dist/Components/Table/SchemaCell.d.ts +7 -7
- package/dist/Components/Table/SchemaTable.vue.d.ts +21 -20
- package/dist/Components/Table/schemaLinks.d.ts +11 -3
- package/dist/Components/Table/tableSchema.d.ts +28 -11
- package/dist/Components/Table/tableTypes.d.ts +14 -1
- package/dist/Components/Table/useSchemaActions.d.ts +9 -26
- package/dist/Composables/useDeleteConfirmation.d.ts +11 -31
- package/dist/Composables/useNestedDrawerForm.d.ts +7 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +9951 -9770
- package/dist/index.js.map +1 -1
- package/docs/custom-fields.md +54 -2
- package/docs/drawer-protocol.md +27 -1
- package/docs/table-schema.md +5 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,4 +10,14 @@ import { EditorView } from 'prosemirror-view';
|
|
|
10
10
|
* event alone rather than starting a drag that cannot finish.
|
|
11
11
|
*/
|
|
12
12
|
export declare function startBlockDrag(view: EditorView, pos: number, event: DragEvent): boolean;
|
|
13
|
+
/**
|
|
14
|
+
* The top-level block at a viewport coordinate, or null.
|
|
15
|
+
*
|
|
16
|
+
* `x` is pulled inside the content box before asking, so hovering the gutter —
|
|
17
|
+
* which is outside the editable area — still resolves the block beside it.
|
|
18
|
+
*
|
|
19
|
+
* Exported for the same reason as `startBlockDrag`: the coordinate handling
|
|
20
|
+
* around it needs a layout engine, but the position arithmetic does not.
|
|
21
|
+
*/
|
|
22
|
+
export declare function blockPosAt(view: EditorView, x: number, y: number): number | null;
|
|
13
23
|
export declare function blockDragHandle(): Plugin;
|
package/dist/Builder/schema.d.ts
CHANGED
|
@@ -16,5 +16,5 @@ export type CodeLanguage = (typeof CODE_LANGUAGES)[number];
|
|
|
16
16
|
* ProseMirror-based CMSs (see docs/prosemirror-builder.md §3.3).
|
|
17
17
|
*/
|
|
18
18
|
export declare function safeHref(value: unknown): string | null;
|
|
19
|
-
export declare const schema: Schema<"
|
|
19
|
+
export declare const schema: Schema<"blockquote" | "image" | "text" | "heading" | "doc" | "paragraph" | "code_block" | "bullet_list" | "ordered_list" | "list_item" | "hard_break", "code" | "em" | "link" | "strong">;
|
|
20
20
|
export type BuilderSchema = typeof schema;
|
|
@@ -97,8 +97,8 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
97
97
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
98
98
|
}>, {
|
|
99
99
|
size: string;
|
|
100
|
-
label: string;
|
|
101
100
|
type: "button" | "reset" | "submit";
|
|
101
|
+
label: string;
|
|
102
102
|
disabled: boolean;
|
|
103
103
|
color: string;
|
|
104
104
|
icon: string | Function | Record<string, any>;
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
|
-
import { SchemaColumn, SchemaColumnAction } from '../Table/tableSchema';
|
|
3
|
-
|
|
2
|
+
import { SchemaColumn, SchemaColumnAction, CellActionHandler } from '../Table/tableSchema';
|
|
3
|
+
import { TableRecord } from '../Table/tableTypes';
|
|
4
4
|
declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
5
5
|
column: {
|
|
6
6
|
type: PropType<SchemaColumn>;
|
|
7
7
|
required: true;
|
|
8
8
|
};
|
|
9
9
|
record: {
|
|
10
|
-
type: PropType<
|
|
10
|
+
type: PropType<TableRecord>;
|
|
11
11
|
required: true;
|
|
12
12
|
};
|
|
13
13
|
handlers: {
|
|
14
|
-
type: PropType<Record<string,
|
|
14
|
+
type: PropType<Record<string, CellActionHandler>>;
|
|
15
15
|
default: () => {};
|
|
16
16
|
};
|
|
17
17
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
@@ -20,15 +20,15 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
20
20
|
required: true;
|
|
21
21
|
};
|
|
22
22
|
record: {
|
|
23
|
-
type: PropType<
|
|
23
|
+
type: PropType<TableRecord>;
|
|
24
24
|
required: true;
|
|
25
25
|
};
|
|
26
26
|
handlers: {
|
|
27
|
-
type: PropType<Record<string,
|
|
27
|
+
type: PropType<Record<string, CellActionHandler>>;
|
|
28
28
|
default: () => {};
|
|
29
29
|
};
|
|
30
30
|
}>> & Readonly<{}>, {
|
|
31
|
-
handlers: Record<string,
|
|
31
|
+
handlers: Record<string, (record: TableRecord, action: SchemaColumnAction) => unknown>;
|
|
32
32
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
33
33
|
declare const _default: typeof __VLS_export;
|
|
34
34
|
export default _default;
|
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
|
+
/** One choice as rendered; a bare string or number is accepted and normalised to this. */
|
|
3
|
+
interface SelectOption {
|
|
4
|
+
label: string;
|
|
5
|
+
value: string | number;
|
|
6
|
+
class?: string;
|
|
7
|
+
}
|
|
2
8
|
declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
3
9
|
value: {
|
|
4
10
|
type: (StringConstructor | NumberConstructor | BooleanConstructor)[];
|
|
@@ -13,7 +19,7 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
13
19
|
required: true;
|
|
14
20
|
};
|
|
15
21
|
options: {
|
|
16
|
-
type: PropType<
|
|
22
|
+
type: PropType<Array<SelectOption | string | number>>;
|
|
17
23
|
required: true;
|
|
18
24
|
};
|
|
19
25
|
placeholder: {
|
|
@@ -44,7 +50,7 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
44
50
|
required: true;
|
|
45
51
|
};
|
|
46
52
|
options: {
|
|
47
|
-
type: PropType<
|
|
53
|
+
type: PropType<Array<SelectOption | string | number>>;
|
|
48
54
|
required: true;
|
|
49
55
|
};
|
|
50
56
|
placeholder: {
|
|
@@ -110,12 +110,12 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
110
110
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
111
111
|
}>, {
|
|
112
112
|
size: string;
|
|
113
|
-
label: string;
|
|
114
113
|
type: string;
|
|
114
|
+
label: string;
|
|
115
|
+
as: string;
|
|
115
116
|
disabled: boolean;
|
|
116
117
|
color: string;
|
|
117
118
|
loading: boolean;
|
|
118
|
-
as: string;
|
|
119
119
|
href: string;
|
|
120
120
|
icon: Function | Record<string, any>;
|
|
121
121
|
iconPosition: string;
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
/** Server flash messages, surfaced through DefaultProps as `$page.props.flash`. */
|
|
2
|
+
interface FlashProps {
|
|
3
|
+
success?: string | null;
|
|
4
|
+
error?: string | null;
|
|
5
|
+
}
|
|
1
6
|
declare const _default: typeof __VLS_export;
|
|
2
7
|
export default _default;
|
|
3
8
|
declare const __VLS_export: import('vue').DefineComponent<{}, {}, {
|
|
4
9
|
show: boolean;
|
|
5
10
|
}, {
|
|
6
|
-
flash():
|
|
11
|
+
flash(): FlashProps;
|
|
7
12
|
}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -13,8 +13,8 @@ declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
13
13
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
14
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
15
15
|
}>, {
|
|
16
|
-
modelValue: string | null;
|
|
17
16
|
id: string;
|
|
17
|
+
modelValue: string | null;
|
|
18
18
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
19
19
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
20
20
|
declare const _default: typeof __VLS_export;
|
|
@@ -17,9 +17,9 @@ declare const __VLS_export: import('vue').DefineComponent<__VLS_Props, {
|
|
|
17
17
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
18
18
|
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
19
19
|
}>, {
|
|
20
|
-
modelValue: string;
|
|
21
20
|
id: string;
|
|
22
21
|
type: string;
|
|
22
|
+
modelValue: string;
|
|
23
23
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
24
24
|
declare const _default: typeof __VLS_export;
|
|
25
25
|
export default _default;
|
|
@@ -65,8 +65,8 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
65
65
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
66
66
|
"onUpdate:isOpen"?: ((...args: any[]) => any) | undefined;
|
|
67
67
|
}>, {
|
|
68
|
-
width: string;
|
|
69
68
|
title: string;
|
|
69
|
+
width: string;
|
|
70
70
|
description: string;
|
|
71
71
|
closable: boolean;
|
|
72
72
|
closeOnOverlay: boolean;
|
|
@@ -109,8 +109,8 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
109
109
|
onActivate?: ((...args: any[]) => any) | undefined;
|
|
110
110
|
onBack?: ((...args: any[]) => any) | undefined;
|
|
111
111
|
}>, {
|
|
112
|
-
width: string;
|
|
113
112
|
title: string;
|
|
113
|
+
width: string;
|
|
114
114
|
description: string;
|
|
115
115
|
closable: boolean;
|
|
116
116
|
closeOnOverlay: boolean;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PropType } from 'vue';
|
|
1
2
|
declare var __VLS_1: {};
|
|
2
3
|
type __VLS_Slots = {} & {
|
|
3
4
|
default?: (props: typeof __VLS_1) => any;
|
|
@@ -37,7 +38,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
37
38
|
* These help the backend maintain list context for navigation.
|
|
38
39
|
*/
|
|
39
40
|
queryParams: {
|
|
40
|
-
type:
|
|
41
|
+
type: PropType<Record<string, unknown>>;
|
|
41
42
|
default: () => {};
|
|
42
43
|
};
|
|
43
44
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
@@ -75,7 +76,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
75
76
|
* These help the backend maintain list context for navigation.
|
|
76
77
|
*/
|
|
77
78
|
queryParams: {
|
|
78
|
-
type:
|
|
79
|
+
type: PropType<Record<string, unknown>>;
|
|
79
80
|
default: () => {};
|
|
80
81
|
};
|
|
81
82
|
}>> & Readonly<{}>, {
|
|
@@ -84,7 +85,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
84
85
|
preserveState: boolean;
|
|
85
86
|
only: string[];
|
|
86
87
|
showArrow: boolean;
|
|
87
|
-
queryParams: Record<string,
|
|
88
|
+
queryParams: Record<string, unknown>;
|
|
88
89
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
89
90
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
90
91
|
declare const _default: typeof __VLS_export;
|
|
@@ -12,14 +12,16 @@
|
|
|
12
12
|
* when the target's drawer slot lives on *another* page, which a drawer-only
|
|
13
13
|
* visit would leave unrendered.
|
|
14
14
|
*/
|
|
15
|
+
/** One related row, as the server sends it; `id` keys the row when present. */
|
|
16
|
+
type RelationItem = Record<string, unknown>;
|
|
15
17
|
type __VLS_Props = {
|
|
16
|
-
items?:
|
|
18
|
+
items?: RelationItem[];
|
|
17
19
|
heading?: string;
|
|
18
20
|
emptyText?: string;
|
|
19
21
|
/** Builds the row's destination; rows are inert when omitted. */
|
|
20
|
-
href?: (item:
|
|
22
|
+
href?: (item: RelationItem) => string;
|
|
21
23
|
navigation?: 'drawer' | 'visit';
|
|
22
|
-
queryParams?: Record<string,
|
|
24
|
+
queryParams?: Record<string, unknown>;
|
|
23
25
|
variant?: 'list' | 'cards';
|
|
24
26
|
/** Show the "+ Add" affordance and emit `add`. */
|
|
25
27
|
addable?: boolean;
|
|
@@ -34,10 +36,10 @@ type __VLS_Props = {
|
|
|
34
36
|
showChevron?: boolean;
|
|
35
37
|
};
|
|
36
38
|
declare var __VLS_1: {}, __VLS_3: {}, __VLS_13: {
|
|
37
|
-
item:
|
|
39
|
+
item: RelationItem;
|
|
38
40
|
index: number;
|
|
39
41
|
}, __VLS_15: {
|
|
40
|
-
item:
|
|
42
|
+
item: RelationItem;
|
|
41
43
|
index: number;
|
|
42
44
|
};
|
|
43
45
|
type __VLS_Slots = {} & {
|
|
@@ -50,19 +52,19 @@ type __VLS_Slots = {} & {
|
|
|
50
52
|
rowActions?: (props: typeof __VLS_15) => any;
|
|
51
53
|
};
|
|
52
54
|
declare const __VLS_base: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
53
|
-
delete: (item:
|
|
55
|
+
delete: (item: RelationItem) => any;
|
|
54
56
|
add: () => any;
|
|
55
57
|
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
56
|
-
onDelete?: ((item:
|
|
58
|
+
onDelete?: ((item: RelationItem) => any) | undefined;
|
|
57
59
|
onAdd?: (() => any) | undefined;
|
|
58
60
|
}>, {
|
|
59
61
|
navigation: "drawer" | "visit";
|
|
60
|
-
items:
|
|
61
|
-
href: (item:
|
|
62
|
+
items: RelationItem[];
|
|
63
|
+
href: (item: RelationItem) => string;
|
|
62
64
|
variant: "list" | "cards";
|
|
63
65
|
heading: string;
|
|
64
66
|
dense: boolean;
|
|
65
|
-
queryParams: Record<string,
|
|
67
|
+
queryParams: Record<string, unknown>;
|
|
66
68
|
deleteLabel: string;
|
|
67
69
|
emptyText: string;
|
|
68
70
|
addable: boolean;
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
import { StackItem } from './useDrawerStack';
|
|
2
2
|
export type { StackItem } from './useDrawerStack';
|
|
3
|
-
declare var
|
|
3
|
+
declare var __VLS_37: `header-${string}`, __VLS_38: {
|
|
4
4
|
item: StackItem;
|
|
5
5
|
index: number;
|
|
6
|
-
},
|
|
6
|
+
}, __VLS_41: string, __VLS_42: {
|
|
7
7
|
item: StackItem;
|
|
8
8
|
index: number;
|
|
9
|
-
data: Record<string,
|
|
10
|
-
},
|
|
9
|
+
data: Record<string, unknown>;
|
|
10
|
+
}, __VLS_46: `footer-${string}`, __VLS_47: {
|
|
11
11
|
item: StackItem;
|
|
12
12
|
index: number;
|
|
13
|
-
},
|
|
13
|
+
}, __VLS_61: `header-${string}`, __VLS_62: {
|
|
14
14
|
item: StackItem;
|
|
15
15
|
index: number;
|
|
16
|
-
},
|
|
16
|
+
}, __VLS_65: string, __VLS_66: {
|
|
17
17
|
item: StackItem;
|
|
18
18
|
index: number;
|
|
19
|
-
data: Record<string,
|
|
20
|
-
},
|
|
19
|
+
data: Record<string, unknown>;
|
|
20
|
+
}, __VLS_70: `footer-${string}`, __VLS_71: {
|
|
21
21
|
item: StackItem;
|
|
22
22
|
index: number;
|
|
23
23
|
};
|
|
24
24
|
type __VLS_Slots = {} & {
|
|
25
|
-
[K in NonNullable<typeof
|
|
25
|
+
[K in NonNullable<typeof __VLS_37>]?: (props: typeof __VLS_38) => any;
|
|
26
26
|
} & {
|
|
27
|
-
[K in NonNullable<typeof
|
|
27
|
+
[K in NonNullable<typeof __VLS_41>]?: (props: typeof __VLS_42) => any;
|
|
28
28
|
} & {
|
|
29
|
-
[K in NonNullable<typeof
|
|
29
|
+
[K in NonNullable<typeof __VLS_46>]?: (props: typeof __VLS_47) => any;
|
|
30
30
|
} & {
|
|
31
|
-
[K in NonNullable<typeof
|
|
31
|
+
[K in NonNullable<typeof __VLS_61>]?: (props: typeof __VLS_62) => any;
|
|
32
32
|
} & {
|
|
33
|
-
[K in NonNullable<typeof
|
|
33
|
+
[K in NonNullable<typeof __VLS_65>]?: (props: typeof __VLS_66) => any;
|
|
34
34
|
} & {
|
|
35
|
-
[K in NonNullable<typeof
|
|
35
|
+
[K in NonNullable<typeof __VLS_70>]?: (props: typeof __VLS_71) => any;
|
|
36
36
|
};
|
|
37
37
|
declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
38
38
|
stack: {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Ref } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Guard the enclosing drawer against silent discards.
|
|
4
|
+
*
|
|
5
|
+
* Call from any component rendered inside a drawer frame, handing it the
|
|
6
|
+
* form's dirty state; every close path — X, back arrow, backdrop, Escape,
|
|
7
|
+
* clicking a background frame — then routes through the stack's single
|
|
8
|
+
* discard dialog while the form reports dirty. Unregisters itself when the
|
|
9
|
+
* component's scope ends.
|
|
10
|
+
*
|
|
11
|
+
* const { isDirty } = useNestedDrawerForm(fields)
|
|
12
|
+
* useDrawerDirtyGuard(isDirty)
|
|
13
|
+
*
|
|
14
|
+
* Outside a drawer this is a no-op, so shared components can call it
|
|
15
|
+
* unconditionally.
|
|
16
|
+
*/
|
|
17
|
+
export declare function useDrawerDirtyGuard(isDirty: Ref<boolean>): void;
|
|
@@ -37,6 +37,14 @@ export interface DrawerStackContext {
|
|
|
37
37
|
pop: () => void;
|
|
38
38
|
/** Close the entire stack */
|
|
39
39
|
closeAll: () => void;
|
|
40
|
+
/**
|
|
41
|
+
* Register an unsaved-changes check for the drawer at `level`. The stack
|
|
42
|
+
* consults every check covering the frames a close would remove — the X,
|
|
43
|
+
* the back arrow, the backdrop and Escape all route through the same
|
|
44
|
+
* guard, so no close path can silently discard edits. Returns an
|
|
45
|
+
* unregister function; call it when the owning form unmounts.
|
|
46
|
+
*/
|
|
47
|
+
registerDirtyCheck: (level: number, isDirty: () => boolean) => () => void;
|
|
40
48
|
}
|
|
41
49
|
/**
|
|
42
50
|
* Detect if the current component is rendered inside a drawer.
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { PropType } from 'vue';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* An option row, keyed by whatever `valueKey` / `labelKey` name — the shape
|
|
4
|
+
* is the consumer's, so only the two keys the field reads are interpreted.
|
|
5
|
+
*/
|
|
6
|
+
type BelongsToOption = Record<string, unknown>;
|
|
7
|
+
declare var __VLS_8: {
|
|
8
|
+
option: Record<string, unknown>;
|
|
4
9
|
};
|
|
5
10
|
type __VLS_Slots = {} & {
|
|
6
|
-
option?: (props: typeof
|
|
11
|
+
option?: (props: typeof __VLS_8) => any;
|
|
7
12
|
};
|
|
8
13
|
declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
9
14
|
modelValue: {
|
|
@@ -38,7 +43,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
38
43
|
* Options array or endpoint for fetching options
|
|
39
44
|
*/
|
|
40
45
|
options: {
|
|
41
|
-
type: PropType<
|
|
46
|
+
type: PropType<BelongsToOption[]>;
|
|
42
47
|
default: () => never[];
|
|
43
48
|
};
|
|
44
49
|
endpoint: {
|
|
@@ -144,7 +149,7 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
144
149
|
* Options array or endpoint for fetching options
|
|
145
150
|
*/
|
|
146
151
|
options: {
|
|
147
|
-
type: PropType<
|
|
152
|
+
type: PropType<BelongsToOption[]>;
|
|
148
153
|
default: () => never[];
|
|
149
154
|
};
|
|
150
155
|
endpoint: {
|
|
@@ -219,13 +224,13 @@ declare const __VLS_base: import('vue').DefineComponent<import('vue').ExtractPro
|
|
|
219
224
|
onCreate?: ((...args: any[]) => any) | undefined;
|
|
220
225
|
}>, {
|
|
221
226
|
required: boolean;
|
|
222
|
-
modelValue: string | number | null;
|
|
223
227
|
label: string;
|
|
224
|
-
placeholder: string;
|
|
225
228
|
error: string;
|
|
226
|
-
disabled: boolean;
|
|
227
229
|
width: string;
|
|
228
|
-
|
|
230
|
+
modelValue: string | number | null;
|
|
231
|
+
placeholder: string;
|
|
232
|
+
disabled: boolean;
|
|
233
|
+
options: BelongsToOption[];
|
|
229
234
|
searchable: boolean;
|
|
230
235
|
searchUrl: string;
|
|
231
236
|
endpoint: string;
|
|
@@ -80,12 +80,12 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
80
80
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
81
81
|
}>, {
|
|
82
82
|
required: boolean;
|
|
83
|
-
modelValue: boolean;
|
|
84
83
|
id: string;
|
|
85
84
|
help: string;
|
|
86
85
|
error: string;
|
|
87
|
-
disabled: boolean;
|
|
88
86
|
width: string;
|
|
87
|
+
modelValue: boolean;
|
|
88
|
+
disabled: boolean;
|
|
89
89
|
description: string;
|
|
90
90
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
91
91
|
declare const _default: typeof __VLS_export;
|
|
@@ -91,13 +91,13 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
91
91
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
92
92
|
}>, {
|
|
93
93
|
required: boolean;
|
|
94
|
-
modelValue: string;
|
|
95
94
|
label: string;
|
|
96
|
-
placeholder: string;
|
|
97
95
|
help: string;
|
|
98
96
|
error: string;
|
|
99
|
-
disabled: boolean;
|
|
100
97
|
width: string;
|
|
98
|
+
modelValue: string;
|
|
99
|
+
placeholder: string;
|
|
100
|
+
disabled: boolean;
|
|
101
101
|
presets: string[];
|
|
102
102
|
format: string;
|
|
103
103
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
2
|
+
/** Ties the label and any help/error text to the control. */
|
|
3
|
+
id: {
|
|
4
|
+
type: StringConstructor;
|
|
5
|
+
default: () => string;
|
|
6
|
+
};
|
|
7
|
+
modelValue: {
|
|
8
|
+
type: null;
|
|
9
|
+
default: null;
|
|
10
|
+
};
|
|
11
|
+
label: {
|
|
12
|
+
type: StringConstructor;
|
|
13
|
+
default: string;
|
|
14
|
+
};
|
|
15
|
+
help: {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default: string;
|
|
18
|
+
};
|
|
19
|
+
width: {
|
|
20
|
+
readonly type: StringConstructor;
|
|
21
|
+
readonly default: "full";
|
|
22
|
+
readonly validator: (v: string) => boolean;
|
|
23
|
+
};
|
|
24
|
+
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
|
|
25
|
+
/** Ties the label and any help/error text to the control. */
|
|
26
|
+
id: {
|
|
27
|
+
type: StringConstructor;
|
|
28
|
+
default: () => string;
|
|
29
|
+
};
|
|
30
|
+
modelValue: {
|
|
31
|
+
type: null;
|
|
32
|
+
default: null;
|
|
33
|
+
};
|
|
34
|
+
label: {
|
|
35
|
+
type: StringConstructor;
|
|
36
|
+
default: string;
|
|
37
|
+
};
|
|
38
|
+
help: {
|
|
39
|
+
type: StringConstructor;
|
|
40
|
+
default: string;
|
|
41
|
+
};
|
|
42
|
+
width: {
|
|
43
|
+
readonly type: StringConstructor;
|
|
44
|
+
readonly default: "full";
|
|
45
|
+
readonly validator: (v: string) => boolean;
|
|
46
|
+
};
|
|
47
|
+
}>> & Readonly<{}>, {
|
|
48
|
+
id: string;
|
|
49
|
+
label: string;
|
|
50
|
+
help: string;
|
|
51
|
+
width: string;
|
|
52
|
+
modelValue: any;
|
|
53
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
54
|
+
declare const _default: typeof __VLS_export;
|
|
55
|
+
export default _default;
|
|
@@ -90,13 +90,13 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
90
90
|
required: boolean;
|
|
91
91
|
min: string;
|
|
92
92
|
max: string;
|
|
93
|
-
modelValue: string;
|
|
94
93
|
id: string;
|
|
95
94
|
label: string;
|
|
96
95
|
help: string;
|
|
97
96
|
error: string;
|
|
98
|
-
disabled: boolean;
|
|
99
97
|
width: string;
|
|
98
|
+
modelValue: string;
|
|
99
|
+
disabled: boolean;
|
|
100
100
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
101
101
|
declare const _default: typeof __VLS_export;
|
|
102
102
|
export default _default;
|
|
@@ -125,12 +125,12 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
125
125
|
required: boolean;
|
|
126
126
|
min: string;
|
|
127
127
|
max: string;
|
|
128
|
-
modelValue: Record<string, any>;
|
|
129
128
|
label: string;
|
|
130
129
|
help: string;
|
|
131
130
|
error: string;
|
|
132
|
-
disabled: boolean;
|
|
133
131
|
width: string;
|
|
132
|
+
modelValue: Record<string, any>;
|
|
133
|
+
disabled: boolean;
|
|
134
134
|
showPresets: boolean;
|
|
135
135
|
presets: Preset[];
|
|
136
136
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
@@ -120,13 +120,13 @@ declare const __VLS_export: import('vue').DefineComponent<import('vue').ExtractP
|
|
|
120
120
|
required: boolean;
|
|
121
121
|
min: string;
|
|
122
122
|
max: string;
|
|
123
|
-
modelValue: string;
|
|
124
123
|
id: string;
|
|
125
124
|
label: string;
|
|
126
125
|
help: string;
|
|
127
126
|
error: string;
|
|
128
|
-
disabled: boolean;
|
|
129
127
|
width: string;
|
|
128
|
+
modelValue: string;
|
|
129
|
+
disabled: boolean;
|
|
130
130
|
step: number;
|
|
131
131
|
defaultTime: string;
|
|
132
132
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|