@bagelink/vue 0.0.714 → 0.0.724
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/Btn.vue.d.ts +3 -3
- package/dist/components/Btn.vue.d.ts.map +1 -1
- package/dist/components/Carousel.vue.d.ts +1 -1
- package/dist/components/ComboBox.vue.d.ts +3 -3
- package/dist/components/Comments.vue.d.ts +2 -2
- package/dist/components/ContactSubmissions.vue.d.ts +2 -2
- package/dist/components/DropDown.vue.d.ts +3 -3
- package/dist/components/FormSchema.vue.d.ts +4 -5
- package/dist/components/LangText.vue.d.ts +2 -2
- package/dist/components/MaterialIcon.vue.d.ts +0 -1
- package/dist/components/MaterialIcon.vue.d.ts.map +1 -1
- package/dist/components/ModalBglForm.vue.d.ts +20 -21
- package/dist/components/PersonPreview.vue.d.ts +4 -5
- package/dist/components/PersonPreviewFormkit.vue.d.ts +3 -4
- package/dist/components/Popover.vue.d.ts +10 -0
- package/dist/components/Popover.vue.d.ts.map +1 -0
- package/dist/components/RTXEditor.vue.d.ts +3 -3
- package/dist/components/TabbedLayout.vue.d.ts +4 -5
- package/dist/components/charts/BarChart.vue.d.ts +2 -2
- package/dist/components/form/BglForm.vue.d.ts +1 -1
- package/dist/components/form/BglMultiStepForm.vue.d.ts +11 -11
- package/dist/components/form/ItemRef.vue.d.ts +3 -5
- package/dist/components/form/ItemRef.vue.d.ts.map +1 -1
- package/dist/components/form/MaterialIcon.vue.d.ts +3 -4
- package/dist/components/form/PlainInputField.vue.d.ts +3 -3
- package/dist/components/form/inputs/CurrencyInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/DatetimeInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/DurationInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/DynamicLinkField.vue.d.ts +3 -3
- package/dist/components/form/inputs/EmailInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/FloatInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/IntInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/JSONInput.vue.d.ts +1 -1
- package/dist/components/form/inputs/JSONInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/LinkField.vue.d.ts +3 -3
- package/dist/components/form/inputs/Password.vue.d.ts +3 -3
- package/dist/components/form/inputs/PasswordInput.vue.d.ts +3 -3
- package/dist/components/form/inputs/PlainText.vue.d.ts +3 -3
- package/dist/components/form/inputs/RadioPillsInput.vue.d.ts +1 -1
- package/dist/components/form/inputs/RadioPillsInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/ReadOnlyInput.vue.d.ts +2 -2
- package/dist/components/form/inputs/RichText2/Toolbar.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichText2/index.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/RichTextEditor.vue.d.ts +3 -3
- package/dist/components/form/inputs/SelectField.vue.d.ts +8 -6
- package/dist/components/form/inputs/SelectField.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/SelectInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TelInput.vue.d.ts +5 -5
- package/dist/components/form/inputs/TelInput.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TextArea.vue.d.ts +3 -3
- package/dist/components/formkit/AddressArray.vue.d.ts +2 -2
- package/dist/components/formkit/BankDetailsArray.vue.d.ts +2 -2
- package/dist/components/formkit/ContactArrayFormKit.vue.d.ts +2 -2
- package/dist/components/formkit/FileUploader.vue.d.ts +2 -2
- package/dist/components/formkit/MiscFields.vue.d.ts +2 -2
- package/dist/components/formkit/Toggle.vue.d.ts +2 -2
- package/dist/components/lightbox/Lightbox.vue.d.ts +10 -0
- package/dist/components/lightbox/Lightbox.vue.d.ts.map +1 -0
- package/dist/components/lightbox/index.d.ts +6 -0
- package/dist/components/lightbox/index.d.ts.map +1 -0
- package/dist/components/lightbox/lightbox.types.d.ts +7 -0
- package/dist/components/lightbox/lightbox.types.d.ts.map +1 -0
- package/dist/components/whatsapp/form/MsgTemplate.vue.d.ts +3 -4
- package/dist/components/whatsapp/form/TextVariableExamples.vue.d.ts +2 -2
- package/dist/index.cjs +334 -141
- package/dist/index.mjs +335 -142
- package/dist/plugins/bagel.d.ts.map +1 -1
- package/dist/style.css +157 -49
- package/dist/types/materialIcon.d.ts +2 -0
- package/dist/types/materialIcon.d.ts.map +1 -0
- package/dist/utils/BagelFormUtils.d.ts +48 -48
- package/dist/utils/objects.d.ts +0 -1
- package/package.json +1 -1
- package/src/components/form/inputs/RichText2/FontWithASyntaxHighlighter-Regular.woff2 +0 -0
- package/src/components/form/inputs/RichText2/Toolbar.vue +39 -62
- package/src/components/form/inputs/RichText2/index.vue +54 -16
- package/src/components/form/inputs/SelectInput.vue +20 -9
- package/src/components/lightbox/Lightbox.vue +228 -0
- package/src/components/lightbox/index.ts +61 -0
- package/src/components/lightbox/lightbox.types.ts +6 -0
- package/src/plugins/bagel.ts +2 -2
- package/dist/components/Accordion.d.ts +0 -12
- package/dist/components/Accordion.d.ts.map +0 -1
- package/dist/components/AccordionItem.d.ts +0 -34
- package/dist/components/AccordionItem.d.ts.map +0 -1
- package/dist/components/Alert.d.ts +0 -34
- package/dist/components/Alert.d.ts.map +0 -1
- package/dist/components/Avatar.d.ts +0 -36
- package/dist/components/Avatar.d.ts.map +0 -1
- package/dist/components/Badge.d.ts +0 -22
- package/dist/components/Badge.d.ts.map +0 -1
- package/dist/components/BglVideo.d.ts +0 -20
- package/dist/components/BglVideo.d.ts.map +0 -1
- package/dist/components/Btn.d.ts +0 -99
- package/dist/components/Btn.d.ts.map +0 -1
- package/dist/components/Card.d.ts +0 -39
- package/dist/components/Card.d.ts.map +0 -1
- package/dist/components/Carousel.d.ts +0 -74
- package/dist/components/Carousel.d.ts.map +0 -1
- package/dist/components/DataPreview.d.ts +0 -42
- package/dist/components/DataPreview.d.ts.map +0 -1
- package/dist/components/Drop.vue.d.ts +0 -34
- package/dist/components/Drop.vue.d.ts.map +0 -1
- package/dist/components/FileUploader.vue.d.ts +0 -60
- package/dist/components/FileUploader.vue.d.ts.map +0 -1
- package/dist/components/Flag.d.ts +0 -20
- package/dist/components/Flag.d.ts.map +0 -1
- package/dist/components/ListItem.d.ts +0 -34
- package/dist/components/ListItem.d.ts.map +0 -1
- package/dist/components/ListView.d.ts +0 -13
- package/dist/components/ListView.d.ts.map +0 -1
- package/dist/components/MapEmbed.d.ts +0 -3
- package/dist/components/MapEmbed.d.ts.map +0 -1
- package/dist/components/MaterialIcon.d.ts +0 -26
- package/dist/components/MaterialIcon.d.ts.map +0 -1
- package/dist/components/Modal.d.ts +0 -46
- package/dist/components/Modal.d.ts.map +0 -1
- package/dist/components/ModalConfirm.d.ts +0 -24
- package/dist/components/ModalConfirm.d.ts.map +0 -1
- package/dist/components/ModalForm.d.ts +0 -78
- package/dist/components/ModalForm.d.ts.map +0 -1
- package/dist/components/NavBar.d.ts +0 -64
- package/dist/components/NavBar.d.ts.map +0 -1
- package/dist/components/PageTitle.d.ts +0 -24
- package/dist/components/PageTitle.d.ts.map +0 -1
- package/dist/components/RouterWrapper.d.ts +0 -3
- package/dist/components/RouterWrapper.d.ts.map +0 -1
- package/dist/components/TableSchema.d.ts +0 -35
- package/dist/components/TableSchema.d.ts.map +0 -1
- package/dist/components/Title.d.ts +0 -42
- package/dist/components/Title.d.ts.map +0 -1
- package/dist/components/TopBar.d.ts +0 -12
- package/dist/components/TopBar.d.ts.map +0 -1
- package/dist/components/dashboard/Lineart.d.ts +0 -20
- package/dist/components/dashboard/Lineart.d.ts.map +0 -1
- package/dist/components/form/BglField.d.ts +0 -25
- package/dist/components/form/BglField.d.ts.map +0 -1
- package/dist/components/form/BglForm.d.ts +0 -75
- package/dist/components/form/BglForm.d.ts.map +0 -1
- package/dist/components/form/inputs/CheckInput.d.ts +0 -56
- package/dist/components/form/inputs/CheckInput.d.ts.map +0 -1
- package/dist/components/form/inputs/Checkbox.d.ts +0 -16
- package/dist/components/form/inputs/Checkbox.d.ts.map +0 -1
- package/dist/components/form/inputs/ColorPicker.d.ts +0 -48
- package/dist/components/form/inputs/ColorPicker.d.ts.map +0 -1
- package/dist/components/form/inputs/DateInput.d.ts +0 -64
- package/dist/components/form/inputs/DateInput.d.ts.map +0 -1
- package/dist/components/form/inputs/DatePicker.d.ts +0 -33
- package/dist/components/form/inputs/DatePicker.d.ts.map +0 -1
- package/dist/components/form/inputs/FileUpload.d.ts +0 -108
- package/dist/components/form/inputs/FileUpload.d.ts.map +0 -1
- package/dist/components/form/inputs/JSONInput.d.ts +0 -53
- package/dist/components/form/inputs/JSONInput.d.ts.map +0 -1
- package/dist/components/form/inputs/RadioGroup.d.ts +0 -42
- package/dist/components/form/inputs/RadioGroup.d.ts.map +0 -1
- package/dist/components/form/inputs/RadioPillsInput.d.ts +0 -48
- package/dist/components/form/inputs/RadioPillsInput.d.ts.map +0 -1
- package/dist/components/form/inputs/RichText.d.ts +0 -20
- package/dist/components/form/inputs/RichText.d.ts.map +0 -1
- package/dist/components/form/inputs/RichText2/Toolbar.d.ts +0 -22
- package/dist/components/form/inputs/RichText2/Toolbar.d.ts.map +0 -1
- package/dist/components/form/inputs/RichText2/index.d.ts +0 -24
- package/dist/components/form/inputs/RichText2/index.d.ts.map +0 -1
- package/dist/components/form/inputs/SelectInput.d.ts +0 -55
- package/dist/components/form/inputs/SelectInput.d.ts.map +0 -1
- package/dist/components/form/inputs/SignaturePad.d.ts +0 -72
- package/dist/components/form/inputs/SignaturePad.d.ts.map +0 -1
- package/dist/components/form/inputs/TableField.d.ts +0 -45
- package/dist/components/form/inputs/TableField.d.ts.map +0 -1
- package/dist/components/form/inputs/TelInput.d.ts +0 -241
- package/dist/components/form/inputs/TelInput.d.ts.map +0 -1
- package/dist/components/form/inputs/TextInput.d.ts +0 -90
- package/dist/components/form/inputs/TextInput.d.ts.map +0 -1
- package/dist/components/form/inputs/ToggleInput.d.ts +0 -58
- package/dist/components/form/inputs/ToggleInput.d.ts.map +0 -1
- package/dist/components/layout/BottomMenu.d.ts +0 -27
- package/dist/components/layout/BottomMenu.d.ts.map +0 -1
- package/dist/components/layout/Layout.d.ts +0 -58
- package/dist/components/layout/Layout.d.ts.map +0 -1
- package/dist/components/layout/SidebarMenu.d.ts +0 -38
- package/dist/components/layout/SidebarMenu.d.ts.map +0 -1
- package/dist/components/layout/TabbedLayout.d.ts +0 -42
- package/dist/components/layout/TabbedLayout.d.ts.map +0 -1
- package/dist/components/layout/Tabs.d.ts +0 -31
- package/dist/components/layout/Tabs.d.ts.map +0 -1
- package/dist/components/layout/TabsBody.d.ts +0 -23
- package/dist/components/layout/TabsBody.d.ts.map +0 -1
- package/dist/components/layout/TabsNav.d.ts +0 -35
- package/dist/components/layout/TabsNav.d.ts.map +0 -1
|
@@ -50,10 +50,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
50
50
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
51
51
|
required: true;
|
|
52
52
|
};
|
|
53
|
-
|
|
53
|
+
label: {
|
|
54
54
|
type: import('vue').PropType<string>;
|
|
55
55
|
};
|
|
56
|
-
|
|
56
|
+
onSubmit: {
|
|
57
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
58
|
+
};
|
|
59
|
+
id: {
|
|
57
60
|
type: import('vue').PropType<string>;
|
|
58
61
|
};
|
|
59
62
|
modelValue: {
|
|
@@ -63,15 +66,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
63
66
|
onDelete: {
|
|
64
67
|
type: import('vue').PropType<(id: string) => void>;
|
|
65
68
|
};
|
|
66
|
-
onSubmit: {
|
|
67
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
68
|
-
};
|
|
69
69
|
status: {
|
|
70
70
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
71
71
|
};
|
|
72
72
|
}>> & {
|
|
73
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
74
73
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
74
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
75
75
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
76
76
|
}, {
|
|
77
77
|
submit: () => void;
|
|
@@ -88,10 +88,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
88
88
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
89
89
|
required: true;
|
|
90
90
|
};
|
|
91
|
-
|
|
91
|
+
label: {
|
|
92
92
|
type: import('vue').PropType<string>;
|
|
93
93
|
};
|
|
94
|
-
|
|
94
|
+
onSubmit: {
|
|
95
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
96
|
+
};
|
|
97
|
+
id: {
|
|
95
98
|
type: import('vue').PropType<string>;
|
|
96
99
|
};
|
|
97
100
|
modelValue: {
|
|
@@ -101,15 +104,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
101
104
|
onDelete: {
|
|
102
105
|
type: import('vue').PropType<(id: string) => void>;
|
|
103
106
|
};
|
|
104
|
-
onSubmit: {
|
|
105
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
106
|
-
};
|
|
107
107
|
status: {
|
|
108
108
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
109
109
|
};
|
|
110
110
|
}>> & {
|
|
111
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
112
111
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
112
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
113
113
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
114
114
|
}, {
|
|
115
115
|
modelValue: Record<string, any>;
|
|
@@ -125,10 +125,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
125
125
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
126
126
|
required: true;
|
|
127
127
|
};
|
|
128
|
-
|
|
128
|
+
label: {
|
|
129
129
|
type: import('vue').PropType<string>;
|
|
130
130
|
};
|
|
131
|
-
|
|
131
|
+
onSubmit: {
|
|
132
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
133
|
+
};
|
|
134
|
+
id: {
|
|
132
135
|
type: import('vue').PropType<string>;
|
|
133
136
|
};
|
|
134
137
|
modelValue: {
|
|
@@ -138,15 +141,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
138
141
|
onDelete: {
|
|
139
142
|
type: import('vue').PropType<(id: string) => void>;
|
|
140
143
|
};
|
|
141
|
-
onSubmit: {
|
|
142
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
143
|
-
};
|
|
144
144
|
status: {
|
|
145
145
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
146
146
|
};
|
|
147
147
|
}>> & {
|
|
148
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
149
148
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
149
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
150
150
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
151
151
|
}, {
|
|
152
152
|
submit: () => void;
|
|
@@ -165,10 +165,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
165
165
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
166
166
|
required: true;
|
|
167
167
|
};
|
|
168
|
-
|
|
168
|
+
label: {
|
|
169
169
|
type: import('vue').PropType<string>;
|
|
170
170
|
};
|
|
171
|
-
|
|
171
|
+
onSubmit: {
|
|
172
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
173
|
+
};
|
|
174
|
+
id: {
|
|
172
175
|
type: import('vue').PropType<string>;
|
|
173
176
|
};
|
|
174
177
|
modelValue: {
|
|
@@ -178,15 +181,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
178
181
|
onDelete: {
|
|
179
182
|
type: import('vue').PropType<(id: string) => void>;
|
|
180
183
|
};
|
|
181
|
-
onSubmit: {
|
|
182
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
183
|
-
};
|
|
184
184
|
status: {
|
|
185
185
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
186
186
|
};
|
|
187
187
|
}>> & {
|
|
188
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
189
188
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
189
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
190
190
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
191
191
|
}, {
|
|
192
192
|
submit: () => void;
|
|
@@ -227,10 +227,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
227
227
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
228
228
|
required: true;
|
|
229
229
|
};
|
|
230
|
-
|
|
230
|
+
label: {
|
|
231
231
|
type: import('vue').PropType<string>;
|
|
232
232
|
};
|
|
233
|
-
|
|
233
|
+
onSubmit: {
|
|
234
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
235
|
+
};
|
|
236
|
+
id: {
|
|
234
237
|
type: import('vue').PropType<string>;
|
|
235
238
|
};
|
|
236
239
|
modelValue: {
|
|
@@ -240,15 +243,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
240
243
|
onDelete: {
|
|
241
244
|
type: import('vue').PropType<(id: string) => void>;
|
|
242
245
|
};
|
|
243
|
-
onSubmit: {
|
|
244
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
245
|
-
};
|
|
246
246
|
status: {
|
|
247
247
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
248
248
|
};
|
|
249
249
|
}>> & {
|
|
250
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
251
250
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
251
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
252
252
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
253
253
|
}, {
|
|
254
254
|
submit: () => void;
|
|
@@ -265,10 +265,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
265
265
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
266
266
|
required: true;
|
|
267
267
|
};
|
|
268
|
-
|
|
268
|
+
label: {
|
|
269
269
|
type: import('vue').PropType<string>;
|
|
270
270
|
};
|
|
271
|
-
|
|
271
|
+
onSubmit: {
|
|
272
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
273
|
+
};
|
|
274
|
+
id: {
|
|
272
275
|
type: import('vue').PropType<string>;
|
|
273
276
|
};
|
|
274
277
|
modelValue: {
|
|
@@ -278,15 +281,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
278
281
|
onDelete: {
|
|
279
282
|
type: import('vue').PropType<(id: string) => void>;
|
|
280
283
|
};
|
|
281
|
-
onSubmit: {
|
|
282
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
283
|
-
};
|
|
284
284
|
status: {
|
|
285
285
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
286
286
|
};
|
|
287
287
|
}>> & {
|
|
288
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
289
288
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
289
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
290
290
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
291
291
|
}, {
|
|
292
292
|
modelValue: Record<string, any>;
|
|
@@ -302,10 +302,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
302
302
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
303
303
|
required: true;
|
|
304
304
|
};
|
|
305
|
-
|
|
305
|
+
label: {
|
|
306
306
|
type: import('vue').PropType<string>;
|
|
307
307
|
};
|
|
308
|
-
|
|
308
|
+
onSubmit: {
|
|
309
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
310
|
+
};
|
|
311
|
+
id: {
|
|
309
312
|
type: import('vue').PropType<string>;
|
|
310
313
|
};
|
|
311
314
|
modelValue: {
|
|
@@ -315,15 +318,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
315
318
|
onDelete: {
|
|
316
319
|
type: import('vue').PropType<(id: string) => void>;
|
|
317
320
|
};
|
|
318
|
-
onSubmit: {
|
|
319
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
320
|
-
};
|
|
321
321
|
status: {
|
|
322
322
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
323
323
|
};
|
|
324
324
|
}>> & {
|
|
325
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
326
325
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
326
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
327
327
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
328
328
|
}, {
|
|
329
329
|
submit: () => void;
|
|
@@ -342,10 +342,13 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
342
342
|
type: import('vue').PropType<import('..').BglFormSchemaFnT<any>>;
|
|
343
343
|
required: true;
|
|
344
344
|
};
|
|
345
|
-
|
|
345
|
+
label: {
|
|
346
346
|
type: import('vue').PropType<string>;
|
|
347
347
|
};
|
|
348
|
-
|
|
348
|
+
onSubmit: {
|
|
349
|
+
type: import('vue').PropType<(data: any) => void>;
|
|
350
|
+
};
|
|
351
|
+
id: {
|
|
349
352
|
type: import('vue').PropType<string>;
|
|
350
353
|
};
|
|
351
354
|
modelValue: {
|
|
@@ -355,15 +358,12 @@ export declare function bglForm(idOrField?: string | Field, ...schema: Field[]):
|
|
|
355
358
|
onDelete: {
|
|
356
359
|
type: import('vue').PropType<(id: string) => void>;
|
|
357
360
|
};
|
|
358
|
-
onSubmit: {
|
|
359
|
-
type: import('vue').PropType<(data: any) => void>;
|
|
360
|
-
};
|
|
361
361
|
status: {
|
|
362
362
|
type: import('vue').PropType<import('../components/form/BglForm.vue').FormStatus>;
|
|
363
363
|
};
|
|
364
364
|
}>> & {
|
|
365
|
-
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
366
365
|
onSubmit?: ((...args: any[]) => any) | undefined;
|
|
366
|
+
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
367
367
|
onDirty?: ((...args: any[]) => any) | undefined;
|
|
368
368
|
}, {
|
|
369
369
|
submit: () => void;
|
package/dist/utils/objects.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { BagelField } from '..';
|
|
2
|
-
|
|
3
2
|
export declare function getPropByPath(obj: Record<string, any>, propPath?: string, bagelField?: BagelField): {};
|
|
4
3
|
export declare function setPropByPath(obj: Record<string, any>, path?: string, value?: any): void;
|
|
5
4
|
//# sourceMappingURL=objects.d.ts.map
|
package/package.json
CHANGED
|
Binary file
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { Btn, type MaterialIcons } from '@bagelink/vue'
|
|
3
|
+
import SelectInput from '../SelectInput.vue'
|
|
3
4
|
import type { ToolbarConfig, ToolbarConfigOption } from './richtext-types'
|
|
4
5
|
|
|
5
6
|
defineProps<{ config: ToolbarConfig }>()
|
|
@@ -9,33 +10,26 @@ const colorPicker = $ref<HTMLInputElement | null>(null)
|
|
|
9
10
|
const fontSizeInput = $ref<HTMLInputElement | null>(null)
|
|
10
11
|
|
|
11
12
|
interface toolbarOption {
|
|
12
|
-
name: ToolbarConfigOption
|
|
13
|
+
name: ToolbarConfigOption | 'separator'
|
|
13
14
|
icon: MaterialIcons
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
const toolbarOptions: toolbarOption[] = [
|
|
18
|
+
{ name: 'separator' },
|
|
17
19
|
{ name: 'bold', icon: 'format_bold' },
|
|
18
20
|
{ name: 'italic', icon: 'format_italic' },
|
|
19
21
|
{ name: 'underline', icon: 'format_underlined' },
|
|
20
|
-
{ name: '
|
|
21
|
-
{ name: 'fontFamily', icon: 'font_download' },
|
|
22
|
-
{ name: 'textColor', icon: 'text_format' },
|
|
23
|
-
{ name: 'backgroundColor', icon: 'format_color_fill' },
|
|
24
|
-
{ name: 'alignLeft', icon: 'format_align_left' },
|
|
25
|
-
{ name: 'alignCenter', icon: 'format_align_center' },
|
|
26
|
-
{ name: 'alignRight', icon: 'format_align_right' },
|
|
27
|
-
{ name: 'alignJustify', icon: 'format_align_justify' },
|
|
22
|
+
{ name: 'separator' },
|
|
28
23
|
{ name: 'orderedList', icon: 'format_list_numbered' },
|
|
29
24
|
{ name: 'unorderedList', icon: 'format_list_bulleted' },
|
|
30
|
-
{ name: '
|
|
31
|
-
{ name: '
|
|
32
|
-
{ name: '
|
|
33
|
-
{ name: '
|
|
34
|
-
{ name: '
|
|
35
|
-
{ name: '
|
|
36
|
-
{ name: '
|
|
37
|
-
|
|
38
|
-
{ name: 'codeView', icon: 'code' },
|
|
25
|
+
{ name: 'separator' },
|
|
26
|
+
{ name: 'link', icon: 'add_link' },
|
|
27
|
+
{ name: 'image', icon: 'add_photo_alternate' },
|
|
28
|
+
{ name: 'youtube', icon: 'youtube_activity' },
|
|
29
|
+
{ name: 'separator' },
|
|
30
|
+
{ name: 'splitView', icon: 'code' },
|
|
31
|
+
{ name: 'clear', icon: 'format_clear' },
|
|
32
|
+
|
|
39
33
|
]
|
|
40
34
|
|
|
41
35
|
function handleColorPick(type: 'textColor' | 'backgroundColor') {
|
|
@@ -51,57 +45,40 @@ function handleFontSizeChange() {
|
|
|
51
45
|
emit('action', 'fontSize', size)
|
|
52
46
|
}
|
|
53
47
|
}
|
|
48
|
+
function handleSelectChange(selectedOption: string) {
|
|
49
|
+
emit('action', 'formatBlock', selectedOption)
|
|
50
|
+
}
|
|
54
51
|
</script>
|
|
55
52
|
|
|
56
53
|
<template>
|
|
57
|
-
<div class="toolbar" role="toolbar">
|
|
58
|
-
<
|
|
59
|
-
|
|
60
|
-
:
|
|
61
|
-
|
|
62
|
-
thin
|
|
63
|
-
color="light"
|
|
64
|
-
:aria-label="action.name"
|
|
65
|
-
:icon="action.icon"
|
|
66
|
-
@click="emit('action', action.name)"
|
|
54
|
+
<div class="toolbar flex gap-025 pb-05 flex-wrap" role="toolbar">
|
|
55
|
+
<SelectInput
|
|
56
|
+
class="m-0 w150"
|
|
57
|
+
:options="['Text', 'Heading 1', 'Heading 2', 'Heading 3', 'Heading 4', 'Heading 5', 'Heading 6', 'Blockquote', 'Code']"
|
|
58
|
+
@change="handleSelectChange"
|
|
67
59
|
/>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
60
|
+
|
|
61
|
+
<template v-for="(action, index) in toolbarOptions">
|
|
62
|
+
<Btn
|
|
63
|
+
v-if="action.name !== 'separator' && config.includes(action.name)"
|
|
64
|
+
:key="action.name"
|
|
65
|
+
v-tooltip="action.name"
|
|
66
|
+
thin
|
|
67
|
+
flat
|
|
68
|
+
class="rounded"
|
|
69
|
+
:aria-label="action.name"
|
|
70
|
+
:icon="action.icon"
|
|
71
|
+
@click="emit('action', action.name)"
|
|
72
|
+
/>
|
|
73
|
+
<span
|
|
74
|
+
v-if="action.name === 'separator'"
|
|
75
|
+
:key="`separator-${index}`"
|
|
76
|
+
class=" opacity-2 mb-025"
|
|
77
|
+
>|</span>
|
|
78
|
+
</template>
|
|
82
79
|
</div>
|
|
83
80
|
</template>
|
|
84
81
|
|
|
85
82
|
<style scoped>
|
|
86
|
-
.toolbar {
|
|
87
|
-
display: flex;
|
|
88
|
-
flex-wrap: wrap;
|
|
89
|
-
gap: 5px;
|
|
90
|
-
padding: 10px;
|
|
91
|
-
background-color: #f0f0f0;
|
|
92
|
-
border-bottom: 1px solid #ccc;
|
|
93
|
-
}
|
|
94
83
|
|
|
95
|
-
button:hover {
|
|
96
|
-
background-color: #e0e0e0;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
input[type="color"],
|
|
100
|
-
input[type="number"] {
|
|
101
|
-
width: 40px;
|
|
102
|
-
height: 30px;
|
|
103
|
-
padding: 0;
|
|
104
|
-
border: 1px solid #ccc;
|
|
105
|
-
border-radius: 3px;
|
|
106
|
-
}
|
|
107
84
|
</style>
|
|
@@ -30,7 +30,9 @@ const defaultConfig: ToolbarConfig = [
|
|
|
30
30
|
'blockquote',
|
|
31
31
|
'codeBlock',
|
|
32
32
|
'splitView',
|
|
33
|
-
'
|
|
33
|
+
'youtube',
|
|
34
|
+
'codeView',
|
|
35
|
+
'clear',
|
|
34
36
|
]
|
|
35
37
|
const config = $ref<ToolbarConfig>(props.toolbarConfig || defaultConfig)
|
|
36
38
|
let contentHtml = $ref(props.modelValue)
|
|
@@ -121,15 +123,16 @@ function handleKeyDown(event: KeyboardEvent) {
|
|
|
121
123
|
</script>
|
|
122
124
|
|
|
123
125
|
<template>
|
|
124
|
-
<div class="rich-text-editor">
|
|
126
|
+
<div class="rich-text-editor round pt-05 px-1 pb-1">
|
|
125
127
|
<Toolbar :config @action="handleToolbarAction" />
|
|
126
|
-
<div class="editor-container" :class="{ 'split-view': isSplitView }">
|
|
127
|
-
<div class="content-area" :class="{ 'code-view': isCodeView }">
|
|
128
|
+
<div class="editor-container flex flex-stretch" :class="{ 'split-view': isSplitView }">
|
|
129
|
+
<div class="content-area rounded p-1 bg-white shadow-light w-100 grid" :class="{ 'code-view': isCodeView }">
|
|
128
130
|
<textarea v-if="isCodeView" v-model="contentHtml" @input="updateContent" />
|
|
129
131
|
<div
|
|
130
132
|
v-else
|
|
131
133
|
ref="editableContent"
|
|
132
134
|
contenteditable="true"
|
|
135
|
+
class="editableContent"
|
|
133
136
|
role="textbox"
|
|
134
137
|
aria-multiline="true"
|
|
135
138
|
tabindex="0"
|
|
@@ -137,25 +140,60 @@ function handleKeyDown(event: KeyboardEvent) {
|
|
|
137
140
|
@keydown="handleKeyDown"
|
|
138
141
|
/>
|
|
139
142
|
</div>
|
|
140
|
-
<
|
|
143
|
+
<code v-if="isSplitView" class="preview-area bg-black color-white w-100 rounded p-1">{{ contentHtml }}</code>
|
|
141
144
|
</div>
|
|
142
145
|
</div>
|
|
143
146
|
</template>
|
|
144
147
|
|
|
145
148
|
<style scoped>
|
|
149
|
+
@font-face {
|
|
150
|
+
font-family: 'FontWithASyntaxHighlighter';
|
|
151
|
+
font-style: normal;
|
|
152
|
+
font-weight: 400;
|
|
153
|
+
font-stretch: 100%;
|
|
154
|
+
font-display: swap;
|
|
155
|
+
src: url(https://bagel.sfo2.cdn.digitaloceanspaces.com/Fonts/FontWithASyntaxHighlighter-Regular.woff2) format('woff2')
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
@font-palette-values --myCustomPalette {
|
|
159
|
+
font-family: 'FontWithASyntaxHighlighter';
|
|
160
|
+
override-colors:
|
|
161
|
+
0 #6191c2, /* keywords, {} */
|
|
162
|
+
1 #75975d, /* comments */
|
|
163
|
+
2 yellow, /* literals */
|
|
164
|
+
3 #a3c19a, /* numbers */
|
|
165
|
+
4 blue, /* functions, [] */
|
|
166
|
+
5 orange, /* js others */
|
|
167
|
+
6 black, /* not in use */
|
|
168
|
+
7 #bc8abd, /* inside quotes, css properties, few chars */
|
|
169
|
+
8 #818181 /* few chars */
|
|
170
|
+
;
|
|
171
|
+
}
|
|
172
|
+
.preview-area{
|
|
173
|
+
font-family: "FontWithASyntaxHighlighter", monospace;
|
|
174
|
+
font-palette: --myCustomPalette;
|
|
175
|
+
}
|
|
146
176
|
.rich-text-editor {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
177
|
+
background: var(--input-bg);
|
|
178
|
+
margin-bottom: 0.5rem;
|
|
179
|
+
width: 100%;
|
|
180
|
+
}
|
|
181
|
+
.editableContent{
|
|
182
|
+
min-height: 100%;
|
|
183
|
+
white-space: pre-wrap;
|
|
184
|
+
outline: none;
|
|
185
|
+
}
|
|
186
|
+
.content-area, .preview-area{
|
|
187
|
+
min-height: 200px;
|
|
150
188
|
}
|
|
151
189
|
|
|
152
|
-
[contenteditable='true'] {
|
|
153
|
-
|
|
154
|
-
|
|
190
|
+
/* [contenteditable='true'] {
|
|
191
|
+
white-space: pre-wrap;
|
|
192
|
+
word-wrap: break-word;
|
|
155
193
|
outline: none;
|
|
156
|
-
border: none;
|
|
157
194
|
height: 100%;
|
|
158
|
-
}
|
|
195
|
+
} */
|
|
196
|
+
/*
|
|
159
197
|
|
|
160
198
|
.editor-container {
|
|
161
199
|
display: flex;
|
|
@@ -184,9 +222,9 @@ function handleKeyDown(event: KeyboardEvent) {
|
|
|
184
222
|
.preview-area {
|
|
185
223
|
background-color: #f9f9f9;
|
|
186
224
|
border-left: 1px solid #ccc;
|
|
187
|
-
}
|
|
225
|
+
} */
|
|
188
226
|
|
|
189
|
-
@media (max-width: 768px) {
|
|
227
|
+
/* @media (max-width: 768px) {
|
|
190
228
|
.split-view {
|
|
191
229
|
flex-direction: column;
|
|
192
230
|
}
|
|
@@ -200,5 +238,5 @@ function handleKeyDown(event: KeyboardEvent) {
|
|
|
200
238
|
border-left: none;
|
|
201
239
|
border-top: 1px solid #ccc;
|
|
202
240
|
}
|
|
203
|
-
}
|
|
241
|
+
} */
|
|
204
242
|
</style>
|
|
@@ -203,9 +203,10 @@ onMounted(() => {
|
|
|
203
203
|
|
|
204
204
|
<div v-if="clearable && selectedItemCount > 0" class="ms-auto ps-05 me-05">
|
|
205
205
|
<Btn
|
|
206
|
+
flat
|
|
206
207
|
thin
|
|
207
208
|
icon="clear"
|
|
208
|
-
class="color-
|
|
209
|
+
class="color-gray"
|
|
209
210
|
@click="selectedItems = []; emitUpdate()"
|
|
210
211
|
/>
|
|
211
212
|
</div>
|
|
@@ -238,7 +239,7 @@ onMounted(() => {
|
|
|
238
239
|
placeholder="Search"
|
|
239
240
|
icon="search"
|
|
240
241
|
/>
|
|
241
|
-
<div class="selectinput-options">
|
|
242
|
+
<div class="selectinput-options" :class="{ multiselect }">
|
|
242
243
|
<div
|
|
243
244
|
v-for="(option, i) in filteredOptions"
|
|
244
245
|
:key="`${option}${i}`"
|
|
@@ -250,12 +251,14 @@ onMounted(() => {
|
|
|
250
251
|
@click="select(option)"
|
|
251
252
|
@keydown.enter="select(option)"
|
|
252
253
|
>
|
|
253
|
-
<
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
254
|
+
<template v-if="multiselect">
|
|
255
|
+
<Icon v-if="isSelected(option)" icon="select_check_box" />
|
|
256
|
+
<Icon
|
|
257
|
+
v-if="!isSelected(option)"
|
|
258
|
+
class="opacity-3"
|
|
259
|
+
icon="check_box_outline_blank"
|
|
260
|
+
/>
|
|
261
|
+
</template>
|
|
259
262
|
<span>
|
|
260
263
|
{{ getLabel(option) }}
|
|
261
264
|
</span>
|
|
@@ -278,10 +281,15 @@ onMounted(() => {
|
|
|
278
281
|
border-radius: 5px;
|
|
279
282
|
transition: all 0.2s;
|
|
280
283
|
display: grid;
|
|
281
|
-
grid-template-columns:
|
|
284
|
+
grid-template-columns:1fr;
|
|
282
285
|
justify-content: space-between;
|
|
283
286
|
width: 100%;
|
|
284
287
|
font-size: var(--input-font-size);
|
|
288
|
+
margin-block: 0.15rem;
|
|
289
|
+
}
|
|
290
|
+
.selectinput-options.multiselect .selectinput-option {
|
|
291
|
+
grid-template-columns: 10px 1fr;
|
|
292
|
+
|
|
285
293
|
}
|
|
286
294
|
|
|
287
295
|
.selectinput-options {
|
|
@@ -295,6 +303,9 @@ onMounted(() => {
|
|
|
295
303
|
.isEmpty p {
|
|
296
304
|
opacity: 0.3;
|
|
297
305
|
}
|
|
306
|
+
.selected{
|
|
307
|
+
background: var(--input-bg);
|
|
308
|
+
}
|
|
298
309
|
</style>
|
|
299
310
|
|
|
300
311
|
<style>
|