@mandolop97/constructor-nexora 1.0.9 → 1.1.3
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/NexoraBuilderApp.d.ts +9 -1
- package/dist/components/builder/BuilderCanvas.d.ts +8 -1
- package/dist/components/builder/BuilderEditorShell.d.ts +5 -1
- package/dist/components/builder/CustomStylesInjector.d.ts +12 -0
- package/dist/components/builder/GradientEditor.d.ts +6 -0
- package/dist/components/builder/ImageUploadField.d.ts +7 -0
- package/dist/components/builder/Inspector.d.ts +3 -1
- package/dist/components/builder/LayersPanel.d.ts +2 -1
- package/dist/components/builder/MediaGallery.d.ts +7 -0
- package/dist/components/builder/ProductPicker.d.ts +19 -0
- package/dist/components/schema/PageRenderer.d.ts +6 -2
- package/dist/components/schema/SortableNodeWrapper.d.ts +6 -1
- package/dist/components/schema/nodes/ContentNodes.d.ts +3 -0
- package/dist/components/ui/badge.d.ts +1 -1
- package/dist/components/ui/button.d.ts +2 -2
- package/dist/components/ui/command.d.ts +1 -1
- package/dist/components/ui/input-otp.d.ts +2 -2
- package/dist/components/ui/resizable.d.ts +1 -1
- package/dist/components/ui/sheet.d.ts +1 -1
- package/dist/components/ui/sidebar.d.ts +1 -1
- package/dist/components/ui/toggle-group.d.ts +2 -2
- package/dist/components/ui/toggle.d.ts +2 -2
- package/dist/index-CnxzP-Eg.js +18350 -0
- package/dist/index.css +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +40 -15726
- package/dist/integrations/supabase/client.d.ts +78 -0
- package/dist/integrations/supabase/types.d.ts +78 -0
- package/dist/lib/block-registry.d.ts +18 -34
- package/dist/lib/style-utils.d.ts +16 -0
- package/dist/lucide-react-Bp2-WcqC.js +19114 -0
- package/dist/types/schema.d.ts +102 -39
- package/package.json +4 -2
package/dist/types/schema.d.ts
CHANGED
|
@@ -1,42 +1,117 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
export type BuiltInNodeType = 'Section' | 'Container' | 'Grid' | 'Stack' | 'Text' | 'Image' | 'Divider' | 'Badge' | 'Button' | 'Card' | 'Input' | 'ProductCard' | 'Navbar' | 'Footer' | 'AnnouncementBar' | 'FeatureBar' | 'TestimonialCard' | 'NewsletterSection' | 'HeroSection' | 'Accordion' | 'TabsBlock' | 'VideoEmbed';
|
|
2
|
+
export type BuiltInNodeType = 'Section' | 'Container' | 'Grid' | 'Stack' | 'Text' | 'Image' | 'Divider' | 'Badge' | 'Button' | 'Card' | 'Input' | 'ProductCard' | 'Navbar' | 'Footer' | 'AnnouncementBar' | 'FeatureBar' | 'TestimonialCard' | 'NewsletterSection' | 'HeroSection' | 'Accordion' | 'TabsBlock' | 'VideoEmbed' | 'Spacer' | 'Icon' | 'SocialIcons';
|
|
3
3
|
/** Extensible node type — accepts all built-in types plus any custom string. */
|
|
4
4
|
export type NodeType = BuiltInNodeType | (string & {});
|
|
5
5
|
export interface NodeStyle {
|
|
6
6
|
padding?: string;
|
|
7
7
|
margin?: string;
|
|
8
8
|
gap?: string;
|
|
9
|
-
color?: string;
|
|
10
|
-
backgroundColor?: string;
|
|
11
|
-
borderColor?: string;
|
|
12
|
-
borderWidth?: string;
|
|
13
|
-
borderRadius?: string;
|
|
14
|
-
boxShadow?: string;
|
|
15
9
|
width?: string;
|
|
16
10
|
height?: string;
|
|
17
11
|
minHeight?: string;
|
|
18
12
|
maxWidth?: string;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
textAlign?: string;
|
|
22
|
-
fontSize?: string;
|
|
23
|
-
fontWeight?: string;
|
|
24
|
-
lineHeight?: string;
|
|
25
|
-
letterSpacing?: string;
|
|
13
|
+
minWidth?: string;
|
|
14
|
+
maxHeight?: string;
|
|
26
15
|
display?: string;
|
|
27
16
|
flexDirection?: string;
|
|
17
|
+
flexWrap?: string;
|
|
18
|
+
flexGrow?: string;
|
|
19
|
+
flexShrink?: string;
|
|
20
|
+
alignItems?: string;
|
|
21
|
+
justifyContent?: string;
|
|
22
|
+
alignSelf?: string;
|
|
28
23
|
gridTemplateColumns?: string;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
opacity?: string;
|
|
24
|
+
gridTemplateRows?: string;
|
|
25
|
+
gridColumn?: string;
|
|
26
|
+
gridRow?: string;
|
|
33
27
|
overflow?: string;
|
|
28
|
+
overflowX?: string;
|
|
29
|
+
overflowY?: string;
|
|
34
30
|
position?: string;
|
|
35
31
|
top?: string;
|
|
36
32
|
left?: string;
|
|
37
33
|
right?: string;
|
|
38
34
|
bottom?: string;
|
|
39
35
|
zIndex?: string;
|
|
36
|
+
float?: string;
|
|
37
|
+
clear?: string;
|
|
38
|
+
color?: string;
|
|
39
|
+
fontSize?: string;
|
|
40
|
+
fontWeight?: string;
|
|
41
|
+
fontFamily?: string;
|
|
42
|
+
fontStyle?: string;
|
|
43
|
+
lineHeight?: string;
|
|
44
|
+
letterSpacing?: string;
|
|
45
|
+
textAlign?: string;
|
|
46
|
+
textTransform?: string;
|
|
47
|
+
textDecoration?: string;
|
|
48
|
+
textShadow?: string;
|
|
49
|
+
wordSpacing?: string;
|
|
50
|
+
whiteSpace?: string;
|
|
51
|
+
textOverflow?: string;
|
|
52
|
+
backgroundColor?: string;
|
|
53
|
+
backgroundImage?: string;
|
|
54
|
+
backgroundSize?: string;
|
|
55
|
+
backgroundPosition?: string;
|
|
56
|
+
backgroundRepeat?: string;
|
|
57
|
+
backgroundAttachment?: string;
|
|
58
|
+
backgroundBlendMode?: string;
|
|
59
|
+
backgroundGradient?: string;
|
|
60
|
+
backgroundClip?: string;
|
|
61
|
+
borderColor?: string;
|
|
62
|
+
borderWidth?: string;
|
|
63
|
+
borderRadius?: string;
|
|
64
|
+
borderStyle?: string;
|
|
65
|
+
borderTop?: string;
|
|
66
|
+
borderBottom?: string;
|
|
67
|
+
borderLeft?: string;
|
|
68
|
+
borderRight?: string;
|
|
69
|
+
borderTopLeftRadius?: string;
|
|
70
|
+
borderTopRightRadius?: string;
|
|
71
|
+
borderBottomLeftRadius?: string;
|
|
72
|
+
borderBottomRightRadius?: string;
|
|
73
|
+
outline?: string;
|
|
74
|
+
outlineOffset?: string;
|
|
75
|
+
outlineColor?: string;
|
|
76
|
+
outlineStyle?: string;
|
|
77
|
+
outlineWidth?: string;
|
|
78
|
+
boxShadow?: string;
|
|
79
|
+
opacity?: string;
|
|
80
|
+
filter?: string;
|
|
81
|
+
backdropFilter?: string;
|
|
82
|
+
mixBlendMode?: string;
|
|
83
|
+
clipPath?: string;
|
|
84
|
+
cursor?: string;
|
|
85
|
+
pointerEvents?: string;
|
|
86
|
+
userSelect?: string;
|
|
87
|
+
visibility?: string;
|
|
88
|
+
transform?: string;
|
|
89
|
+
transformOrigin?: string;
|
|
90
|
+
perspective?: string;
|
|
91
|
+
perspectiveOrigin?: string;
|
|
92
|
+
transition?: string;
|
|
93
|
+
transitionProperty?: string;
|
|
94
|
+
transitionDuration?: string;
|
|
95
|
+
transitionTimingFunction?: string;
|
|
96
|
+
transitionDelay?: string;
|
|
97
|
+
animation?: string;
|
|
98
|
+
animationName?: string;
|
|
99
|
+
animationDuration?: string;
|
|
100
|
+
animationDelay?: string;
|
|
101
|
+
animationTimingFunction?: string;
|
|
102
|
+
animationIterationCount?: string;
|
|
103
|
+
animationFillMode?: string;
|
|
104
|
+
animationDirection?: string;
|
|
105
|
+
animationPlayState?: string;
|
|
106
|
+
hover?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
107
|
+
focus?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
108
|
+
active?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
109
|
+
responsive?: {
|
|
110
|
+
sm?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
111
|
+
md?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
112
|
+
lg?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
113
|
+
xl?: Partial<Omit<NodeStyle, 'hover' | 'focus' | 'active' | 'responsive'>>;
|
|
114
|
+
};
|
|
40
115
|
}
|
|
41
116
|
export interface NodeProps {
|
|
42
117
|
text?: string;
|
|
@@ -67,39 +142,26 @@ export interface NodeProps {
|
|
|
67
142
|
ctaText?: string;
|
|
68
143
|
ctaHref?: string;
|
|
69
144
|
overlayOpacity?: string;
|
|
70
|
-
/** Alias for `text` in HeroSection/Newsletter */
|
|
71
145
|
heading?: string;
|
|
72
|
-
/** Alias for `ctaHref` in HeroSection */
|
|
73
146
|
ctaLink?: string;
|
|
74
|
-
/** Secondary CTA button text */
|
|
75
147
|
secondaryCtaText?: string;
|
|
76
|
-
/** Secondary CTA button link */
|
|
77
148
|
secondaryCtaLink?: string;
|
|
78
|
-
/** Overlay label text in HeroSection */
|
|
79
149
|
overlayText?: string;
|
|
80
|
-
/** Alias for `text` in ProductCard */
|
|
81
150
|
name?: string;
|
|
82
|
-
/** Alias for `src` in ProductCard */
|
|
83
151
|
image?: string;
|
|
84
|
-
/** Alias for `text` in TestimonialCard */
|
|
85
152
|
quote?: string;
|
|
86
|
-
/** Alias for `label` in TestimonialCard */
|
|
87
153
|
author?: string;
|
|
88
|
-
/** Alias for `variant` (stars) in TestimonialCard */
|
|
89
154
|
stars?: number;
|
|
90
|
-
/** Alias for `href` in Button */
|
|
91
155
|
link?: string;
|
|
92
|
-
/** Accordion/Tabs panels: array of { title, description } */
|
|
93
156
|
panels?: {
|
|
94
157
|
title: string;
|
|
95
158
|
description: string;
|
|
96
159
|
}[];
|
|
97
|
-
/** Video embed URL */
|
|
98
160
|
videoUrl?: string;
|
|
99
|
-
/** Autoplay flag */
|
|
100
161
|
autoplay?: boolean;
|
|
101
|
-
/** Muted flag */
|
|
102
162
|
muted?: boolean;
|
|
163
|
+
/** Allow arbitrary extra props from custom blocks */
|
|
164
|
+
[key: string]: any;
|
|
103
165
|
}
|
|
104
166
|
export interface SchemaNode {
|
|
105
167
|
id: string;
|
|
@@ -109,8 +171,9 @@ export interface SchemaNode {
|
|
|
109
171
|
children: string[];
|
|
110
172
|
locked?: boolean;
|
|
111
173
|
hidden?: boolean;
|
|
112
|
-
/** User-defined custom name for this node (shown in Layers panel) */
|
|
113
174
|
customName?: string;
|
|
175
|
+
/** Raw CSS applied to this specific widget */
|
|
176
|
+
customCSS?: string;
|
|
114
177
|
}
|
|
115
178
|
export interface ThemeTokens {
|
|
116
179
|
colors: {
|
|
@@ -139,6 +202,7 @@ export interface ThemeTokens {
|
|
|
139
202
|
lg: string;
|
|
140
203
|
xl: string;
|
|
141
204
|
};
|
|
205
|
+
gradient?: string;
|
|
142
206
|
}
|
|
143
207
|
export interface Schema {
|
|
144
208
|
id: string;
|
|
@@ -159,19 +223,18 @@ export interface PageDefinition {
|
|
|
159
223
|
title: string;
|
|
160
224
|
schema: Schema;
|
|
161
225
|
status?: 'published' | 'draft';
|
|
162
|
-
/** Type of template being edited. Determines canvas behavior. */
|
|
163
226
|
templateType?: TemplateType;
|
|
164
|
-
/** Category for grouping in the sidebar (e.g. "Páginas", "Elementos Globales", "Templates") */
|
|
165
227
|
category?: string;
|
|
166
|
-
/** Optional icon component for the page list */
|
|
167
228
|
icon?: React.ComponentType;
|
|
168
|
-
/** Custom canvas dimensions. Overrides templateType defaults. */
|
|
169
229
|
canvasSize?: {
|
|
170
230
|
width: number;
|
|
171
231
|
height: number;
|
|
172
232
|
};
|
|
173
|
-
/** Mock data injected into custom components in edit/preview mode */
|
|
174
233
|
mockData?: Record<string, any>;
|
|
175
234
|
}
|
|
176
235
|
export type RenderMode = 'public' | 'preview' | 'edit';
|
|
177
236
|
export type TemplateType = 'page' | 'header' | 'footer' | 'component' | 'single';
|
|
237
|
+
/** Predefined animation presets available in the Inspector */
|
|
238
|
+
export type AnimationPreset = 'fadeIn' | 'fadeOut' | 'slideUp' | 'slideDown' | 'slideLeft' | 'slideRight' | 'scaleIn' | 'scaleOut' | 'bounceIn' | 'pulse' | 'shake' | 'none';
|
|
239
|
+
/** Maps animation preset names to CSS animation values */
|
|
240
|
+
export declare const ANIMATION_PRESETS: Record<AnimationPreset, string>;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mandolop97/constructor-nexora",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.3",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"module": "dist/index.js",
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
"react": "^18.0.0",
|
|
18
18
|
"react-dom": "^18.0.0"
|
|
19
19
|
},
|
|
20
|
-
"files": [
|
|
20
|
+
"files": [
|
|
21
|
+
"dist"
|
|
22
|
+
],
|
|
21
23
|
"scripts": {
|
|
22
24
|
"dev": "vite",
|
|
23
25
|
"build": "vite build",
|