@sudajs/theme-engine 1.4.1 → 1.5.0

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/agent.d.ts CHANGED
@@ -653,23 +653,23 @@ export declare const agentValidationResultSchema: z.ZodObject<{
653
653
  path: z.ZodString;
654
654
  message: z.ZodString;
655
655
  }, "strip", z.ZodTypeAny, {
656
- path: string;
657
656
  message: string;
658
- }, {
659
657
  path: string;
658
+ }, {
660
659
  message: string;
660
+ path: string;
661
661
  }>, "many">;
662
662
  }, "strip", z.ZodTypeAny, {
663
663
  valid: boolean;
664
664
  issues: {
665
- path: string;
666
665
  message: string;
666
+ path: string;
667
667
  }[];
668
668
  }, {
669
669
  valid: boolean;
670
670
  issues: {
671
- path: string;
672
671
  message: string;
672
+ path: string;
673
673
  }[];
674
674
  }>;
675
675
  export declare const agentSectionSummaryOutputSchema: z.ZodObject<{
@@ -20,6 +20,34 @@ export type ThemeUnsplashListResult = {
20
20
  total?: number;
21
21
  hasMore: boolean;
22
22
  };
23
+ export type ThemeResourceSearchType = "post" | "page" | "tag";
24
+ export type ThemeResourceOption = {
25
+ value: string;
26
+ label: string;
27
+ url?: string;
28
+ };
29
+ export type ThemeResourceSearchParams = {
30
+ type: ThemeResourceSearchType;
31
+ query: string;
32
+ page: number;
33
+ perPage: number;
34
+ };
35
+ export type ThemeResourceSearchResult = {
36
+ options: ThemeResourceOption[];
37
+ page: number;
38
+ hasMore: boolean;
39
+ };
40
+ export type ThemeEditorPageOption = {
41
+ handle: string;
42
+ label: string;
43
+ group: "home" | "static" | "content";
44
+ disabled?: boolean;
45
+ };
46
+ export type ThemeQueryStrategyConfigs = {
47
+ content?: {
48
+ strategyLabels?: Record<string, Partial<Record<"latest" | "featured" | "by_tag" | "manual", string>>>;
49
+ };
50
+ };
23
51
  /**
24
52
  * Localised strings for the media picker UI. Themes / engine code never
25
53
  * hardcode locale strings; the host (workspace) injects the active locale.
@@ -73,6 +101,11 @@ export interface ThemeEditorContextValue {
73
101
  messages?: ThemeMediaPickerMessages;
74
102
  /** Whether to automatically switch to the outline tab when a component is selected. */
75
103
  autoSwitchOutline?: boolean;
104
+ urlResolvableTypes?: Partial<Record<ThemeResourceSearchType, boolean>>;
105
+ editorPages?: ThemeEditorPageOption[];
106
+ searchResources?: (params: ThemeResourceSearchParams) => Promise<ThemeResourceSearchResult>;
107
+ queryStrategyConfigs?: ThemeQueryStrategyConfigs;
108
+ editorLocale?: string;
76
109
  }
77
110
  export declare const ThemeEditorContext: import("react").Context<ThemeEditorContextValue>;
78
111
  export declare function useThemeEditorContext(): ThemeEditorContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/editor/context.tsx"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC/B,MAAM,WAAW,CAAC;AAEnB,YAAY,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAE9E,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,uBAAuB;IACtC,iEAAiE;IACjE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,mEAAmE;IACnE,eAAe,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;IACnE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAC5E,WAAW,CAAC,EAAE,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAA;KAAE,KAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAChC,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACvC;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxD,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,uFAAuF;IACvF,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAKD,eAAO,MAAM,kBAAkB,kDAG7B,CAAC;AAEH,wBAAgB,qBAAqB,IAAI,uBAAuB,CAE/D"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/editor/context.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/editor/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EACL,gBAAgB,GAGjB,MAAM,WAAW,CAAC;AAoFnB,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAsB,EAAE,CACpE,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAA0B;IACvE,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,WAAW;CAC7B,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/editor/context.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,EACL,gBAAgB,GAGjB,MAAM,WAAW,CAAC;AA8HnB,MAAM,WAAW,GAAG,CAAC,KAAyB,EAAsB,EAAE,CACpE,gBAAgB,CAAC,KAAK,CAAC,CAAC;AAE1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,aAAa,CAA0B;IACvE,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,WAAW;CAC7B,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB;IACnC,OAAO,UAAU,CAAC,kBAAkB,CAAC,CAAC;AACxC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { SUDA_THEME_SETTINGS_ACTION, ThemeEditor, type ThemeEditorProps } from "./theme-editor.js";
2
2
  export { composeUnifiedThemeEditorData, createUnifiedThemeEditorConfig, splitUnifiedThemeEditorData, } from "./unified-editor.js";
3
- export { ThemeEditorContext, useThemeEditorContext, type ThemeEditorContextValue, type ThemeMediaListParams, type ThemeMediaListResult, type ThemeMediaPickerMessages, type ThemeUnsplashListResult, } from "./context.js";
3
+ export { ThemeEditorContext, useThemeEditorContext, type ThemeEditorContextValue, type ThemeMediaListParams, type ThemeMediaListResult, type ThemeMediaPickerMessages, type ThemeEditorPageOption, type ThemeQueryStrategyConfigs, type ThemeResourceOption, type ThemeResourceSearchParams, type ThemeResourceSearchResult, type ThemeResourceSearchType, type ThemeUnsplashListResult, } from "./context.js";
4
4
  export { useThemeRuntime, type ThemeRuntimeState } from "./use-theme-runtime.js";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,GAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,KAAK,mBAAmB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,GAC7B,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GAMtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAA0B,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,WAAW,EAAyB,MAAM,gBAAgB,CAAC;AAChG,OAAO,EACL,6BAA6B,EAC7B,8BAA8B,EAC9B,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,qBAAqB,GAYtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,eAAe,EAA0B,MAAM,qBAAqB,CAAC"}
@@ -9,6 +9,5 @@ export type MenuItem = {
9
9
  };
10
10
  export declare function fontField(label?: string, options?: SelectOption[]): Field<string>;
11
11
  export declare function iconField(label?: string): Field<string>;
12
- export declare function urlField(label?: string): Field<string>;
13
12
  export declare function menuField(label?: string): Field<MenuItem[]>;
14
13
  //# sourceMappingURL=basic-fields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"basic-fields.d.ts","sourceRoot":"","sources":["../../src/fields/basic-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAgBF,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,YAAY,EAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAShG;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CASvD;AAED,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAStD;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAc3D"}
1
+ {"version":3,"file":"basic-fields.d.ts","sourceRoot":"","sources":["../../src/fields/basic-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAgBF,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,OAAO,GAAE,YAAY,EAAkB,GAAG,KAAK,CAAC,MAAM,CAAC,CAShG;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CASvD;AAED,wBAAgB,SAAS,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,CAc3D"}
@@ -24,13 +24,6 @@ export function iconField(label) {
24
24
  placeholder: "icon-name",
25
25
  }, label);
26
26
  }
27
- export function urlField(label) {
28
- return withLabel({
29
- type: "text",
30
- metadata: { sudaField: "url" },
31
- placeholder: "https://example.com",
32
- }, label);
33
- }
34
27
  export function menuField(label) {
35
28
  return withLabel({
36
29
  type: "array",
@@ -1 +1 @@
1
- {"version":3,"file":"basic-fields.js","sourceRoot":"","sources":["../../src/fields/basic-fields.ts"],"names":[],"mappings":"AAYA,MAAM,aAAa,GAAmB;IACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACjC,CAAC;AAEF,SAAS,SAAS,CAAkB,KAAQ,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,UAA0B,aAAa;IAC/E,OAAO,SAAS,CACd;QACE,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,OAAO;KACR,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,SAAS,CACd;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,WAAW,EAAE,WAAW;KACzB,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,SAAS,CACd;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;QAC9B,WAAW,EAAE,qBAAqB;KACnC,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,SAAS,CACd;QACE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,WAAW,EAAE;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;YACvC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SACpC;QACD,gBAAgB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;QAClD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;KACrC,EACD,KAAK,CACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"basic-fields.js","sourceRoot":"","sources":["../../src/fields/basic-fields.ts"],"names":[],"mappings":"AAYA,MAAM,aAAa,GAAmB;IACpC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;IACpC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAClC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;IAChC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE;CACjC,CAAC;AAEF,SAAS,SAAS,CAAkB,KAAQ,EAAE,KAAc;IAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc,EAAE,UAA0B,aAAa;IAC/E,OAAO,SAAS,CACd;QACE,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,OAAO;KACR,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,SAAS,CACd;QACE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,WAAW,EAAE,WAAW;KACzB,EACD,KAAK,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,SAAS,CACd;QACE,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE;QAC/B,WAAW,EAAE;YACX,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE;YACvC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE;SACpC;QACD,gBAAgB,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAE,GAAG,EAAE;QAClD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK;KACrC,EACD,KAAK,CACN,CAAC;AACJ,CAAC"}
@@ -1,6 +1,7 @@
1
1
  export { colorSchemeField, createColorSchemeDefault, createThemeCssVariables, resolveColorSchemeTokens, SUDA_COLOR_TOKEN_KEYS, type ColorSchemeFieldOptions, type CreateThemeCssVariablesOptions, type SudaColorSchemePreset, type SudaColorSchemeValue, type SudaThemeColorTokens, } from "./color-scheme-field.js";
2
2
  export type { MenuItem } from "./basic-fields.js";
3
3
  export type { MediaFieldKind } from "./media-field.js";
4
+ export { urlField } from "./url-field.js";
4
5
  export { normalizeSudaField, type SudaField, type SudaFieldExtension, type SudaFieldType, type SudaFieldValueMap, } from "./suda-fields.js";
5
6
  export { normalizeSudaConfig } from "./normalize-config.js";
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACL,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,kBAAkB,EAClB,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,KAAK,iBAAiB,GACvB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export { colorSchemeField, createColorSchemeDefault, createThemeCssVariables, resolveColorSchemeTokens, SUDA_COLOR_TOKEN_KEYS, } from "./color-scheme-field.js";
2
+ export { urlField } from "./url-field.js";
2
3
  export { normalizeSudaField, } from "./suda-fields.js";
3
4
  export { normalizeSudaConfig } from "./normalize-config.js";
4
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GAMtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,kBAAkB,GAKnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/fields/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,GAMtB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,kBAAkB,GAKnB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"suda-fields.d.ts","sourceRoot":"","sources":["../../src/fields/suda-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIhE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,CAAC;AAEZ;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,IACjC,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,GACpC,kBAAkB,CAAC;AAmCvB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CA8DnF"}
1
+ {"version":3,"file":"suda-fields.d.ts","sourceRoot":"","sources":["../../src/fields/suda-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEtE,OAAO,EAIL,KAAK,QAAQ,EACb,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAKhE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GACrB,KAAK,GACL,MAAM,GACN,MAAM,GACN,MAAM,GACN,OAAO,GACP,OAAO,GACP,SAAS,GACT,OAAO,GACP,OAAO,GACP,OAAO,CAAC;AAEZ;;;;;;;;;GASG;AACH,MAAM,WAAW,kBAAmB,SAAQ,SAAS;IACnD,IAAI,EAAE,aAAa,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,SAAS,CAAC,KAAK,GAAG,OAAO,IACjC,SAAS,CAAC,KAAK,EAAE,kBAAkB,CAAC,GACpC,kBAAkB,CAAC;AAmCvB,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CA2DnF"}
@@ -1,8 +1,9 @@
1
- import { fontField, iconField, menuField, urlField, } from "./basic-fields.js";
1
+ import { fontField, iconField, menuField, } from "./basic-fields.js";
2
2
  import { colorField } from "./color-field.js";
3
3
  import { mediaField } from "./media-field.js";
4
4
  import { rangeField } from "./range-field.js";
5
5
  import { spacingField } from "./spacing-field.js";
6
+ import { urlField } from "./url-field.js";
6
7
  function applyBaseField(target, source) {
7
8
  if (source.label !== undefined) {
8
9
  target.label = source.label;
@@ -38,9 +39,6 @@ export function normalizeSudaField(field) {
38
39
  switch (field.type) {
39
40
  case "url": {
40
41
  const normalized = urlField(field.label);
41
- if (field.placeholder !== undefined) {
42
- normalized.placeholder = field.placeholder;
43
- }
44
42
  return applyBaseField(normalized, field);
45
43
  }
46
44
  case "icon": {
@@ -1 +1 @@
1
- {"version":3,"file":"suda-fields.js","sourceRoot":"","sources":["../../src/fields/suda-fields.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"suda-fields.js","sourceRoot":"","sources":["../../src/fields/suda-fields.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { CustomField } from "@puckeditor/core";
2
+ export declare function urlField(label?: string): CustomField<string>;
3
+ //# sourceMappingURL=url-field.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-field.d.ts","sourceRoot":"","sources":["../../src/fields/url-field.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA8pCpD,wBAAgB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAU5D"}
@@ -0,0 +1,742 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useMemo, useRef, useState, } from "react";
4
+ import { z } from "zod";
5
+ import { useThemeEditorContext, } from "../editor/context.js";
6
+ // ---------------------------------------------------------------------------
7
+ // Constants & helpers (1:1 ported from legacy property_form.tsx)
8
+ // ---------------------------------------------------------------------------
9
+ const EXTERNAL_URL_TYPE = "external";
10
+ const URL_RESOURCE_TYPE_ALIASES = {
11
+ posts: "post",
12
+ pages: "page",
13
+ tags: "tag",
14
+ };
15
+ const URL_PICKER_LIST_PATHS = {
16
+ post: "/posts",
17
+ };
18
+ const URL_PICKER_FILTER_SEARCH_TYPES = {
19
+ post: { by_tag: "tag" },
20
+ };
21
+ function isListStrategyResourceType(type) {
22
+ return Object.prototype.hasOwnProperty.call(URL_PICKER_LIST_PATHS, type);
23
+ }
24
+ const LIST_VIRTUAL_SUFFIX = "_list";
25
+ function isVirtualListType(virtualType) {
26
+ return virtualType.endsWith(LIST_VIRTUAL_SUFFIX);
27
+ }
28
+ function realTypeFromVirtual(virtualType) {
29
+ const real = isVirtualListType(virtualType)
30
+ ? virtualType.slice(0, -LIST_VIRTUAL_SUFFIX.length)
31
+ : virtualType;
32
+ return real;
33
+ }
34
+ function buildListUrl(type, params) {
35
+ const basePath = URL_PICKER_LIST_PATHS[type];
36
+ if (!params || Object.keys(params).length === 0) {
37
+ return basePath;
38
+ }
39
+ const searchParams = new URLSearchParams();
40
+ for (const [key, value] of Object.entries(params)) {
41
+ const normalized = value.trim();
42
+ if (normalized !== "") {
43
+ searchParams.set(key, normalized);
44
+ }
45
+ }
46
+ const queryString = searchParams.toString();
47
+ return queryString === "" ? basePath : `${basePath}?${queryString}`;
48
+ }
49
+ const RESOURCE_SEARCH_PAGE_SIZE = 20;
50
+ const RESOURCE_SEARCH_DEBOUNCE_MS = 250;
51
+ const RESOURCE_SCROLL_LOAD_THRESHOLD_PX = 32;
52
+ const externalUrlInputSchema = z.string().url();
53
+ function isExternalUrlValue(value) {
54
+ const trimmed = value.trim();
55
+ if (trimmed === "") {
56
+ return false;
57
+ }
58
+ return /^(https?:\/\/|\/\/|mailto:|tel:)/i.test(trimmed);
59
+ }
60
+ function isValidExternalUrlInput(value) {
61
+ const input = value.trim();
62
+ if (input === "") {
63
+ return true;
64
+ }
65
+ return externalUrlInputSchema.safeParse(input).success;
66
+ }
67
+ function titleCase(value) {
68
+ return value.charAt(0).toUpperCase() + value.slice(1).replace(/_/g, " ");
69
+ }
70
+ const RESOURCE_TYPE_LABELS_EN = {
71
+ post: "Post",
72
+ post_list: "Post List",
73
+ page: "Page",
74
+ tag: "Tag",
75
+ external: "External URL",
76
+ };
77
+ const RESOURCE_TYPE_LABELS_ZH = {
78
+ post: "文章",
79
+ post_list: "文章列表",
80
+ page: "页面",
81
+ tag: "标签",
82
+ external: "外部链接",
83
+ };
84
+ const STRATEGY_LABELS_EN = {
85
+ latest: "Latest",
86
+ featured: "Featured",
87
+ by_tag: "By tag",
88
+ manual: "Select",
89
+ };
90
+ const STRATEGY_LABELS_ZH = {
91
+ latest: "最新",
92
+ featured: "精选",
93
+ by_tag: "按标签",
94
+ manual: "选择",
95
+ };
96
+ const COMMON_LABELS_EN = {
97
+ search: "Search",
98
+ searching: "Searching…",
99
+ noResults: "No results",
100
+ searchFailed: "Search failed",
101
+ retry: "Retry",
102
+ confirm: "Confirm",
103
+ invalidUrl: "Please enter a valid URL",
104
+ select: "Select",
105
+ externalUrl: "External URL",
106
+ manual: "Manual",
107
+ loadMore: "Load more",
108
+ };
109
+ const COMMON_LABELS_ZH = {
110
+ search: "搜索",
111
+ searching: "搜索中…",
112
+ noResults: "没有结果",
113
+ searchFailed: "搜索失败",
114
+ retry: "重试",
115
+ confirm: "确认",
116
+ invalidUrl: "请输入有效的 URL",
117
+ select: "选择",
118
+ externalUrl: "外部链接",
119
+ manual: "手动",
120
+ loadMore: "加载更多",
121
+ };
122
+ function isZhLocale(locale) {
123
+ if (!locale) {
124
+ return false;
125
+ }
126
+ return locale.toLowerCase().startsWith("zh");
127
+ }
128
+ function commonLabels(locale) {
129
+ return isZhLocale(locale) ? COMMON_LABELS_ZH : COMMON_LABELS_EN;
130
+ }
131
+ function resourceTypeLabel(type, locale) {
132
+ const map = isZhLocale(locale) ? RESOURCE_TYPE_LABELS_ZH : RESOURCE_TYPE_LABELS_EN;
133
+ return map[type] ?? titleCase(type);
134
+ }
135
+ function strategyLabel(configs, resourceType, strategy, locale) {
136
+ const overrides = configs?.content?.strategyLabels?.[resourceType];
137
+ if (overrides && typeof overrides[strategy] === "string") {
138
+ return overrides[strategy];
139
+ }
140
+ const map = isZhLocale(locale) ? STRATEGY_LABELS_ZH : STRATEGY_LABELS_EN;
141
+ return map[strategy];
142
+ }
143
+ // ---------------------------------------------------------------------------
144
+ // Inline styles (matches the rest of theme-engine fields)
145
+ // ---------------------------------------------------------------------------
146
+ const triggerStyle = {
147
+ display: "flex",
148
+ alignItems: "center",
149
+ justifyContent: "space-between",
150
+ gap: 6,
151
+ width: "100%",
152
+ minHeight: 32,
153
+ padding: "4px 10px",
154
+ borderRadius: 6,
155
+ border: "1px solid var(--puck-color-grey-09, #dcdcdc)",
156
+ background: "var(--puck-color-white, #fff)",
157
+ cursor: "pointer",
158
+ fontSize: 12,
159
+ textAlign: "left",
160
+ overflow: "hidden",
161
+ };
162
+ const rootPanelStyle = {
163
+ position: "fixed",
164
+ zIndex: 10000,
165
+ borderRadius: 8,
166
+ border: "1px solid var(--puck-color-grey-08, #c8c8c8)",
167
+ background: "#fff",
168
+ boxShadow: "0 12px 32px rgba(15, 23, 42, 0.18)",
169
+ overflow: "visible",
170
+ fontSize: 12,
171
+ width: 280,
172
+ padding: 8,
173
+ };
174
+ const subPanelStyle = {
175
+ ...rootPanelStyle,
176
+ width: 280,
177
+ minHeight: 128,
178
+ };
179
+ const itemStyleBase = {
180
+ display: "flex",
181
+ alignItems: "center",
182
+ justifyContent: "space-between",
183
+ gap: 6,
184
+ minHeight: 28,
185
+ padding: "4px 8px",
186
+ borderRadius: 4,
187
+ border: "none",
188
+ background: "transparent",
189
+ cursor: "pointer",
190
+ textAlign: "left",
191
+ fontSize: 12,
192
+ color: "inherit",
193
+ width: "100%",
194
+ };
195
+ const itemActiveStyle = {
196
+ ...itemStyleBase,
197
+ background: "var(--puck-color-grey-11, #f5f5f5)",
198
+ color: "inherit",
199
+ };
200
+ const inputStyle = {
201
+ width: "100%",
202
+ minHeight: 30,
203
+ padding: "0 8px",
204
+ borderRadius: 6,
205
+ border: "1px solid var(--puck-color-grey-09, #dcdcdc)",
206
+ background: "#fff",
207
+ fontSize: 12,
208
+ };
209
+ const helperTextStyle = {
210
+ color: "#667085",
211
+ fontSize: 11,
212
+ padding: "2px 4px",
213
+ };
214
+ const buttonPrimaryStyle = {
215
+ ...itemStyleBase,
216
+ justifyContent: "center",
217
+ background: "var(--puck-color-azure-05, #1f6feb)",
218
+ color: "#fff",
219
+ fontWeight: 600,
220
+ cursor: "pointer",
221
+ };
222
+ // ---------------------------------------------------------------------------
223
+ // Component
224
+ // ---------------------------------------------------------------------------
225
+ function UrlPicker({ value, onChange, }) {
226
+ const { urlResolvableTypes, queryStrategyConfigs, editorPages = [], searchResources, editorLocale, } = useThemeEditorContext();
227
+ const labels = useMemo(() => commonLabels(editorLocale), [editorLocale]);
228
+ const resourceTypes = useMemo(() => {
229
+ // Top-level categories shown in the picker. Defaults match the legacy
230
+ // behavior (post / page); themes / hosts can override via
231
+ // `urlResolvableTypes` to restrict the list further.
232
+ const DEFAULT_TOP_LEVEL = ["post", "page"];
233
+ const PREFERRED_ORDER = ["post", "page", "tag"];
234
+ if (!urlResolvableTypes) {
235
+ return DEFAULT_TOP_LEVEL.slice();
236
+ }
237
+ const types = Object.keys(urlResolvableTypes);
238
+ const availableTypes = new Set(types);
239
+ const filtered = types.filter((type) => {
240
+ const canonicalType = URL_RESOURCE_TYPE_ALIASES[type];
241
+ return canonicalType === undefined || !availableTypes.has(canonicalType);
242
+ });
243
+ const topLevelTypes = filtered.filter((type) => type !== "tag");
244
+ const ordered = (topLevelTypes.length > 0 ? topLevelTypes : filtered).sort((a, b) => {
245
+ const aIndex = PREFERRED_ORDER.indexOf(a);
246
+ const bIndex = PREFERRED_ORDER.indexOf(b);
247
+ return (aIndex === -1 ? 99 : aIndex) - (bIndex === -1 ? 99 : bIndex);
248
+ });
249
+ return ordered.length > 0 ? ordered : DEFAULT_TOP_LEVEL.slice();
250
+ }, [urlResolvableTypes]);
251
+ const virtualResourceTypes = useMemo(() => {
252
+ return resourceTypes.flatMap((type) => isListStrategyResourceType(type) ? [`${type}${LIST_VIRTUAL_SUFFIX}`, type] : [type]);
253
+ }, [resourceTypes]);
254
+ const currentValue = value;
255
+ const triggerRef = useRef(null);
256
+ const panelRef = useRef(null);
257
+ const subPanelRef = useRef(null);
258
+ const [isOpen, setOpen] = useState(false);
259
+ const [panelPos, setPanelPos] = useState(null);
260
+ const ROOT_PANEL_WIDTH = 280;
261
+ const SUB_PANEL_WIDTH = 280;
262
+ const PANEL_OFFSET = 8;
263
+ const recomputePanelPos = useCallback(() => {
264
+ const trigger = triggerRef.current;
265
+ if (!trigger)
266
+ return;
267
+ const rect = trigger.getBoundingClientRect();
268
+ const viewportWidth = typeof window !== "undefined" ? window.innerWidth : rect.right;
269
+ const rootLeftCandidate = rect.left - ROOT_PANEL_WIDTH - PANEL_OFFSET;
270
+ const rootLeft = rootLeftCandidate > 8 ? rootLeftCandidate : Math.max(8, viewportWidth - ROOT_PANEL_WIDTH - 8);
271
+ const subRightLeft = rootLeft + ROOT_PANEL_WIDTH + PANEL_OFFSET;
272
+ const subLeft = subRightLeft + SUB_PANEL_WIDTH <= viewportWidth - 8
273
+ ? subRightLeft
274
+ : Math.max(8, rootLeft - SUB_PANEL_WIDTH - PANEL_OFFSET);
275
+ setPanelPos({
276
+ rootTop: rect.bottom + 4,
277
+ rootLeft,
278
+ subTop: rect.bottom + 4,
279
+ subLeft,
280
+ });
281
+ }, []);
282
+ useEffect(() => {
283
+ if (!isOpen) {
284
+ return;
285
+ }
286
+ recomputePanelPos();
287
+ const handleReflow = () => recomputePanelPos();
288
+ window.addEventListener("resize", handleReflow);
289
+ window.addEventListener("scroll", handleReflow, true);
290
+ return () => {
291
+ window.removeEventListener("resize", handleReflow);
292
+ window.removeEventListener("scroll", handleReflow, true);
293
+ };
294
+ }, [isOpen, recomputePanelPos]);
295
+ const initialVirtualType = virtualResourceTypes[0] ?? EXTERNAL_URL_TYPE;
296
+ const [activeVirtualType, setActiveVirtualType] = useState(initialVirtualType);
297
+ const activeType = realTypeFromVirtual(activeVirtualType);
298
+ const [activeStrategy, setActiveStrategy] = useState(isVirtualListType(activeVirtualType) && isListStrategyResourceType(activeType) ? "latest" : "manual");
299
+ const [query, setQuery] = useState("");
300
+ const [options, setOptions] = useState([]);
301
+ const [loading, setLoading] = useState(false);
302
+ const [searchFailed, setSearchFailed] = useState(false);
303
+ const [hasSearched, setHasSearched] = useState(false);
304
+ const [hasMoreOptions, setHasMoreOptions] = useState(false);
305
+ const [isLoadingMore, setIsLoadingMore] = useState(false);
306
+ const [loadMoreFailed, setLoadMoreFailed] = useState(false);
307
+ const [currentPage, setCurrentPage] = useState(1);
308
+ const [filterQuery, setFilterQuery] = useState("");
309
+ const [filterOptions, setFilterOptions] = useState([]);
310
+ const [filterLoading, setFilterLoading] = useState(false);
311
+ const [filterSearchFailed, setFilterSearchFailed] = useState(false);
312
+ const [filterHasSearched, setFilterHasSearched] = useState(false);
313
+ const [externalInput, setExternalInput] = useState("");
314
+ const [selectedLabel, setSelectedLabel] = useState("");
315
+ const isActiveExternal = activeVirtualType === EXTERNAL_URL_TYPE;
316
+ const supportsListStrategies = isVirtualListType(activeVirtualType) && isListStrategyResourceType(activeType);
317
+ const isManualSearch = !isActiveExternal && (!supportsListStrategies || activeStrategy === "manual");
318
+ const isFilterSearch = supportsListStrategies && activeStrategy === "by_tag";
319
+ // Reset internal state when re-opening.
320
+ useEffect(() => {
321
+ if (!isOpen) {
322
+ return;
323
+ }
324
+ const defaultVirtualType = virtualResourceTypes[0] ?? EXTERNAL_URL_TYPE;
325
+ const defaultRealType = realTypeFromVirtual(defaultVirtualType);
326
+ setActiveVirtualType(defaultVirtualType);
327
+ setActiveStrategy(isVirtualListType(defaultVirtualType) && isListStrategyResourceType(defaultRealType)
328
+ ? "latest"
329
+ : "manual");
330
+ setQuery("");
331
+ setFilterQuery("");
332
+ setExternalInput(isExternalUrlValue(currentValue) ? currentValue : "");
333
+ }, [isOpen, virtualResourceTypes, currentValue]);
334
+ // Click-outside dismissal.
335
+ useEffect(() => {
336
+ if (!isOpen) {
337
+ return;
338
+ }
339
+ const handler = (event) => {
340
+ const target = event.target;
341
+ if (panelRef.current &&
342
+ target &&
343
+ !panelRef.current.contains(target) &&
344
+ (!subPanelRef.current || !subPanelRef.current.contains(target)) &&
345
+ triggerRef.current &&
346
+ !triggerRef.current.contains(target)) {
347
+ setOpen(false);
348
+ }
349
+ };
350
+ document.addEventListener("mousedown", handler);
351
+ return () => document.removeEventListener("mousedown", handler);
352
+ }, [isOpen]);
353
+ // Resolve the human-readable label for the currently saved value.
354
+ useEffect(() => {
355
+ if (!currentValue) {
356
+ setSelectedLabel("");
357
+ return;
358
+ }
359
+ let isCancelled = false;
360
+ const resolveLabel = async () => {
361
+ // 1) match against list-strategy URLs first
362
+ for (const type of resourceTypes) {
363
+ if (isCancelled)
364
+ return;
365
+ if (!isListStrategyResourceType(type))
366
+ continue;
367
+ const basePath = URL_PICKER_LIST_PATHS[type];
368
+ if (currentValue === basePath || currentValue.startsWith(`${basePath}?`)) {
369
+ const parsed = new URL(currentValue, "https://local.test");
370
+ const featured = parsed.searchParams.get("featured");
371
+ const tag = parsed.searchParams.get("tag");
372
+ if (featured === "1") {
373
+ setSelectedLabel(strategyLabel(queryStrategyConfigs, type, "featured", editorLocale));
374
+ return;
375
+ }
376
+ if (tag && tag.trim() !== "") {
377
+ setSelectedLabel(`${strategyLabel(queryStrategyConfigs, type, "by_tag", editorLocale)} · ${tag}`);
378
+ return;
379
+ }
380
+ setSelectedLabel(strategyLabel(queryStrategyConfigs, type, "latest", editorLocale));
381
+ return;
382
+ }
383
+ }
384
+ // 2) try editor pages
385
+ const matchedPage = editorPages.find((p) => {
386
+ const url = p.handle === "index" ? "/" : `/${p.handle}`;
387
+ return url === currentValue || p.handle === currentValue;
388
+ });
389
+ if (matchedPage) {
390
+ setSelectedLabel(matchedPage.label);
391
+ return;
392
+ }
393
+ // 3) ask searchResources to find a label for non-list types
394
+ if (!searchResources)
395
+ return;
396
+ for (const type of resourceTypes) {
397
+ if (isCancelled)
398
+ return;
399
+ if (type === "page")
400
+ continue;
401
+ try {
402
+ const result = await searchResources({
403
+ type: type,
404
+ query: "",
405
+ page: 1,
406
+ perPage: RESOURCE_SEARCH_PAGE_SIZE,
407
+ });
408
+ const match = result.options.find((option) => (option.url ?? option.value) === currentValue);
409
+ if (match) {
410
+ setSelectedLabel(match.label);
411
+ return;
412
+ }
413
+ }
414
+ catch {
415
+ // continue to next type
416
+ }
417
+ }
418
+ };
419
+ void resolveLabel();
420
+ return () => {
421
+ isCancelled = true;
422
+ };
423
+ }, [currentValue, resourceTypes, editorPages, queryStrategyConfigs, searchResources, editorLocale]);
424
+ const displayLabel = useMemo(() => {
425
+ if (!currentValue) {
426
+ return labels.select;
427
+ }
428
+ return selectedLabel || currentValue;
429
+ }, [currentValue, labels.select, selectedLabel]);
430
+ const selectedStrategyForType = useCallback((type) => {
431
+ if (!isListStrategyResourceType(type) || currentValue === "")
432
+ return null;
433
+ const basePath = URL_PICKER_LIST_PATHS[type];
434
+ if (currentValue === basePath)
435
+ return "latest";
436
+ if (currentValue.startsWith(`${basePath}?`)) {
437
+ const parsed = new URL(currentValue, "https://local.test");
438
+ const featured = parsed.searchParams.get("featured");
439
+ const tag = parsed.searchParams.get("tag");
440
+ if (featured === "1")
441
+ return "featured";
442
+ if (tag && tag.trim() !== "")
443
+ return "by_tag";
444
+ return "latest";
445
+ }
446
+ if (currentValue.startsWith(`${basePath}/`))
447
+ return "manual";
448
+ return null;
449
+ }, [currentValue]);
450
+ // -- Manual / page list search effect --------------------------------
451
+ useEffect(() => {
452
+ if (!isOpen)
453
+ return;
454
+ if (activeType === "page") {
455
+ const pageOptions = editorPages
456
+ .filter((p) => !p.disabled && (p.group === "home" || p.group === "static"))
457
+ .map((p) => ({
458
+ value: p.handle,
459
+ label: p.label,
460
+ url: p.handle === "index" ? "/" : `/${p.handle}`,
461
+ }));
462
+ const filtered = query.trim() === ""
463
+ ? pageOptions
464
+ : pageOptions.filter((opt) => opt.label.toLowerCase().includes(query.trim().toLowerCase()));
465
+ setOptions(filtered);
466
+ setCurrentPage(1);
467
+ setHasMoreOptions(false);
468
+ setHasSearched(true);
469
+ setLoading(false);
470
+ setSearchFailed(false);
471
+ return;
472
+ }
473
+ if (!isManualSearch || !searchResources) {
474
+ setOptions([]);
475
+ setLoading(false);
476
+ setHasSearched(false);
477
+ setHasMoreOptions(false);
478
+ setCurrentPage(1);
479
+ setSearchFailed(false);
480
+ return;
481
+ }
482
+ let isCancelled = false;
483
+ setLoading(true);
484
+ setHasSearched(false);
485
+ setSearchFailed(false);
486
+ setLoadMoreFailed(false);
487
+ const timer = window.setTimeout(() => {
488
+ void (async () => {
489
+ try {
490
+ const result = await searchResources({
491
+ type: activeType,
492
+ query: query.trim(),
493
+ page: 1,
494
+ perPage: RESOURCE_SEARCH_PAGE_SIZE,
495
+ });
496
+ if (isCancelled)
497
+ return;
498
+ setOptions(result.options);
499
+ setCurrentPage(result.page ?? 1);
500
+ setHasMoreOptions(Boolean(result.hasMore));
501
+ setHasSearched(true);
502
+ }
503
+ catch {
504
+ if (!isCancelled) {
505
+ setOptions([]);
506
+ setCurrentPage(1);
507
+ setHasMoreOptions(false);
508
+ setSearchFailed(true);
509
+ setHasSearched(true);
510
+ }
511
+ }
512
+ finally {
513
+ if (!isCancelled)
514
+ setLoading(false);
515
+ }
516
+ })();
517
+ }, RESOURCE_SEARCH_DEBOUNCE_MS);
518
+ return () => {
519
+ isCancelled = true;
520
+ window.clearTimeout(timer);
521
+ };
522
+ }, [isOpen, activeType, isManualSearch, query, searchResources, editorPages]);
523
+ // -- Filter (by_tag) search effect -----------------------------------
524
+ useEffect(() => {
525
+ if (!isOpen)
526
+ return;
527
+ if (!isFilterSearch || !searchResources || !isListStrategyResourceType(activeType)) {
528
+ setFilterOptions([]);
529
+ setFilterLoading(false);
530
+ setFilterSearchFailed(false);
531
+ setFilterHasSearched(false);
532
+ return;
533
+ }
534
+ const searchType = URL_PICKER_FILTER_SEARCH_TYPES[activeType].by_tag;
535
+ let isCancelled = false;
536
+ setFilterLoading(true);
537
+ setFilterSearchFailed(false);
538
+ setFilterHasSearched(false);
539
+ const timer = window.setTimeout(() => {
540
+ void (async () => {
541
+ try {
542
+ const result = await searchResources({
543
+ type: searchType,
544
+ query: filterQuery.trim(),
545
+ page: 1,
546
+ perPage: RESOURCE_SEARCH_PAGE_SIZE,
547
+ });
548
+ if (isCancelled)
549
+ return;
550
+ setFilterOptions(result.options);
551
+ setFilterHasSearched(true);
552
+ }
553
+ catch {
554
+ if (!isCancelled) {
555
+ setFilterOptions([]);
556
+ setFilterSearchFailed(true);
557
+ setFilterHasSearched(true);
558
+ }
559
+ }
560
+ finally {
561
+ if (!isCancelled)
562
+ setFilterLoading(false);
563
+ }
564
+ })();
565
+ }, RESOURCE_SEARCH_DEBOUNCE_MS);
566
+ return () => {
567
+ isCancelled = true;
568
+ window.clearTimeout(timer);
569
+ };
570
+ }, [isOpen, activeType, activeStrategy, filterQuery, isFilterSearch, searchResources]);
571
+ const loadMoreOptions = useCallback(async () => {
572
+ if (!searchResources || loading || isLoadingMore || !hasMoreOptions || !isManualSearch)
573
+ return;
574
+ const nextPage = currentPage + 1;
575
+ setIsLoadingMore(true);
576
+ setLoadMoreFailed(false);
577
+ try {
578
+ const result = await searchResources({
579
+ type: activeType,
580
+ query: query.trim(),
581
+ page: nextPage,
582
+ perPage: RESOURCE_SEARCH_PAGE_SIZE,
583
+ });
584
+ setOptions((previous) => {
585
+ const existingValues = new Set(previous.map((option) => option.value));
586
+ return [...previous, ...result.options.filter((option) => !existingValues.has(option.value))];
587
+ });
588
+ setCurrentPage(result.page ?? nextPage);
589
+ setHasMoreOptions(Boolean(result.hasMore));
590
+ }
591
+ catch {
592
+ setLoadMoreFailed(true);
593
+ }
594
+ finally {
595
+ setIsLoadingMore(false);
596
+ }
597
+ }, [activeType, currentPage, hasMoreOptions, isLoadingMore, isManualSearch, loading, query, searchResources]);
598
+ const handleOptionsScroll = (event) => {
599
+ if (!hasMoreOptions || loading || isLoadingMore || loadMoreFailed || !isManualSearch)
600
+ return;
601
+ const target = event.currentTarget;
602
+ const distanceToBottom = target.scrollHeight - target.scrollTop - target.clientHeight;
603
+ if (distanceToBottom <= RESOURCE_SCROLL_LOAD_THRESHOLD_PX) {
604
+ void loadMoreOptions();
605
+ }
606
+ };
607
+ const handleTypeTabChange = (virtualType) => {
608
+ const realType = realTypeFromVirtual(virtualType);
609
+ const isListMode = isVirtualListType(virtualType) && isListStrategyResourceType(realType);
610
+ setActiveVirtualType(virtualType);
611
+ setActiveStrategy(isListMode ? "latest" : "manual");
612
+ setQuery("");
613
+ setOptions([]);
614
+ setFilterQuery("");
615
+ setFilterOptions([]);
616
+ setHasSearched(false);
617
+ setFilterHasSearched(false);
618
+ setSearchFailed(false);
619
+ setFilterSearchFailed(false);
620
+ };
621
+ const handleSelectResource = (option) => {
622
+ const url = option.url ?? option.value;
623
+ setSelectedLabel(option.label);
624
+ onChange(url);
625
+ setOpen(false);
626
+ };
627
+ const handlePickListStrategy = (type, strategy) => {
628
+ if (strategy === "latest") {
629
+ setSelectedLabel(strategyLabel(queryStrategyConfigs, type, strategy, editorLocale));
630
+ onChange(buildListUrl(type));
631
+ setOpen(false);
632
+ return;
633
+ }
634
+ if (strategy === "featured") {
635
+ setSelectedLabel(strategyLabel(queryStrategyConfigs, type, strategy, editorLocale));
636
+ onChange(buildListUrl(type, { featured: "1" }));
637
+ setOpen(false);
638
+ }
639
+ };
640
+ const handleSelectFilterOption = (option) => {
641
+ if (!isListStrategyResourceType(activeType))
642
+ return;
643
+ if (activeStrategy !== "by_tag")
644
+ return;
645
+ const params = { tag: option.value };
646
+ const nextUrl = buildListUrl(activeType, params);
647
+ setSelectedLabel(`${strategyLabel(queryStrategyConfigs, activeType, activeStrategy, editorLocale)} · ${option.label}`);
648
+ onChange(nextUrl);
649
+ setOpen(false);
650
+ };
651
+ const handleExternalConfirm = () => {
652
+ if (!isValidExternalUrlInput(externalInput))
653
+ return;
654
+ setSelectedLabel("");
655
+ onChange(externalInput.trim());
656
+ setOpen(false);
657
+ };
658
+ const trimmedExternalInput = externalInput.trim();
659
+ const isExternalInputValid = isValidExternalUrlInput(externalInput);
660
+ const externalInputErrorMessage = isActiveExternal && trimmedExternalInput !== "" && !isExternalInputValid ? labels.invalidUrl : "";
661
+ const helperMessage = searchFailed ? labels.searchFailed : "";
662
+ const filterHelperMessage = filterSearchFailed ? labels.searchFailed : "";
663
+ const listOnlyStrategies = ["latest", "featured", "by_tag"];
664
+ return (_jsxs("div", { style: { position: "relative" }, children: [_jsxs("button", { ref: triggerRef, type: "button", style: triggerStyle, title: displayLabel, onClick: () => setOpen((prev) => !prev), children: [_jsx("svg", { "aria-hidden": "true", viewBox: "0 0 24 24", style: { width: 13, height: 13, flexShrink: 0, opacity: 0.5 }, children: _jsx("path", { d: "M10.5 13.5 13.5 10.5M8.5 11.5l-1.2 1.2a3 3 0 0 0 4.2 4.2l1.2-1.2M15.5 12.5l1.2-1.2a3 3 0 0 0-4.2-4.2l-1.2 1.2", fill: "none", stroke: "currentColor", strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: "2" }) }), _jsx("span", { style: {
665
+ display: "inline-block",
666
+ flex: 1,
667
+ overflow: "hidden",
668
+ textOverflow: "ellipsis",
669
+ whiteSpace: "nowrap",
670
+ }, children: displayLabel }), _jsx("span", { "aria-hidden": "true", style: { opacity: 0.5, fontSize: 10 }, children: "\u21C5" })] }), isOpen ? (_jsxs(_Fragment, { children: [_jsxs("div", { ref: panelRef, style: {
671
+ ...rootPanelStyle,
672
+ top: panelPos?.rootTop ?? 0,
673
+ left: panelPos?.rootLeft ?? 0,
674
+ visibility: panelPos ? "visible" : "hidden",
675
+ }, children: [virtualResourceTypes.map((virtualType) => {
676
+ const isActive = activeVirtualType === virtualType;
677
+ return (_jsxs("button", { type: "button", style: isActive ? itemActiveStyle : itemStyleBase, onMouseEnter: () => handleTypeTabChange(virtualType), onClick: () => handleTypeTabChange(virtualType), children: [_jsx("span", { children: resourceTypeLabel(virtualType, editorLocale) }), _jsx("span", { "aria-hidden": "true", style: { opacity: 0.4, fontSize: 10 }, children: "\u203A" })] }, virtualType));
678
+ }), _jsxs("button", { type: "button", style: isActiveExternal ? itemActiveStyle : itemStyleBase, onMouseEnter: () => {
679
+ setActiveVirtualType(EXTERNAL_URL_TYPE);
680
+ setActiveStrategy("manual");
681
+ }, onClick: () => {
682
+ setActiveVirtualType(EXTERNAL_URL_TYPE);
683
+ setActiveStrategy("manual");
684
+ }, children: [_jsx("span", { children: labels.externalUrl }), _jsx("span", { "aria-hidden": "true", style: { opacity: 0.4, fontSize: 10 }, children: "\u203A" })] })] }), _jsx("div", { ref: subPanelRef, style: {
685
+ ...subPanelStyle,
686
+ top: panelPos?.subTop ?? 0,
687
+ left: panelPos?.subLeft ?? 0,
688
+ visibility: panelPos ? "visible" : "hidden",
689
+ }, children: isActiveExternal ? (_jsx(ExternalSubpanel, { value: externalInput, onChange: setExternalInput, onConfirm: handleExternalConfirm, isValid: isExternalInputValid, errorMessage: externalInputErrorMessage, confirmLabel: labels.confirm })) : supportsListStrategies ? (_jsx(ListStrategySubpanel, { strategies: listOnlyStrategies, activeStrategy: activeStrategy, onActivateStrategy: (strategy) => {
690
+ setActiveStrategy(strategy);
691
+ if (strategy === "latest" || strategy === "featured") {
692
+ handlePickListStrategy(activeType, strategy);
693
+ }
694
+ }, strategyLabelFor: (strategy) => strategyLabel(queryStrategyConfigs, activeType, strategy, editorLocale), selectedStrategy: selectedStrategyForType(activeType), filterQuery: filterQuery, onFilterQueryChange: setFilterQuery, filterOptions: filterOptions, filterLoading: filterLoading, filterHasSearched: filterHasSearched, filterHelperMessage: filterHelperMessage, onSelectFilterOption: handleSelectFilterOption, searchPlaceholder: labels.search, searchingMessage: labels.searching, noResultsMessage: labels.noResults })) : (_jsx(ManualSearchSubpanel, { query: query, onQueryChange: setQuery, options: options, loading: loading, hasSearched: hasSearched, helperMessage: helperMessage, onScroll: handleOptionsScroll, onSelect: handleSelectResource, hasMoreOptions: hasMoreOptions, isLoadingMore: isLoadingMore, loadMoreFailed: loadMoreFailed, onRetryLoadMore: () => void loadMoreOptions(), currentValue: currentValue, searchPlaceholder: labels.search, searchingMessage: labels.searching, noResultsMessage: labels.noResults, retryLabel: labels.retry, loadMoreLabel: labels.loadMore })) })] })) : null] }));
695
+ }
696
+ // ---------------------------------------------------------------------------
697
+ // Sub-panels
698
+ // ---------------------------------------------------------------------------
699
+ function ExternalSubpanel({ value, onChange, onConfirm, isValid, errorMessage, confirmLabel, }) {
700
+ return (_jsxs(_Fragment, { children: [_jsx("input", { type: "url", autoFocus: true, style: {
701
+ ...inputStyle,
702
+ borderColor: !isValid && value.trim() !== "" ? "#d04949" : inputStyle.border,
703
+ }, value: value, placeholder: "https://example.com", onChange: (event) => onChange(event.target.value), onKeyDown: (event) => {
704
+ event.stopPropagation();
705
+ if (event.key === "Enter" && isValid) {
706
+ onConfirm();
707
+ }
708
+ }, "aria-invalid": !isValid && value.trim() !== "" }), errorMessage !== "" ? (_jsx("div", { style: { color: "#d04949", fontSize: 11, padding: "0 4px" }, children: errorMessage })) : null, _jsx("button", { type: "button", style: buttonPrimaryStyle, onClick: onConfirm, disabled: !isValid, children: confirmLabel })] }));
709
+ }
710
+ function ManualSearchSubpanel({ query, onQueryChange, options, loading, hasSearched, helperMessage, onScroll, onSelect, hasMoreOptions, isLoadingMore, loadMoreFailed, onRetryLoadMore, currentValue, searchPlaceholder, searchingMessage, noResultsMessage, retryLabel, loadMoreLabel, }) {
711
+ return (_jsxs(_Fragment, { children: [_jsx("input", { type: "text", autoFocus: true, style: inputStyle, value: query, placeholder: searchPlaceholder, onChange: (event) => onQueryChange(event.target.value), onKeyDown: (event) => event.stopPropagation() }), _jsx("div", { style: { maxHeight: 240, minHeight: 120, overflowY: "auto", paddingRight: 4 }, onScroll: onScroll, children: loading ? (_jsx("div", { style: helperTextStyle, children: searchingMessage })) : hasSearched && options.length === 0 ? (_jsx("div", { style: helperTextStyle, children: noResultsMessage })) : (options.map((option) => {
712
+ const optionUrl = option.url ?? option.value;
713
+ const isSelected = currentValue === optionUrl;
714
+ return (_jsxs("button", { type: "button", style: isSelected ? itemActiveStyle : itemStyleBase, onClick: () => onSelect(option), children: [_jsx("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis", whiteSpace: "nowrap" }, children: option.label }), isSelected ? _jsx("span", { style: { fontSize: 10 }, children: "\u2713" }) : null] }, option.value));
715
+ })) }), hasMoreOptions && loadMoreFailed ? (_jsx("button", { type: "button", style: itemStyleBase, disabled: isLoadingMore, onClick: onRetryLoadMore, children: isLoadingMore ? searchingMessage : retryLabel })) : null, hasMoreOptions && !loadMoreFailed ? (_jsx("button", { type: "button", style: itemStyleBase, disabled: isLoadingMore, onClick: onRetryLoadMore, children: isLoadingMore ? searchingMessage : loadMoreLabel })) : null, helperMessage !== "" ? _jsx("div", { style: helperTextStyle, children: helperMessage }) : null] }));
716
+ }
717
+ function ListStrategySubpanel({ strategies, activeStrategy, onActivateStrategy, strategyLabelFor, selectedStrategy, filterQuery, onFilterQueryChange, filterOptions, filterLoading, filterHasSearched, filterHelperMessage, onSelectFilterOption, searchPlaceholder, searchingMessage, noResultsMessage, }) {
718
+ return (_jsxs(_Fragment, { children: [_jsx("div", { style: { display: "flex", flexDirection: "column", gap: 2 }, children: strategies.map((strategy) => {
719
+ const isSelected = selectedStrategy === strategy;
720
+ const isActive = activeStrategy === strategy;
721
+ const style = isSelected || isActive ? itemActiveStyle : itemStyleBase;
722
+ return (_jsxs("button", { type: "button", style: style, onClick: () => onActivateStrategy(strategy), children: [_jsx("span", { children: strategyLabelFor(strategy) }), isSelected ? _jsx("span", { style: { fontSize: 10 }, children: "\u2713" }) : null] }, strategy));
723
+ }) }), activeStrategy === "by_tag" ? (_jsxs(_Fragment, { children: [_jsx("input", { type: "text", autoFocus: true, style: inputStyle, value: filterQuery, placeholder: searchPlaceholder, onChange: (event) => onFilterQueryChange(event.target.value), onKeyDown: (event) => event.stopPropagation() }), _jsx("div", { style: { maxHeight: 200, minHeight: 100, overflowY: "auto", paddingRight: 4 }, children: filterLoading ? (_jsx("div", { style: helperTextStyle, children: searchingMessage })) : filterHasSearched && filterOptions.length === 0 ? (_jsx("div", { style: helperTextStyle, children: noResultsMessage })) : (filterOptions.map((option) => (_jsx("button", { type: "button", style: itemStyleBase, onClick: () => onSelectFilterOption(option), children: _jsx("span", { style: { flex: 1, overflow: "hidden", textOverflow: "ellipsis" }, children: option.label }) }, option.value)))) }), filterHelperMessage !== "" ? _jsx("div", { style: helperTextStyle, children: filterHelperMessage }) : null] })) : null] }));
724
+ }
725
+ // ---------------------------------------------------------------------------
726
+ // Field factory
727
+ // ---------------------------------------------------------------------------
728
+ function UrlFieldRender({ value, onChange, }) {
729
+ return _jsx(UrlPicker, { value: value ?? "", onChange: onChange });
730
+ }
731
+ export function urlField(label) {
732
+ const field = {
733
+ type: "custom",
734
+ metadata: { sudaField: "url" },
735
+ render: ({ value, onChange }) => _jsx(UrlFieldRender, { value: value, onChange: onChange }),
736
+ };
737
+ if (label !== undefined) {
738
+ field.label = label;
739
+ }
740
+ return field;
741
+ }
742
+ //# sourceMappingURL=url-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-field.js","sourceRoot":"","sources":["../../src/fields/url-field.tsx"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -4,6 +4,7 @@ export { extractLayoutChrome, type LayoutChrome } from "./render/chrome.js";
4
4
  export { resolveAsset, type ThemeRenderMetadata } from "./components/metadata.js";
5
5
  export { createThemeAssetPath, createThemeAssetResolver, resolveThemeRuntimeUrl, resolveAssetPath, type ResolveAssetPathOptions, type ResolveThemeRuntimeUrlOptions, type ThemeAssetResolver, type ThemeAssetSummary, type ThemeUnsplashAssetSummary, } from "./assets.js";
6
6
  export { composeUnifiedThemeEditorData, splitUnifiedThemeEditorData, } from "./editor/unified-editor.js";
7
+ export type { ThemeEditorPageOption, ThemeResourceOption, ThemeResourceSearchResult, ThemeResourceSearchType, } from "./editor/context.js";
7
8
  export * from "./cms/index.js";
8
9
  export * from "./types.js";
9
10
  export { themeManifestSchema, parseThemeManifest, safeParseThemeManifest } from "./manifest.js";
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,uBAAuB,EAC5B,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,GAC/B,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,aAAa,CAAC;AAG5B,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAyB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAA4B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,GAMjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AACjC,cAAc,aAAa,CAAC;AAE5B,sDAAsD;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,WAAW,EAAyB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAqB,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,YAAY,EAA4B,MAAM,uBAAuB,CAAC;AAC/E,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,GAMjB,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAOjC,cAAc,aAAa,CAAC;AAE5B,sDAAsD;AACtD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAC7F,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sudajs/theme-engine",
3
- "version": "1.4.1",
3
+ "version": "1.5.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -54,8 +54,8 @@
54
54
  "typescript": "^5.7.2",
55
55
  "vitest": "^3.2.4",
56
56
  "@suda/build-config": "0.0.0",
57
- "@suda/tsconfig": "0.0.0",
58
- "@suda/eslint-config": "0.0.0"
57
+ "@suda/eslint-config": "0.0.0",
58
+ "@suda/tsconfig": "0.0.0"
59
59
  },
60
60
  "scripts": {
61
61
  "build": "tsc -p tsconfig.build.json && node ./rewrite-dist-imports.js",