@wix/origami-runtime 0.19.4 → 0.19.6

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.
@@ -32,19 +32,28 @@ type AllD = {
32
32
  [D]: 'all';
33
33
  entries: unknown[];
34
34
  };
35
- export type Binding = CtxD | CallD | CallbackD | FnD | IsD | AllD;
35
+ type StaticD = {
36
+ [D]: 'static';
37
+ dataType: string;
38
+ value: string;
39
+ };
40
+ export type Binding = CtxD | CallD | CallbackD | FnD | IsD | AllD | StaticD;
36
41
  export declare const isBinding: (v: unknown) => v is Binding;
37
42
  export declare const isCallback: (v: unknown) => boolean;
38
- type PathValue<M, P extends string> = M extends object ? P extends `${infer K}.${infer Rest}` ? K extends keyof M ? PathValue<M[K], Rest> : unknown : P extends keyof M ? M[P] : unknown : unknown;
43
+ type PathValue<M, P extends string> = M extends object ? P extends `${infer K}.${infer Rest}` ? K extends keyof M ? PathValue<NonNullable<M[K]>, Rest> | ([Extract<M[K], null | undefined>] extends [never] ? never : undefined) : unknown : P extends keyof M ? M[P] : unknown : unknown;
44
+ type CtxValue<V> = [Extract<V, AnyFunction>] extends [never] ? V : Extract<V, AnyFunction>;
45
+ type AnyFunction = (...args: never[]) => unknown;
46
+ type Placeholder<V> = V extends readonly unknown[] ? V | string[] : V;
39
47
  export declare const ctx: <M, P extends string>(path: P, opts: {
40
48
  from: ContextHook<M>;
41
- placeholder?: PathValue<NonNullable<M>, P>;
42
- }) => PathValue<NonNullable<M>, P>;
49
+ placeholder?: Placeholder<PathValue<NonNullable<M>, P>>;
50
+ }) => CtxValue<PathValue<NonNullable<M>, P>>;
43
51
  export declare const callback: <B extends unknown[], A extends unknown[], R>(target: (...args: [...B, ...A]) => R, ...bound: B) => ((...args: A) => R);
44
52
  export declare const fn: <T>(ref: (...a: never[]) => T, ...args: unknown[]) => T;
45
53
  export declare const is: <T>(binding: T, value: T) => boolean;
46
54
  export declare const all: (first: boolean, second: boolean, ...rest: boolean[]) => boolean;
47
55
  export declare const raw: <T>(value: T) => T;
56
+ export declare const typedStatic: (dataType: string) => <V extends string>(value: V) => V;
48
57
  type Hooks = Map<ContextHook<unknown>, unknown>;
49
58
  export declare const resolve: (v: unknown, hooks?: Hooks, seen?: WeakSet<object>) => unknown;
50
59
  export declare const holds: (v: unknown, hooks?: Hooks, seen?: WeakSet<object>) => boolean;
package/dist/bindings.js CHANGED
@@ -46,6 +46,10 @@ export const is = (binding, value) => ({ [D]: 'is', binding, value });
46
46
  // AND of two or more conditions: every entry must hold (see holds()).
47
47
  export const all = (first, second, ...rest) => ({ [D]: 'all', entries: [first, second, ...rest] });
48
48
  export const raw = (value) => ({ [RAW]: value });
49
+ // A typed static, e.g. email('a@b.co') for {type: 'Static.Primitive', dataType:
50
+ // 'email', value: 'a@b.co'}. Resolves to its value; DM, not the runtime, checks the value's format.
51
+ // Returns the literal it was given, so direction('rtl') fits a prop typed 'ltr' | 'rtl'.
52
+ export const typedStatic = (dataType) => (value) => ({ [D]: 'static', dataType, value });
49
53
  const isPlain = (v) => typeof v === 'object' && v !== null && Object.getPrototypeOf(v) === Object.prototype;
50
54
  // Each hook runs once per resolve(), on first use.
51
55
  const read = (hook, hooks) => {
@@ -61,6 +65,8 @@ export const resolve = (v, hooks = new Map(), seen = new WeakSet()) => {
61
65
  return v[RAW];
62
66
  if (isBinding(v)) {
63
67
  try {
68
+ if (v[D] === 'static')
69
+ return v.value;
64
70
  if (v[D] === 'ctx') {
65
71
  const out = v.path ? pick(read(v.from, hooks), v.path) : unwrap(read(v.from, hooks));
66
72
  return out === undefined ? v.placeholder : out;
@@ -1 +1 @@
1
- {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bindings.js","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,MAAM,CAAC,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAA;AACnC,MAAM,GAAG,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;AAsBjC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,CAAU,EAAgB,EAAE,CAClD,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,CAAA;AAC9E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAU,EAAW,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAA;AACtF,MAAM,KAAK,GAAG,CAAC,CAAU,EAAa,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,CAAA;AAExF,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CACnC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAuB,CAAC,GAAG,KAAK,UAAU;IACrF,CAAC,CAAE,CAA4B,CAAC,GAAG,EAAE;IACrC,CAAC,CAAC,CAAC,CAAA;AAEX,MAAM,IAAI,GAAG,CAAC,CAAU,EAAE,IAAY,EAAW,EAAE,CAC/C,IAAI;KACC,KAAK,CAAC,GAAG,CAAC;KACV,MAAM,CAAU,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAE,MAAM,CAAC,CAAC,CAA6B,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AA2BlH,mGAAmG;AACnG,kGAAkG;AAClG,kGAAkG;AAClG,mGAAmG;AACnG,mGAAmG;AACnG,mGAAmG;AACnG,uFAAuF;AACvF,MAAM,CAAC,MAAM,GAAG,GAAG,CACf,IAAO,EACP,IAAuF,EACjD,EAAE;IACxC,oEAAoE;IACpE,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,KAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAA;IAE1F,4FAA4F;IAC5F,MAAM,UAAU,GAAG,CAAC,GAAG,IAAe,EAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAEvF,mEAAmE;IACnE,MAAM,OAAO,GAAS,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IAErD,6FAA6F;IAC7F,OAAO,OAA4D,CAAA;AACvE,CAAC,CAAA;AAED,sFAAsF;AACtF,oGAAoG;AACpG,kGAAkG;AAClG,oGAAoG;AACpG,yFAAyF;AACzF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACpB,MAAoC,EACpC,GAAG,KAAQ,EACQ,EAAE;IACrB,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,SAAS,CAAC,kFAAkF,CAAC,CAAA;IAC3G,CAAC;IACD,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAsD,CAAA;AACjG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,GAAyB,EAAE,GAAG,IAAe,EAAK,EAAE,CACtE,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,GAAiB,EAAE,IAAI,EAAE,CAA+B,CAAA;AAE/E,kGAAkG;AAClG,gGAAgG;AAChG,0DAA0D;AAC1D,MAAM,CAAC,MAAM,EAAE,GAAG,CAAI,OAAU,EAAE,KAAQ,EAAW,EAAE,CACnD,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAqC,CAAA;AAEvE,sEAAsE;AACtE,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,KAAc,EAAE,MAAe,EAAE,GAAG,IAAe,EAAW,EAAE,CAChF,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAsC,CAAA;AAE5F,MAAM,CAAC,MAAM,GAAG,GAAG,CAAI,KAAQ,EAAK,EAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAgC,CAAA;AAExF,gFAAgF;AAChF,oGAAoG;AACpG,yFAAyF;AACzF,MAAM,CAAC,MAAM,WAAW,GACpB,CAAC,QAAgB,EAAE,EAAE,CACrB,CAAmB,KAAQ,EAAK,EAAE,CAC9B,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAmC,CAAA;AAE9E,MAAM,OAAO,GAAG,CAAC,CAAU,EAAgC,EAAE,CACzD,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,CAAA;AAIxF,mDAAmD;AACnD,MAAM,IAAI,GAAG,CAAC,IAA0B,EAAE,KAAY,EAAW,EAAE;IAC/D,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;IAC7C,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;AAC1B,CAAC,CAAA;AAED,gGAAgG;AAChG,4FAA4F;AAC5F,sDAAsD;AACtD,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAU,EAAE,QAAe,IAAI,GAAG,EAAE,EAAE,OAAO,IAAI,OAAO,EAAU,EAAW,EAAE;IACnG,IAAI,KAAK,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAA;IAC3B,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;QACf,IAAI,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ;gBAAE,OAAO,CAAC,CAAC,KAAK,CAAA;YACrC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;gBACjB,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;gBACpF,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAA;YAClD,CAAC;YACD,yEAAyE;YACzE,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAoC,CAAA;gBAChF,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;gBACzD,OAAO,MAAM,CAAC,GAAG,IAAI,CAAC,CAAA;YAC1B,CAAC;YACD,wFAAwF;YACxF,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;gBACtB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;gBAC7C,IAAI,OAAO,MAAM,KAAK,UAAU;oBAAE,MAAM,IAAI,SAAS,CAAC,2CAA2C,CAAC,CAAA;gBAClG,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;gBAC3D,OAAO,CAAC,GAAG,IAAe,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,CAAA;YAC5D,CAAC;YACD,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI;gBAAE,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;YAC5E,yFAAyF;YACzF,+BAA+B;YAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK;gBAAE,OAAO,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;YACnF,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAA;QACtD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,CAAC,CAAA;YACnD,OAAO,SAAS,CAAA;QACpB,CAAC;IACL,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IAChE,IAAI,cAAc,CAAC,CAAC,CAAC;QAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QACzB,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QACX,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9F,CAAC;IACD,OAAO,CAAC,CAAA;AACZ,CAAC,CAAA;AAED,8FAA8F;AAC9F,sGAAsG;AACtG,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAU,EAAE,KAAa,EAAE,IAAsB,EAAW,EAAE,CAChF,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAA"}
@@ -0,0 +1,12 @@
1
+ export declare const textEnum: <V extends string>(value: V) => V;
2
+ export declare const phone: <V extends string>(value: V) => V;
3
+ export declare const email: <V extends string>(value: V) => V;
4
+ export declare const webUrl: <V extends string>(value: V) => V;
5
+ export declare const hostname: <V extends string>(value: V) => V;
6
+ export declare const regex: <V extends string>(value: V) => V;
7
+ export declare const guid: <V extends string>(value: V) => V;
8
+ export declare const direction: <V extends string>(value: V) => V;
9
+ export declare const localDate: <V extends string>(value: V) => V;
10
+ export declare const localTime: <V extends string>(value: V) => V;
11
+ export declare const localDateTime: <V extends string>(value: V) => V;
12
+ export declare const dateTime: <V extends string>(value: V) => V;
@@ -0,0 +1,15 @@
1
+ import { typedStatic } from './bindings';
2
+ // One export per Static.Primitive dataType, named after it.
3
+ export const textEnum = typedStatic('textEnum');
4
+ export const phone = typedStatic('phone');
5
+ export const email = typedStatic('email');
6
+ export const webUrl = typedStatic('webUrl');
7
+ export const hostname = typedStatic('hostname');
8
+ export const regex = typedStatic('regex');
9
+ export const guid = typedStatic('guid');
10
+ export const direction = typedStatic('direction');
11
+ export const localDate = typedStatic('localDate');
12
+ export const localTime = typedStatic('localTime');
13
+ export const localDateTime = typedStatic('localDateTime');
14
+ export const dateTime = typedStatic('dateTime');
15
+ //# sourceMappingURL=dataTypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataTypes.js","sourceRoot":"","sources":["../src/dataTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAExC,4DAA4D;AAC5D,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AACzC,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AACzC,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA;AAC3C,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA;AAC/C,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;AACzC,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAA;AACvC,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAA;AACjD,MAAM,CAAC,MAAM,aAAa,GAAG,WAAW,CAAC,eAAe,CAAC,CAAA;AACzD,MAAM,CAAC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,CAAA"}
package/dist/define.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { SvgProps } from './svgContent';
1
2
  export interface WixProps {
2
3
  wixPath?: string;
3
4
  presetsWrapperProps?: {
@@ -28,6 +29,19 @@ export type Image = {
28
29
  };
29
30
  quality?: number;
30
31
  alt?: string;
32
+ /** The data item type the converter writes on an exported image: `Builder.Image`. */
33
+ type?: string;
34
+ };
35
+ /**
36
+ * A `richText` value: the converter writes `{ id, type: 'Builder.RichText', html }`, the data conversions'
37
+ * `textToRichText` returns `{ text, html }`, and the CMS gives a rich text field as `{ html, text, linkList }`.
38
+ */
39
+ export type RichText = {
40
+ html: string;
41
+ text?: string;
42
+ linkList?: unknown[];
43
+ id?: string;
44
+ type?: string;
31
45
  };
32
46
  /** `Video` from `@wix/editor-react-types`: the value of a manifest `video` prop. */
33
47
  export type Video = {
@@ -56,7 +70,7 @@ export declare const prop: {
56
70
  text: (opts?: {
57
71
  maxLength?: number;
58
72
  }) => PropBuilder<string>;
59
- richText: () => PropBuilder<string>;
73
+ richText: () => PropBuilder<RichText>;
60
74
  boolean: () => PropBuilder<boolean>;
61
75
  number: (opts?: {
62
76
  min?: number;
@@ -69,11 +83,12 @@ export declare const prop: {
69
83
  target?: string;
70
84
  }>;
71
85
  direction: () => PropBuilder<"ltr" | "rtl">;
72
- vectorArt: () => PropBuilder<string>;
86
+ vectorArt: () => PropBuilder<SvgProps>;
73
87
  element: <T>() => PropBuilder<T>;
74
88
  object: <T>() => PropBuilder<T>;
75
89
  image: <T>() => PropBuilder<T>;
76
90
  video: <T>() => PropBuilder<T>;
91
+ template: <T>(itemKey: string) => PropBuilder<T>;
77
92
  };
78
93
  export interface ComponentDefinition<TProps extends Record<string, PropBuilder<any>>, TElements extends Record<string, PropBuilder<any>> = Record<string, never>> {
79
94
  componentId: string;
package/dist/define.js CHANGED
@@ -8,6 +8,7 @@ export const prop = {
8
8
  enum: (...options) => makeProp('textEnum', { options }),
9
9
  link: () => makeProp('link'),
10
10
  direction: () => makeProp('direction'),
11
+ // The converter's `svg(url, uri)`.
11
12
  vectorArt: () => makeProp('vectorArt'),
12
13
  // A refElement slot — T is the child component's own generated Props type, imported by the generator.
13
14
  element: () => makeProp('element'),
@@ -17,6 +18,9 @@ export const prop = {
17
18
  // can find image and video props.
18
19
  image: () => makeProp('image'),
19
20
  video: () => makeProp('video'),
21
+ // A template container: a render function the component calls once per item of the array prop itemKey names.
22
+ // T comes from the generator; marked so tools can find templates and the array each one reads.
23
+ template: (itemKey) => makeProp('template', { itemKey }),
20
24
  };
21
25
  export const defineComponent = (def) => def;
22
26
  //# sourceMappingURL=define.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AA4CA,MAAM,QAAQ,GAAG,CAAI,IAAY,EAAE,OAAgC,EAAE,EAAkB,EAAE,CACrF,CAAC,EAAE,KAAK,EAAE,SAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAmB,CAAA;AAExE,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,QAAQ,CAAS,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAC7E,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAS,UAAU,CAAC;IAC5C,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAU,SAAS,CAAC;IAC3C,MAAM,EAAE,CAAC,IAAqC,EAAE,EAAE,CAAC,QAAQ,CAAS,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IACzF,KAAK,EAAE,CAAY,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAqB,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC9F,IAAI,EAAE,CAAmB,GAAG,OAAY,EAAE,EAAE,CAAC,QAAQ,CAAI,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACjF,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAoC,MAAM,CAAC;IAC/D,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAgB,WAAW,CAAC;IACrD,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAS,WAAW,CAAC;IAC9C,sGAAsG;IACtG,OAAO,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,SAAS,CAAC;IACxC,+GAA+G;IAC/G,MAAM,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,QAAQ,CAAC;IACtC,2GAA2G;IAC3G,kCAAkC;IAClC,KAAK,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,OAAO,CAAC;IACpC,KAAK,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,OAAO,CAAC;CACvC,CAAA;AAkBD,MAAM,CAAC,MAAM,eAAe,GAAG,CAM3B,GAA2C,EACL,EAAE,CAAC,GAAG,CAAA"}
1
+ {"version":3,"file":"define.js","sourceRoot":"","sources":["../src/define.ts"],"names":[],"mappings":"AAsDA,MAAM,QAAQ,GAAG,CAAI,IAAY,EAAE,OAAgC,EAAE,EAAkB,EAAE,CACrF,CAAC,EAAE,KAAK,EAAE,SAAyB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAmB,CAAA;AAExE,MAAM,CAAC,MAAM,IAAI,GAAG;IAChB,IAAI,EAAE,CAAC,IAA6B,EAAE,EAAE,CAAC,QAAQ,CAAS,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;IAC7E,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAW,UAAU,CAAC;IAC9C,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAU,SAAS,CAAC;IAC3C,MAAM,EAAE,CAAC,IAAqC,EAAE,EAAE,CAAC,QAAQ,CAAS,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IACzF,KAAK,EAAE,CAAY,QAAgB,EAAE,EAAE,CAAC,QAAQ,CAAqB,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC;IAC9F,IAAI,EAAE,CAAmB,GAAG,OAAY,EAAE,EAAE,CAAC,QAAQ,CAAI,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;IACjF,IAAI,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAoC,MAAM,CAAC;IAC/D,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAgB,WAAW,CAAC;IACrD,mCAAmC;IACnC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAW,WAAW,CAAC;IAChD,sGAAsG;IACtG,OAAO,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,SAAS,CAAC;IACxC,+GAA+G;IAC/G,MAAM,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,QAAQ,CAAC;IACtC,2GAA2G;IAC3G,kCAAkC;IAClC,KAAK,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,OAAO,CAAC;IACpC,KAAK,EAAE,GAAM,EAAE,CAAC,QAAQ,CAAI,OAAO,CAAC;IACpC,6GAA6G;IAC7G,+FAA+F;IAC/F,QAAQ,EAAE,CAAI,OAAe,EAAE,EAAE,CAAC,QAAQ,CAAI,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC;CACzE,CAAA;AAkBD,MAAM,CAAC,MAAM,eAAe,GAAG,CAM3B,GAA2C,EACL,EAAE,CAAC,GAAG,CAAA"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,9 @@
1
1
  export { all, callback, ctx, fn, is, raw, resolve, isBinding } from './bindings';
2
2
  export type { Binding, ContextHook } from './bindings';
3
+ export * from './dataTypes';
3
4
  export { Remove, Show } from './components';
4
5
  export { withOrigami } from './withOrigami';
6
+ export type { Authored } from './withOrigami';
5
7
  export { withInteractions } from './withInteractions';
6
8
  export { useSvgProps } from './useSvgProps';
7
9
  export type { SvgProps } from './svgContent';
@@ -9,4 +11,4 @@ export { svg } from './svg';
9
11
  export { cx, rootClass } from './classNames';
10
12
  export type { ClassNames, Cond } from './classNames';
11
13
  export { prop, defineComponent } from './define';
12
- export type { WixProps, WixElementProps, PropBuilder, ComponentDefinition, InferProps, Image, Video } from './define';
14
+ export type { WixProps, WixElementProps, PropBuilder, ComponentDefinition, InferProps, Image, RichText, Video } from './define';
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { all, callback, ctx, fn, is, raw, resolve, isBinding } from './bindings';
2
+ export * from './dataTypes';
2
3
  export { Remove, Show } from './components';
3
4
  export { withOrigami } from './withOrigami';
4
5
  export { withInteractions } from './withInteractions';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEhF,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAEhF,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAC3B,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAE5C,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA"}
@@ -1,4 +1,4 @@
1
- import React from 'react';
1
+ import type { ComponentType, FunctionComponent } from 'react';
2
2
  export declare const InteractionsDefinition: string & {
3
3
  __api: {
4
4
  hasInteractions: (key: string) => boolean;
@@ -8,4 +8,4 @@ export declare const InteractionsDefinition: string & {
8
8
  } & {
9
9
  hasInteractions: (key: string) => boolean;
10
10
  };
11
- export declare const withInteractions: (Component: any) => (props: any) => React.JSX.Element;
11
+ export declare const withInteractions: <P extends object>(Component: ComponentType<P>) => FunctionComponent<P>;
@@ -13,10 +13,11 @@ import { useService } from '@wix/services-manager-react';
13
13
  export const InteractionsDefinition = defineService('@wix/site-service-interactions');
14
14
  // Copied from wix-next's @wix/builder-interactions, not imported from it: a component with
15
15
  // interactions renders inside an <interact-element> keyed by its comp path, else its id.
16
- export const withInteractions = Component => props => {
16
+ export const withInteractions = (Component) => props => {
17
17
  const { hasInteractions } = useService(InteractionsDefinition);
18
- const key = props.wix?.compPath ?? props.id;
19
- if (hasInteractions(key)) {
18
+ const { id, wix } = props;
19
+ const key = wix?.compPath ?? id;
20
+ if (key !== undefined && hasInteractions(key)) {
20
21
  return (_jsx("interact-element", { "data-interact-key": key, children: _jsx(Component, { ...props }) }));
21
22
  }
22
23
  return _jsx(Component, { ...props });
@@ -1 +1 @@
1
- {"version":3,"file":"withInteractions.js","sourceRoot":"","sources":["../src/withInteractions.tsx"],"names":[],"mappings":";AACA,oGAAoG;AACpG,gCAAgC;AAChC,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,2GAA2G;AAC3G,yGAAyG;AACzG,uGAAuG;AACvG,0GAA0G;AAC1G,iHAAiH;AACjH,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAC/C,gCAAgC,CACnC,CAAA;AAED,2FAA2F;AAC3F,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;IACjD,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAE9D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE,CAAA;IAE3C,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,CACH,gDAAqC,GAAG,YACpC,KAAC,SAAS,OAAK,KAAK,GAAI,GACT,CACtB,CAAA;IACL,CAAC;IACD,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAA;AACnC,CAAC,CAAA"}
1
+ {"version":3,"file":"withInteractions.js","sourceRoot":"","sources":["../src/withInteractions.tsx"],"names":[],"mappings":";AACA,oGAAoG;AACpG,gCAAgC;AAChC,qFAAqF;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAExD,2GAA2G;AAC3G,yGAAyG;AACzG,uGAAuG;AACvG,0GAA0G;AAC1G,iHAAiH;AACjH,oDAAoD;AACpD,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAC/C,gCAAgC,CACnC,CAAA;AAED,2FAA2F;AAC3F,yFAAyF;AACzF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAmB,SAA2B,EAAwB,EAAE,CAAC,KAAK,CAAC,EAAE;IAC7G,MAAM,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC,sBAAsB,CAAC,CAAA;IAE9D,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,KAAqD,CAAA;IACzE,MAAM,GAAG,GAAG,GAAG,EAAE,QAAQ,IAAI,EAAE,CAAA;IAE/B,IAAI,GAAG,KAAK,SAAS,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO,CACH,gDAAqC,GAAG,YACpC,KAAC,SAAS,OAAK,KAAK,GAAI,GACT,CACtB,CAAA;IACL,CAAC;IACD,OAAO,KAAC,SAAS,OAAK,KAAK,GAAI,CAAA;AACnC,CAAC,CAAA"}
@@ -1,8 +1,7 @@
1
1
  import type { ComponentType, FunctionComponent } from 'react';
2
- type Authored<P> = P & {
2
+ export type Authored<P> = P & {
3
3
  bindings?: {
4
4
  props?: Partial<P>;
5
5
  };
6
6
  };
7
7
  export declare const withOrigami: <P extends object>(Component: ComponentType<P>) => FunctionComponent<Authored<P>>;
8
- export {};
@@ -1 +1 @@
1
- {"version":3,"file":"withOrigami.js","sourceRoot":"","sources":["../src/withOrigami.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAIrC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,SAA2B,EAAkC,EAAE;IACzG,MAAM,CAAC,GAAmC,CAAC,KAAkB,EAAE,EAAE;QAC7D,uFAAuF;QACvF,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;QACzC,MAAM,QAAQ,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAA;QACtD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;YAChG,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAM,CAAC,CAAA;QACtD,OAAO,KAAC,SAAS,OAAK,QAAQ,GAAI,CAAA;IACtC,CAAC,CAAA;IACD,CAAC,CAAC,WAAW,GAAG,WAAW,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,GAAG,CAAA;IACrE,OAAO,CAAC,CAAA;AACZ,CAAC,CAAA"}
1
+ {"version":3,"file":"withOrigami.js","sourceRoot":"","sources":["../src/withOrigami.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAKrC,0FAA0F;AAC1F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAmB,SAA2B,EAAkC,EAAE;IACzG,MAAM,CAAC,GAAmC,CAAC,KAAkB,EAAE,EAAE;QAC7D,uFAAuF;QACvF,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAA;QACzC,MAAM,QAAQ,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAA;QACtD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvD,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,uEAAuE,CAAC,CAAA;YAChG,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,QAAQ,CAAM,CAAC,CAAA;QACtD,OAAO,KAAC,SAAS,OAAK,QAAQ,GAAI,CAAA;IACtC,CAAC,CAAA;IACD,CAAC,CAAC,WAAW,GAAG,WAAW,SAAS,CAAC,WAAW,IAAI,SAAS,CAAC,IAAI,GAAG,CAAA;IACrE,OAAO,CAAC,CAAA;AACZ,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/origami-runtime",
3
- "version": "0.19.4",
3
+ "version": "0.19.6",
4
4
  "description": "React runtime for Origami-generated component wrappers: context bindings, providers, and className resolution",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -59,5 +59,5 @@
59
59
  }
60
60
  },
61
61
  "type": "module",
62
- "falconPackageHash": "996d92c6ef801bdf5943a09116919e6cc46ba9e6af2fb03b87da879e"
62
+ "falconPackageHash": "b91c20ea2996e93a06d0dc391acee5cb562d25bd3d2a5a948f2c8f8d"
63
63
  }