@oneclick.dev/cms-core-modules 0.0.123 → 0.0.125
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-MDGolnIP.mjs → ContentEditor-D754iLJS.mjs} +7985 -26820
- package/dist/{Detail-Dk8E6_uF.mjs → Detail-BOxWQ1QQ.mjs} +15 -14
- package/dist/{Detail-Cn9Bk0u0.mjs → Detail-BfKW0uZE.mjs} +26 -25
- package/dist/Detail-DFVu2F38.mjs +11 -0
- package/dist/Detail-DJea_fCd.js +1 -0
- package/dist/Detail-DPJacXfm.js +1 -0
- package/dist/Detail-DSLZ7_bM.js +1 -0
- package/dist/Detail-DUGThL9Y.js +1 -0
- package/dist/{Detail-B_scnidb.mjs → Detail-D_LlEeHu.mjs} +35 -34
- package/dist/Editor-D4evcdhv.mjs +768 -0
- package/dist/Editor-gLLtuJbY.js +1 -0
- package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-BjKpsqT9.js +1 -0
- package/dist/FormStatusBadge.vue_vue_type_script_setup_true_lang-D5v5AhLe.mjs +76 -0
- package/dist/Knowledge-B66vxz--.js +1 -0
- package/dist/Knowledge-BnMTTuJ7.mjs +742 -0
- package/dist/Overview-0hFXiuYo.js +1 -0
- package/dist/Overview-BE4uYPx0.mjs +745 -0
- package/dist/Overview-BTx5LF4J.js +1 -0
- package/dist/Overview-CCu2PHai.mjs +289 -0
- package/dist/Overview-CQRpFhbJ.mjs +286 -0
- package/dist/Overview-CTs7sX4d.js +1 -0
- package/dist/Overview-Cj89XXKN.js +1 -0
- package/dist/Overview-D2u-leeO.js +1 -0
- package/dist/Overview-D_2wozCG.mjs +1733 -0
- package/dist/Overview-D_c18mbR.mjs +248 -0
- package/dist/Overview-Dffo-zH4.mjs +11 -0
- package/dist/Overview-g4Rcj245.js +1 -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/Test-CzmOmi53.mjs +447 -0
- package/dist/Test-USDtNFY1.js +1 -0
- package/dist/UserDetail-DpUL3mhk.mjs +1483 -0
- package/dist/UserDetail-KRIfxaYd.js +1 -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-CQuN5rKx.js +1 -0
- package/dist/index-ChHD_1Cf.js +144 -0
- package/dist/index-CnDGeInm.js +1 -0
- package/dist/index-CqDTc5Ig.mjs +20 -0
- package/dist/index-CvV4nVWI.js +1 -0
- package/dist/index-CyvvAdt4.js +1 -0
- package/dist/index-DH2z0W_w.mjs +19012 -0
- package/dist/index-DIRD7t5_.mjs +20 -0
- package/dist/index-DZKzj48V.mjs +17 -0
- package/dist/index-OJuBYR60.mjs +57 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.mjs +480 -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 +2696 -605
- 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/contentManager/components/content-editor/tiptap-extensions/Container.d.ts +1 -1
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Row.d.ts +7 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/Stack.d.ts +7 -0
- package/dist/src/contentManager/components/content-editor/tiptap-extensions/helpers/resizeHistory.d.ts +9 -0
- package/dist/src/contentManager/components/content-editor/tiptap-menus/ElementEditorMenu.vue.d.ts +3 -1
- 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/firebaseAuthManager/components/DeleteUserDialog.vue.d.ts +25 -0
- package/dist/src/firebaseAuthManager/components/ReasonActionDialog.vue.d.ts +23 -0
- package/dist/src/firebaseAuthManager/components/UserStatusBadge.vue.d.ts +5 -0
- package/dist/src/firebaseAuthManager/config.d.ts +151 -0
- package/dist/src/firebaseAuthManager/index.d.ts +163 -0
- package/dist/src/firebaseAuthManager/index.vue.d.ts +14 -0
- package/dist/src/firebaseAuthManager/metadata.d.ts +2 -0
- package/dist/src/firebaseAuthManager/pages/Overview.vue.d.ts +2 -0
- package/dist/src/firebaseAuthManager/pages/UserDetail.vue.d.ts +2 -0
- package/dist/src/firebaseAuthManager/permissions.d.ts +5 -0
- package/dist/src/firebaseAuthManager/routes.d.ts +5 -0
- package/dist/src/firebaseAuthManager/server.d.ts +162 -0
- package/dist/src/firebaseAuthManager/types.d.ts +84 -0
- package/dist/src/formBuilder/components/FormPreviewDialog.vue.d.ts +12 -0
- package/dist/src/formBuilder/components/FormStatusBadge.vue.d.ts +9 -0
- package/dist/src/formBuilder/config.d.ts +31 -0
- package/dist/src/formBuilder/index.d.ts +44 -0
- package/dist/src/formBuilder/index.vue.d.ts +14 -0
- package/dist/src/formBuilder/lib/forms.d.ts +11 -0
- package/dist/src/formBuilder/metadata.d.ts +2 -0
- package/dist/src/formBuilder/pages/Editor.vue.d.ts +2 -0
- package/dist/src/formBuilder/pages/Overview.vue.d.ts +2 -0
- package/dist/src/formBuilder/permissions.d.ts +5 -0
- package/dist/src/formBuilder/routes.d.ts +5 -0
- package/dist/src/formBuilder/server.d.ts +87 -0
- package/dist/src/formBuilder/tools.d.ts +1 -0
- package/dist/src/formBuilder/types.d.ts +46 -0
- package/dist/src/helpbot/composables/useHelpbotApi.d.ts +18 -0
- package/dist/src/helpbot/config.d.ts +17 -0
- package/dist/src/helpbot/index.d.ts +29 -0
- package/dist/src/helpbot/index.vue.d.ts +2 -0
- package/dist/src/helpbot/metadata.d.ts +2 -0
- package/dist/src/helpbot/pages/Knowledge.vue.d.ts +4 -0
- package/dist/src/helpbot/pages/Overview.vue.d.ts +2 -0
- package/dist/src/helpbot/pages/Test.vue.d.ts +4 -0
- package/dist/src/helpbot/permissions.d.ts +5 -0
- package/dist/src/helpbot/routes.d.ts +5 -0
- package/dist/src/helpbot/types.d.ts +42 -0
- package/dist/src/index.d.ts +5 -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 +6 -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-9N-DKxNj.mjs +250 -0
- package/dist/types-B5MifmeF.mjs +2696 -0
- package/dist/types-Cem0vPo_.js +1 -0
- package/dist/types-D5dgTskW.js +1 -0
- package/dist/useHelpbotApi-BIIungOh.js +1 -0
- package/dist/useHelpbotApi-HC9JSiSn.mjs +229 -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-CWZwNTWE.js +1 -0
- package/dist/vee-validate-zod-D0WaDgDZ.mjs +1780 -0
- package/package.json +2 -2
- package/src/appointments/tools.ts +52 -2
- package/src/formBuilder/tools.ts +1 -0
- package/dist/AppointmentListTable-DZJNmTMb.mjs +0 -177
- package/dist/AppointmentListTable-Dieu9US_.js +0 -1
- package/dist/ContentEditor-C-Wm48ai.js +0 -467
- package/dist/Detail-BCUUNWvp.js +0 -1
- package/dist/Detail-Byk781b4.mjs +0 -26
- package/dist/Detail-DGg_xXZc.js +0 -1
- package/dist/Detail-Sc2qZdxj.js +0 -1
- 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-BkwoKREo.js +0 -4
- package/dist/TableView-C4Zyp8d7.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/vee-validate-zod-SjDT8X35.mjs +0 -4404
- package/dist/vee-validate-zod-VCmLnrtQ.js +0 -1
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MailTemplate, EmailBlock, TemplateStyles } from './builder-types';
|
|
2
|
+
export declare const defaultTemplateStyles: TemplateStyles;
|
|
3
|
+
export declare function getDefaultBlockContent(type: EmailBlock['type']): Record<string, any>;
|
|
4
|
+
export declare const defaultTemplates: Omit<MailTemplate, 'id' | 'created_at' | 'updated_at' | 'styles'>[];
|
|
5
|
+
/** Get a deep clone of the default styles */
|
|
6
|
+
export declare function getDefaultStyles(): TemplateStyles;
|
|
7
|
+
/** Get a deep clone of a default template by name */
|
|
8
|
+
export declare function getDefaultTemplate(name: string, systemKey?: string | null): Omit<MailTemplate, "id" | "styles" | "created_at" | "updated_at"> | null;
|
|
9
|
+
/** Get deep clones of all default templates */
|
|
10
|
+
export declare function getAllDefaultTemplates(): Omit<MailTemplate, "id" | "styles" | "created_at" | "updated_at">[];
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { MailTemplate } from './builder-types';
|
|
2
|
+
export declare function templatePayload(template: MailTemplate): {
|
|
3
|
+
name: string;
|
|
4
|
+
subject: string;
|
|
5
|
+
preheader: string | undefined;
|
|
6
|
+
description: string;
|
|
7
|
+
category: "authentication" | "billing" | "notifications" | "onboarding" | "system";
|
|
8
|
+
status: "active" | "draft" | "inactive" | undefined;
|
|
9
|
+
blocks: import('./builder-types').EmailBlock[];
|
|
10
|
+
styles: import('./builder-types').TemplateStyles;
|
|
11
|
+
};
|
|
12
|
+
export declare function templateFingerprint(template: MailTemplate): string;
|
|
13
|
+
/** A bounded document history; branching after undo discards the redo branch. */
|
|
14
|
+
export declare function createDraftHistory(initial: string, limit?: number): {
|
|
15
|
+
readonly canUndo: boolean;
|
|
16
|
+
readonly canRedo: boolean;
|
|
17
|
+
record(snapshot: string): void;
|
|
18
|
+
undo(): string | null;
|
|
19
|
+
redo(): string | null;
|
|
20
|
+
};
|
|
21
|
+
export declare function mailVariables(...values: unknown[]): string[];
|
|
@@ -1,25 +1,31 @@
|
|
|
1
1
|
declare const _default: {
|
|
2
2
|
component: () => Promise<typeof import("./index.vue")>;
|
|
3
|
-
metadata: ModuleMetadata;
|
|
3
|
+
metadata: import('@oneclick.dev/cms-kit').ModuleMetadata;
|
|
4
4
|
config: {
|
|
5
5
|
readonly project: {
|
|
6
|
-
readonly label: "
|
|
6
|
+
readonly label: "Firebase integration";
|
|
7
|
+
readonly description: "Use a Firebase integration connected to this project. Templates, MJML, and compiled HTML are saved in its Firestore database.";
|
|
8
|
+
readonly required: true;
|
|
7
9
|
readonly type: "resource";
|
|
8
10
|
readonly accept: ["FIREBASE"];
|
|
9
11
|
};
|
|
10
12
|
readonly templateCollection: {
|
|
11
|
-
readonly label: "
|
|
13
|
+
readonly label: "Templates collection";
|
|
14
|
+
readonly description: "A dedicated Firestore collection for your email templates, for example mail-templates.";
|
|
12
15
|
readonly type: "input";
|
|
13
16
|
readonly default: "mail-templates";
|
|
14
17
|
};
|
|
15
18
|
} & {
|
|
16
19
|
readonly project: {
|
|
17
|
-
readonly label: "
|
|
20
|
+
readonly label: "Firebase integration";
|
|
21
|
+
readonly description: "Use a Firebase integration connected to this project. Templates, MJML, and compiled HTML are saved in its Firestore database.";
|
|
22
|
+
readonly required: true;
|
|
18
23
|
readonly type: "resource";
|
|
19
24
|
readonly accept: ["FIREBASE"];
|
|
20
25
|
};
|
|
21
26
|
readonly templateCollection: {
|
|
22
|
-
readonly label: "
|
|
27
|
+
readonly label: "Templates collection";
|
|
28
|
+
readonly description: "A dedicated Firestore collection for your email templates, for example mail-templates.";
|
|
23
29
|
readonly type: "input";
|
|
24
30
|
readonly default: "mail-templates";
|
|
25
31
|
};
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { PropType } from 'vue';
|
|
2
|
-
import { ModuleRoute } from '~/types';
|
|
3
1
|
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
4
2
|
config: {
|
|
5
3
|
type: ObjectConstructor;
|
|
6
4
|
required: true;
|
|
7
5
|
};
|
|
8
6
|
routes: {
|
|
9
|
-
type:
|
|
7
|
+
type: ArrayConstructor;
|
|
10
8
|
required: true;
|
|
11
9
|
};
|
|
12
10
|
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
@@ -15,7 +13,7 @@ declare const _default: import('vue').DefineComponent<globalThis.ExtractPropType
|
|
|
15
13
|
required: true;
|
|
16
14
|
};
|
|
17
15
|
routes: {
|
|
18
|
-
type:
|
|
16
|
+
type: ArrayConstructor;
|
|
19
17
|
required: true;
|
|
20
18
|
};
|
|
21
19
|
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ModuleMetadata } from '
|
|
1
|
+
import { ModuleMetadata } from '@oneclick.dev/cms-kit';
|
|
2
2
|
export declare const metadata: ModuleMetadata;
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConfigValues } from '../config';
|
|
3
|
-
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
4
|
-
config: {
|
|
5
|
-
type: PropType<ConfigValues>;
|
|
6
|
-
required: true;
|
|
7
|
-
};
|
|
8
|
-
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
9
|
-
config: {
|
|
10
|
-
type: PropType<ConfigValues>;
|
|
11
|
-
required: true;
|
|
12
|
-
};
|
|
13
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
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>;
|
|
14
2
|
export default _default;
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ConfigValues } from '../config';
|
|
3
|
-
declare const _default: import('vue').DefineComponent<globalThis.ExtractPropTypes<{
|
|
4
|
-
config: {
|
|
5
|
-
type: PropType<ConfigValues>;
|
|
6
|
-
required: true;
|
|
7
|
-
};
|
|
8
|
-
}>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<globalThis.ExtractPropTypes<{
|
|
9
|
-
config: {
|
|
10
|
-
type: PropType<ConfigValues>;
|
|
11
|
-
required: true;
|
|
12
|
-
};
|
|
13
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, HTMLDivElement>;
|
|
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>;
|
|
14
2
|
export default _default;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type RenderResult = {
|
|
2
|
+
html: string;
|
|
3
|
+
mjml: string;
|
|
4
|
+
errors: Array<{
|
|
5
|
+
message: string;
|
|
6
|
+
line?: number;
|
|
7
|
+
tagName?: string;
|
|
8
|
+
formattedMessage?: string;
|
|
9
|
+
}>;
|
|
10
|
+
};
|
|
11
|
+
type Deps = {
|
|
12
|
+
initFirebase: (event: any, integrationId: string) => Promise<any>;
|
|
13
|
+
mailTemplates: {
|
|
14
|
+
render: (options: {
|
|
15
|
+
blocks: any[];
|
|
16
|
+
styles: Record<string, any>;
|
|
17
|
+
variables?: Record<string, string>;
|
|
18
|
+
preheader?: string;
|
|
19
|
+
}) => RenderResult;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare function createServerHandler(deps: Deps): import('h3').EventHandler<import('h3').EventHandlerRequest, any>;
|
|
23
|
+
export {};
|
|
@@ -8,3 +8,9 @@ export { createServerHandler as products } from './products/server';
|
|
|
8
8
|
export { createServerHandler as appointments } from './appointments/server';
|
|
9
9
|
export { createServerHandler as googleAnalytics } from './googleAnalytics/server';
|
|
10
10
|
export { createServerHandler as contentManager } from './contentManager/server';
|
|
11
|
+
export { createServerHandler as firebaseAuthManager } from './firebaseAuthManager/server';
|
|
12
|
+
export { createServerHandler as formBuilder } from './formBuilder/server';
|
|
13
|
+
export { createServerHandler as mailTemplates } from './mailTemplates/server';
|
|
14
|
+
export { createServerHandler as filezone } from './filezone/server';
|
|
15
|
+
export { createServerHandler as whatsappBusiness } from './whatsappBusiness/server';
|
|
16
|
+
export { whatsappBusinessConnection } from './whatsappBusiness/connection';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MultiSelectFilterOption, MultiSelectTableFilter, TableColumn } from './types';
|
|
2
|
+
type FilterOptionSource = Pick<MultiSelectTableFilter, 'property' | 'optionSource' | 'columnId'>;
|
|
3
|
+
export declare const getLinkedBadgeColumn: (filter: FilterOptionSource, columns?: readonly TableColumn[] | null) => TableColumn | undefined;
|
|
4
|
+
/** Column-owned labels/colors stay live; only default selection belongs to the filter. */
|
|
5
|
+
export declare const getTableFilterOptions: (filter: FilterOptionSource & {
|
|
6
|
+
options?: MultiSelectFilterOption[];
|
|
7
|
+
}, columns?: readonly TableColumn[] | null) => MultiSelectFilterOption[];
|
|
8
|
+
export {};
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
property: string;
|
|
4
|
-
label: string;
|
|
5
|
-
type: string;
|
|
6
|
-
visible: boolean;
|
|
7
|
-
}
|
|
1
|
+
import { TableColumn } from '../types';
|
|
2
|
+
type TableColumnMetadata = TableColumn;
|
|
8
3
|
interface TableOverviewSnapshot {
|
|
9
4
|
module: {
|
|
10
5
|
id: string;
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
property?: string;
|
|
1
|
+
import { TableColumn } from '../types';
|
|
2
|
+
interface ResultColumn extends Partial<TableColumn> {
|
|
4
3
|
key?: string;
|
|
5
|
-
label?: string;
|
|
6
|
-
type?: string;
|
|
7
|
-
visible?: boolean;
|
|
8
4
|
}
|
|
9
5
|
type __VLS_Props = {
|
|
10
6
|
rows?: Record<string, any>[];
|
|
@@ -30,9 +26,9 @@ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
|
30
26
|
declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
31
27
|
title: string;
|
|
32
28
|
description: string;
|
|
29
|
+
currency: string;
|
|
33
30
|
view: "auto" | "table" | "card" | "metric";
|
|
34
31
|
columns: ResultColumn[];
|
|
35
|
-
currency: string;
|
|
36
32
|
rows: Record<string, any>[];
|
|
37
33
|
totalCount: number;
|
|
38
34
|
emptyText: string;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableColumn } from '../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
row: any;
|
|
4
|
+
column: Partial<TableColumn>;
|
|
5
|
+
now?: number;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TableBadgeOption, TableFilter } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
id: string;
|
|
4
|
+
property: string;
|
|
5
|
+
options: TableBadgeOption[];
|
|
6
|
+
filters: TableFilter[];
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TableDisplayColor } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
id: string;
|
|
4
|
+
modelValue?: TableDisplayColor;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"update:modelValue": (value: TableDisplayColor) => any;
|
|
8
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
+
"onUpdate:modelValue"?: ((value: TableDisplayColor) => any) | undefined;
|
|
10
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { TableColumn, TableFilter } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
column: TableColumn;
|
|
4
|
+
fields: string[];
|
|
5
|
+
rows: Record<string, any>[];
|
|
6
|
+
filters: TableFilter[];
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
id: string;
|
|
3
|
+
modelValue: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
7
|
+
"update:modelValue": (value: string) => any;
|
|
8
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
9
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
10
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { TableValueSource } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
id: string;
|
|
4
|
+
label: string;
|
|
5
|
+
modelValue: TableValueSource;
|
|
6
|
+
fields: string[];
|
|
7
|
+
valueType?: 'number' | 'date';
|
|
8
|
+
allowArrayCount?: boolean;
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
"update:modelValue": (value: TableValueSource) => any;
|
|
12
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
13
|
+
"onUpdate:modelValue"?: ((value: TableValueSource) => any) | undefined;
|
|
14
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLFieldSetElement>;
|
|
15
|
+
export default _default;
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
required: true;
|
|
10
|
-
};
|
|
11
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
1
|
+
import { TableColumn, TableFilter } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
column: TableColumn;
|
|
4
|
+
fields: string[];
|
|
5
|
+
rows: Record<string, any>[];
|
|
6
|
+
filters: TableFilter[];
|
|
7
|
+
};
|
|
8
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
12
9
|
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableProgressSettings } from '../../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
id: string;
|
|
4
|
+
settings: TableProgressSettings;
|
|
5
|
+
fields: string[];
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
8
|
+
export default _default;
|
|
@@ -1,12 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
saveStat: (stat: any) => Promise<void>;
|
|
3
|
+
removeStat: (id: string) => Promise<void>;
|
|
4
|
+
};
|
|
5
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {
|
|
2
6
|
openDialog: (stat?: any) => void;
|
|
3
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
4
|
-
statAdded: (...args: any[]) => void;
|
|
5
|
-
statEdited: (...args: any[]) => void;
|
|
6
|
-
statRemoved: (...args: any[]) => void;
|
|
7
|
-
}, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
|
|
8
|
-
onStatAdded?: ((...args: any[]) => any) | undefined;
|
|
9
|
-
onStatEdited?: ((...args: any[]) => any) | undefined;
|
|
10
|
-
onStatRemoved?: ((...args: any[]) => any) | undefined;
|
|
11
|
-
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
7
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
12
8
|
export default _default;
|
|
@@ -1,26 +1,20 @@
|
|
|
1
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
|
-
statDialog: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
}>, {
|
|
2
|
+
statDialog: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
3
|
+
saveStat: (stat: any) => Promise<void>;
|
|
4
|
+
removeStat: (id: string) => Promise<void>;
|
|
5
|
+
}> & Readonly<{}>, {
|
|
7
6
|
openDialog: (stat?: any) => void;
|
|
8
|
-
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
9
|
-
statAdded: (...args: any[]) => void;
|
|
10
|
-
statEdited: (...args: any[]) => void;
|
|
11
|
-
statRemoved: (...args: any[]) => void;
|
|
12
|
-
}, import('vue').PublicProps, {}, true, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
7
|
+
}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, any, import('vue').ComponentProvideOptions, {
|
|
13
8
|
P: {};
|
|
14
9
|
B: {};
|
|
15
10
|
D: {};
|
|
16
11
|
C: {};
|
|
17
12
|
M: {};
|
|
18
13
|
Defaults: {};
|
|
19
|
-
}, Readonly<{
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}>, {
|
|
14
|
+
}, Readonly<{
|
|
15
|
+
saveStat: (stat: any) => Promise<void>;
|
|
16
|
+
removeStat: (id: string) => Promise<void>;
|
|
17
|
+
}> & Readonly<{}>, {
|
|
24
18
|
openDialog: (stat?: any) => void;
|
|
25
19
|
}, {}, {}, {}, {}> | null;
|
|
26
20
|
}, any>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { TableColumn, TableDisplayColor, TableValueSource } from './types';
|
|
2
|
+
export declare const DISPLAY_COLOR_CLASSES: Record<TableDisplayColor, {
|
|
3
|
+
badge: string;
|
|
4
|
+
bar: string;
|
|
5
|
+
}>;
|
|
6
|
+
export interface TableCellDisplay {
|
|
7
|
+
kind: 'date' | 'progress' | 'badge' | 'plain';
|
|
8
|
+
text: string;
|
|
9
|
+
secondary?: string;
|
|
10
|
+
color?: TableDisplayColor;
|
|
11
|
+
percent?: number;
|
|
12
|
+
showBar?: boolean;
|
|
13
|
+
state?: 'active' | 'upcoming' | 'overdue' | 'completed' | 'completed-late' | 'unavailable';
|
|
14
|
+
}
|
|
15
|
+
interface DisplayContext {
|
|
16
|
+
now?: number;
|
|
17
|
+
locale?: string;
|
|
18
|
+
timeZone?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function getTableBadgeOptions(column: Partial<TableColumn>): import('./types').TableBadgeOption[];
|
|
21
|
+
export declare function getTableColumnId(column: Partial<TableColumn>): string;
|
|
22
|
+
export declare function tableTimestamp(value: unknown): number | null;
|
|
23
|
+
export declare function resolveValueSource(row: any, source?: TableValueSource): unknown;
|
|
24
|
+
export declare function getColumnDependencies(column: Partial<TableColumn>): string[];
|
|
25
|
+
/** Persist only the requested display inputs. Counts never require persisting array contents. */
|
|
26
|
+
export declare function projectTableRow(row: any, columns: Partial<TableColumn>[]): {
|
|
27
|
+
[k: string]: unknown;
|
|
28
|
+
};
|
|
29
|
+
export declare function snapshotTableColumn(column: Partial<TableColumn>): TableColumn;
|
|
30
|
+
export declare function getColumnCellValue(row: any, column: Partial<TableColumn>, now?: number): any;
|
|
31
|
+
export declare function formatTableText(value: unknown, column: Partial<TableColumn>, format?: (value: unknown) => string): string;
|
|
32
|
+
export declare function formatTableNumber(value: unknown, column: Partial<TableColumn>, format?: (number: number) => string): string;
|
|
33
|
+
export declare function resolveTableCell(row: any, column: Partial<TableColumn>, context?: DisplayContext): TableCellDisplay;
|
|
34
|
+
export declare function validateColumnDisplay(column: Partial<TableColumn>): string | null;
|
|
35
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function resolveProperty(object: any, property: string): any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface StatCondition {
|
|
2
|
+
id: string;
|
|
3
|
+
field: string;
|
|
4
|
+
condition: string;
|
|
5
|
+
value: string;
|
|
6
|
+
/** Omitted on existing stats, which continue to compare against a fixed value. */
|
|
7
|
+
valueSource?: 'fixed' | 'now';
|
|
8
|
+
}
|
|
9
|
+
export declare function filterStatRows<T>(rows: T[], conditions?: StatCondition[] | null, now?: number): T[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TableColumn, TableRowMatch, TableToolFilter } from './types';
|
|
2
|
-
export
|
|
2
|
+
export { resolveProperty } from './row-value';
|
|
3
3
|
export declare function normalizeTableRows(value: any): Record<string, any>[];
|
|
4
4
|
export declare function normalizeTableColumns(value: any): TableColumn[];
|
|
5
5
|
export declare function inferTableColumns(rows: any[]): TableColumn[];
|
|
@@ -1,10 +1,60 @@
|
|
|
1
|
-
export type TableColumnType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'URL' | 'email' | 'phone' | 'currency' | 'image' | 'array' | 'array-counter' | 'html';
|
|
1
|
+
export type TableColumnType = 'text' | 'number' | 'date' | 'datetime' | 'boolean' | 'URL' | 'email' | 'phone' | 'currency' | 'image' | 'array' | 'array-counter' | 'html' | 'progress' | 'badge';
|
|
2
|
+
export type TableDisplayColor = 'neutral' | 'blue' | 'green' | 'amber' | 'red' | 'purple';
|
|
3
|
+
export interface TableValueSource {
|
|
4
|
+
kind: 'field' | 'fixed' | 'array-count';
|
|
5
|
+
property?: string;
|
|
6
|
+
value?: number | string;
|
|
7
|
+
}
|
|
8
|
+
export interface TableProgressSettings {
|
|
9
|
+
mode: 'numeric' | 'time';
|
|
10
|
+
current?: TableValueSource;
|
|
11
|
+
target?: TableValueSource;
|
|
12
|
+
start?: TableValueSource;
|
|
13
|
+
endMode?: 'deadline' | 'duration';
|
|
14
|
+
deadline?: TableValueSource;
|
|
15
|
+
duration?: TableValueSource;
|
|
16
|
+
durationUnit?: 'minutes' | 'hours' | 'days';
|
|
17
|
+
completedAt?: string;
|
|
18
|
+
display?: 'ratio' | 'percentage' | 'remaining' | 'elapsed';
|
|
19
|
+
showBar?: boolean;
|
|
20
|
+
color?: TableDisplayColor;
|
|
21
|
+
thresholdMetric?: 'percent' | 'remaining';
|
|
22
|
+
/** Ascending percent lower bounds, or remaining-minutes upper bounds. */
|
|
23
|
+
thresholds?: {
|
|
24
|
+
at: number;
|
|
25
|
+
color: TableDisplayColor;
|
|
26
|
+
}[];
|
|
27
|
+
completedColor?: TableDisplayColor;
|
|
28
|
+
overdueColor?: TableDisplayColor;
|
|
29
|
+
sortBy?: 'current' | 'percentage' | 'remaining' | 'deadline';
|
|
30
|
+
}
|
|
31
|
+
export interface TableBadgeOption {
|
|
32
|
+
id: string;
|
|
33
|
+
value: string;
|
|
34
|
+
label: string;
|
|
35
|
+
color: TableDisplayColor;
|
|
36
|
+
}
|
|
2
37
|
export interface TableColumn {
|
|
3
38
|
id?: string;
|
|
4
39
|
property: string;
|
|
5
40
|
label: string;
|
|
6
41
|
type: TableColumnType | string;
|
|
7
42
|
visible: boolean;
|
|
43
|
+
numberDisplay?: {
|
|
44
|
+
prefix?: string;
|
|
45
|
+
};
|
|
46
|
+
textDisplay?: {
|
|
47
|
+
prefix?: string;
|
|
48
|
+
};
|
|
49
|
+
dateDisplay?: {
|
|
50
|
+
relative?: boolean;
|
|
51
|
+
locale?: string;
|
|
52
|
+
timeZone?: string;
|
|
53
|
+
};
|
|
54
|
+
progress?: TableProgressSettings;
|
|
55
|
+
badge?: {
|
|
56
|
+
options: TableBadgeOption[];
|
|
57
|
+
};
|
|
8
58
|
_remove?: boolean;
|
|
9
59
|
[key: string]: any;
|
|
10
60
|
}
|
|
@@ -23,10 +73,13 @@ export interface MultiSelectFilterOption {
|
|
|
23
73
|
value: string;
|
|
24
74
|
label: string;
|
|
25
75
|
checked: boolean;
|
|
76
|
+
color?: TableDisplayColor;
|
|
26
77
|
}
|
|
27
78
|
export interface MultiSelectTableFilter extends BaseTableFilter {
|
|
28
79
|
type: 'multi-select';
|
|
29
80
|
options: MultiSelectFilterOption[];
|
|
81
|
+
optionSource?: 'custom' | 'column';
|
|
82
|
+
columnId?: string;
|
|
30
83
|
}
|
|
31
84
|
export interface NumberRangeTableFilter extends BaseTableFilter {
|
|
32
85
|
type: 'number-range';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { WhatsAppMessageAnalytics, WhatsAppSection, WhatsAppTemplateAnalytics } from './types';
|
|
2
|
+
export declare function messageAnalytics(raw: Record<string, any>): WhatsAppSection<WhatsAppMessageAnalytics>;
|
|
3
|
+
/** Missing values stay unknown. A real provider zero is preserved as zero. */
|
|
4
|
+
export declare function templateAnalytics(rows: Record<string, any>[], templates: Record<string, any>[], currency: string | null, truncated: boolean): WhatsAppSection<WhatsAppTemplateAnalytics>;
|
|
@@ -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, {}, HTMLElement>;
|
|
2
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
canManage: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { WhatsAppTemplate } from '../types';
|
|
2
|
+
type __VLS_Props = {
|
|
3
|
+
open: boolean;
|
|
4
|
+
template: WhatsAppTemplate | null;
|
|
5
|
+
canManage: boolean;
|
|
6
|
+
};
|
|
7
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
8
|
+
"update:open": (open: boolean) => any;
|
|
9
|
+
saved: () => any;
|
|
10
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
12
|
+
onSaved?: (() => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
export default _default;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
canManage: boolean;
|
|
3
|
+
};
|
|
4
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLElement>;
|
|
5
|
+
export default _default;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function readableError(error: unknown, fallback: string): string;
|
|
2
|
+
export declare function displayValue(value: unknown): string;
|
|
3
|
+
export declare function numberLabel(value: number | null | undefined): string;
|
|
4
|
+
export declare function dateLabel(value: string | number | null | undefined, timeZone?: string): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ResolveConfig } from '@oneclick.dev/cms-kit';
|
|
2
|
+
export declare const config: {
|
|
3
|
+
readonly account: {
|
|
4
|
+
readonly label: "WhatsApp integration";
|
|
5
|
+
readonly description: "Select a WhatsApp Business account connected in your Studio project integrations.";
|
|
6
|
+
readonly type: "resource";
|
|
7
|
+
readonly accept: ["WHATSAPP"];
|
|
8
|
+
readonly required: true;
|
|
9
|
+
};
|
|
10
|
+
readonly defaultDays: {
|
|
11
|
+
readonly label: "Default insights period";
|
|
12
|
+
readonly description: "The period shown when opening template insights.";
|
|
13
|
+
readonly type: "select";
|
|
14
|
+
readonly default: "30";
|
|
15
|
+
readonly options: [{
|
|
16
|
+
readonly label: "Last 7 days";
|
|
17
|
+
readonly value: "7";
|
|
18
|
+
}, {
|
|
19
|
+
readonly label: "Last 30 days";
|
|
20
|
+
readonly value: "30";
|
|
21
|
+
}, {
|
|
22
|
+
readonly label: "Last 90 days";
|
|
23
|
+
readonly value: "90";
|
|
24
|
+
}];
|
|
25
|
+
};
|
|
26
|
+
} & {
|
|
27
|
+
readonly account: {
|
|
28
|
+
readonly label: "WhatsApp integration";
|
|
29
|
+
readonly description: "Select a WhatsApp Business account connected in your Studio project integrations.";
|
|
30
|
+
readonly type: "resource";
|
|
31
|
+
readonly accept: ["WHATSAPP"];
|
|
32
|
+
readonly required: true;
|
|
33
|
+
};
|
|
34
|
+
readonly defaultDays: {
|
|
35
|
+
readonly label: "Default insights period";
|
|
36
|
+
readonly description: "The period shown when opening template insights.";
|
|
37
|
+
readonly type: "select";
|
|
38
|
+
readonly default: "30";
|
|
39
|
+
readonly options: [{
|
|
40
|
+
readonly label: "Last 7 days";
|
|
41
|
+
readonly value: "7";
|
|
42
|
+
}, {
|
|
43
|
+
readonly label: "Last 30 days";
|
|
44
|
+
readonly value: "30";
|
|
45
|
+
}, {
|
|
46
|
+
readonly label: "Last 90 days";
|
|
47
|
+
readonly value: "90";
|
|
48
|
+
}];
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
export type ConfigValues = ResolveConfig<typeof config>;
|