@wix/origami-runtime 0.19.3 → 0.19.5
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/bindings.d.ts +14 -1
- package/dist/bindings.js +26 -0
- package/dist/bindings.js.map +1 -1
- package/dist/dataTypes.d.ts +12 -0
- package/dist/dataTypes.js +15 -0
- package/dist/dataTypes.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/withOrigami.d.ts +7 -1
- package/dist/withOrigami.js +8 -5
- package/dist/withOrigami.js.map +1 -1
- package/package.json +2 -2
package/dist/bindings.d.ts
CHANGED
|
@@ -13,6 +13,11 @@ type CallD = {
|
|
|
13
13
|
target: CtxData;
|
|
14
14
|
args: unknown[];
|
|
15
15
|
};
|
|
16
|
+
type CallbackD = {
|
|
17
|
+
[D]: 'callback';
|
|
18
|
+
target: unknown;
|
|
19
|
+
bound: unknown[];
|
|
20
|
+
};
|
|
16
21
|
type FnD = {
|
|
17
22
|
[D]: 'fn';
|
|
18
23
|
ref: (...a: unknown[]) => unknown;
|
|
@@ -27,17 +32,25 @@ type AllD = {
|
|
|
27
32
|
[D]: 'all';
|
|
28
33
|
entries: unknown[];
|
|
29
34
|
};
|
|
30
|
-
|
|
35
|
+
type StaticD = {
|
|
36
|
+
[D]: 'static';
|
|
37
|
+
dataType: string;
|
|
38
|
+
value: string;
|
|
39
|
+
};
|
|
40
|
+
export type Binding = CtxD | CallD | CallbackD | FnD | IsD | AllD | StaticD;
|
|
31
41
|
export declare const isBinding: (v: unknown) => v is Binding;
|
|
42
|
+
export declare const isCallback: (v: unknown) => boolean;
|
|
32
43
|
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;
|
|
33
44
|
export declare const ctx: <M, P extends string>(path: P, opts: {
|
|
34
45
|
from: ContextHook<M>;
|
|
35
46
|
placeholder?: PathValue<NonNullable<M>, P>;
|
|
36
47
|
}) => PathValue<NonNullable<M>, P>;
|
|
48
|
+
export declare const callback: <B extends unknown[], A extends unknown[], R>(target: (...args: [...B, ...A]) => R, ...bound: B) => ((...args: A) => R);
|
|
37
49
|
export declare const fn: <T>(ref: (...a: never[]) => T, ...args: unknown[]) => T;
|
|
38
50
|
export declare const is: <T>(binding: T, value: T) => boolean;
|
|
39
51
|
export declare const all: (first: boolean, second: boolean, ...rest: boolean[]) => boolean;
|
|
40
52
|
export declare const raw: <T>(value: T) => T;
|
|
53
|
+
export declare const typedStatic: (dataType: string) => <V extends string>(value: V) => V;
|
|
41
54
|
type Hooks = Map<ContextHook<unknown>, unknown>;
|
|
42
55
|
export declare const resolve: (v: unknown, hooks?: Hooks, seen?: WeakSet<object>) => unknown;
|
|
43
56
|
export declare const holds: (v: unknown, hooks?: Hooks, seen?: WeakSet<object>) => boolean;
|
package/dist/bindings.js
CHANGED
|
@@ -2,6 +2,7 @@ import { isValidElement } from 'react';
|
|
|
2
2
|
const D = Symbol('origami.binding');
|
|
3
3
|
const RAW = Symbol('origami.raw');
|
|
4
4
|
export const isBinding = (v) => (typeof v === 'object' || typeof v === 'function') && v !== null && D in v;
|
|
5
|
+
export const isCallback = (v) => isBinding(v) && v[D] === 'callback';
|
|
5
6
|
const isRaw = (v) => typeof v === 'object' && v !== null && RAW in v;
|
|
6
7
|
const unwrap = (v) => v !== null && typeof v === 'object' && typeof v.get === 'function'
|
|
7
8
|
? v.get()
|
|
@@ -26,6 +27,17 @@ export const ctx = (path, opts) => {
|
|
|
26
27
|
// 4. Typed as the value it will resolve to, so call sites type-check against the real value.
|
|
27
28
|
return binding;
|
|
28
29
|
};
|
|
30
|
+
// The prop is handed a function, not a call's result: `callback(target, ...bound)` is
|
|
31
|
+
// `target.bind(null, ...bound)`. The target is an imported function, an uncalled ctx() (its method,
|
|
32
|
+
// read at render) or a member of the renderItem row. Anything else is rejected here, at authoring
|
|
33
|
+
// time: at render a fn(), a raw(), a called ctx() or another callback() can still yield a function.
|
|
34
|
+
// ctx() is the one binding that is itself a function, so typeof tells the targets apart.
|
|
35
|
+
export const callback = (target, ...bound) => {
|
|
36
|
+
if (typeof target !== 'function') {
|
|
37
|
+
throw new TypeError('callback() takes an imported function, a ctx() or a member of the renderItem row');
|
|
38
|
+
}
|
|
39
|
+
return { [D]: 'callback', target, bound };
|
|
40
|
+
};
|
|
29
41
|
export const fn = (ref, ...args) => ({ [D]: 'fn', ref: ref, args });
|
|
30
42
|
// `value`'s type is tied to `binding`'s (T), not a fixed union — a binding derived from a boolean
|
|
31
43
|
// field must be compared to a boolean, one derived from an enum field to a member of that enum,
|
|
@@ -34,6 +46,10 @@ export const is = (binding, value) => ({ [D]: 'is', binding, value });
|
|
|
34
46
|
// AND of two or more conditions: every entry must hold (see holds()).
|
|
35
47
|
export const all = (first, second, ...rest) => ({ [D]: 'all', entries: [first, second, ...rest] });
|
|
36
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 });
|
|
37
53
|
const isPlain = (v) => typeof v === 'object' && v !== null && Object.getPrototypeOf(v) === Object.prototype;
|
|
38
54
|
// Each hook runs once per resolve(), on first use.
|
|
39
55
|
const read = (hook, hooks) => {
|
|
@@ -49,6 +65,8 @@ export const resolve = (v, hooks = new Map(), seen = new WeakSet()) => {
|
|
|
49
65
|
return v[RAW];
|
|
50
66
|
if (isBinding(v)) {
|
|
51
67
|
try {
|
|
68
|
+
if (v[D] === 'static')
|
|
69
|
+
return v.value;
|
|
52
70
|
if (v[D] === 'ctx') {
|
|
53
71
|
const out = v.path ? pick(read(v.from, hooks), v.path) : unwrap(read(v.from, hooks));
|
|
54
72
|
return out === undefined ? v.placeholder : out;
|
|
@@ -59,6 +77,14 @@ export const resolve = (v, hooks = new Map(), seen = new WeakSet()) => {
|
|
|
59
77
|
const args = v.args.map(arg => resolve(arg, hooks, seen));
|
|
60
78
|
return method(...args);
|
|
61
79
|
}
|
|
80
|
+
// A ctx() target reads its hook now, at render; a non-function never reaches a handler.
|
|
81
|
+
if (v[D] === 'callback') {
|
|
82
|
+
const target = resolve(v.target, hooks, seen);
|
|
83
|
+
if (typeof target !== 'function')
|
|
84
|
+
throw new TypeError('callback() target resolved to no function');
|
|
85
|
+
const bound = v.bound.map(arg => resolve(arg, hooks, seen));
|
|
86
|
+
return (...args) => target(...bound, ...args);
|
|
87
|
+
}
|
|
62
88
|
if (v[D] === 'fn')
|
|
63
89
|
return v.ref(...v.args.map(a => resolve(a, hooks, seen)));
|
|
64
90
|
// Every entry is read, not just up to the first false one, so the hooks they name run in
|
package/dist/bindings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"bindings.js","sourceRoot":"","sources":["../src/bindings.ts"],"names":[],"mappings":"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"}
|
|
@@ -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/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
export { all, ctx, fn, is, raw, resolve, isBinding } from './bindings';
|
|
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';
|
|
5
6
|
export { withInteractions } from './withInteractions';
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
export { all, ctx, fn, is, raw, resolve, isBinding } from './bindings';
|
|
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,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,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;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"}
|
package/dist/withOrigami.d.ts
CHANGED
|
@@ -1,2 +1,8 @@
|
|
|
1
1
|
import type { ComponentType, FunctionComponent } from 'react';
|
|
2
|
-
|
|
2
|
+
type Authored<P> = P & {
|
|
3
|
+
bindings?: {
|
|
4
|
+
props?: Partial<P>;
|
|
5
|
+
};
|
|
6
|
+
};
|
|
7
|
+
export declare const withOrigami: <P extends object>(Component: ComponentType<P>) => FunctionComponent<Authored<P>>;
|
|
8
|
+
export {};
|
package/dist/withOrigami.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { isBinding, resolve } from './bindings';
|
|
2
|
+
import { isBinding, isCallback, resolve } from './bindings';
|
|
3
3
|
import { useSvgSources } from './svg';
|
|
4
4
|
// Resolve the authored props (reading the hooks they bind to), render the real component.
|
|
5
5
|
export const withOrigami = (Component) => {
|
|
6
6
|
const W = (props) => {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
// A prop bound under `bindings={{props}}` is that prop, as if written as an attribute.
|
|
8
|
+
const { bindings, ...attributes } = props;
|
|
9
|
+
const authored = { ...attributes, ...bindings?.props };
|
|
10
|
+
for (const [k, v] of Object.entries(authored)) {
|
|
11
|
+
if (/^on[A-Z]/.test(k) && isBinding(v) && !isCallback(v)) {
|
|
12
|
+
throw new Error(`${k}: an onX prop binds only through callback(); fn() would run at render`);
|
|
10
13
|
}
|
|
11
14
|
}
|
|
12
|
-
const resolved = useSvgSources(resolve(
|
|
15
|
+
const resolved = useSvgSources(resolve(authored));
|
|
13
16
|
return _jsx(Component, { ...resolved });
|
|
14
17
|
};
|
|
15
18
|
W.displayName = `Origami(${Component.displayName ?? Component.name})`;
|
package/dist/withOrigami.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withOrigami.js","sourceRoot":"","sources":["../src/withOrigami.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,YAAY,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;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/origami-runtime",
|
|
3
|
-
"version": "0.19.
|
|
3
|
+
"version": "0.19.5",
|
|
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": "
|
|
62
|
+
"falconPackageHash": "73907a51a549407cf7f568d2f31e7c3f657b192b0979a314de81979f"
|
|
63
63
|
}
|