@parhelia/page-wizard 0.1.12556 → 0.1.12565

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.
@@ -1,4 +1,4 @@
1
- import { type ItemDescriptor, type Thumbnail } from "@parhelia/core";
1
+ import { type ItemDescriptor, type ReferencedItem, type Thumbnail } from "@parhelia/core";
2
2
  export type Wizard = {
3
3
  id: string;
4
4
  name: string;
@@ -7,6 +7,7 @@ export type Wizard = {
7
7
  icon: string;
8
8
  schema: PageSchema;
9
9
  templateId: string;
10
+ defaultTheme?: ReferencedItem;
10
11
  };
11
12
  export type PageSchema = {
12
13
  placeholders: SchemaPlaceholder[];
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from "react";
3
- import { useEditContext, Spinner } from "@parhelia/core";
3
+ import { useEditContext, Spinner, } from "@parhelia/core";
4
4
  import { getWizard } from "./service";
5
5
  import { WizardSteps } from "./WizardSteps";
6
6
  export function PageWizard() {
@@ -38,7 +38,9 @@ export function PageWizard() {
38
38
  catch (error) {
39
39
  console.error("PageWizard: Error loading wizard:", error);
40
40
  // If the wizard couldn't be loaded (not found, not valid for context, etc.)
41
- editContext?.switchView("content-tree", { skipConfirmation: true });
41
+ editContext?.switchWorkspace("content-tree", {
42
+ skipConfirmation: true,
43
+ });
42
44
  }
43
45
  finally {
44
46
  setIsLoading(false);
@@ -49,7 +51,9 @@ export function PageWizard() {
49
51
  // Only switch away if we have no wizard AND no wizard ID (i.e., we're not supposed to be here)
50
52
  if (!wizard && !editContext?.currentWizardId) {
51
53
  console.log("PageWizard - No wizard and no wizard ID, switching to content-tree");
52
- editContext?.switchView("content-tree", { skipConfirmation: true });
54
+ editContext?.switchWorkspace("content-tree", {
55
+ skipConfirmation: true,
56
+ });
53
57
  return null;
54
58
  }
55
59
  // If we have a wizard, render it
@@ -1 +1 @@
1
- {"version":3,"file":"PageWizard.js","sourceRoot":"","sources":["../src/PageWizard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAuC,MAAM,gBAAgB,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAwF5C,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,EAAE,eAAe,CAAC;QAE9C,KAAK,UAAU,UAAU;YACvB,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,oCAAoC;gBACpC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;gBAC9D,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,EAAE,UAAU,IAAI,WAAW,CAAC,qBAAqB,CAAC;gBACpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,SAAS,CACjC,QAAQ,EACR,UAAU,CACX,CAAC;gBACF,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,aAAa,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC1D,4EAA4E;gBAC5E,WAAW,EAAE,UAAU,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAE1F,+FAA+F;IAC/F,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;QACF,WAAW,EAAE,UAAU,CAAC,cAAc,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;IACjE,CAAC;IAED,mCAAmC;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACtD,KAAC,OAAO,KAAG,GACP,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PageWizard.js","sourceRoot":"","sources":["../src/PageWizard.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAU,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,cAAc,EACd,OAAO,GAIR,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAyF5C,MAAM,UAAU,UAAU;IACxB,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC1D,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAwB,IAAI,CAAC,CAAC;IAC1E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,QAAQ,GAAG,WAAW,EAAE,eAAe,CAAC;QAE9C,KAAK,UAAU,UAAU;YACvB,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,oCAAoC;gBACpC,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;gBAC7D,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO;YACT,CAAC;YAED,8DAA8D;YAC9D,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,qBAAqB,EAAE,CAAC;gBAC9D,YAAY,CAAC,IAAI,CAAC,CAAC;gBACnB,OAAO;YACT,CAAC;YAED,YAAY,CAAC,IAAI,CAAC,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,UAAU,GACd,WAAW,CAAC,IAAI,EAAE,UAAU,IAAI,WAAW,CAAC,qBAAqB,CAAC;gBACpE,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,YAAY,CAAC,IAAI,CAAC,CAAC;oBACnB,OAAO;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,MAAM,SAAS,CACjC,QAAQ,EACR,UAAU,CACX,CAAC;gBACF,SAAS,CAAC,WAAW,CAAC,CAAC;gBACvB,aAAa,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;gBAC1D,4EAA4E;gBAC5E,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE;oBAC3C,gBAAgB,EAAE,IAAI;iBACvB,CAAC,CAAC;YACL,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,UAAU,EAAE,CAAC;IACf,CAAC,EAAE,CAAC,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,qBAAqB,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;IAE1F,+FAA+F;IAC/F,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,eAAe,EAAE,CAAC;QAC7C,OAAO,CAAC,GAAG,CACT,oEAAoE,CACrE,CAAC;QACF,WAAW,EAAE,eAAe,CAAC,cAAc,EAAE;YAC3C,gBAAgB,EAAE,IAAI;SACvB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,iCAAiC;IACjC,IAAI,MAAM,IAAI,UAAU,EAAE,CAAC;QACzB,OAAO,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAI,CAAC;IACjE,CAAC;IAED,mCAAmC;IACnC,OAAO,CACL,cAAK,SAAS,EAAC,yCAAyC,YACtD,KAAC,OAAO,KAAG,GACP,CACP,CAAC;AACJ,CAAC"}
@@ -157,14 +157,14 @@ export function WizardSteps({ wizard, parentItem }) {
157
157
  };
158
158
  const handleFinish = () => {
159
159
  editContext?.setCurrentWizardId(null);
160
- editContext?.switchView("editor", { skipConfirmation: true });
160
+ editContext?.switchWorkspace("editor", { skipConfirmation: true });
161
161
  };
162
162
  const handleClose = () => {
163
163
  // If wizard was opened from new-page, go to splash screen instead
164
- const targetView = editContext?.previousViewName === "new-page"
164
+ const targetWorkspace = editContext?.previousWorkspaceId === "new-page"
165
165
  ? "splash-screen"
166
- : (editContext?.previousViewName || "content-tree");
167
- editContext?.switchView(targetView);
166
+ : (editContext?.previousWorkspaceId || "content-tree");
167
+ editContext?.switchWorkspace(targetWorkspace);
168
168
  };
169
169
  const currentStep = wizard.steps[currentStepIndex];
170
170
  if (!currentStep)
@@ -1 +1 @@
1
- {"version":3,"file":"WizardSteps.js","sourceRoot":"","sources":["../src/WizardSteps.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,EAAuB,MAAM,gBAAgB,CAAC;AACjF,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,EAAE,MAAM,cAAc,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,cAAc,GAA6C;IAC/D,WAAW;IACX,UAAU;IACV,aAAa;IACb,UAAU;IACV,UAAU;IACV,WAAW;IACX,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;CACd,CAAC;AAsDF,SAAS,cAAc,CAAC,EACtB,gBAAgB,EAChB,MAAM,EACN,UAAU,GACU;IACpB,IAAI,gBAAgB,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,CACL,MAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,SAAS,iBAAa,wBAAwB,aACjF,KAAC,WAAW,KAAG,OAAE,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,IAClD,CACV,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAClB,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,MAAM,EACN,QAAQ,GACQ;IAChB,MAAM,UAAU,GAAG,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,aAAa,GAAG,gBAAgB,CAAC;IAEpD,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,CACL,MAAC,MAAM,IAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,iBAAc,sBAAsB,wBAC1E,KAAC,YAAY,KAAG,IAChB,CACV,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,MAAM,IAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,iBAAc,oBAAoB,aAC5E,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EACzC,KAAC,YAAY,KAAG,IACT,CACV,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,MAAM,EACN,gBAAgB,EAChB,WAAW,GACU;IACrB,MAAM,QAAQ,GAAG,MAAM,CAA4B,EAAE,CAAC,CAAC;IAEvD,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,iBAAiB,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7D,IAAI,iBAAiB,EAAE,CAAC;YACtB,iBAAiB,CAAC,cAAc,CAAC;gBAC/B,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,SAAS;gBAChB,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,cAAK,SAAS,EAAC,gBAAgB,YAC7B,cAAK,SAAS,EAAC,eAAe,YAC5B,cAAK,SAAS,EAAC,2CAA2C,YACvD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CACjC,MAAC,KAAK,CAAC,QAAQ,eACb,eACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE;gCACV,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;4BAC/B,CAAC,EACD,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,gBAAgB,GAAG,KAAK,IAAI,gBAAgB,CAC7C,EACD,OAAO,EAAE,GAAG,EAAE,CACZ,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,aAG3D,eACE,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,gBAAgB,KAAK,KAAK;wCAC1B,sEAAsE,EACtE,gBAAgB,GAAG,KAAK,IAAI,+BAA+B,EAC3D,gBAAgB,GAAG,KAAK;wCACxB,kCAAkC,CACnC,YAEA,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GACtC,EACP,cACE,SAAS,EAAE,EAAE,CACX,6FAA6F,EAC7F,gBAAgB,KAAK,KAAK;wCACxB,CAAC,CAAC,oCAAoC;wCACtC,CAAC,CAAC,gBAAgB,IAAI,KAAK;4CACzB,CAAC,CAAC,sBAAsB;4CACxB,CAAC,CAAC,eAAe,CACtB,YAEA,IAAI,CAAC,IAAI,GACN,IACF,EAEL,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAClC,cACE,SAAS,EAAE,EAAE,CACX,KAAK,GAAG,gBAAgB;gCACtB,CAAC,CAAC,wBAAwB;gCAC1B,CAAC,CAAC,iBAAiB,EACrB,2DAA2D,CAC5D,GACD,CACH,KAhDkB,IAAI,CAAC,EAAE,CAiDX,CAClB,CAAC,GACE,GACF,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,EACP,aAAa,EACb,QAAQ,GACU;IAClB,OAAO,CACL,eAAK,SAAS,EAAC,+LAA+L,aAC3M,CAAC,QAAQ,IAAI,CACZ,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,cAAc,IACb,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,UAAU,GACtB,GACE,CACP,EAED,KAAC,eAAe,IACd,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,WAAW,GACxB,EAED,CAAC,QAAQ,IAAI,CACZ,cAAK,SAAS,EAAC,2BAA2B,YACxC,KAAC,UAAU,IACT,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GAClB,GACE,CACP,EAED,cAAK,SAAS,EAAC,UAAU,YACvB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YACnD,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,GACL,IACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,EAAE,WAAW,EAAE,QAAQ,EAAsB;IAClE,OAAO,CACL,cAAK,SAAS,EAAC,uCAAuC,YACpD,eAAK,SAAS,EAAC,mBAAmB,aAChC,cAAK,SAAS,EAAC,sBAAsB,YACnC,eAAK,SAAS,EAAC,sCAAsC,aACnD,cAAK,SAAS,EAAC,YAAY,YACzB,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,kCAAkC,YAC9C,WAAW,EAAE,MAAM,EAAE,KAAK,IAAI,WAAW,EAAE,IAAI,GAC5C,EACL,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,CACnC,cAAK,SAAS,EAAC,oCAAoC,YAChD,WAAW,CAAC,MAAM,CAAC,WAAW,GAC3B,CACP,IACG,GACF,EACN,cAAK,SAAS,EAAC,iBAAiB,YAC9B,cAAK,SAAS,EAAC,gCAAgC,YAAE,QAAQ,GAAO,GAC5D,IACF,GACF,EACN,cAAK,SAAS,EAAC,4BAA4B,GAAG,IAC1C,GACF,CACP,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,EAC/B,gBAAgB,EAChB,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,QAAQ,EACR,OAAO,GACsB;IAC7B,MAAM,UAAU,GAAG,gBAAgB,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IAChE,MAAM,cAAc,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACxD,MAAM,YAAY,GAAG,gBAAgB,GAAG,CAAC,CAAC;IAE1C,OAAO,CACL,cAAK,SAAS,EAAC,sFAAsF,YACnG,eAAK,SAAS,EAAC,YAAY,aACxB,YAAY,IAAI,CACf,MAAC,MAAM,IAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAC,SAAS,EAAC,SAAS,EAAC,QAAQ,iBAAa,wBAAwB,aACpG,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAG,EAClC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,IAClC,CACV,EAEA,UAAU,CAAC,CAAC,CAAC,CACZ,MAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,iBACtC,sBAAsB,uBAGlC,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,IAC7B,CACV,CAAC,CAAC,CAAC,CACF,MAAC,MAAM,IACL,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,YAAY,IAAI,QAAQ,CAAC,iBACtC,oBAAoB,aAE/B,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EACzC,KAAC,YAAY,IAAC,SAAS,EAAC,SAAS,GAAG,IAC7B,CACV,EAED,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,YACnD,KAAC,CAAC,IAAC,SAAS,EAAC,SAAS,GAAG,GAClB,IACL,GACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,UAAU,EAAoB;IAClE,uDAAuD;IACvD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAa;QAC3C,WAAW,EAAE,UAAU;KACxB,CAAC,CAAC;IACH,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAkB;QAC1D,UAAU,EAAE,EAAE;QACd,IAAI,EAAE,EAAE;QACR,eAAe,EAAE,EAAE;QACnB,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAM,EAAE,CAAC,CAAC;IAC5D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvD,MAAM,qBAAqB,GAAG,MAAM,CAAkC,IAAI,CAAC,CAAC;IAE5E,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,kBAAkB,GAAG,CAAC,CAAoB,EAAE,EAAE;YAClD,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC;QACrB,CAAC,CAAC;QAEF,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAE5D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,WAAW,EAAE,QAAQ,IAAI,KAAK,CAAC;IAEhD,MAAM,qBAAqB,GAAG,CAAC,QAAyC,EAAE,EAAE;QAC1E,qBAAqB,CAAC,OAAO,GAAG,QAAQ,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAEvB,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAEpD,qEAAqE;QACrE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAE3E,4DAA4D;QAC5D,MAAM,aAAa,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QAEpD,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CACL,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,SAAS,EAEpB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,CAAC,SAAkB,EAAE,EAAE;oBACvC,IAAI,SAAS,EAAE,CAAC;wBACd,gBAAgB,CAAC,CAAC,IAAY,EAAE,EAAE,CAChC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,gBAAgB,CAAC,CACjC,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,gBAAgB,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;oBACzC,CAAC;gBACH,CAAC,EACD,aAAa,EAAE,aAAa,EAC5B,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU,IAbjB,MAAM,CAcX,CACH,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,CAAC,KAAa,EAAE,EAAE;QACnC,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,sCAAsC;QAE5E,IAAI,OAAO,QAAQ,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACvD,QAAQ,CAAC,mBAAmB,CAAC,GAAG,EAAE;gBAChC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;QAC5B,qDAAqD;QACrD,IAAI,qBAAqB,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,CAAC;YACzD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,CAAC,0CAA0C;YACpD,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAC1C,UAAU,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,WAAW,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACtC,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,kEAAkE;QAClE,MAAM,UAAU,GAAG,WAAW,EAAE,gBAAgB,KAAK,UAAU;YAC7D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,CAAC,WAAW,EAAE,gBAAgB,IAAI,cAAc,CAAC,CAAC;QACtD,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IACtC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAEnD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,aACnC,KAAC,YAAY,IACX,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,UAAU,EACvB,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,EACpB,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,QAAQ,GAClB,EAEF,KAAC,aAAa,IAAC,WAAW,EAAE,WAAW,YACpC,cAAc,EAAE,GACH,EACf,QAAQ,IAAI,CACX,KAAC,uBAAuB,IACtB,gBAAgB,EAAE,gBAAgB,EAClC,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,cAAc,EAC1B,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,WAAW,GACpB,CACH,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"WizardSteps.js","sourceRoot":"","sources":["../src/WizardSteps.tsx"],"names":[],"mappings":"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"}
@@ -11,14 +11,14 @@ export const startPageWizardCommand = {
11
11
  const wizardId = context.data?.wizard?.id || context.data?.wizardId;
12
12
  if (wizardId) {
13
13
  context.editContext.setCurrentWizardId(wizardId);
14
- context.editContext.switchView("page-wizard");
14
+ context.editContext.switchWorkspace("page-wizard");
15
15
  return;
16
16
  }
17
17
  // Backward compatibility: if neither provided, attempt to fetch via service (best effort)
18
18
  try {
19
19
  if (context.data?.wizard) {
20
20
  context.editContext.setCurrentWizardId(context.data.wizard.id);
21
- context.editContext.switchView("page-wizard");
21
+ context.editContext.switchWorkspace("page-wizard");
22
22
  return;
23
23
  }
24
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"startPageWizardCommand.js","sourceRoot":"","sources":["../src/startPageWizardCommand.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK,EACZ,OAAqF,EACrF,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO;QAEhC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBAC9C,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"startPageWizardCommand.js","sourceRoot":"","sources":["../src/startPageWizardCommand.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,EAAE,EAAE,iBAAiB;IACrB,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,KAAK,EACZ,OAAqF,EACrF,EAAE;QACF,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI;YAAE,OAAO;QAEhC,MAAM,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,kFAAkF;QAClF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,0FAA0F;QAC1F,IAAI,CAAC;YACH,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC;gBACzB,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC/D,OAAO,CAAC,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;gBACnD,OAAO;YACT,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;IACZ,CAAC;IACD,QAAQ,EAAE,GAAG,EAAE;QACb,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAC"}
@@ -10,6 +10,16 @@ import { getFilteredInputData, processPromptTemplate, } from "../utils/dataAcces
10
10
  import { useThrottledCallback } from "use-debounce";
11
11
  import { WizardBoxConnector } from "../WizardBoxConnector";
12
12
  import { ComponentTypeSelector, getComponentTypeSelectorSummary } from "./ComponentTypesSelector";
13
+ function countWizardComponents(components = []) {
14
+ return components.reduce((count, component) => count + 1 + countWizardComponents(component.children ?? []), 0);
15
+ }
16
+ const DEFAULT_PAGE_MODEL = {
17
+ components: [],
18
+ name: "",
19
+ metaDescription: "",
20
+ metaKeywords: "",
21
+ fields: [],
22
+ };
13
23
  /**
14
24
  * Merges field arrays, preserving writtenValue from previous fields.
15
25
  * This prevents re-writing fields that have already been written during streaming.
@@ -29,18 +39,35 @@ function mergeFields(previous, incoming) {
29
39
  };
30
40
  });
31
41
  }
42
+ function normalizeWizardComponents(components) {
43
+ if (!components)
44
+ return components;
45
+ return components.map((component) => {
46
+ const nestedChildren = component?.children ?? component?.components;
47
+ const normalizedType = component?.type ?? component?.name ?? "";
48
+ const normalizedName = component?.name ?? component?.type ?? normalizedType;
49
+ return {
50
+ ...component,
51
+ type: normalizedType,
52
+ name: normalizedName,
53
+ children: normalizeWizardComponents(nestedChildren),
54
+ };
55
+ });
56
+ }
32
57
  /**
33
58
  * Merges component arrays, preserving locally-assigned id values and writtenValue for fields.
34
59
  * This prevents duplicate component creation during streaming when the incoming JSON
35
60
  * doesn't include the ids that were assigned locally after component creation.
36
61
  */
37
62
  function mergeComponents(previous, incoming) {
38
- if (!incoming)
39
- return previous ?? [];
40
- if (!previous || previous.length === 0)
41
- return incoming;
42
- return incoming.map((incomingComponent, index) => {
43
- const prevComponent = previous[index];
63
+ const normalizedIncoming = normalizeWizardComponents(incoming);
64
+ const normalizedPrevious = normalizeWizardComponents(previous);
65
+ if (!normalizedIncoming)
66
+ return normalizedPrevious ?? [];
67
+ if (!normalizedPrevious || normalizedPrevious.length === 0)
68
+ return normalizedIncoming;
69
+ return normalizedIncoming.map((incomingComponent, index) => {
70
+ const prevComponent = normalizedPrevious[index];
44
71
  // If no matching previous component or different type, use incoming as-is
45
72
  if (!prevComponent || prevComponent.type !== incomingComponent.type) {
46
73
  return incomingComponent;
@@ -68,6 +95,28 @@ function mergeLayout(previous, incoming) {
68
95
  next.message = incoming.message;
69
96
  return next;
70
97
  }
98
+ function withDefaultThemeIfMissing(pageModel, pageFields, defaultTheme) {
99
+ const themeField = pageFields.find((field) => field.name?.toLowerCase() === "theme");
100
+ if (!themeField)
101
+ return pageModel;
102
+ const currentThemeField = pageModel.fields?.find((field) => field.name?.toLowerCase() === "theme");
103
+ if (currentThemeField?.value?.trim())
104
+ return pageModel;
105
+ const fallbackThemeId = defaultTheme?.id;
106
+ if (!fallbackThemeId)
107
+ return pageModel;
108
+ return {
109
+ ...pageModel,
110
+ fields: [
111
+ ...(pageModel.fields ?? []).filter((field) => field.name?.toLowerCase() !== "theme"),
112
+ {
113
+ name: themeField.name,
114
+ type: themeField.type,
115
+ value: fallbackThemeId,
116
+ },
117
+ ],
118
+ };
119
+ }
71
120
  export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel, data, setData, internalState, setInternalState, setStepCompleted, }) {
72
121
  const [pageLoaded, setPageLoaded] = useState(false);
73
122
  const pageLoadedRef = useRef(false);
@@ -88,6 +137,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
88
137
  itemsRepository: editContext?.itemsRepository,
89
138
  configuration: editContext?.configuration,
90
139
  });
140
+ const currentWizardPageRef = useRef(localPageViewContext.page);
141
+ currentWizardPageRef.current = localPageViewContext.page;
91
142
  const [showDataObject, setShowDataObject] = useState(false);
92
143
  // New state for name and language functionality
93
144
  const [isGenerating, setIsGenerating] = useState(false);
@@ -104,29 +155,54 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
104
155
  const { validateItemName } = useItemNameValidation();
105
156
  if (!parentItem)
106
157
  return "No parent item";
107
- // Ensure a non-null page model locally and synchronize with upstream when provided
108
- const defaultPageModel = {
109
- components: [],
110
- name: "",
111
- metaDescription: "",
112
- metaKeywords: "",
113
- fields: [],
114
- };
115
- const [model, setModel] = useState(() => (pageModel ? { ...defaultPageModel, ...pageModel } : defaultPageModel));
158
+ // Keep a local model as the only render source of truth for this step.
159
+ // The parent pageModel is treated as hydration/synchronization input only.
160
+ const [model, setModel] = useState(() => (pageModel ? { ...DEFAULT_PAGE_MODEL, ...pageModel } : DEFAULT_PAGE_MODEL));
161
+ const modelRef = useRef(model);
162
+ const plannedComponentCount = countWizardComponents(model.components ?? []);
116
163
  useEffect(() => {
117
- if (pageModel) {
118
- setModel((prev) => ({ ...prev, ...pageModel }));
119
- }
120
- // eslint-disable-next-line react-hooks/exhaustive-deps
164
+ const nextModel = pageModel
165
+ ? { ...DEFAULT_PAGE_MODEL, ...pageModel }
166
+ : DEFAULT_PAGE_MODEL;
167
+ modelRef.current = nextModel;
168
+ setModel(nextModel);
121
169
  }, [pageModel]);
122
170
  const updateModel = useCallback((value) => {
123
- setModel((prev) => {
124
- const next = typeof value === "function" ? value(prev) : value;
125
- setPageModel?.(next);
126
- return next;
127
- });
171
+ const next = typeof value === "function"
172
+ ? value(modelRef.current)
173
+ : value;
174
+ modelRef.current = next;
175
+ setModel(next);
176
+ setPageModel?.(next);
128
177
  }, [setPageModel]);
129
- const pageCreator = usePageCreator(pageItem, wizard, updateModel);
178
+ const pageCreator = usePageCreator(pageItem, wizard, updateModel, () => currentWizardPageRef.current);
179
+ const resetPageLoadedTracking = useCallback(() => {
180
+ pageLoadedRef.current = false;
181
+ setPageLoaded(false);
182
+ }, []);
183
+ const waitForPageLoaded = useCallback(async (expectedItem, timeoutMs = 30000) => {
184
+ const pollInterval = 250;
185
+ let elapsed = 0;
186
+ while (elapsed < timeoutMs) {
187
+ const loadedItem = localPageViewContext?.page?.item;
188
+ if (loadedItem) {
189
+ const matchesExpectedItem = !expectedItem ||
190
+ (loadedItem.descriptor.id === expectedItem.id &&
191
+ (!expectedItem.language || loadedItem.language === expectedItem.language));
192
+ if (matchesExpectedItem) {
193
+ pageLoadedRef.current = true;
194
+ setPageLoaded(true);
195
+ return true;
196
+ }
197
+ }
198
+ if (pageLoadedRef.current && !expectedItem) {
199
+ return true;
200
+ }
201
+ await new Promise((resolve) => setTimeout(resolve, pollInterval));
202
+ elapsed += pollInterval;
203
+ }
204
+ return false;
205
+ }, [localPageViewContext?.page?.item]);
130
206
  // Add target folder selection function
131
207
  const selectTargetItem = useCallback(async () => {
132
208
  if (!editContext || !step.fields.targetItemPrompt)
@@ -264,7 +340,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
264
340
  },
265
341
  ], { editContext, createAiContext: createWizardAiContext }, { model: step.fields.aiModel || undefined }, { signal: abortController.signal });
266
342
  if (pageModelResult && pageModelResult.name) {
267
- setPageModel?.((prev) => ({ ...prev, name: pageModelResult.name }));
343
+ updateModel((prev) => ({
344
+ ...prev,
345
+ name: pageModelResult.name,
346
+ }));
268
347
  }
269
348
  }
270
349
  catch (error) {
@@ -393,8 +472,11 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
393
472
  }
394
473
  }
395
474
  // Load the created item into the editor and cache
475
+ resetPageLoadedTracking();
396
476
  editContext.loadItem(createdDescriptor, { addToBrowseHistory: true });
397
- const item = await editContext.itemsRepository.getItem(createdDescriptor);
477
+ const loaded = await waitForPageLoaded(createdDescriptor, 30000);
478
+ const item = (await editContext.itemsRepository.getItem(createdDescriptor)) ??
479
+ (loaded ? localPageViewContext?.page?.item : undefined);
398
480
  if (item && setPageItem) {
399
481
  setPageItem(item);
400
482
  return true;
@@ -413,10 +495,13 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
413
495
  targetFolder,
414
496
  pageItem,
415
497
  checkPageName,
498
+ localPageViewContext?.page?.item,
416
499
  wizard.templateId,
417
500
  model.name,
418
501
  setPageItem,
419
502
  language,
503
+ resetPageLoadedTracking,
504
+ waitForPageLoaded,
420
505
  ]);
421
506
  useEffect(() => {
422
507
  editContext?.setMode("preview");
@@ -544,11 +629,12 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
544
629
  runInitialGeneration();
545
630
  }, []);
546
631
  const createComponents = async () => {
547
- if (!pageLoaded)
632
+ if (!pageLoaded || isLoading)
548
633
  return;
549
634
  if (model && !isCreatingComponents) {
550
635
  try {
551
636
  setIsCreatingComponents(true);
637
+ let createdComponentCount = 0;
552
638
  // Update page-level fields first
553
639
  if (model.fields && model.fields.length > 0) {
554
640
  await pageCreator.updatePageFields(model.fields);
@@ -556,12 +642,20 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
556
642
  // Then create components
557
643
  if (model.components) {
558
644
  console.log("Creating components", model.components);
559
- await pageCreator.createComponentsRecursively(model.components, "root");
645
+ createdComponentCount = await pageCreator.createComponentsRecursively(model.components, "root");
560
646
  }
561
647
  setInternalState?.((prev) => ({
562
648
  ...(prev ?? {}),
563
- componentsCreated: true,
649
+ componentsCreated: createdComponentCount > 0,
650
+ createdComponentCount,
564
651
  }));
652
+ if (createdComponentCount === 0) {
653
+ setMessage("No components were created. Review the generated structure or regenerate content.");
654
+ }
655
+ }
656
+ catch (error) {
657
+ console.error("Error creating wizard components", error);
658
+ setMessage("Failed to create generated components. Please review the generated structure and try again.");
565
659
  }
566
660
  finally {
567
661
  setIsCreatingComponents(false);
@@ -575,10 +669,31 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
575
669
  editContext?.requestRefresh("immediate");
576
670
  }
577
671
  }, [isCreatingComponents, isLoading]);
672
+ useEffect(() => {
673
+ const activeFieldActions = editContext?.activeFieldActions?.some((action) => action.state === "running") ??
674
+ false;
675
+ const canFinish = !!pageItem &&
676
+ !isLoading &&
677
+ !isCreatingComponents &&
678
+ !activeFieldActions &&
679
+ plannedComponentCount > 0 &&
680
+ (internalState?.createdComponentCount ?? 0) > 0;
681
+ setStepCompleted(canFinish);
682
+ }, [
683
+ editContext?.activeFieldActions,
684
+ internalState,
685
+ isCreatingComponents,
686
+ isLoading,
687
+ pageItem,
688
+ plannedComponentCount,
689
+ setStepCompleted,
690
+ ]);
578
691
  const createComponentsThrottled = useThrottledCallback(createComponents, 300);
579
692
  useEffect(() => {
693
+ if (!pageLoaded || isLoading)
694
+ return;
580
695
  createComponentsThrottled();
581
- }, [model]);
696
+ }, [model, isLoading, pageLoaded]);
582
697
  useEffect(() => {
583
698
  if (editContext &&
584
699
  editContext.activeFieldActions &&
@@ -612,21 +727,6 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
612
727
  setStepCompleted(false);
613
728
  // Create page if it doesn't exist yet
614
729
  let currentPageItem = pageItem;
615
- // Wait for pageLoaded to become true before continuing
616
- const waitForPageLoaded = async () => {
617
- const maxWaitTime = 10000; // 10 seconds max wait
618
- const pollInterval = 100; // Check every 100ms
619
- let elapsed = 0;
620
- while (elapsed < maxWaitTime) {
621
- // Check if page is loaded using the ref which gets updated by the useEffect
622
- if (pageLoadedRef.current) {
623
- return true;
624
- }
625
- await new Promise((resolve) => setTimeout(resolve, pollInterval));
626
- elapsed += pollInterval;
627
- }
628
- return false;
629
- };
630
730
  if (!currentPageItem) {
631
731
  const pageCreated = await createPageIfNeeded();
632
732
  if (!pageCreated) {
@@ -634,7 +734,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
634
734
  setIsLoading(false);
635
735
  return;
636
736
  }
637
- const isPageLoaded = await waitForPageLoaded();
737
+ const isPageLoaded = await waitForPageLoaded(undefined, 30000);
638
738
  if (!isPageLoaded) {
639
739
  setMessage("Page creation timed out. Please try again.");
640
740
  setIsLoading(false);
@@ -653,10 +753,11 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
653
753
  language: language,
654
754
  version: 0,
655
755
  };
756
+ resetPageLoadedTracking();
656
757
  editContextRef.current?.loadItem(itemInLanguage, {
657
758
  addToBrowseHistory: false,
658
759
  });
659
- await waitForPageLoaded();
760
+ await waitForPageLoaded(itemInLanguage, 30000);
660
761
  const correctedItem = await editContextRef.current?.itemsRepository.getItem(itemInLanguage);
661
762
  if (correctedItem) {
662
763
  currentPageItem = correctedItem;
@@ -691,6 +792,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
691
792
  setInternalState?.((prev) => ({
692
793
  ...(prev ?? {}),
693
794
  componentsCreated: false,
795
+ createdComponentCount: 0,
694
796
  }));
695
797
  updateModel((prev) => ({
696
798
  ...prev,
@@ -753,6 +855,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
753
855
  Only use component types that are in the page schema.
754
856
  Keep existing components with their ids. Leave id field empty for new components.
755
857
  To generate images write generate: <keywords> into the picture / image field value.
858
+ Only place a component at the root level when its schema entry has allowedOnRoot=true.
859
+ When nesting components, only place a child under a parent whose allowedChildrenComponentTypes includes that child type.
860
+ When a schema entry contains validParentPlaceholders, set the component.placeholder value to one of those placeholder names.
861
+ Do not output components in positions that violate the schema. If a component does not fit anywhere valid, leave it out.
756
862
  ${(existingPageModel && `Existing page model: ${JSON.stringify(existingPageModel)}`) || ""}
757
863
  Fill empty fields of existing components before you insert new components. Page fields: ${JSON.stringify(schema.pageFields.map((f) => {
758
864
  return {
@@ -760,6 +866,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
760
866
  type: f.type,
761
867
  };
762
868
  }))}
869
+ Default theme: ${wizard.defaultTheme ? JSON.stringify(wizard.defaultTheme) : "none"}
870
+ If you set the "Theme" page field, use the default theme ID as value unless the user explicitly asks for a different theme.
763
871
  Available component types: ${JSON.stringify(filteredSchema)} Root level component types ${filteredSchema
764
872
  .filter((c) => c.allowedOnRoot)
765
873
  .map((c) => c.type)
@@ -783,7 +891,10 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
783
891
  endpoint: "/parhelia/page-wizard/prompt",
784
892
  }, { signal: localAbortController.signal }, (response) => {
785
893
  try {
786
- setPageModel?.((prev) => mergeLayout(prev, response));
894
+ updateModel((prev) => {
895
+ const mergedModel = withDefaultThemeIfMissing(mergeLayout(prev, response), schema.pageFields ?? [], wizard.defaultTheme);
896
+ return mergedModel;
897
+ });
787
898
  setMessage(response.message);
788
899
  }
789
900
  catch (parseError) { }
@@ -817,11 +928,12 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
817
928
  language: language,
818
929
  version: 0,
819
930
  };
931
+ resetPageLoadedTracking();
820
932
  editContextRef.current?.loadItem(languageVersionItem, {
821
933
  addToBrowseHistory: false,
822
934
  });
823
935
  // Wait for the page to load in the new language
824
- const isPageLoaded = await waitForPageLoaded();
936
+ const isPageLoaded = await waitForPageLoaded(languageVersionItem, 30000);
825
937
  if (!isPageLoaded) {
826
938
  setMessage("Failed to load page in selected language.");
827
939
  setIsLoading(false);
@@ -843,8 +955,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
843
955
  }
844
956
  }
845
957
  }
846
- setPageModel?.((prev) => mergeLayout(prev, result));
847
- setStepCompleted(true);
958
+ updateModel((prev) => withDefaultThemeIfMissing(mergeLayout(prev, result), schema.pageFields ?? [], wizard.defaultTheme));
848
959
  }
849
960
  catch (error) {
850
961
  console.error(error);
@@ -868,7 +979,7 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
868
979
  ? "border-red-500"
869
980
  : nameValidation.isValid && model.name
870
981
  ? "border-green-500"
871
- : ""}`, value: pageModel?.name, onChange: (e) => handleInputChange("name", e.target.value), placeholder: "Enter page name" }), !pageItem && (_jsx(Button, { size: "sm", onClick: () => generatePageName(), disabled: isGenerating, title: "Recreate name", children: _jsx(RotateCcw, { className: "h-4 w-4", strokeWidth: 1 }) }))] }), nameValidation.message && !nameValidation.isValid && (_jsx("div", { className: "mt-1 text-xs text-red-600", children: nameValidation.message })), nameValidation.isValid && pageModel?.name && (_jsx("div", { className: "mt-1 text-xs text-green-600", children: "\u2713 Page name is available" }))] }), _jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "mb-1 text-xs font-medium", children: "Target Folder" }), isSelectingFolder ? (_jsxs("div", { className: "mb-4 flex items-center gap-2 text-xs text-gray-600", children: [_jsx(Generate, { title: "Selecting folder...", size: "medium" }), "Selecting folder..."] })) : (_jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "relative", children: _jsxs(Popover, { open: showFolderTree, onOpenChange: setShowFolderTree, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: cn("focus-shadow bg-gray-5 flex cursor-pointer justify-between border p-1.5 text-xs hover:bg-gray-100"), children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Folder, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { className: "break-all", children: folderSelectionResult?.path ||
982
+ : ""}`, value: model.name, onChange: (e) => handleInputChange("name", e.target.value), placeholder: "Enter page name" }), !pageItem && (_jsx(Button, { size: "sm", onClick: () => generatePageName(), disabled: isGenerating, title: "Recreate name", children: _jsx(RotateCcw, { className: "h-4 w-4", strokeWidth: 1 }) }))] }), nameValidation.message && !nameValidation.isValid && (_jsx("div", { className: "mt-1 text-xs text-red-600", children: nameValidation.message })), nameValidation.isValid && model.name && (_jsx("div", { className: "mt-1 text-xs text-green-600", children: "\u2713 Page name is available" }))] }), _jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "mb-1 text-xs font-medium", children: "Target Folder" }), isSelectingFolder ? (_jsxs("div", { className: "mb-4 flex items-center gap-2 text-xs text-gray-600", children: [_jsx(Generate, { title: "Selecting folder...", size: "medium" }), "Selecting folder..."] })) : (_jsxs("div", { className: "mb-4", children: [_jsx("div", { className: "relative", children: _jsxs(Popover, { open: showFolderTree, onOpenChange: setShowFolderTree, children: [_jsx(PopoverTrigger, { asChild: true, children: _jsxs("div", { className: cn("focus-shadow bg-gray-5 flex cursor-pointer justify-between border p-1.5 text-xs hover:bg-gray-100"), children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Folder, { className: "h-4 w-4", strokeWidth: 1 }), _jsx("span", { className: "break-all", children: folderSelectionResult?.path ||
872
983
  fullParentItem?.path ||
873
984
  "Loading..." })] }), _jsx(ChevronDown, { strokeWidth: 1, className: `h-4 w-4 transition-transform duration-200 ${showFolderTree ? "rotate-180" : "rotate-0"}` })] }) }), _jsxs(PopoverContent, { className: "w-96 p-0", align: "start", side: "bottom", children: [_jsx("div", { className: "border-b border-gray-200 bg-white p-2", children: _jsx(ItemSearch, { rootItemIds: [
874
985
  normalizeGuid(parentItem?.id ||
@@ -900,8 +1011,8 @@ export function ContentStep({ wizard, step, parentItem, pageModel, setPageModel,
900
1011
  !data.selectedComponentTypes ||
901
1012
  data.selectedComponentTypes.length === 0 ||
902
1013
  (!pageItem &&
903
- (!pageModel?.name ||
904
- pageModel?.name.trim().length < 3 ||
1014
+ (!model.name ||
1015
+ model.name.trim().length < 3 ||
905
1016
  !nameValidation.isValid)), isLoading: isLoading ||
906
1017
  isCreatingComponents ||
907
1018
  isSelectingFolder ||