lf-pagebuilder-vue 0.0.15 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -126,22 +126,20 @@ import { Pagebuilder } from 'lf-pagebuilder-vue';
126
126
 
127
127
  ### Dependencias requeridas en el proyecto padre
128
128
 
129
- El proyecto que use este Pagebuilder debe tener instaladas estas dependencias:
129
+ El proyecto que use este Pagebuilder solo necesita instalar `lf-pagebuilder-vue`. La librería de componentes (`libreria-astro-lefebvre`) se instala automáticamente como dependencia transitiva:
130
130
 
131
131
  ```bash
132
- npm install vue@^3.3.0 vuedraggable@^4.1.0 @vueup/vue-quill@^1.2.0 libreria-astro-lefebvre@latest
132
+ npm install lf-pagebuilder-vue@latest vue@^3.3.0 vuedraggable@^4.1.0 @vueup/vue-quill@^1.2.0
133
133
  ```
134
134
 
135
- | Dependencia | Versión | Descripción |
136
- |-------------|---------|-------------|
137
- | `vue` | ^3.3.0 | Framework Vue 3 |
138
- | `vuedraggable` | ^4.1.0 | Drag & drop para Vue 3 |
139
- | `@vueup/vue-quill` | ^1.2.0 | Editor de texto enriquecido |
140
- | `libreria-astro-lefebvre` | latest | Librería de componentes Astro de Lefebvre |
135
+ | Dependencia | Tipo | Descripción |
136
+ |-------------|------|-------------|
137
+ | `lf-pagebuilder-vue` | directa | Page Builder (incluye `libreria-astro-lefebvre` como dep) |
138
+ | `vue` | peerDep | Framework Vue 3 |
139
+ | `vuedraggable` | peerDep | Drag & drop para Vue 3 |
140
+ | `@vueup/vue-quill` | peerDep | Editor de texto enriquecido |
141
141
 
142
- ### Configuración especial del proyecto padre
143
-
144
- #### En proyectos Astro
142
+ ### Configuración en proyectos Astro
145
143
 
146
144
  El proyecto debe tener las integraciones de Vue y Tailwind:
147
145
 
@@ -153,8 +151,6 @@ En `astro.config.mjs`:
153
151
 
154
152
  ```js
155
153
  import { defineConfig } from 'astro/config';
156
- import { searchForWorkspaceRoot } from 'vite';
157
- import path from 'path';
158
154
  import vue from '@astrojs/vue';
159
155
  import tailwindcss from '@tailwindcss/vite';
160
156
 
@@ -163,20 +159,47 @@ export default defineConfig({
163
159
 
164
160
  vite: {
165
161
  plugins: [tailwindcss()],
166
- server: {
167
- fs: {
168
- // Necesario si usas npm link con librerías hermanas
169
- allow: [
170
- searchForWorkspaceRoot(process.cwd()),
171
- path.resolve(process.cwd(), '..'),
172
- ],
173
- },
162
+ ssr: {
163
+ noExternal: ['libreria-astro-lefebvre', 'lf-pagebuilder-vue'],
174
164
  },
175
165
  },
176
166
  });
177
167
  ```
178
168
 
179
- > **Nota:** La configuración de `vite.server.fs.allow` es necesaria cuando usas `npm link` para desarrollo local con librerías en carpetas hermanas. Si instalas el paquete desde npm, no es necesaria.
169
+ ### Integración con Limbo (gestión de imágenes)
170
+
171
+ Si se quiere usar el sistema de imágenes Limbo desde el Pagebuilder:
172
+
173
+ **1. Variables de entorno** (`.env`):
174
+
175
+ ```env
176
+ PUBLIC_LIMBO_PUBLIC_KEY=pk_tu_public_key
177
+ IS_PROD=FALSE
178
+ ```
179
+
180
+ **2. Crear endpoint proxy** (`src/pages/api/limbo-token.ts`):
181
+
182
+ ```ts
183
+ import { createLimboTokenHandler } from 'lf-pagebuilder-vue/limbo';
184
+
185
+ export const POST = createLimboTokenHandler({
186
+ publicKey: import.meta.env.PUBLIC_LIMBO_PUBLIC_KEY,
187
+ isProduction: import.meta.env.IS_PROD === 'TRUE'
188
+ });
189
+ ```
190
+
191
+ **3. Pasar las props al Pagebuilder:**
192
+
193
+ ```astro
194
+ <Pagebuilder
195
+ limboPublicKey={import.meta.env.PUBLIC_LIMBO_PUBLIC_KEY}
196
+ isProduction={import.meta.env.IS_PROD === 'TRUE'}
197
+ inputId="mi-input"
198
+ client:only="vue"
199
+ />
200
+ ```
201
+
202
+ La URL de la API de Limbo se determina automáticamente según `isProduction`.
180
203
 
181
204
  ---
182
205
 
@@ -0,0 +1,55 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface PageSection {
4
+ section: string;
5
+ config: any;
6
+ rows: any[];
7
+ }
8
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
9
+ isComponentMode: BooleanConstructor;
10
+ fullwidthMode: BooleanConstructor;
11
+ globalPageConfiguration: PropType<PageSection[]>;
12
+ sectionSelected: StringConstructor;
13
+ removeComponent: PropType<(obj: any, section: string) => void>;
14
+ cloneComponent: PropType<(obj: any, section: string) => void>;
15
+ addComponentFunction: PropType<(rowIndex: number, columnIndex: number, section: string) => void>;
16
+ addCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
17
+ addRow: PropType<(index: number | null, section: string) => void>;
18
+ removeRow: PropType<(index: number, section: string) => void>;
19
+ removeCol: PropType<(rowIndex: number, colIndex: number, section: string) => void>;
20
+ moveCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
21
+ moveRow: PropType<(rowIndex: number, section: string, direction?: "up" | "down") => void>;
22
+ updateColConfig: PropType<(rowIndex: number, columnIndex: number, section: string, width: string, gap: string, flexDirection: string) => void>;
23
+ updateRowConfig: PropType<(rowIndex: number, section: string, padding: string, gap: string, width: string) => void>;
24
+ renderApiDomain: StringConstructor;
25
+ isProduction: {
26
+ type: BooleanConstructor;
27
+ default: boolean;
28
+ };
29
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
30
+ isComponentMode: BooleanConstructor;
31
+ fullwidthMode: BooleanConstructor;
32
+ globalPageConfiguration: PropType<PageSection[]>;
33
+ sectionSelected: StringConstructor;
34
+ removeComponent: PropType<(obj: any, section: string) => void>;
35
+ cloneComponent: PropType<(obj: any, section: string) => void>;
36
+ addComponentFunction: PropType<(rowIndex: number, columnIndex: number, section: string) => void>;
37
+ addCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
38
+ addRow: PropType<(index: number | null, section: string) => void>;
39
+ removeRow: PropType<(index: number, section: string) => void>;
40
+ removeCol: PropType<(rowIndex: number, colIndex: number, section: string) => void>;
41
+ moveCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
42
+ moveRow: PropType<(rowIndex: number, section: string, direction?: "up" | "down") => void>;
43
+ updateColConfig: PropType<(rowIndex: number, columnIndex: number, section: string, width: string, gap: string, flexDirection: string) => void>;
44
+ updateRowConfig: PropType<(rowIndex: number, section: string, padding: string, gap: string, width: string) => void>;
45
+ renderApiDomain: StringConstructor;
46
+ isProduction: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ }>> & Readonly<{}>, {
51
+ isProduction: boolean;
52
+ isComponentMode: boolean;
53
+ fullwidthMode: boolean;
54
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
55
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface PageSection {
4
+ section: string;
5
+ config: any;
6
+ rows: Array<{
7
+ config: any;
8
+ columns: Array<{
9
+ config: {
10
+ width?: string;
11
+ gap?: string;
12
+ flexDirection?: string;
13
+ };
14
+ components: any[];
15
+ }>;
16
+ }>;
17
+ }
18
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
19
+ globalPageConfiguration: PropType<PageSection[]>;
20
+ rowIndex: {
21
+ type: NumberConstructor;
22
+ required: true;
23
+ };
24
+ columnIndex: {
25
+ type: NumberConstructor;
26
+ required: true;
27
+ };
28
+ fullwidthMode: BooleanConstructor;
29
+ addCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
30
+ updateColConfig: PropType<(rowIndex: number, columnIndex: number, section: string, width: string, gap: string, flexDirection: string) => void>;
31
+ removeCol: PropType<(rowIndex: number, colIndex: number, section: string) => void>;
32
+ addComponentFunction: PropType<(rowIndex: number, columnIndex: number, section: string) => void>;
33
+ moveCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
34
+ section: StringConstructor;
35
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
36
+ globalPageConfiguration: PropType<PageSection[]>;
37
+ rowIndex: {
38
+ type: NumberConstructor;
39
+ required: true;
40
+ };
41
+ columnIndex: {
42
+ type: NumberConstructor;
43
+ required: true;
44
+ };
45
+ fullwidthMode: BooleanConstructor;
46
+ addCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
47
+ updateColConfig: PropType<(rowIndex: number, columnIndex: number, section: string, width: string, gap: string, flexDirection: string) => void>;
48
+ removeCol: PropType<(rowIndex: number, colIndex: number, section: string) => void>;
49
+ addComponentFunction: PropType<(rowIndex: number, columnIndex: number, section: string) => void>;
50
+ moveCol: PropType<(rowIndex: number, colIndex: number, section: string, direction?: "left" | "right") => void>;
51
+ section: StringConstructor;
52
+ }>> & Readonly<{}>, {
53
+ fullwidthMode: boolean;
54
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
55
+ export default _default;
@@ -0,0 +1,36 @@
1
+ interface ColumnToInsert {
2
+ rowIndex: number | null;
3
+ columnIndex: number | null;
4
+ section: string | null;
5
+ }
6
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
7
+ isComponentMode: boolean;
8
+ fullwidthMode: boolean;
9
+ columnToInsert: ColumnToInsert;
10
+ addComponentToColumn: (component: any) => void;
11
+ renderApiDomain: string;
12
+ toggleComponentModeFunction: () => void;
13
+ isProduction: boolean;
14
+ components: Record<string, any>;
15
+ excludedCategories?: string[];
16
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
17
+ isComponentMode: boolean;
18
+ fullwidthMode: boolean;
19
+ columnToInsert: ColumnToInsert;
20
+ addComponentToColumn: (component: any) => void;
21
+ renderApiDomain: string;
22
+ toggleComponentModeFunction: () => void;
23
+ isProduction: boolean;
24
+ components: Record<string, any>;
25
+ excludedCategories?: string[];
26
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
27
+ export default _default;
28
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
29
+ type __VLS_TypePropsToRuntimeProps<T> = {
30
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
31
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
32
+ } : {
33
+ type: import('vue').PropType<T[K]>;
34
+ required: true;
35
+ };
36
+ };
@@ -0,0 +1,72 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface ComponentField {
4
+ name: string;
5
+ label: string;
6
+ type: string;
7
+ mappedTo?: string;
8
+ example_value?: string | boolean;
9
+ }
10
+ interface ComponentObject {
11
+ id?: string;
12
+ name: string;
13
+ fields: ComponentField[];
14
+ repeat_data?: FinalCriteria | null;
15
+ }
16
+ interface FinalCriteria {
17
+ dynamicUpdate?: boolean;
18
+ elementCount?: number;
19
+ orientation?: 'horizontal' | 'vertical';
20
+ name?: string;
21
+ url?: string;
22
+ mapping?: Array<{
23
+ fieldName: string;
24
+ mappedTo: string;
25
+ }>;
26
+ }
27
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
28
+ object: {
29
+ type: PropType<ComponentObject>;
30
+ required: true;
31
+ };
32
+ toggleFeedSection: {
33
+ type: PropType<() => void>;
34
+ required: true;
35
+ };
36
+ updateObjectByFeedContent: {
37
+ type: PropType<(mappeo: Array<{
38
+ fieldName: string;
39
+ mappedTo: string;
40
+ value: any;
41
+ }>, criteria: FinalCriteria | null) => void>;
42
+ required: true;
43
+ };
44
+ isProduction: {
45
+ type: BooleanConstructor;
46
+ default: boolean;
47
+ };
48
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
49
+ object: {
50
+ type: PropType<ComponentObject>;
51
+ required: true;
52
+ };
53
+ toggleFeedSection: {
54
+ type: PropType<() => void>;
55
+ required: true;
56
+ };
57
+ updateObjectByFeedContent: {
58
+ type: PropType<(mappeo: Array<{
59
+ fieldName: string;
60
+ mappedTo: string;
61
+ value: any;
62
+ }>, criteria: FinalCriteria | null) => void>;
63
+ required: true;
64
+ };
65
+ isProduction: {
66
+ type: BooleanConstructor;
67
+ default: boolean;
68
+ };
69
+ }>> & Readonly<{}>, {
70
+ isProduction: boolean;
71
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
72
+ export default _default;
@@ -0,0 +1,55 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface ComponentField {
4
+ name: string;
5
+ label: string;
6
+ type: 'text' | 'textArea' | 'image' | 'select' | 'boolean';
7
+ mandatory?: boolean;
8
+ example_value?: string | boolean;
9
+ options?: string[];
10
+ image_cuts?: Array<{
11
+ width: number;
12
+ height: number;
13
+ label: string;
14
+ required?: boolean;
15
+ }>;
16
+ }
17
+ interface ComponentObject {
18
+ id?: string;
19
+ name: string;
20
+ fields: ComponentField[];
21
+ }
22
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
23
+ object: {
24
+ type: PropType<ComponentObject>;
25
+ required: true;
26
+ };
27
+ toggleShowForm: {
28
+ type: PropType<() => void>;
29
+ required: true;
30
+ };
31
+ showForm: {
32
+ type: BooleanConstructor;
33
+ default: boolean;
34
+ };
35
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
36
+ fieldUpdated: (fieldName: string, value: string | boolean) => void;
37
+ }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
38
+ object: {
39
+ type: PropType<ComponentObject>;
40
+ required: true;
41
+ };
42
+ toggleShowForm: {
43
+ type: PropType<() => void>;
44
+ required: true;
45
+ };
46
+ showForm: {
47
+ type: BooleanConstructor;
48
+ default: boolean;
49
+ };
50
+ }>> & Readonly<{
51
+ onFieldUpdated?: ((fieldName: string, value: string | boolean) => any) | undefined;
52
+ }>, {
53
+ showForm: boolean;
54
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
55
+ export default _default;
@@ -0,0 +1,81 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface PageSection {
4
+ section: string;
5
+ config: {
6
+ width?: string;
7
+ };
8
+ rows: any[];
9
+ }
10
+ interface PageParameters {
11
+ global: {
12
+ sidebarEnabled: boolean;
13
+ renderAsBodyPart: boolean;
14
+ headSlot: string;
15
+ bodyBeginSlot: string;
16
+ footerSlot: string;
17
+ };
18
+ seo: {
19
+ title: string;
20
+ description: string;
21
+ robots: string;
22
+ };
23
+ }
24
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
25
+ isComponentMode: BooleanConstructor;
26
+ fullwidthMode: BooleanConstructor;
27
+ debugMode: BooleanConstructor;
28
+ submitForm: BooleanConstructor;
29
+ toggleComponentModeFunction: PropType<() => void>;
30
+ toggleFullwidthMode: PropType<() => void>;
31
+ importConfigurationFunction: PropType<(config: any) => void>;
32
+ globalPageConfiguration: PropType<PageSection[]>;
33
+ sectionSelected: StringConstructor;
34
+ availableSections: PropType<string[]>;
35
+ parametersPageConfiguration: PropType<PageParameters>;
36
+ renderApiDomain: StringConstructor;
37
+ inputId: PropType<string | null>;
38
+ }>, {
39
+ validateSeo: () => void;
40
+ importConfig: import('vue').Ref<string, string>;
41
+ showAdvancedConfig: import('vue').Ref<boolean, boolean>;
42
+ previewFunction: () => void;
43
+ importFunction: () => void;
44
+ exportFunction: () => void;
45
+ saveButtonAction: () => void;
46
+ loadFromLocalStorage: () => void;
47
+ toggleExpandScreen: () => void;
48
+ sectionWidth: import('vue').WritableComputedRef<string, string>;
49
+ isSaved: import('vue').Ref<boolean, boolean>;
50
+ componentRoot: import('vue').Ref<HTMLElement | null, HTMLElement | null>;
51
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("update:sectionSelected" | "update:parametersPageConfiguration.global.sidebarEnabled" | "update:parametersPageConfiguration.global.renderAsBodyPart" | "update:parametersPageConfiguration.global.headSlot" | "update:parametersPageConfiguration.global.bodyBeginSlot" | "update:parametersPageConfiguration.global.footerSlot" | "update:parametersPageConfiguration.seo.robots" | "update:parametersPageConfiguration.seo.title" | "update:parametersPageConfiguration.seo.description")[], "update:sectionSelected" | "update:parametersPageConfiguration.global.sidebarEnabled" | "update:parametersPageConfiguration.global.renderAsBodyPart" | "update:parametersPageConfiguration.global.headSlot" | "update:parametersPageConfiguration.global.bodyBeginSlot" | "update:parametersPageConfiguration.global.footerSlot" | "update:parametersPageConfiguration.seo.robots" | "update:parametersPageConfiguration.seo.title" | "update:parametersPageConfiguration.seo.description", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
52
+ isComponentMode: BooleanConstructor;
53
+ fullwidthMode: BooleanConstructor;
54
+ debugMode: BooleanConstructor;
55
+ submitForm: BooleanConstructor;
56
+ toggleComponentModeFunction: PropType<() => void>;
57
+ toggleFullwidthMode: PropType<() => void>;
58
+ importConfigurationFunction: PropType<(config: any) => void>;
59
+ globalPageConfiguration: PropType<PageSection[]>;
60
+ sectionSelected: StringConstructor;
61
+ availableSections: PropType<string[]>;
62
+ parametersPageConfiguration: PropType<PageParameters>;
63
+ renderApiDomain: StringConstructor;
64
+ inputId: PropType<string | null>;
65
+ }>> & Readonly<{
66
+ "onUpdate:sectionSelected"?: ((...args: any[]) => any) | undefined;
67
+ "onUpdate:parametersPageConfiguration.global.sidebarEnabled"?: ((...args: any[]) => any) | undefined;
68
+ "onUpdate:parametersPageConfiguration.global.renderAsBodyPart"?: ((...args: any[]) => any) | undefined;
69
+ "onUpdate:parametersPageConfiguration.global.headSlot"?: ((...args: any[]) => any) | undefined;
70
+ "onUpdate:parametersPageConfiguration.global.bodyBeginSlot"?: ((...args: any[]) => any) | undefined;
71
+ "onUpdate:parametersPageConfiguration.global.footerSlot"?: ((...args: any[]) => any) | undefined;
72
+ "onUpdate:parametersPageConfiguration.seo.robots"?: ((...args: any[]) => any) | undefined;
73
+ "onUpdate:parametersPageConfiguration.seo.title"?: ((...args: any[]) => any) | undefined;
74
+ "onUpdate:parametersPageConfiguration.seo.description"?: ((...args: any[]) => any) | undefined;
75
+ }>, {
76
+ isComponentMode: boolean;
77
+ fullwidthMode: boolean;
78
+ debugMode: boolean;
79
+ submitForm: boolean;
80
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
81
+ export default _default;
@@ -0,0 +1,93 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface ComponentField {
4
+ name: string;
5
+ label: string;
6
+ type: 'text' | 'textArea' | 'image' | 'select' | 'boolean';
7
+ mandatory?: boolean;
8
+ example_value?: string | boolean;
9
+ mappedTo?: string;
10
+ options?: string[];
11
+ image_cuts?: Array<{
12
+ width: number;
13
+ height: number;
14
+ label: string;
15
+ required?: boolean;
16
+ }>;
17
+ }
18
+ interface RepeatData {
19
+ dynamicUpdate?: boolean;
20
+ elementCount?: number;
21
+ orientation?: 'horizontal' | 'vertical';
22
+ name?: string;
23
+ url?: string;
24
+ mapping?: Array<{
25
+ fieldName: string;
26
+ mappedTo: string;
27
+ }>;
28
+ }
29
+ interface ComponentObject {
30
+ id?: string;
31
+ name: string;
32
+ component_name: string;
33
+ description: string;
34
+ category: string;
35
+ framework: string;
36
+ tags: string[];
37
+ fields: ComponentField[];
38
+ repeat_data?: RepeatData | null;
39
+ }
40
+ interface ColumnToInsert {
41
+ rowIndex: number | null;
42
+ columnIndex: number | null;
43
+ section: string | null;
44
+ }
45
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
46
+ object: {
47
+ type: PropType<ComponentObject>;
48
+ required: true;
49
+ };
50
+ columnToInsert: PropType<ColumnToInsert>;
51
+ isComponentMode: BooleanConstructor;
52
+ fullwidthMode: BooleanConstructor;
53
+ addComponentToColumn: PropType<(component: any) => void>;
54
+ removeComponent: PropType<(obj: any, section: string) => void>;
55
+ cloneComponent: PropType<(obj: any, section: string) => void>;
56
+ section: StringConstructor;
57
+ renderApiDomain: StringConstructor;
58
+ insideComponentBox: {
59
+ type: BooleanConstructor;
60
+ default: boolean;
61
+ };
62
+ isProduction: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
67
+ object: {
68
+ type: PropType<ComponentObject>;
69
+ required: true;
70
+ };
71
+ columnToInsert: PropType<ColumnToInsert>;
72
+ isComponentMode: BooleanConstructor;
73
+ fullwidthMode: BooleanConstructor;
74
+ addComponentToColumn: PropType<(component: any) => void>;
75
+ removeComponent: PropType<(obj: any, section: string) => void>;
76
+ cloneComponent: PropType<(obj: any, section: string) => void>;
77
+ section: StringConstructor;
78
+ renderApiDomain: StringConstructor;
79
+ insideComponentBox: {
80
+ type: BooleanConstructor;
81
+ default: boolean;
82
+ };
83
+ isProduction: {
84
+ type: BooleanConstructor;
85
+ default: boolean;
86
+ };
87
+ }>> & Readonly<{}>, {
88
+ isProduction: boolean;
89
+ isComponentMode: boolean;
90
+ fullwidthMode: boolean;
91
+ insideComponentBox: boolean;
92
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
93
+ export default _default;
@@ -0,0 +1,31 @@
1
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
2
+ isProduction?: boolean;
3
+ debugMode?: boolean;
4
+ submitForm?: boolean;
5
+ inputId?: string | null;
6
+ excludeComponentTypes?: string[];
7
+ /** Public Key de Limbo (pk_xxx) - Si se proporciona, se inicializa Limbo automáticamente */
8
+ limboPublicKey?: string;
9
+ /** URL del endpoint proxy para obtener tokens (default: '/api/limbo-token') */
10
+ limboTokenEndpoint?: string;
11
+ }>>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<__VLS_TypePropsToRuntimeProps<{
12
+ isProduction?: boolean;
13
+ debugMode?: boolean;
14
+ submitForm?: boolean;
15
+ inputId?: string | null;
16
+ excludeComponentTypes?: string[];
17
+ /** Public Key de Limbo (pk_xxx) - Si se proporciona, se inicializa Limbo automáticamente */
18
+ limboPublicKey?: string;
19
+ /** URL del endpoint proxy para obtener tokens (default: '/api/limbo-token') */
20
+ limboTokenEndpoint?: string;
21
+ }>>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
22
+ export default _default;
23
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
24
+ type __VLS_TypePropsToRuntimeProps<T> = {
25
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
26
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
27
+ } : {
28
+ type: import('vue').PropType<T[K]>;
29
+ required: true;
30
+ };
31
+ };
@@ -0,0 +1,38 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface PageSection {
4
+ section: string;
5
+ config: any;
6
+ rows: Array<{
7
+ config: {
8
+ padding?: string;
9
+ gap?: string;
10
+ width?: string;
11
+ };
12
+ columns: any[];
13
+ }>;
14
+ }
15
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
16
+ rowIndex: {
17
+ type: NumberConstructor;
18
+ required: true;
19
+ };
20
+ updateRowConfig: PropType<(rowIndex: number, section: string, padding: string, gap: string, width: string) => void>;
21
+ removeRow: PropType<(index: number, section: string) => void>;
22
+ addRow: PropType<(index: number | null, section: string) => void>;
23
+ globalPageConfiguration: PropType<PageSection[]>;
24
+ section: StringConstructor;
25
+ moveRow: PropType<(rowIndex: number, section: string, direction: "up" | "down") => void>;
26
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
27
+ rowIndex: {
28
+ type: NumberConstructor;
29
+ required: true;
30
+ };
31
+ updateRowConfig: PropType<(rowIndex: number, section: string, padding: string, gap: string, width: string) => void>;
32
+ removeRow: PropType<(index: number, section: string) => void>;
33
+ addRow: PropType<(index: number | null, section: string) => void>;
34
+ globalPageConfiguration: PropType<PageSection[]>;
35
+ section: StringConstructor;
36
+ moveRow: PropType<(rowIndex: number, section: string, direction: "up" | "down") => void>;
37
+ }>> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
38
+ export default _default;
@@ -0,0 +1,36 @@
1
+ import { PropType } from 'vue';
2
+
3
+ interface FeedCriteria {
4
+ name: string;
5
+ url: string;
6
+ }
7
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
8
+ onSubmit: {
9
+ type: PropType<(data: any[]) => void>;
10
+ required: true;
11
+ };
12
+ updateFeedCriteria: {
13
+ type: PropType<(criteria: FeedCriteria) => void>;
14
+ required: true;
15
+ };
16
+ isProduction: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
20
+ }>, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
21
+ onSubmit: {
22
+ type: PropType<(data: any[]) => void>;
23
+ required: true;
24
+ };
25
+ updateFeedCriteria: {
26
+ type: PropType<(criteria: FeedCriteria) => void>;
27
+ required: true;
28
+ };
29
+ isProduction: {
30
+ type: BooleanConstructor;
31
+ default: boolean;
32
+ };
33
+ }>> & Readonly<{}>, {
34
+ isProduction: boolean;
35
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
36
+ export default _default;