@mandolop97/constructor-nexora 1.5.0 → 1.7.1

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.
@@ -31,9 +31,11 @@ export interface NexoraBuilderAppProps {
31
31
  onImageUpload?: (file: File) => Promise<string>;
32
32
  /** Resolve asset paths to full URLs */
33
33
  resolveAssetUrl?: (path: string) => string;
34
- /** Mock data for edit/preview mode (products, collections, settings, etc.) */
34
+ /** @deprecated Use hostData instead */
35
35
  mockData?: Record<string, any>;
36
+ /** Host-provided data for edit/preview mode (products, collections, settings, etc.) */
37
+ hostData?: Record<string, any>;
36
38
  /** Data context for resolving bindings — passed to PageRenderer */
37
39
  renderContext?: RenderContext;
38
40
  }
39
- export declare function NexoraBuilderApp({ initialSchema, domain, pageSlug, onSave, onPublish, onPreview, onExport, className, pages, activePage, onPageChange, onSaveWithSlug, onPublishSubmit, locale: localeProp, customComponents, extraBlocks, customStylesheets, customCSS, customScripts, onImageUpload, resolveAssetUrl, mockData: externalMockData, renderContext: externalRenderContext, }: NexoraBuilderAppProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare function NexoraBuilderApp({ initialSchema, domain, pageSlug, onSave, onPublish, onPreview, onExport, className, pages, activePage, onPageChange, onSaveWithSlug, onPublishSubmit, locale: localeProp, customComponents, extraBlocks, customStylesheets, customCSS, customScripts, onImageUpload, resolveAssetUrl, mockData: externalMockData, hostData: externalHostData, renderContext: externalRenderContext, }: NexoraBuilderAppProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,27 @@
1
+ export interface ArrayFieldDef {
2
+ key: string;
3
+ label: string;
4
+ type: 'text' | 'textarea' | 'number' | 'image' | 'toggle';
5
+ placeholder?: string;
6
+ rows?: number;
7
+ defaultValue?: any;
8
+ }
9
+ export interface ArrayEditorProps {
10
+ /** Label shown above the editor */
11
+ label: string;
12
+ /** The current array of items */
13
+ items: any[];
14
+ /** Field definitions for each item */
15
+ fields: ArrayFieldDef[];
16
+ /** Called when items change */
17
+ onChange: (items: any[]) => void;
18
+ /** Default values for a new item */
19
+ newItemDefaults?: Record<string, any>;
20
+ /** Text for the add button */
21
+ addLabel?: string;
22
+ /** Max items allowed */
23
+ maxItems?: number;
24
+ /** Callback for image uploads */
25
+ onImageUpload?: (file: File) => Promise<string>;
26
+ }
27
+ export declare function ArrayEditor({ label, items, fields, onChange, newItemDefaults, addLabel, maxItems, onImageUpload, }: ArrayEditorProps): import("react/jsx-runtime").JSX.Element;
@@ -12,7 +12,10 @@ interface BuilderCanvasProps {
12
12
  width: number;
13
13
  height: number;
14
14
  };
15
+ /** @deprecated Use hostData */
15
16
  mockData?: Record<string, any>;
17
+ /** Host-provided data for edit/preview binding resolution */
18
+ hostData?: Record<string, any>;
16
19
  customStylesheets?: string[];
17
20
  customCSS?: string;
18
21
  customScripts?: string[];
@@ -35,5 +38,5 @@ interface BuilderCanvasProps {
35
38
  /** Pre-built render context from host — takes priority over auto-built one */
36
39
  externalRenderContext?: RenderContext;
37
40
  }
38
- export declare function BuilderCanvas({ schema, device, selectedNodeId, onSelectNode, customComponents, templateType, canvasSize, mockData, customStylesheets, customCSS, customScripts, onCopyNode, onPasteNode, onDuplicateNode, onDeleteNode, canPaste, onEditSection, onSaveAsTemplate, onRepositionNode, onCopyStyle, onPasteStyle, canPasteStyle, externalRenderContext }: BuilderCanvasProps): import("react/jsx-runtime").JSX.Element;
41
+ export declare function BuilderCanvas({ schema, device, selectedNodeId, onSelectNode, customComponents, templateType, canvasSize, mockData, hostData, customStylesheets, customCSS, customScripts, onCopyNode, onPasteNode, onDuplicateNode, onDeleteNode, canPaste, onEditSection, onSaveAsTemplate, onRepositionNode, onCopyStyle, onPasteStyle, canPasteStyle, externalRenderContext }: BuilderCanvasProps): import("react/jsx-runtime").JSX.Element;
39
42
  export {};
@@ -21,9 +21,11 @@ export interface BuilderEditorShellProps {
21
21
  customScripts?: string[];
22
22
  onImageUpload?: (file: File) => Promise<string>;
23
23
  resolveAssetUrl?: (path: string) => string;
24
- /** Mock data from host for edit/preview binding resolution */
24
+ /** @deprecated Use externalHostData */
25
25
  externalMockData?: Record<string, any>;
26
+ /** Host-provided data for edit/preview binding resolution */
27
+ externalHostData?: Record<string, any>;
26
28
  /** Pre-built render context from host */
27
29
  externalRenderContext?: RenderContext;
28
30
  }
29
- export declare function BuilderEditorShell({ initialSchema, onSave: onSaveExternal, onPublish, onPreview, onExport, className, onPublishSubmit, pages, activePage, onPageChange, pageTitle, customComponents, onBack, customStylesheets, customCSS, customScripts, onImageUpload, resolveAssetUrl, externalMockData, externalRenderContext, }: BuilderEditorShellProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function BuilderEditorShell({ initialSchema, onSave: onSaveExternal, onPublish, onPreview, onExport, className, onPublishSubmit, pages, activePage, onPageChange, pageTitle, customComponents, onBack, customStylesheets, customCSS, customScripts, onImageUpload, resolveAssetUrl, externalMockData, externalHostData, externalRenderContext, }: BuilderEditorShellProps): import("react/jsx-runtime").JSX.Element;
@@ -4,8 +4,10 @@ export interface NodeComponentProps {
4
4
  node: SchemaNode;
5
5
  mode: RenderMode;
6
6
  renderChildren: (childIds: string[]) => React.ReactNode;
7
- /** Mock data from PageDefinition, available in edit/preview mode */
7
+ /** @deprecated Use hostData kept for backward compatibility */
8
8
  mockData?: Record<string, any>;
9
+ /** Host-provided data for edit/preview binding resolution */
10
+ hostData?: Record<string, any>;
9
11
  }
10
12
  export type NodeComponent = React.FC<NodeComponentProps>;
11
13
  /** Map of NodeType → custom React component provided by the host */
@@ -7,7 +7,10 @@ interface PageRendererProps {
7
7
  selectedNodeId?: string | null;
8
8
  onSelectNode?: (nodeId: string) => void;
9
9
  customComponents?: CustomComponentMap;
10
+ /** @deprecated Use hostData */
10
11
  mockData?: Record<string, any>;
12
+ /** Host-provided data for edit/preview binding resolution */
13
+ hostData?: Record<string, any>;
11
14
  onCopyNode?: (nodeId: string) => void;
12
15
  onPasteNode?: (nodeId: string) => void;
13
16
  onDuplicateNode?: (nodeId: string) => void;
@@ -27,5 +30,5 @@ interface PageRendererProps {
27
30
  /** Data context for resolving bindings in public/preview mode */
28
31
  renderContext?: RenderContext;
29
32
  }
30
- export declare function PageRenderer({ schema, mode, selectedNodeId, onSelectNode, customComponents, mockData, onCopyNode, onPasteNode, onDuplicateNode, onDeleteNode, canPaste, onEditSection, onSaveAsTemplate, onRepositionNode, onCopyStyle, onPasteStyle, canPasteStyle, renderContext }: PageRendererProps): import("react/jsx-runtime").JSX.Element;
33
+ export declare function PageRenderer({ schema, mode, selectedNodeId, onSelectNode, customComponents, mockData, hostData, onCopyNode, onPasteNode, onDuplicateNode, onDeleteNode, canPaste, onEditSection, onSaveAsTemplate, onRepositionNode, onCopyStyle, onPasteStyle, canPasteStyle, renderContext }: PageRendererProps): import("react/jsx-runtime").JSX.Element;
31
34
  export {};
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const badgeVariants: (props?: {
4
- variant?: "outline" | "default" | "secondary" | "destructive";
4
+ variant?: "default" | "outline" | "secondary" | "destructive";
5
5
  } & import("class-variance-authority/types").ClassProp) => string;
6
6
  export interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const buttonVariants: (props?: {
4
- variant?: "outline" | "link" | "default" | "secondary" | "ghost" | "destructive";
4
+ variant?: "default" | "outline" | "secondary" | "ghost" | "link" | "destructive";
5
5
  size?: "default" | "sm" | "lg" | "icon";
6
6
  } & import("class-variance-authority/types").ClassProp) => string;
7
7
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -1,6 +1,6 @@
1
1
  import * as ResizablePrimitive from "react-resizable-panels";
2
2
  declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => import("react/jsx-runtime").JSX.Element;
3
- declare const ResizablePanel: import("react").ForwardRefExoticComponent<Omit<import("react").HTMLAttributes<HTMLObjectElement | HTMLElement | HTMLLabelElement | HTMLHeadingElement | HTMLParagraphElement | HTMLSpanElement | HTMLLinkElement | HTMLTitleElement | HTMLSelectElement | HTMLTextAreaElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
3
+ declare const ResizablePanel: import("react").ForwardRefExoticComponent<Omit<import("react").HTMLAttributes<HTMLObjectElement | HTMLElement | HTMLHeadingElement | HTMLParagraphElement | HTMLSpanElement | HTMLLinkElement | HTMLTitleElement | HTMLSelectElement | HTMLTextAreaElement | HTMLLabelElement | HTMLAnchorElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDivElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLegendElement | HTMLLIElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOListElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
4
4
  className?: string | undefined;
5
5
  collapsedSize?: number | undefined;
6
6
  collapsible?: boolean | undefined;
@@ -7,7 +7,7 @@ declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogC
7
7
  declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
8
8
  declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
9
  declare const sheetVariants: (props?: {
10
- side?: "top" | "left" | "right" | "bottom";
10
+ side?: "left" | "right" | "top" | "bottom";
11
11
  } & import("class-variance-authority/types").ClassProp) => string;
12
12
  interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
13
13
  }
@@ -45,7 +45,7 @@ declare const SidebarMenuButton: React.ForwardRefExoticComponent<Omit<React.Clas
45
45
  isActive?: boolean;
46
46
  tooltip?: string | React.ComponentProps<typeof TooltipContent>;
47
47
  } & VariantProps<(props?: {
48
- variant?: "outline" | "default";
48
+ variant?: "default" | "outline";
49
49
  size?: "default" | "sm" | "lg";
50
50
  } & import("class-variance-authority/types").ClassProp) => string>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
51
51
  declare const SidebarMenuAction: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
@@ -2,11 +2,11 @@ import * as React from "react";
2
2
  import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group";
3
3
  import { type VariantProps } from "class-variance-authority";
4
4
  declare const ToggleGroup: React.ForwardRefExoticComponent<((Omit<ToggleGroupPrimitive.ToggleGroupSingleProps & React.RefAttributes<HTMLDivElement>, "ref"> | Omit<ToggleGroupPrimitive.ToggleGroupMultipleProps & React.RefAttributes<HTMLDivElement>, "ref">) & VariantProps<(props?: {
5
- variant?: "outline" | "default";
5
+ variant?: "default" | "outline";
6
6
  size?: "default" | "sm" | "lg";
7
7
  } & import("class-variance-authority/types").ClassProp) => string>) & React.RefAttributes<HTMLDivElement>>;
8
8
  declare const ToggleGroupItem: React.ForwardRefExoticComponent<Omit<ToggleGroupPrimitive.ToggleGroupItemProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: {
9
- variant?: "outline" | "default";
9
+ variant?: "default" | "outline";
10
10
  size?: "default" | "sm" | "lg";
11
11
  } & import("class-variance-authority/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>>;
12
12
  export { ToggleGroup, ToggleGroupItem };
@@ -2,11 +2,11 @@ import * as React from "react";
2
2
  import * as TogglePrimitive from "@radix-ui/react-toggle";
3
3
  import { type VariantProps } from "class-variance-authority";
4
4
  declare const toggleVariants: (props?: {
5
- variant?: "outline" | "default";
5
+ variant?: "default" | "outline";
6
6
  size?: "default" | "sm" | "lg";
7
7
  } & import("class-variance-authority/types").ClassProp) => string;
8
8
  declare const Toggle: React.ForwardRefExoticComponent<Omit<TogglePrimitive.ToggleProps & React.RefAttributes<HTMLButtonElement>, "ref"> & VariantProps<(props?: {
9
- variant?: "outline" | "default";
9
+ variant?: "default" | "outline";
10
10
  size?: "default" | "sm" | "lg";
11
11
  } & import("class-variance-authority/types").ClassProp) => string> & React.RefAttributes<HTMLButtonElement>>;
12
12
  export { Toggle, toggleVariants };