@oneclick.dev/cms-core-modules 0.0.124 → 0.0.126
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/AppointmentListTable-CWzbwqR-.js +1 -0
- package/dist/AppointmentListTable-DoZuBstk.mjs +270 -0
- package/dist/ContentEditor-BlNbqkAz.js +324 -0
- package/dist/{ContentEditor-DX1bTQKs.mjs → ContentEditor-D754iLJS.mjs} +8074 -27026
- package/dist/{Detail-B7pe808q.mjs → Detail-BOxWQ1QQ.mjs} +2 -2
- package/dist/{Detail-B_Q7Qkuz.mjs → Detail-BfKW0uZE.mjs} +2 -2
- package/dist/Detail-DFVu2F38.mjs +11 -0
- package/dist/{Detail-t3tOcy3X.js → Detail-DJea_fCd.js} +1 -1
- package/dist/{Detail-CNiLIEh9.js → Detail-DPJacXfm.js} +1 -1
- package/dist/Detail-DSLZ7_bM.js +1 -0
- package/dist/{Detail-BESGmY7z.js → Detail-DUGThL9Y.js} +1 -1
- package/dist/{Detail-DNxAzeCs.mjs → Detail-D_LlEeHu.mjs} +2 -2
- package/dist/Overview-0hFXiuYo.js +1 -0
- package/dist/Overview-BTx5LF4J.js +1 -0
- package/dist/Overview-CCu2PHai.mjs +289 -0
- package/dist/Overview-D2u-leeO.js +1 -0
- package/dist/Overview-D_2wozCG.mjs +1733 -0
- package/dist/Overview-Dffo-zH4.mjs +11 -0
- package/dist/{TableCalculationWidget-CrqcLGfU.mjs → TableCalculationWidget-B_LFoOYm.mjs} +3 -3
- package/dist/{TableCalculationWidget-CkQPrVUd.js → TableCalculationWidget-CahOIcbk.js} +1 -1
- package/dist/TableDataWidget-BwqWFH4A.js +1 -0
- package/dist/TableDataWidget-RsVxcDsL.mjs +112 -0
- package/dist/TableOverviewCard-BPWCqo56.js +1 -0
- package/dist/{TableOverviewCard-Ci0d4o4w.mjs → TableOverviewCard-D667DDag.mjs} +113 -127
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C3XiOXgb.js +1 -0
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-sp0TLio0.mjs +547 -0
- package/dist/{TableRowActionCard-BhdnnPaq.mjs → TableRowActionCard-BPYJ-Kjy.mjs} +95 -101
- package/dist/TableRowActionCard-Bnqj1YIe.js +1 -0
- package/dist/TableView-CwhZ9YN2.js +4 -0
- package/dist/TableView-DX9PKS8N.mjs +9673 -0
- package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-BgDdzbLe.js +1 -0
- package/dist/TemplateBuilder.vue_vue_type_script_setup_true_lang-D85V4nrQ.mjs +2886 -0
- package/dist/cms-core-modules.css +1 -1
- package/dist/dateRangePresets-CaPVagHY.mjs +453 -0
- package/dist/dateRangePresets-gxQCiZ6c.js +1 -0
- package/dist/index-6hZ6MYY6.js +1 -0
- package/dist/index-BVmmicu3.mjs +14 -0
- package/dist/index-ChHD_1Cf.js +144 -0
- package/dist/index-CvV4nVWI.js +1 -0
- package/dist/index-DH2z0W_w.mjs +19012 -0
- package/dist/index-DZKzj48V.mjs +17 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +237 -103
- package/dist/orders-C_sz8J9b.js +1 -0
- package/dist/{orders-BfTLIm7U.mjs → orders-Cgdggzvx.mjs} +84 -84
- package/dist/server-handlers.cjs.js +1 -1
- package/dist/server-handlers.mjs +2055 -1123
- package/dist/src/appointments/chat-components/AppointmentListTable.vue.d.ts +3 -0
- package/dist/src/appointments/index.d.ts +93 -3
- package/dist/src/appointments/reservation-summary.d.ts +48 -0
- package/dist/src/appointments/server.d.ts +1 -0
- package/dist/src/appointments/tools.d.ts +93 -3
- package/dist/src/filezone/config.d.ts +31 -0
- package/dist/src/filezone/index.d.ts +43 -0
- package/dist/src/filezone/index.vue.d.ts +2 -0
- package/dist/src/filezone/metadata.d.ts +2 -0
- package/dist/src/filezone/pages/Overview.vue.d.ts +4 -0
- package/dist/src/filezone/permissions.d.ts +5 -0
- package/dist/src/filezone/routes.d.ts +5 -0
- package/dist/src/filezone/server.d.ts +36 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/mailTemplates/builder-types.d.ts +40 -0
- package/dist/src/mailTemplates/components/BlockRenderer.vue.d.ts +24 -0
- package/dist/src/mailTemplates/components/DesignPanel.vue.d.ts +13 -0
- package/dist/src/mailTemplates/components/EmailCanvas.vue.d.ts +44 -0
- package/dist/src/mailTemplates/components/RichTextEditor.vue.d.ts +10 -0
- package/dist/src/mailTemplates/components/RightSidebar.vue.d.ts +18 -0
- package/dist/src/mailTemplates/components/SettingsPanel.vue.d.ts +15 -0
- package/dist/src/mailTemplates/components/TemplateBuilder.vue.d.ts +2 -0
- package/dist/src/mailTemplates/components/TemplateList.vue.d.ts +19 -1
- package/dist/src/mailTemplates/components/rich-text.d.ts +6 -0
- package/dist/src/mailTemplates/config.d.ts +10 -4
- package/dist/src/mailTemplates/defaults.d.ts +10 -0
- package/dist/src/mailTemplates/editor-state.d.ts +21 -0
- package/dist/src/mailTemplates/index.d.ts +11 -5
- package/dist/src/mailTemplates/index.vue.d.ts +2 -4
- package/dist/src/mailTemplates/metadata.d.ts +1 -1
- package/dist/src/mailTemplates/pages/Detail.vue.d.ts +1 -13
- package/dist/src/mailTemplates/pages/Overview.vue.d.ts +1 -13
- package/dist/src/mailTemplates/server.d.ts +23 -0
- package/dist/src/server-handlers.d.ts +4 -0
- package/dist/src/table/badge-filter-utils.d.ts +8 -0
- package/dist/src/table/chat-components/TableOverviewCard.vue.d.ts +2 -7
- package/dist/src/table/chat-components/TableResultView.vue.d.ts +3 -7
- package/dist/src/table/components/TableDisplayCell.vue.d.ts +8 -0
- package/dist/src/table/components/columns/BadgeColumnSettings.vue.d.ts +9 -0
- package/dist/src/table/components/columns/ColumnColorSelect.vue.d.ts +11 -0
- package/dist/src/table/components/columns/ColumnDisplaySettings.vue.d.ts +9 -0
- package/dist/src/table/components/columns/ColumnTypeSelect.vue.d.ts +11 -0
- package/dist/src/table/components/columns/ColumnValueSourceInput.vue.d.ts +15 -0
- package/dist/src/table/components/columns/DialogTableColumnItem.vue.d.ts +8 -11
- package/dist/src/table/components/columns/ProgressColumnSettings.vue.d.ts +8 -0
- package/dist/src/table/components/stats/StatDialog.vue.d.ts +6 -10
- package/dist/src/table/components/stats/Stats.vue.d.ts +9 -15
- package/dist/src/table/composables/useTableClock.d.ts +4 -0
- package/dist/src/table/display-utils.d.ts +35 -0
- package/dist/src/table/row-value.d.ts +1 -0
- package/dist/src/table/stat-utils.d.ts +9 -0
- package/dist/src/table/tool-utils.d.ts +1 -1
- package/dist/src/table/types.d.ts +54 -1
- package/dist/src/whatsappBusiness/analytics.d.ts +4 -0
- package/dist/src/whatsappBusiness/components/AccountPanel.vue.d.ts +2 -0
- package/dist/src/whatsappBusiness/components/InsightsPanel.vue.d.ts +5 -0
- package/dist/src/whatsappBusiness/components/TemplateDialog.vue.d.ts +14 -0
- package/dist/src/whatsappBusiness/components/TemplatesPanel.vue.d.ts +5 -0
- package/dist/src/whatsappBusiness/components/presentation.d.ts +4 -0
- package/dist/src/whatsappBusiness/config.d.ts +51 -0
- package/dist/src/whatsappBusiness/connection.d.ts +77 -0
- package/dist/src/whatsappBusiness/index.d.ts +63 -0
- package/dist/src/whatsappBusiness/index.vue.d.ts +5 -0
- package/dist/src/whatsappBusiness/metadata.d.ts +2 -0
- package/dist/src/whatsappBusiness/pages/Overview.vue.d.ts +2 -0
- package/dist/src/whatsappBusiness/permissions.d.ts +5 -0
- package/dist/src/whatsappBusiness/provider.d.ts +21 -0
- package/dist/src/whatsappBusiness/routes.d.ts +5 -0
- package/dist/src/whatsappBusiness/server.d.ts +14 -0
- package/dist/src/whatsappBusiness/templates.d.ts +94 -0
- package/dist/src/whatsappBusiness/types.d.ts +162 -0
- package/dist/{tool-sandbox-DoF1PsyS.js → tool-sandbox-BSkKdH7V.js} +1 -1
- package/dist/{tool-sandbox-DdkMLkDK.mjs → tool-sandbox-DU9b1B7v.mjs} +1 -1
- package/dist/{types-ibC3-e1N.mjs → types-B5MifmeF.mjs} +339 -273
- package/dist/types-D5dgTskW.js +1 -0
- package/dist/{useTableAgentTools-D5mzGf3A.js → useTableAgentTools-BrUot49I.js} +1 -1
- package/dist/{useTableAgentTools-DcN3kYRL.mjs → useTableAgentTools-r5InEI4p.mjs} +8 -8
- package/dist/{vee-validate-zod-BQElPD0m.js → vee-validate-zod-CWZwNTWE.js} +1 -1
- package/dist/{vee-validate-zod-CN16K2x9.mjs → vee-validate-zod-D0WaDgDZ.mjs} +1 -1
- package/package.json +2 -2
- package/src/appointments/tools.ts +52 -2
- package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
- package/dist/AppointmentListTable-Dieu9US_.js +0 -1
- package/dist/ContentEditor-BcIUumah.js +0 -467
- package/dist/Detail-Byk781b4.mjs +0 -26
- package/dist/Detail-mvSGbnFU.js +0 -1
- package/dist/Overview-BDlBCUI_.js +0 -1
- package/dist/Overview-Su8ZUbMs.mjs +0 -26
- package/dist/TableDataWidget-7qvC3Egd.js +0 -1
- package/dist/TableDataWidget-DMTSoGRO.mjs +0 -121
- package/dist/TableOverviewCard-AFq-puJs.js +0 -1
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-CBn-Oxl9.mjs +0 -534
- package/dist/TableResultView.vue_vue_type_script_setup_true_lang-C_Lv-SmJ.js +0 -1
- package/dist/TableRowActionCard-IzB6tNN-.js +0 -1
- package/dist/TableView-6mdrL3zx.js +0 -4
- package/dist/TableView-Du5nOE6R.mjs +0 -8228
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-B_AtWnHa.js +0 -1
- package/dist/TemplateList.vue_vue_type_script_setup_true_lang-Cmovy7kk.mjs +0 -40
- package/dist/dateRangePresets-B-l5b_wR.mjs +0 -48
- package/dist/dateRangePresets-CPWqst_x.js +0 -1
- package/dist/orders-DUa2PVoa.js +0 -1
- package/dist/types-BMraG1kN.js +0 -1
|
@@ -2,9 +2,12 @@ type __VLS_Props = {
|
|
|
2
2
|
toolName: string;
|
|
3
3
|
instanceId: string;
|
|
4
4
|
instanceName: string;
|
|
5
|
+
projectSlug?: string;
|
|
5
6
|
moduleType: string;
|
|
6
7
|
resolvedArgs: Record<string, any>;
|
|
7
8
|
status: 'pending' | 'running' | 'completed' | 'error';
|
|
9
|
+
executionMode?: 'page' | 'api' | 'component';
|
|
10
|
+
result?: unknown;
|
|
8
11
|
};
|
|
9
12
|
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
|
|
10
13
|
submit: (result: any) => any;
|
|
@@ -88,10 +88,17 @@ declare const _default: {
|
|
|
88
88
|
};
|
|
89
89
|
quantity?: undefined;
|
|
90
90
|
status?: undefined;
|
|
91
|
-
|
|
91
|
+
startDate?: undefined;
|
|
92
|
+
endDate?: undefined;
|
|
92
93
|
agendaId?: undefined;
|
|
94
|
+
orderStatus?: undefined;
|
|
95
|
+
reservationStatus?: undefined;
|
|
96
|
+
limit?: undefined;
|
|
97
|
+
offset?: undefined;
|
|
98
|
+
orderId?: undefined;
|
|
93
99
|
};
|
|
94
100
|
required: string[];
|
|
101
|
+
additionalProperties?: undefined;
|
|
95
102
|
};
|
|
96
103
|
} | {
|
|
97
104
|
name: string;
|
|
@@ -114,8 +121,70 @@ declare const _default: {
|
|
|
114
121
|
name?: undefined;
|
|
115
122
|
email?: undefined;
|
|
116
123
|
date?: undefined;
|
|
117
|
-
|
|
124
|
+
startDate?: undefined;
|
|
125
|
+
endDate?: undefined;
|
|
118
126
|
agendaId?: undefined;
|
|
127
|
+
orderStatus?: undefined;
|
|
128
|
+
reservationStatus?: undefined;
|
|
129
|
+
limit?: undefined;
|
|
130
|
+
offset?: undefined;
|
|
131
|
+
orderId?: undefined;
|
|
132
|
+
};
|
|
133
|
+
required: string[];
|
|
134
|
+
additionalProperties?: undefined;
|
|
135
|
+
};
|
|
136
|
+
} | {
|
|
137
|
+
name: string;
|
|
138
|
+
description: string;
|
|
139
|
+
executionMode: string;
|
|
140
|
+
chatComponent: string;
|
|
141
|
+
parameters: {
|
|
142
|
+
type: string;
|
|
143
|
+
additionalProperties: boolean;
|
|
144
|
+
properties: {
|
|
145
|
+
startDate: {
|
|
146
|
+
type: string;
|
|
147
|
+
description: string;
|
|
148
|
+
};
|
|
149
|
+
endDate: {
|
|
150
|
+
type: string;
|
|
151
|
+
description: string;
|
|
152
|
+
};
|
|
153
|
+
agendaId: {
|
|
154
|
+
type: string;
|
|
155
|
+
description: string;
|
|
156
|
+
};
|
|
157
|
+
orderStatus: {
|
|
158
|
+
type: string;
|
|
159
|
+
enum: string[];
|
|
160
|
+
default: string;
|
|
161
|
+
description: string;
|
|
162
|
+
};
|
|
163
|
+
reservationStatus: {
|
|
164
|
+
type: string;
|
|
165
|
+
enum: string[];
|
|
166
|
+
default: string;
|
|
167
|
+
description: string;
|
|
168
|
+
};
|
|
169
|
+
limit: {
|
|
170
|
+
type: string;
|
|
171
|
+
minimum: number;
|
|
172
|
+
maximum: number;
|
|
173
|
+
default: number;
|
|
174
|
+
description: string;
|
|
175
|
+
};
|
|
176
|
+
offset: {
|
|
177
|
+
type: string;
|
|
178
|
+
minimum: number;
|
|
179
|
+
default: number;
|
|
180
|
+
description: string;
|
|
181
|
+
};
|
|
182
|
+
name?: undefined;
|
|
183
|
+
email?: undefined;
|
|
184
|
+
date?: undefined;
|
|
185
|
+
quantity?: undefined;
|
|
186
|
+
status?: undefined;
|
|
187
|
+
orderId?: undefined;
|
|
119
188
|
};
|
|
120
189
|
required: string[];
|
|
121
190
|
};
|
|
@@ -136,9 +205,16 @@ declare const _default: {
|
|
|
136
205
|
date?: undefined;
|
|
137
206
|
quantity?: undefined;
|
|
138
207
|
status?: undefined;
|
|
208
|
+
startDate?: undefined;
|
|
209
|
+
endDate?: undefined;
|
|
139
210
|
agendaId?: undefined;
|
|
211
|
+
orderStatus?: undefined;
|
|
212
|
+
reservationStatus?: undefined;
|
|
213
|
+
limit?: undefined;
|
|
214
|
+
offset?: undefined;
|
|
140
215
|
};
|
|
141
216
|
required: string[];
|
|
217
|
+
additionalProperties?: undefined;
|
|
142
218
|
};
|
|
143
219
|
} | {
|
|
144
220
|
name: string;
|
|
@@ -152,10 +228,17 @@ declare const _default: {
|
|
|
152
228
|
date?: undefined;
|
|
153
229
|
quantity?: undefined;
|
|
154
230
|
status?: undefined;
|
|
155
|
-
|
|
231
|
+
startDate?: undefined;
|
|
232
|
+
endDate?: undefined;
|
|
156
233
|
agendaId?: undefined;
|
|
234
|
+
orderStatus?: undefined;
|
|
235
|
+
reservationStatus?: undefined;
|
|
236
|
+
limit?: undefined;
|
|
237
|
+
offset?: undefined;
|
|
238
|
+
orderId?: undefined;
|
|
157
239
|
};
|
|
158
240
|
required: never[];
|
|
241
|
+
additionalProperties?: undefined;
|
|
159
242
|
};
|
|
160
243
|
chatComponent?: undefined;
|
|
161
244
|
} | {
|
|
@@ -178,9 +261,16 @@ declare const _default: {
|
|
|
178
261
|
email?: undefined;
|
|
179
262
|
quantity?: undefined;
|
|
180
263
|
status?: undefined;
|
|
264
|
+
startDate?: undefined;
|
|
265
|
+
endDate?: undefined;
|
|
266
|
+
orderStatus?: undefined;
|
|
267
|
+
reservationStatus?: undefined;
|
|
268
|
+
limit?: undefined;
|
|
269
|
+
offset?: undefined;
|
|
181
270
|
orderId?: undefined;
|
|
182
271
|
};
|
|
183
272
|
required: string[];
|
|
273
|
+
additionalProperties?: undefined;
|
|
184
274
|
};
|
|
185
275
|
})[];
|
|
186
276
|
chatComponents: {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
interface SummaryAppointment {
|
|
2
|
+
orderId: string;
|
|
3
|
+
reservationId: string | null;
|
|
4
|
+
agendaId: string | null;
|
|
5
|
+
date: string;
|
|
6
|
+
startTime: string | null;
|
|
7
|
+
endTime: string | null;
|
|
8
|
+
spots: number;
|
|
9
|
+
status: string | null;
|
|
10
|
+
reservationStatus: string | null;
|
|
11
|
+
resourceId: string | null;
|
|
12
|
+
resourceName: string | null;
|
|
13
|
+
customerInfo: {
|
|
14
|
+
firstName: string | null;
|
|
15
|
+
lastName: string | null;
|
|
16
|
+
email: string | null;
|
|
17
|
+
};
|
|
18
|
+
reservationPrice: number | null;
|
|
19
|
+
}
|
|
20
|
+
/** Count every matching nested reservation and retain only the requested row window. */
|
|
21
|
+
export declare function getReservationSummary(firestore: any, collection: string, query: Record<string, unknown>, timeZone: string, now?: Date): Promise<{
|
|
22
|
+
byDate: {
|
|
23
|
+
reservationCount: number;
|
|
24
|
+
orderCount: number;
|
|
25
|
+
spotCount: number;
|
|
26
|
+
date: string;
|
|
27
|
+
}[];
|
|
28
|
+
appointments: SummaryAppointment[];
|
|
29
|
+
pagination: {
|
|
30
|
+
offset: number;
|
|
31
|
+
limit: number;
|
|
32
|
+
returnedCount: number;
|
|
33
|
+
hasMore: boolean;
|
|
34
|
+
nextOffset: number | null;
|
|
35
|
+
};
|
|
36
|
+
reservationCount: number;
|
|
37
|
+
orderCount: number;
|
|
38
|
+
spotCount: number;
|
|
39
|
+
startDate: string;
|
|
40
|
+
endDate: string;
|
|
41
|
+
timeZone: string;
|
|
42
|
+
filters: {
|
|
43
|
+
agendaId: string | null;
|
|
44
|
+
orderStatus: string;
|
|
45
|
+
reservationStatus: string;
|
|
46
|
+
};
|
|
47
|
+
}>;
|
|
48
|
+
export {};
|
|
@@ -15,6 +15,7 @@ export interface ModuleHandlerDeps {
|
|
|
15
15
|
*
|
|
16
16
|
* Routes (relative to `/api/v1/modules/:instanceId/`):
|
|
17
17
|
* GET /appointments → list recent appointments/reservations
|
|
18
|
+
* GET /appointments/summary → count reservations by booking date/period
|
|
18
19
|
* GET /appointments/find → find appointment by name, email, date
|
|
19
20
|
* GET /appointments/:appointmentId → get single appointment/reservation
|
|
20
21
|
*/
|
|
@@ -20,10 +20,17 @@ export declare const tools: ({
|
|
|
20
20
|
};
|
|
21
21
|
quantity?: undefined;
|
|
22
22
|
status?: undefined;
|
|
23
|
-
|
|
23
|
+
startDate?: undefined;
|
|
24
|
+
endDate?: undefined;
|
|
24
25
|
agendaId?: undefined;
|
|
26
|
+
orderStatus?: undefined;
|
|
27
|
+
reservationStatus?: undefined;
|
|
28
|
+
limit?: undefined;
|
|
29
|
+
offset?: undefined;
|
|
30
|
+
orderId?: undefined;
|
|
25
31
|
};
|
|
26
32
|
required: string[];
|
|
33
|
+
additionalProperties?: undefined;
|
|
27
34
|
};
|
|
28
35
|
} | {
|
|
29
36
|
name: string;
|
|
@@ -46,8 +53,70 @@ export declare const tools: ({
|
|
|
46
53
|
name?: undefined;
|
|
47
54
|
email?: undefined;
|
|
48
55
|
date?: undefined;
|
|
49
|
-
|
|
56
|
+
startDate?: undefined;
|
|
57
|
+
endDate?: undefined;
|
|
50
58
|
agendaId?: undefined;
|
|
59
|
+
orderStatus?: undefined;
|
|
60
|
+
reservationStatus?: undefined;
|
|
61
|
+
limit?: undefined;
|
|
62
|
+
offset?: undefined;
|
|
63
|
+
orderId?: undefined;
|
|
64
|
+
};
|
|
65
|
+
required: string[];
|
|
66
|
+
additionalProperties?: undefined;
|
|
67
|
+
};
|
|
68
|
+
} | {
|
|
69
|
+
name: string;
|
|
70
|
+
description: string;
|
|
71
|
+
executionMode: string;
|
|
72
|
+
chatComponent: string;
|
|
73
|
+
parameters: {
|
|
74
|
+
type: string;
|
|
75
|
+
additionalProperties: boolean;
|
|
76
|
+
properties: {
|
|
77
|
+
startDate: {
|
|
78
|
+
type: string;
|
|
79
|
+
description: string;
|
|
80
|
+
};
|
|
81
|
+
endDate: {
|
|
82
|
+
type: string;
|
|
83
|
+
description: string;
|
|
84
|
+
};
|
|
85
|
+
agendaId: {
|
|
86
|
+
type: string;
|
|
87
|
+
description: string;
|
|
88
|
+
};
|
|
89
|
+
orderStatus: {
|
|
90
|
+
type: string;
|
|
91
|
+
enum: string[];
|
|
92
|
+
default: string;
|
|
93
|
+
description: string;
|
|
94
|
+
};
|
|
95
|
+
reservationStatus: {
|
|
96
|
+
type: string;
|
|
97
|
+
enum: string[];
|
|
98
|
+
default: string;
|
|
99
|
+
description: string;
|
|
100
|
+
};
|
|
101
|
+
limit: {
|
|
102
|
+
type: string;
|
|
103
|
+
minimum: number;
|
|
104
|
+
maximum: number;
|
|
105
|
+
default: number;
|
|
106
|
+
description: string;
|
|
107
|
+
};
|
|
108
|
+
offset: {
|
|
109
|
+
type: string;
|
|
110
|
+
minimum: number;
|
|
111
|
+
default: number;
|
|
112
|
+
description: string;
|
|
113
|
+
};
|
|
114
|
+
name?: undefined;
|
|
115
|
+
email?: undefined;
|
|
116
|
+
date?: undefined;
|
|
117
|
+
quantity?: undefined;
|
|
118
|
+
status?: undefined;
|
|
119
|
+
orderId?: undefined;
|
|
51
120
|
};
|
|
52
121
|
required: string[];
|
|
53
122
|
};
|
|
@@ -68,9 +137,16 @@ export declare const tools: ({
|
|
|
68
137
|
date?: undefined;
|
|
69
138
|
quantity?: undefined;
|
|
70
139
|
status?: undefined;
|
|
140
|
+
startDate?: undefined;
|
|
141
|
+
endDate?: undefined;
|
|
71
142
|
agendaId?: undefined;
|
|
143
|
+
orderStatus?: undefined;
|
|
144
|
+
reservationStatus?: undefined;
|
|
145
|
+
limit?: undefined;
|
|
146
|
+
offset?: undefined;
|
|
72
147
|
};
|
|
73
148
|
required: string[];
|
|
149
|
+
additionalProperties?: undefined;
|
|
74
150
|
};
|
|
75
151
|
} | {
|
|
76
152
|
name: string;
|
|
@@ -84,10 +160,17 @@ export declare const tools: ({
|
|
|
84
160
|
date?: undefined;
|
|
85
161
|
quantity?: undefined;
|
|
86
162
|
status?: undefined;
|
|
87
|
-
|
|
163
|
+
startDate?: undefined;
|
|
164
|
+
endDate?: undefined;
|
|
88
165
|
agendaId?: undefined;
|
|
166
|
+
orderStatus?: undefined;
|
|
167
|
+
reservationStatus?: undefined;
|
|
168
|
+
limit?: undefined;
|
|
169
|
+
offset?: undefined;
|
|
170
|
+
orderId?: undefined;
|
|
89
171
|
};
|
|
90
172
|
required: never[];
|
|
173
|
+
additionalProperties?: undefined;
|
|
91
174
|
};
|
|
92
175
|
chatComponent?: undefined;
|
|
93
176
|
} | {
|
|
@@ -110,8 +193,15 @@ export declare const tools: ({
|
|
|
110
193
|
email?: undefined;
|
|
111
194
|
quantity?: undefined;
|
|
112
195
|
status?: undefined;
|
|
196
|
+
startDate?: undefined;
|
|
197
|
+
endDate?: undefined;
|
|
198
|
+
orderStatus?: undefined;
|
|
199
|
+
reservationStatus?: undefined;
|
|
200
|
+
limit?: undefined;
|
|
201
|
+
offset?: undefined;
|
|
113
202
|
orderId?: undefined;
|
|
114
203
|
};
|
|
115
204
|
required: string[];
|
|
205
|
+
additionalProperties?: undefined;
|
|
116
206
|
};
|
|
117
207
|
})[];
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ResolveConfig } from '@oneclick.dev/cms-kit';
|
|
2
|
+
export declare const config: {
|
|
3
|
+
readonly storageIntegration: {
|
|
4
|
+
readonly label: "File storage connection";
|
|
5
|
+
readonly description: "Choose a project FTP, SFTP, Firebase Storage, Amazon S3, or Cloudflare R2 integration. Use private storage; public provider URLs can bypass Studio access.";
|
|
6
|
+
readonly type: "resource";
|
|
7
|
+
readonly accept: ["FIREBASE", "FTP", "SFTP", "S3", "CLOUDFLARE_R2"];
|
|
8
|
+
readonly required: true;
|
|
9
|
+
};
|
|
10
|
+
readonly folderPath: {
|
|
11
|
+
readonly label: "Folder in this connection";
|
|
12
|
+
readonly description: "Optional path relative to the connection root, for example shared/team. Existing files in this folder appear in File Zone. Leave empty to use the connection root.";
|
|
13
|
+
readonly type: "input";
|
|
14
|
+
readonly default: "";
|
|
15
|
+
};
|
|
16
|
+
} & {
|
|
17
|
+
readonly storageIntegration: {
|
|
18
|
+
readonly label: "File storage connection";
|
|
19
|
+
readonly description: "Choose a project FTP, SFTP, Firebase Storage, Amazon S3, or Cloudflare R2 integration. Use private storage; public provider URLs can bypass Studio access.";
|
|
20
|
+
readonly type: "resource";
|
|
21
|
+
readonly accept: ["FIREBASE", "FTP", "SFTP", "S3", "CLOUDFLARE_R2"];
|
|
22
|
+
readonly required: true;
|
|
23
|
+
};
|
|
24
|
+
readonly folderPath: {
|
|
25
|
+
readonly label: "Folder in this connection";
|
|
26
|
+
readonly description: "Optional path relative to the connection root, for example shared/team. Existing files in this folder appear in File Zone. Leave empty to use the connection root.";
|
|
27
|
+
readonly type: "input";
|
|
28
|
+
readonly default: "";
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
export type ConfigValues = ResolveConfig<typeof config>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
declare const _default: {
|
|
2
|
+
component: () => Promise<typeof import("./index.vue")>;
|
|
3
|
+
metadata: import('@oneclick.dev/cms-kit').ModuleMetadata;
|
|
4
|
+
config: {
|
|
5
|
+
readonly storageIntegration: {
|
|
6
|
+
readonly label: "File storage connection";
|
|
7
|
+
readonly description: "Choose a project FTP, SFTP, Firebase Storage, Amazon S3, or Cloudflare R2 integration. Use private storage; public provider URLs can bypass Studio access.";
|
|
8
|
+
readonly type: "resource";
|
|
9
|
+
readonly accept: ["FIREBASE", "FTP", "SFTP", "S3", "CLOUDFLARE_R2"];
|
|
10
|
+
readonly required: true;
|
|
11
|
+
};
|
|
12
|
+
readonly folderPath: {
|
|
13
|
+
readonly label: "Folder in this connection";
|
|
14
|
+
readonly description: "Optional path relative to the connection root, for example shared/team. Existing files in this folder appear in File Zone. Leave empty to use the connection root.";
|
|
15
|
+
readonly type: "input";
|
|
16
|
+
readonly default: "";
|
|
17
|
+
};
|
|
18
|
+
} & {
|
|
19
|
+
readonly storageIntegration: {
|
|
20
|
+
readonly label: "File storage connection";
|
|
21
|
+
readonly description: "Choose a project FTP, SFTP, Firebase Storage, Amazon S3, or Cloudflare R2 integration. Use private storage; public provider URLs can bypass Studio access.";
|
|
22
|
+
readonly type: "resource";
|
|
23
|
+
readonly accept: ["FIREBASE", "FTP", "SFTP", "S3", "CLOUDFLARE_R2"];
|
|
24
|
+
readonly required: true;
|
|
25
|
+
};
|
|
26
|
+
readonly folderPath: {
|
|
27
|
+
readonly label: "Folder in this connection";
|
|
28
|
+
readonly description: "Optional path relative to the connection root, for example shared/team. Existing files in this folder appear in File Zone. Leave empty to use the connection root.";
|
|
29
|
+
readonly type: "input";
|
|
30
|
+
readonly default: "";
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
routes: {
|
|
34
|
+
path: string;
|
|
35
|
+
component: () => Promise<typeof import("./pages/Overview.vue")>;
|
|
36
|
+
}[];
|
|
37
|
+
permissions: {
|
|
38
|
+
key: string;
|
|
39
|
+
name: string;
|
|
40
|
+
description: string;
|
|
41
|
+
}[];
|
|
42
|
+
};
|
|
43
|
+
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, {}, HTMLDivElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
|
|
2
|
+
picker: HTMLInputElement;
|
|
3
|
+
}, HTMLElement>;
|
|
4
|
+
export default _default;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Readable } from 'node:stream';
|
|
2
|
+
type Integration = {
|
|
3
|
+
id: string;
|
|
4
|
+
type: string;
|
|
5
|
+
config: Record<string, any>;
|
|
6
|
+
};
|
|
7
|
+
type StorageObject = {
|
|
8
|
+
key: string;
|
|
9
|
+
name: string;
|
|
10
|
+
directory: boolean;
|
|
11
|
+
size: number;
|
|
12
|
+
modified: string | null;
|
|
13
|
+
contentType: string | null;
|
|
14
|
+
};
|
|
15
|
+
type Upload = {
|
|
16
|
+
localPath: string;
|
|
17
|
+
name: string;
|
|
18
|
+
size: number;
|
|
19
|
+
contentType: string | null;
|
|
20
|
+
cleanup: () => Promise<void>;
|
|
21
|
+
};
|
|
22
|
+
type Deps = {
|
|
23
|
+
filezone: {
|
|
24
|
+
maxBytes: number;
|
|
25
|
+
parseUpload: (event: any) => Promise<Upload>;
|
|
26
|
+
list: (event: any, integration: Integration, folder: string, cursor: string | null) => Promise<{
|
|
27
|
+
objects: StorageObject[];
|
|
28
|
+
nextCursor: string | null;
|
|
29
|
+
}>;
|
|
30
|
+
upload: (event: any, integration: Integration, key: string, localPath: string, contentType: string) => Promise<void>;
|
|
31
|
+
read: (event: any, integration: Integration, key: string) => Promise<Readable>;
|
|
32
|
+
remove: (event: any, integration: Integration, key: string) => Promise<void>;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
export declare function createServerHandler({ filezone }: Deps): import('h3').EventHandler<import('h3').EventHandlerRequest, any>;
|
|
36
|
+
export {};
|
package/dist/src/index.d.ts
CHANGED
|
@@ -12,3 +12,5 @@ export { default as pushNotifications } from './push-notifications';
|
|
|
12
12
|
export { default as firebaseAuthManager } from './firebaseAuthManager';
|
|
13
13
|
export { default as helpbot } from './helpbot';
|
|
14
14
|
export { default as formBuilder } from './formBuilder';
|
|
15
|
+
export { default as filezone } from './filezone';
|
|
16
|
+
export { default as whatsappBusiness } from './whatsappBusiness';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export interface MailTemplate {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
subject: string;
|
|
5
|
+
preheader?: string;
|
|
6
|
+
description: string;
|
|
7
|
+
category: 'authentication' | 'billing' | 'notifications' | 'onboarding' | 'system';
|
|
8
|
+
status?: 'active' | 'draft' | 'inactive';
|
|
9
|
+
system_key?: string | null;
|
|
10
|
+
blocks: EmailBlock[];
|
|
11
|
+
styles: TemplateStyles;
|
|
12
|
+
updatedAt?: string;
|
|
13
|
+
createdAt?: string;
|
|
14
|
+
created_at?: string;
|
|
15
|
+
updated_at?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface EmailBlock {
|
|
18
|
+
id: string;
|
|
19
|
+
type: 'header' | 'text' | 'button' | 'image' | 'divider' | 'spacer' | 'columns';
|
|
20
|
+
content: Record<string, any>;
|
|
21
|
+
}
|
|
22
|
+
export interface TemplateStyles {
|
|
23
|
+
bodyBg: string;
|
|
24
|
+
contentBg: string;
|
|
25
|
+
footerBg: string;
|
|
26
|
+
footerTextColor: string;
|
|
27
|
+
primaryColor: string;
|
|
28
|
+
primaryForeground: string;
|
|
29
|
+
textColor: string;
|
|
30
|
+
secondaryTextColor: string;
|
|
31
|
+
linkColor: string;
|
|
32
|
+
fontFamily: string;
|
|
33
|
+
borderRadius: number;
|
|
34
|
+
contentWidth: number;
|
|
35
|
+
contentPadding: number;
|
|
36
|
+
logoUrl: string;
|
|
37
|
+
footerText: string;
|
|
38
|
+
showUnsubscribe: boolean;
|
|
39
|
+
showSocialLinks: boolean;
|
|
40
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { EmailBlock, TemplateStyles } from '../builder-types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
block: EmailBlock;
|
|
4
|
+
index: number;
|
|
5
|
+
totalBlocks: number;
|
|
6
|
+
selectedBlockId: string | null;
|
|
7
|
+
templateStyles: TemplateStyles;
|
|
8
|
+
};
|
|
9
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
10
|
+
select: (id: string) => any;
|
|
11
|
+
delete: (id: string) => any;
|
|
12
|
+
move: (id: string, direction: "up" | "down") => any;
|
|
13
|
+
duplicate: (id: string) => any;
|
|
14
|
+
"drag-start": (id: string) => any;
|
|
15
|
+
"drag-end": () => any;
|
|
16
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
17
|
+
onSelect?: ((id: string) => any) | undefined;
|
|
18
|
+
onDelete?: ((id: string) => any) | undefined;
|
|
19
|
+
onMove?: ((id: string, direction: "up" | "down") => any) | undefined;
|
|
20
|
+
onDuplicate?: ((id: string) => any) | undefined;
|
|
21
|
+
"onDrag-start"?: ((id: string) => any) | undefined;
|
|
22
|
+
"onDrag-end"?: (() => any) | undefined;
|
|
23
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
24
|
+
export default _default;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EmailBlock, TemplateStyles } from '../builder-types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
selectedBlock: EmailBlock | null;
|
|
4
|
+
templateStyles: TemplateStyles;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"deselect-block": () => any;
|
|
8
|
+
"update:hasUnsavedChanges": (value: boolean) => any;
|
|
9
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
10
|
+
"onDeselect-block"?: (() => any) | undefined;
|
|
11
|
+
"onUpdate:hasUnsavedChanges"?: ((value: boolean) => any) | undefined;
|
|
12
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
13
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { MailTemplate, TemplateStyles } from '../builder-types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
template: MailTemplate | null;
|
|
4
|
+
selectedBlockId: string | null;
|
|
5
|
+
templateStyles: TemplateStyles;
|
|
6
|
+
saving: boolean;
|
|
7
|
+
hasUnsavedChanges: boolean;
|
|
8
|
+
canUndo: boolean;
|
|
9
|
+
canRedo: boolean;
|
|
10
|
+
dirtyCount: number;
|
|
11
|
+
canEdit: boolean;
|
|
12
|
+
canCreate: boolean;
|
|
13
|
+
canDelete: boolean;
|
|
14
|
+
};
|
|
15
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
16
|
+
create: () => any;
|
|
17
|
+
undo: () => any;
|
|
18
|
+
redo: () => any;
|
|
19
|
+
save: () => any;
|
|
20
|
+
"select-block": (id: string) => any;
|
|
21
|
+
"add-block": (type: "text" | "image" | "button" | "header" | "columns" | "spacer" | "divider") => any;
|
|
22
|
+
"move-block": (id: string, direction: "up" | "down") => any;
|
|
23
|
+
"reorder-block": (id: string, beforeId: string | null) => any;
|
|
24
|
+
"duplicate-block": (id: string) => any;
|
|
25
|
+
"delete-block": (id: string) => any;
|
|
26
|
+
"duplicate-template": () => any;
|
|
27
|
+
"delete-template": () => any;
|
|
28
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
29
|
+
onCreate?: (() => any) | undefined;
|
|
30
|
+
onUndo?: (() => any) | undefined;
|
|
31
|
+
onRedo?: (() => any) | undefined;
|
|
32
|
+
onSave?: (() => any) | undefined;
|
|
33
|
+
"onSelect-block"?: ((id: string) => any) | undefined;
|
|
34
|
+
"onAdd-block"?: ((type: "text" | "image" | "button" | "header" | "columns" | "spacer" | "divider") => any) | undefined;
|
|
35
|
+
"onMove-block"?: ((id: string, direction: "up" | "down") => any) | undefined;
|
|
36
|
+
"onReorder-block"?: ((id: string, beforeId: string | null) => any) | undefined;
|
|
37
|
+
"onDuplicate-block"?: ((id: string) => any) | undefined;
|
|
38
|
+
"onDelete-block"?: ((id: string) => any) | undefined;
|
|
39
|
+
"onDuplicate-template"?: (() => any) | undefined;
|
|
40
|
+
"onDelete-template"?: (() => any) | undefined;
|
|
41
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
42
|
+
blockList: HTMLDivElement;
|
|
43
|
+
}, HTMLElement>;
|
|
44
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
modelValue: string;
|
|
3
|
+
label?: string;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
6
|
+
"update:modelValue": (value: string) => any;
|
|
7
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
8
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
9
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { MailTemplate, EmailBlock, TemplateStyles } from '../builder-types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
template: MailTemplate;
|
|
4
|
+
selectedBlock: EmailBlock | null;
|
|
5
|
+
templateStyles: TemplateStyles;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
"deselect-block": () => any;
|
|
9
|
+
"update:hasUnsavedChanges": (value: boolean) => any;
|
|
10
|
+
"reset-styles": (styles: TemplateStyles) => any;
|
|
11
|
+
"reset-template": (blocks: EmailBlock[]) => any;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onDeselect-block"?: (() => any) | undefined;
|
|
14
|
+
"onUpdate:hasUnsavedChanges"?: ((value: boolean) => any) | undefined;
|
|
15
|
+
"onReset-styles"?: ((styles: TemplateStyles) => any) | undefined;
|
|
16
|
+
"onReset-template"?: ((blocks: EmailBlock[]) => any) | undefined;
|
|
17
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
18
|
+
export default _default;
|