@webstudio-is/react-sdk 0.90.0 → 0.92.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.
Files changed (108) hide show
  1. package/lib/app/index.js +1 -0
  2. package/lib/app/root.js +2 -4
  3. package/lib/component-renderer.js +3 -5
  4. package/lib/components/component-meta.js +6 -11
  5. package/lib/components/components-utils.js +1 -0
  6. package/lib/context.js +2 -4
  7. package/lib/css/css.js +4 -9
  8. package/lib/css/global-rules.js +3 -5
  9. package/lib/css/index.js +1 -0
  10. package/lib/css/normalize-type-check.js +1 -0
  11. package/lib/css/normalize.js +48 -96
  12. package/lib/css/presets.js +3 -6
  13. package/lib/css/style-rules.js +3 -6
  14. package/{src/css/style-rules.test.ts → lib/css/style-rules.test.js} +23 -28
  15. package/lib/embed-template.js +7 -22
  16. package/{src/embed-template.test.ts → lib/embed-template.test.js} +165 -176
  17. package/lib/expression.js +11 -22
  18. package/{src/expression.test.ts → lib/expression.test.js} +55 -83
  19. package/lib/generator.js +2 -4
  20. package/{src/generator.test.ts → lib/generator.test.js} +28 -31
  21. package/lib/hook.js +2 -4
  22. package/{src/hook.test.ts → lib/hook.test.js} +4 -4
  23. package/lib/index.js +9 -31
  24. package/lib/instance-utils.js +2 -4
  25. package/{src/instance-utils.test.ts → lib/instance-utils.test.js} +19 -43
  26. package/lib/prop-meta.js +150 -0
  27. package/lib/props.js +8 -16
  28. package/{src/props.test.ts → lib/props.test.js} +39 -68
  29. package/lib/pubsub/create.js +2 -4
  30. package/lib/pubsub/index.js +1 -0
  31. package/lib/pubsub/raf-queue.js +2 -4
  32. package/lib/tree/create-elements-tree.js +2 -4
  33. package/lib/tree/index.js +1 -0
  34. package/lib/tree/root.js +2 -5
  35. package/lib/tree/webstudio-component.js +10 -20
  36. package/lib/types/component-renderer.d.ts +1 -1
  37. package/lib/types/components/component-meta.d.ts +526 -526
  38. package/lib/types/context.d.ts +1 -2
  39. package/lib/types/css/css.d.ts +22 -23
  40. package/lib/types/css/global-rules.d.ts +19 -19
  41. package/lib/types/css/normalize.d.ts +2444 -2444
  42. package/lib/types/css/style-rules.d.ts +2 -2
  43. package/lib/types/embed-template.d.ts +648 -648
  44. package/lib/types/generator.d.ts +1 -1
  45. package/lib/types/hook.d.ts +3 -3
  46. package/lib/types/index.d.ts +1 -0
  47. package/lib/types/instance-utils.d.ts +3 -3
  48. package/lib/types/prop-meta.d.ts +396 -0
  49. package/lib/types/props.d.ts +52 -53
  50. package/lib/types/tree/create-elements-tree.d.ts +3 -4
  51. package/lib/types/tree/root.d.ts +8 -8
  52. package/lib/types/tree/webstudio-component.d.ts +1 -1
  53. package/package.json +14 -22
  54. package/lib/cjs/app/index.js +0 -18
  55. package/lib/cjs/app/root.js +0 -40
  56. package/lib/cjs/component-renderer.js +0 -143
  57. package/lib/cjs/components/component-meta.js +0 -87
  58. package/lib/cjs/components/components-utils.js +0 -17
  59. package/lib/cjs/context.js +0 -43
  60. package/lib/cjs/css/css.js +0 -84
  61. package/lib/cjs/css/global-rules.js +0 -37
  62. package/lib/cjs/css/index.js +0 -20
  63. package/lib/cjs/css/normalize-type-check.js +0 -26
  64. package/lib/cjs/css/normalize.js +0 -349
  65. package/lib/cjs/css/presets.js +0 -48
  66. package/lib/cjs/css/style-rules.js +0 -86
  67. package/lib/cjs/embed-template.js +0 -368
  68. package/lib/cjs/expression.js +0 -371
  69. package/lib/cjs/generator.js +0 -128
  70. package/lib/cjs/hook.js +0 -34
  71. package/lib/cjs/index.js +0 -59
  72. package/lib/cjs/instance-utils.js +0 -65
  73. package/lib/cjs/package.json +0 -1
  74. package/lib/cjs/props.js +0 -204
  75. package/lib/cjs/pubsub/create.js +0 -78
  76. package/lib/cjs/pubsub/index.js +0 -18
  77. package/lib/cjs/pubsub/raf-queue.js +0 -42
  78. package/lib/cjs/tree/create-elements-tree.js +0 -152
  79. package/lib/cjs/tree/index.js +0 -20
  80. package/lib/cjs/tree/root.js +0 -100
  81. package/lib/cjs/tree/webstudio-component.js +0 -91
  82. package/src/app/index.ts +0 -1
  83. package/src/app/root.tsx +0 -25
  84. package/src/component-renderer.tsx +0 -146
  85. package/src/components/component-meta.ts +0 -86
  86. package/src/components/components-utils.ts +0 -13
  87. package/src/context.tsx +0 -73
  88. package/src/css/css.ts +0 -88
  89. package/src/css/global-rules.ts +0 -26
  90. package/src/css/index.ts +0 -3
  91. package/src/css/normalize-type-check.ts +0 -13
  92. package/src/css/normalize.ts +0 -507
  93. package/src/css/presets.ts +0 -27
  94. package/src/css/style-rules.ts +0 -101
  95. package/src/embed-template.ts +0 -438
  96. package/src/expression.ts +0 -401
  97. package/src/generator.ts +0 -147
  98. package/src/hook.ts +0 -52
  99. package/src/index.ts +0 -39
  100. package/src/instance-utils.ts +0 -65
  101. package/src/props.ts +0 -231
  102. package/src/pubsub/create.ts +0 -77
  103. package/src/pubsub/index.ts +0 -1
  104. package/src/pubsub/raf-queue.ts +0 -25
  105. package/src/tree/create-elements-tree.tsx +0 -186
  106. package/src/tree/index.ts +0 -3
  107. package/src/tree/root.ts +0 -131
  108. package/src/tree/webstudio-component.tsx +0 -97
@@ -1,371 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
- var expression_exports = {};
30
- __export(expression_exports, {
31
- computeExpressionsDependencies: () => computeExpressionsDependencies,
32
- decodeDataSourceVariable: () => decodeDataSourceVariable,
33
- decodeVariablesMap: () => decodeVariablesMap,
34
- encodeDataSourceVariable: () => encodeDataSourceVariable,
35
- encodeVariablesMap: () => encodeVariablesMap,
36
- executeComputingExpressions: () => executeComputingExpressions,
37
- executeEffectfulExpression: () => executeEffectfulExpression,
38
- generateComputingExpressions: () => generateComputingExpressions,
39
- generateEffectfulExpression: () => generateEffectfulExpression,
40
- validateExpression: () => validateExpression
41
- });
42
- module.exports = __toCommonJS(expression_exports);
43
- var import_jsep = __toESM(require("jsep"), 1);
44
- var import_assignment = __toESM(require("@jsep-plugin/assignment"), 1);
45
- import_jsep.default.plugins.register(import_assignment.default);
46
- const generateCode = (node, failOnForbidden, effectful, transformIdentifier) => {
47
- if (node.type === "Identifier") {
48
- return transformIdentifier(node.name, false);
49
- }
50
- if (node.type === "MemberExpression") {
51
- if (failOnForbidden) {
52
- const object2 = generateCode(
53
- node.object,
54
- false,
55
- effectful,
56
- transformIdentifier
57
- );
58
- const property2 = generateCode(
59
- node.property,
60
- false,
61
- effectful,
62
- transformIdentifier
63
- );
64
- throw Error(`Cannot access "${property2}" of "${object2}"`);
65
- }
66
- const object = generateCode(
67
- node.object,
68
- failOnForbidden,
69
- effectful,
70
- transformIdentifier
71
- );
72
- const property = generateCode(
73
- node.property,
74
- failOnForbidden,
75
- effectful,
76
- transformIdentifier
77
- );
78
- return `${object}.${property}`;
79
- }
80
- if (node.type === "Literal") {
81
- return node.raw;
82
- }
83
- if (node.type === "UnaryExpression") {
84
- const arg = generateCode(
85
- node.argument,
86
- failOnForbidden,
87
- effectful,
88
- transformIdentifier
89
- );
90
- return `${node.operator}${arg}`;
91
- }
92
- if (node.type === "BinaryExpression") {
93
- const left = generateCode(
94
- node.left,
95
- failOnForbidden,
96
- effectful,
97
- transformIdentifier
98
- );
99
- const right = generateCode(
100
- node.right,
101
- failOnForbidden,
102
- effectful,
103
- transformIdentifier
104
- );
105
- return `${left} ${node.operator} ${right}`;
106
- }
107
- if (node.type === "ArrayExpression") {
108
- const elements = node.elements.map(
109
- (element) => generateCode(
110
- element,
111
- failOnForbidden,
112
- effectful,
113
- transformIdentifier
114
- )
115
- );
116
- return `[${elements.join(", ")}]`;
117
- }
118
- if (node.type === "CallExpression") {
119
- if (failOnForbidden) {
120
- const callee2 = generateCode(
121
- node.callee,
122
- false,
123
- effectful,
124
- transformIdentifier
125
- );
126
- throw Error(`Cannot call "${callee2}"`);
127
- }
128
- const callee = generateCode(
129
- node.callee,
130
- failOnForbidden,
131
- effectful,
132
- transformIdentifier
133
- );
134
- const args = node.arguments.map(
135
- (arg) => generateCode(arg, failOnForbidden, effectful, transformIdentifier)
136
- );
137
- return `${callee}(${args.join(", ")})`;
138
- }
139
- if (node.type === "ThisExpression") {
140
- if (failOnForbidden) {
141
- throw Error(`"this" is not supported`);
142
- }
143
- return "this";
144
- }
145
- if (node.type === "ConditionalExpression") {
146
- throw Error("Ternary operator is not supported");
147
- }
148
- if (node.type === "Compound") {
149
- throw Error("Cannot use multiple expressions");
150
- }
151
- if (node.type === "AssignmentExpression") {
152
- if (node.operator !== "=") {
153
- throw Error(`Only "=" assignment operator is supported`);
154
- }
155
- if (effectful === false) {
156
- throw Error(`Cannot use assignment in this expression`);
157
- }
158
- const left = generateCode(
159
- node.left,
160
- failOnForbidden,
161
- effectful,
162
- // override and mark all identifiers inside of left expression as assignee
163
- (id) => transformIdentifier(id, true)
164
- );
165
- const right = generateCode(
166
- node.right,
167
- failOnForbidden,
168
- effectful,
169
- transformIdentifier
170
- );
171
- return `${left} ${node.operator} ${right}`;
172
- }
173
- if (node.type === "UpdateExpression") {
174
- throw Error(`"${node.operator}" operator is not supported`);
175
- }
176
- node;
177
- return "";
178
- };
179
- const validateExpression = (code, options) => {
180
- const { effectful = false, transformIdentifier = (id) => id } = options ?? {};
181
- const expression = (0, import_jsep.default)(code);
182
- return generateCode(expression, true, effectful, transformIdentifier);
183
- };
184
- const sortTopologically = (list, depsById, explored = /* @__PURE__ */ new Set(), sorted = []) => {
185
- for (const id of list) {
186
- if (explored.has(id)) {
187
- continue;
188
- }
189
- explored.add(id);
190
- const deps = depsById.get(id);
191
- if (deps) {
192
- sortTopologically(deps, depsById, explored, sorted);
193
- }
194
- sorted.push(id);
195
- }
196
- return sorted;
197
- };
198
- const generateComputingExpressions = (expressions, allowedVariables) => {
199
- const depsById = /* @__PURE__ */ new Map();
200
- const inputVariables = /* @__PURE__ */ new Set();
201
- for (const [id, code] of expressions) {
202
- const deps = /* @__PURE__ */ new Set();
203
- validateExpression(code, {
204
- transformIdentifier: (identifier) => {
205
- if (allowedVariables.has(identifier)) {
206
- inputVariables.add(identifier);
207
- return identifier;
208
- }
209
- if (expressions.has(identifier)) {
210
- deps.add(identifier);
211
- return identifier;
212
- }
213
- throw Error(`Unknown dependency "${identifier}"`);
214
- }
215
- });
216
- depsById.set(id, deps);
217
- }
218
- const sortedExpressions = sortTopologically(
219
- new Set(expressions.keys()),
220
- depsById
221
- );
222
- let generatedCode = "";
223
- for (const id of inputVariables) {
224
- generatedCode += `const ${id} = _variables.get('${id}');
225
- `;
226
- }
227
- for (const id of sortedExpressions) {
228
- const code = expressions.get(id);
229
- if (code === void 0) {
230
- continue;
231
- }
232
- generatedCode += `const ${id} = (${code});
233
- `;
234
- }
235
- generatedCode += `return new Map([
236
- `;
237
- for (const id of sortedExpressions) {
238
- generatedCode += ` ['${id}', ${id}],
239
- `;
240
- }
241
- generatedCode += `]);`;
242
- return generatedCode;
243
- };
244
- const executeComputingExpressions = (expressions, variables) => {
245
- const generatedCode = generateComputingExpressions(
246
- expressions,
247
- new Set(variables.keys())
248
- );
249
- const executeFn = new Function("_variables", generatedCode);
250
- const values = executeFn(variables);
251
- return values;
252
- };
253
- const generateEffectfulExpression = (code, args, allowedVariables) => {
254
- const inputVariables = /* @__PURE__ */ new Set();
255
- const outputVariables = /* @__PURE__ */ new Set();
256
- validateExpression(code, {
257
- effectful: true,
258
- transformIdentifier: (identifier, assignee) => {
259
- if (args.has(identifier)) {
260
- return identifier;
261
- }
262
- if (allowedVariables.has(identifier)) {
263
- if (assignee) {
264
- outputVariables.add(identifier);
265
- } else {
266
- inputVariables.add(identifier);
267
- }
268
- return identifier;
269
- }
270
- throw Error(`Unknown dependency "${identifier}"`);
271
- }
272
- });
273
- let generatedCode = "";
274
- for (const id of args) {
275
- generatedCode += `let ${id} = _args.get('${id}');
276
- `;
277
- }
278
- for (const id of inputVariables) {
279
- generatedCode += `let ${id} = _variables.get('${id}');
280
- `;
281
- }
282
- for (const id of outputVariables) {
283
- if (inputVariables.has(id) === false) {
284
- generatedCode += `let ${id};
285
- `;
286
- }
287
- }
288
- generatedCode += `${code};
289
- `;
290
- generatedCode += `return new Map([
291
- `;
292
- for (const id of outputVariables) {
293
- generatedCode += ` ['${id}', ${id}],
294
- `;
295
- }
296
- generatedCode += `]);`;
297
- return generatedCode;
298
- };
299
- const executeEffectfulExpression = (code, args, variables) => {
300
- const generatedCode = generateEffectfulExpression(
301
- code,
302
- new Set(args.keys()),
303
- new Set(variables.keys())
304
- );
305
- const executeFn = new Function("_variables", "_args", generatedCode);
306
- const values = executeFn(variables, args);
307
- return values;
308
- };
309
- const computeExpressionDependencies = (expressions, expressionId, dependencies) => {
310
- const depsById = dependencies.get(expressionId);
311
- if (depsById) {
312
- return depsById;
313
- }
314
- const parentDeps = /* @__PURE__ */ new Set();
315
- const code = expressions.get(expressionId);
316
- if (code === void 0) {
317
- return parentDeps;
318
- }
319
- dependencies.set(expressionId, parentDeps);
320
- validateExpression(code, {
321
- transformIdentifier: (id) => {
322
- parentDeps.add(id);
323
- const childDeps = computeExpressionDependencies(
324
- expressions,
325
- id,
326
- dependencies
327
- );
328
- for (const depId of childDeps) {
329
- parentDeps.add(depId);
330
- }
331
- return id;
332
- }
333
- });
334
- return parentDeps;
335
- };
336
- const computeExpressionsDependencies = (expressions) => {
337
- const dependencies = /* @__PURE__ */ new Map();
338
- for (const id of expressions.keys()) {
339
- computeExpressionDependencies(expressions, id, dependencies);
340
- }
341
- return dependencies;
342
- };
343
- const dataSourceVariablePrefix = "$ws$dataSource$";
344
- const encodeDataSourceVariable = (id) => {
345
- const encoded = id.replaceAll("-", "__DASH__");
346
- return `${dataSourceVariablePrefix}${encoded}`;
347
- };
348
- const encodeVariablesMap = (values) => {
349
- const encodedValues = /* @__PURE__ */ new Map();
350
- for (const [id, value] of values) {
351
- encodedValues.set(encodeDataSourceVariable(id), value);
352
- }
353
- return encodedValues;
354
- };
355
- const decodeDataSourceVariable = (name) => {
356
- if (name.startsWith(dataSourceVariablePrefix)) {
357
- const encoded = name.slice(dataSourceVariablePrefix.length);
358
- return encoded.replaceAll("__DASH__", "-");
359
- }
360
- return;
361
- };
362
- const decodeVariablesMap = (values) => {
363
- const decodedValues = /* @__PURE__ */ new Map();
364
- for (const [name, value] of values) {
365
- const id = decodeDataSourceVariable(name);
366
- if (id !== void 0) {
367
- decodedValues.set(id, value);
368
- }
369
- }
370
- return decodedValues;
371
- };
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var generator_exports = {};
20
- __export(generator_exports, {
21
- generateUtilsExport: () => generateUtilsExport
22
- });
23
- module.exports = __toCommonJS(generator_exports);
24
- var import_instance_utils = require("./instance-utils");
25
- var import_expression = require("./expression");
26
- const generateUtilsExport = (siteData) => {
27
- const indexesWithinAncestors = (0, import_instance_utils.getIndexesWithinAncestors)(
28
- siteData.metas,
29
- siteData.instances,
30
- [siteData.page.rootInstanceId]
31
- );
32
- let indexesWithinAncestorsEntries = "";
33
- for (const [key, value] of indexesWithinAncestors) {
34
- const keyString = JSON.stringify(key);
35
- const valueString = JSON.stringify(value);
36
- indexesWithinAncestorsEntries += `[${keyString}, ${valueString}],
37
- `;
38
- }
39
- const generatedIndexesWithinAncestors = `
40
- const indexesWithinAncestors = new Map<string, number>([
41
- ${indexesWithinAncestorsEntries}
42
- ]);
43
- `;
44
- const variables = /* @__PURE__ */ new Set();
45
- const expressions = /* @__PURE__ */ new Map();
46
- for (const dataSource of siteData.dataSources.values()) {
47
- if (dataSource.type === "variable") {
48
- variables.add((0, import_expression.encodeDataSourceVariable)(dataSource.id));
49
- }
50
- if (dataSource.type === "expression") {
51
- expressions.set((0, import_expression.encodeDataSourceVariable)(dataSource.id), dataSource.code);
52
- }
53
- }
54
- const generatedExecuteComputingExpressions = `
55
- const rawExecuteComputingExpressions = (
56
- _variables: Map<string, unknown>
57
- ): Map<string, unknown> => {
58
- ${(0, import_expression.generateComputingExpressions)(expressions, variables)}
59
- };
60
- const executeComputingExpressions = (variables: Map<string, unknown>) => {
61
- const encodedvariables = sdk.encodeVariablesMap(variables);
62
- const encodedResult = rawExecuteComputingExpressions(encodedvariables);
63
- return sdk.decodeVariablesMap(encodedResult);
64
- };
65
- `;
66
- let effectfulExpressionsEntries = "";
67
- for (const prop of siteData.props.values()) {
68
- if (prop.type === "action") {
69
- for (const executableValue of prop.value) {
70
- const codeString = JSON.stringify(executableValue.code);
71
- const generatedCode = (0, import_expression.generateEffectfulExpression)(
72
- executableValue.code,
73
- new Set(executableValue.args),
74
- variables
75
- );
76
- const generatedFunction = `(_args: Map<string, any>, _variables: Map<string, any>) => { ${generatedCode} }`;
77
- effectfulExpressionsEntries += `[${codeString}, ${generatedFunction}],
78
- `;
79
- }
80
- }
81
- }
82
- const generatedExecuteEffectfulExpression = `const generatedEffectfulExpressions = new Map<
83
- string,
84
- (args: Map<string, any>, variables: Map<string, any>) => Map<string, unknown>
85
- >([
86
- ${effectfulExpressionsEntries}
87
- ]);
88
-
89
- const rawExecuteEffectfulExpression = (
90
- code: string,
91
- args: Map<string, unknown>,
92
- variables: Map<string, unknown>
93
- ): Map<string, unknown> => {
94
- if(generatedEffectfulExpressions.has(code)) {
95
- return generatedEffectfulExpressions.get(code)!(args, variables);
96
- }
97
- console.error("Effectful expression not found", code);
98
- throw new Error("Effectful expression not found");
99
- };
100
-
101
- const executeEffectfulExpression = (
102
- code: string,
103
- args: Map<string, unknown>,
104
- variables: Map<string, unknown>
105
- ) => {
106
- const encodedvariables = sdk.encodeVariablesMap(variables);
107
- const encodedResult = rawExecuteEffectfulExpression(code, args, encodedvariables);
108
- return sdk.decodeVariablesMap(encodedResult);
109
- };
110
- `;
111
- return `
112
- /* eslint-disable */
113
-
114
- ${generatedIndexesWithinAncestors.trim()}
115
-
116
- ${generatedExecuteComputingExpressions.trim()}
117
-
118
- ${generatedExecuteEffectfulExpression.trim()}
119
-
120
- export const utils = {
121
- indexesWithinAncestors,
122
- executeComputingExpressions,
123
- executeEffectfulExpression,
124
- };
125
-
126
- /* eslint-enable */
127
- `;
128
- };
package/lib/cjs/hook.js DELETED
@@ -1,34 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var hook_exports = {};
20
- __export(hook_exports, {
21
- getClosestInstance: () => getClosestInstance
22
- });
23
- module.exports = __toCommonJS(hook_exports);
24
- const getClosestInstance = (instancePath, currentInstance, closestComponent) => {
25
- let matched = false;
26
- for (const instance of instancePath) {
27
- if (currentInstance === instance) {
28
- matched = true;
29
- }
30
- if (matched && instance.component === closestComponent) {
31
- return instance;
32
- }
33
- }
34
- };
package/lib/cjs/index.js DELETED
@@ -1,59 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
19
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var src_exports = {};
21
- __export(src_exports, {
22
- ReactSdkContext: () => import_context.ReactSdkContext,
23
- componentCategories: () => import_component_meta.componentCategories,
24
- computeExpressionsDependencies: () => import_expression.computeExpressionsDependencies,
25
- decodeDataSourceVariable: () => import_expression.decodeDataSourceVariable,
26
- decodeVariablesMap: () => import_expression.decodeVariablesMap,
27
- defaultStates: () => import_component_meta.defaultStates,
28
- encodeDataSourceVariable: () => import_expression.encodeDataSourceVariable,
29
- encodeVariablesMap: () => import_expression.encodeVariablesMap,
30
- executeComputingExpressions: () => import_expression.executeComputingExpressions,
31
- executeEffectfulExpression: () => import_expression.executeEffectfulExpression,
32
- generateComputingExpressions: () => import_expression.generateComputingExpressions,
33
- generateEffectfulExpression: () => import_expression.generateEffectfulExpression,
34
- generateUtilsExport: () => import_generator.generateUtilsExport,
35
- getIndexWithinAncestorFromComponentProps: () => import_props.getIndexWithinAncestorFromComponentProps,
36
- getIndexesWithinAncestors: () => import_instance_utils.getIndexesWithinAncestors,
37
- getInstanceIdFromComponentProps: () => import_props.getInstanceIdFromComponentProps,
38
- renderComponentTemplate: () => import_component_renderer.renderComponentTemplate,
39
- stateCategories: () => import_component_meta.stateCategories,
40
- useInstanceProps: () => import_props.useInstanceProps,
41
- usePropAsset: () => import_props.usePropAsset,
42
- usePropUrl: () => import_props.usePropUrl,
43
- validateExpression: () => import_expression.validateExpression
44
- });
45
- module.exports = __toCommonJS(src_exports);
46
- __reExport(src_exports, require("./css"), module.exports);
47
- __reExport(src_exports, require("./tree"), module.exports);
48
- __reExport(src_exports, require("./pubsub"), module.exports);
49
- __reExport(src_exports, require("./app"), module.exports);
50
- __reExport(src_exports, require("./components/components-utils"), module.exports);
51
- var import_component_meta = require("./components/component-meta");
52
- __reExport(src_exports, require("./embed-template"), module.exports);
53
- var import_props = require("./props");
54
- var import_context = require("./context");
55
- var import_expression = require("./expression");
56
- var import_component_renderer = require("./component-renderer");
57
- var import_instance_utils = require("./instance-utils");
58
- __reExport(src_exports, require("./hook"), module.exports);
59
- var import_generator = require("./generator");
@@ -1,65 +0,0 @@
1
- "use strict";
2
- var __defProp = Object.defineProperty;
3
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
- var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __export = (target, all) => {
7
- for (var name in all)
8
- __defProp(target, name, { get: all[name], enumerable: true });
9
- };
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var instance_utils_exports = {};
20
- __export(instance_utils_exports, {
21
- getIndexesWithinAncestors: () => getIndexesWithinAncestors
22
- });
23
- module.exports = __toCommonJS(instance_utils_exports);
24
- const getIndexesWithinAncestors = (metas, instances, rootIds) => {
25
- const ancestors = /* @__PURE__ */ new Set();
26
- for (const meta of metas.values()) {
27
- if (meta.indexWithinAncestor !== void 0) {
28
- ancestors.add(meta.indexWithinAncestor);
29
- }
30
- }
31
- const indexes = /* @__PURE__ */ new Map();
32
- const traverseInstances = (instances2, instanceId, latestIndexes2 = /* @__PURE__ */ new Map()) => {
33
- const instance = instances2.get(instanceId);
34
- if (instance === void 0) {
35
- return;
36
- }
37
- const meta = metas.get(instance.component);
38
- if (meta === void 0) {
39
- return;
40
- }
41
- if (ancestors.has(instance.component)) {
42
- latestIndexes2 = new Map(latestIndexes2);
43
- latestIndexes2.set(instance.component, /* @__PURE__ */ new Map());
44
- }
45
- if (meta.indexWithinAncestor !== void 0) {
46
- const ancestorIndexes = latestIndexes2.get(meta.indexWithinAncestor);
47
- if (ancestorIndexes !== void 0) {
48
- let index = ancestorIndexes.get(instance.component) ?? -1;
49
- index += 1;
50
- ancestorIndexes.set(instance.component, index);
51
- indexes.set(instance.id, index);
52
- }
53
- }
54
- for (const child of instance.children) {
55
- if (child.type === "id") {
56
- traverseInstances(instances2, child.value, latestIndexes2);
57
- }
58
- }
59
- };
60
- const latestIndexes = /* @__PURE__ */ new Map();
61
- for (const instanceId of rootIds) {
62
- traverseInstances(instances, instanceId, latestIndexes);
63
- }
64
- return indexes;
65
- };
@@ -1 +0,0 @@
1
- {"type":"commonjs"}