@teleporthq/teleport-plugin-common 0.43.41 → 0.43.44

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 (40) hide show
  1. package/__tests__/node-handlers/node-to-jsx/utils.ts +55 -0
  2. package/__tests__/utils/url-search-param-sync.ts +42 -0
  3. package/dist/cjs/node-handlers/node-to-html/utils.js +24 -11
  4. package/dist/cjs/node-handlers/node-to-html/utils.js.map +1 -1
  5. package/dist/cjs/node-handlers/node-to-jsx/index.d.ts.map +1 -1
  6. package/dist/cjs/node-handlers/node-to-jsx/index.js +117 -4
  7. package/dist/cjs/node-handlers/node-to-jsx/index.js.map +1 -1
  8. package/dist/cjs/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  9. package/dist/cjs/node-handlers/node-to-jsx/utils.js +41 -22
  10. package/dist/cjs/node-handlers/node-to-jsx/utils.js.map +1 -1
  11. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  12. package/dist/cjs/utils/ast-utils.d.ts.map +1 -1
  13. package/dist/cjs/utils/ast-utils.js +36 -0
  14. package/dist/cjs/utils/ast-utils.js.map +1 -1
  15. package/dist/cjs/utils/url-search-param-sync.d.ts +2 -2
  16. package/dist/cjs/utils/url-search-param-sync.d.ts.map +1 -1
  17. package/dist/cjs/utils/url-search-param-sync.js +38 -6
  18. package/dist/cjs/utils/url-search-param-sync.js.map +1 -1
  19. package/dist/esm/node-handlers/node-to-html/utils.js +24 -11
  20. package/dist/esm/node-handlers/node-to-html/utils.js.map +1 -1
  21. package/dist/esm/node-handlers/node-to-jsx/index.d.ts.map +1 -1
  22. package/dist/esm/node-handlers/node-to-jsx/index.js +115 -5
  23. package/dist/esm/node-handlers/node-to-jsx/index.js.map +1 -1
  24. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  25. package/dist/esm/node-handlers/node-to-jsx/utils.js +41 -22
  26. package/dist/esm/node-handlers/node-to-jsx/utils.js.map +1 -1
  27. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  28. package/dist/esm/utils/ast-utils.d.ts.map +1 -1
  29. package/dist/esm/utils/ast-utils.js +36 -0
  30. package/dist/esm/utils/ast-utils.js.map +1 -1
  31. package/dist/esm/utils/url-search-param-sync.d.ts +2 -2
  32. package/dist/esm/utils/url-search-param-sync.d.ts.map +1 -1
  33. package/dist/esm/utils/url-search-param-sync.js +38 -6
  34. package/dist/esm/utils/url-search-param-sync.js.map +1 -1
  35. package/package.json +4 -4
  36. package/src/node-handlers/node-to-html/utils.ts +33 -11
  37. package/src/node-handlers/node-to-jsx/index.ts +190 -22
  38. package/src/node-handlers/node-to-jsx/utils.ts +63 -30
  39. package/src/utils/ast-utils.ts +39 -0
  40. package/src/utils/url-search-param-sync.ts +50 -10
@@ -87,6 +87,17 @@ var clone = function (expr) {
87
87
  // input). `depExpr` is the effect dependency that re-triggers the write-back
88
88
  // when that value changes — usually the same expression as `valueExpr`.
89
89
  //
90
+ // `defaultValueExpr` (optional) is the state's default value. When supplied
91
+ // (only for bindings whose default is a non-empty value, e.g. the sort
92
+ // dropdown's `name-asc`), the current value being EQUAL TO THE DEFAULT also
93
+ // deletes the key — so the canonical/default view keeps a clean, param-free
94
+ // URL instead of stickily writing `?sortBy=name-asc` on first load. This is
95
+ // the write-back half of the default-aware pairing that keeps the URL⇄state
96
+ // sync loop-free: the read-back below resolves a missing key back to the same
97
+ // default, so the two never disagree. Omitting it (empty-default bindings like
98
+ // `selectedCategory` / the search input) yields byte-identical output to the
99
+ // pre-default builder.
100
+ //
90
101
  // Notes:
91
102
  // 1. `router.isReady` gate: on the very first SSG render `router.query` is
92
103
  // empty, so without this gate any value initialized from
@@ -103,7 +114,12 @@ var clone = function (expr) {
103
114
  // URL.
104
115
  // 4. Empty / null value deletes the key entirely so the URL never keeps a
105
116
  // sticky `?key=` empty param.
106
- var buildUrlWriteBackEffect = function (paramKey, valueExpr, depExpr) {
117
+ var buildUrlWriteBackEffect = function (paramKey, valueExpr, depExpr, defaultValueExpr) {
118
+ // value === '' || value == null [|| value === <default>]
119
+ var deleteCondition = types.logicalExpression('||', types.binaryExpression('===', clone(valueExpr), types.stringLiteral('')), types.binaryExpression('==', clone(valueExpr), types.nullLiteral()));
120
+ if (defaultValueExpr) {
121
+ deleteCondition = types.logicalExpression('||', deleteCondition, types.binaryExpression('===', clone(valueExpr), clone(defaultValueExpr)));
122
+ }
107
123
  var effectBody = types.blockStatement([
108
124
  // if (typeof window === 'undefined') return
109
125
  types.ifStatement(types.binaryExpression('===', types.unaryExpression('typeof', types.identifier('window')), types.stringLiteral('undefined')), types.returnStatement(null)),
@@ -115,9 +131,9 @@ var buildUrlWriteBackEffect = function (paramKey, valueExpr, depExpr) {
115
131
  types.spreadElement(types.memberExpression(types.identifier('router'), types.identifier('query'))),
116
132
  ])),
117
133
  ]),
118
- // if (value === '' || value == null) { delete __nextQuery.key }
134
+ // if (value === '' || value == null [|| value === <default>]) { delete __nextQuery.key }
119
135
  // else { __nextQuery.key = String(value) }
120
- types.ifStatement(types.logicalExpression('||', types.binaryExpression('===', clone(valueExpr), types.stringLiteral('')), types.binaryExpression('==', clone(valueExpr), types.nullLiteral())), types.blockStatement([
136
+ types.ifStatement(deleteCondition, types.blockStatement([
121
137
  types.expressionStatement(types.unaryExpression('delete', accessKeyOf(types.identifier('__nextQuery'), paramKey))),
122
138
  ]), types.blockStatement([
123
139
  types.expressionStatement(types.assignmentExpression('=', accessKeyOf(types.identifier('__nextQuery'), paramKey), types.callExpression(types.identifier('String'), [clone(valueExpr)]))),
@@ -171,12 +187,28 @@ exports.buildUrlWriteBackEffect = buildUrlWriteBackEffect;
171
187
  // (duplicate keys) per Next.js's typings; the helper normalizes both to a
172
188
  // string before comparing, defaulting to `''` for the missing-key case so the
173
189
  // comparison aligns with the write-back's `value === ''` empty-check.
174
- var buildUrlReadBackEffect = function (paramKey, setterName) {
190
+ //
191
+ // `defaultValueExpr` (optional) is the state's default value. When supplied
192
+ // (bindings with a non-empty default such as the sort dropdown's `name-asc`),
193
+ // an ABSENT or EMPTY URL value resolves to the default rather than `''` — via a
194
+ // trailing `(<normalized>) || <default>`. This is what makes the default sort
195
+ // "stick" on first load: without it the read-back would clobber the default
196
+ // state (`name-asc`) with `''` the instant the router hydrates with no `?sortBy`
197
+ // key, forcing an extra unsorted fetch and losing the ordering. It also keeps
198
+ // browser back/forward to the param-free URL restoring the default view.
199
+ // Omitting it reproduces the pre-default `''` fallback byte-for-byte.
200
+ var buildUrlReadBackEffect = function (paramKey, setterName, defaultValueExpr) {
175
201
  var normalizeArg = types.conditionalExpression(
176
202
  // typeof __urlValue === 'string' ? __urlValue
177
203
  types.binaryExpression('===', types.unaryExpression('typeof', types.identifier('__urlValue')), types.stringLiteral('string')), types.identifier('__urlValue'), types.conditionalExpression(
178
204
  // Array.isArray(__urlValue) ? (__urlValue[0] || '') : ''
179
205
  types.callExpression(types.memberExpression(types.identifier('Array'), types.identifier('isArray')), [types.identifier('__urlValue')]), types.logicalExpression('||', types.memberExpression(types.identifier('__urlValue'), types.numericLiteral(0), true), types.stringLiteral('')), types.stringLiteral('')));
206
+ // With a default, an absent/empty normalized value (falsy `''`) falls through
207
+ // to the default: `(<normalized>) || <default>`. Without one, the bare
208
+ // normalized expression is emitted unchanged.
209
+ var nextValueExpr = defaultValueExpr
210
+ ? types.logicalExpression('||', normalizeArg, clone(defaultValueExpr))
211
+ : normalizeArg;
180
212
  var effectBody = types.blockStatement([
181
213
  // if (!router.isReady) return
182
214
  types.ifStatement(types.unaryExpression('!', types.memberExpression(types.identifier('router'), types.identifier('isReady'))), types.returnStatement(null)),
@@ -184,9 +216,9 @@ var buildUrlReadBackEffect = function (paramKey, setterName) {
184
216
  types.variableDeclaration('const', [
185
217
  types.variableDeclarator(types.identifier('__urlValue'), routerQueryAccess(paramKey)),
186
218
  ]),
187
- // const __nextValue = (normalized)
219
+ // const __nextValue = (normalized) [|| <default>]
188
220
  types.variableDeclaration('const', [
189
- types.variableDeclarator(types.identifier('__nextValue'), normalizeArg),
221
+ types.variableDeclarator(types.identifier('__nextValue'), nextValueExpr),
190
222
  ]),
191
223
  // setState((prev) => prev === __nextValue ? prev : __nextValue)
192
224
  types.expressionStatement(types.callExpression(types.identifier(setterName), [
@@ -1 +1 @@
1
- {"version":3,"file":"url-search-param-sync.js","sourceRoot":"","sources":["../../../src/utils/url-search-param-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"url-search-param-sync.js","sourceRoot":"","sources":["../../../src/utils/url-search-param-sync.ts"],"names":[],"mappings":"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"}
@@ -152,42 +152,55 @@ var stringifyOperandValue = function (value) {
152
152
  }
153
153
  return String(value);
154
154
  };
155
+ /**
156
+ * Collection operators dereference `.length` / `.includes` on the bound value,
157
+ * which is nullish far more often than it looks (an optional CMS column, a
158
+ * category without an image, a not-yet-hydrated state). Coercing to an empty
159
+ * collection first keeps a hide-this-node condition from throwing
160
+ * `Cannot read properties of null` mid-render. A non-empty string stays
161
+ * truthy, so string semantics are preserved. Mirrors `createNullSafeCollection`
162
+ * in the JSX handler — keep the two in sync.
163
+ */
164
+ var nullSafeCollection = function (identifier, empty) {
165
+ if (empty === void 0) { empty = '[]'; }
166
+ return "(".concat(identifier, " || ").concat(empty, ")");
167
+ };
155
168
  var stringifyConditionalExpression = function (identifier, operation, value, containsField) {
156
169
  // Array/object operators
157
170
  if (operation === 'isEmpty') {
158
- return "".concat(identifier, ".length === 0");
171
+ return "".concat(nullSafeCollection(identifier), ".length === 0");
159
172
  }
160
173
  if (operation === 'isNotEmpty') {
161
- return "".concat(identifier, ".length > 0");
174
+ return "".concat(nullSafeCollection(identifier), ".length > 0");
162
175
  }
163
176
  if (operation === 'lengthEquals') {
164
- return "".concat(identifier, ".length === ").concat(stringifyOperandValue(value));
177
+ return "".concat(nullSafeCollection(identifier), ".length === ").concat(stringifyOperandValue(value));
165
178
  }
166
179
  if (operation === 'lengthGreaterThan') {
167
- return "".concat(identifier, ".length > ").concat(stringifyOperandValue(value));
180
+ return "".concat(nullSafeCollection(identifier), ".length > ").concat(stringifyOperandValue(value));
168
181
  }
169
182
  if (operation === 'lengthLessThan') {
170
- return "".concat(identifier, ".length < ").concat(stringifyOperandValue(value));
183
+ return "".concat(nullSafeCollection(identifier), ".length < ").concat(stringifyOperandValue(value));
171
184
  }
172
185
  if (operation === 'contains') {
173
186
  var operandStr = stringifyOperandValue(value);
174
187
  if (containsField) {
175
- return "".concat(identifier, ".some(item => item.").concat(containsField, " === ").concat(operandStr, ")");
188
+ return "".concat(nullSafeCollection(identifier), ".some(item => item.").concat(containsField, " === ").concat(operandStr, ")");
176
189
  }
177
- return "".concat(identifier, ".includes(").concat(operandStr, ")");
190
+ return "".concat(nullSafeCollection(identifier), ".includes(").concat(operandStr, ")");
178
191
  }
179
192
  if (operation === 'notContains') {
180
193
  var operandStr = stringifyOperandValue(value);
181
194
  if (containsField) {
182
- return "!".concat(identifier, ".some(item => item.").concat(containsField, " === ").concat(operandStr, ")");
195
+ return "!".concat(nullSafeCollection(identifier), ".some(item => item.").concat(containsField, " === ").concat(operandStr, ")");
183
196
  }
184
- return "!".concat(identifier, ".includes(").concat(operandStr, ")");
197
+ return "!".concat(nullSafeCollection(identifier), ".includes(").concat(operandStr, ")");
185
198
  }
186
199
  if (operation === 'hasKey') {
187
- return "Object.prototype.hasOwnProperty.call(".concat(identifier, ", ").concat(stringifyOperandValue(value), ")");
200
+ return "Object.prototype.hasOwnProperty.call(".concat(nullSafeCollection(identifier, '{}'), ", ").concat(stringifyOperandValue(value), ")");
188
201
  }
189
202
  if (operation === 'notHasKey') {
190
- return "!Object.prototype.hasOwnProperty.call(".concat(identifier, ", ").concat(stringifyOperandValue(value), ")");
203
+ return "!Object.prototype.hasOwnProperty.call(".concat(nullSafeCollection(identifier, '{}'), ", ").concat(stringifyOperandValue(value), ")");
191
204
  }
192
205
  // Standard operators
193
206
  if (typeof value === 'boolean') {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-html/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-html/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EACL,eAAe,EAiBhB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAA+D,SAAS,EAAE,MAAM,SAAS,CAAA;AA6fhG,QAAA,MAAM,mBAAmB,EAAE,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAsSrE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-jsx/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,EACL,eAAe,EAiBhB,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAA+D,SAAS,EAAE,MAAM,SAAS,CAAA;AA2oBhG,QAAA,MAAM,mBAAmB,EAAE,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAwSrE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -21,10 +21,25 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
21
21
  import * as types from '@babel/types';
22
22
  import { UIDLUtils, StringUtils } from '@teleporthq/teleport-shared';
23
23
  import { addEventHandlerToTag, createConditionIdentifier, createDynamicValueExpression, createConditionalJSXExpression, getRepeatSourceIdentifier, resolveGlobalStateName, createGlobalStateExpression, resolveAndRegisterGlobalStateSource, makeControlUncontrolledWhenNoChangeHandler, } from './utils';
24
- import { addChildJSXText, addChildJSXTag, addAttributeToJSXTag, addDynamicAttributeToJSXTag, addRawAttributeToJSXTag, generateDynamicWindowImport, addDynamicExpressionAttributeToJSXTag, resolveObjectValue, objectToObjectExpression, parseStringWithTemplateExpressions, parseJSExpressionAsAST, convertToReactAttributeName, GLOBAL_REF_ID_MAP, sanitizeExprContent, } from '../../utils/ast-utils';
24
+ import { addChildJSXText, addChildJSXTag, addAttributeToJSXTag, addDynamicAttributeToJSXTag, addRawAttributeToJSXTag, generateDynamicWindowImport, addDynamicExpressionAttributeToJSXTag, resolveObjectValue, objectToObjectExpression, parseStringWithTemplateExpressions, parseJSExpressionAsAST, convertToReactAttributeName, convertValueToLiteral, GLOBAL_REF_ID_MAP, sanitizeExprContent, } from '../../utils/ast-utils';
25
25
  import { createJSXTag, createSelfClosingJSXTag } from '../../builders/ast-builders';
26
26
  import { DEFAULT_JSX_OPTIONS } from './constants';
27
27
  import { ASTBuilders, ASTUtils } from '../..';
28
+ import ParsedASTNode from '../../utils/parsed-ast';
29
+ // Runtime predicate that drops a DataProvider filter whose destination
30
+ // resolves to an empty value: `''` / `null` / `undefined`, or an empty
31
+ // array-overlap set (`[]` / `['']`). Selecting a "show all" reset must mean
32
+ // "no filter", not a query that matches zero rows. Kept in sync with the
33
+ // Next.js pages plugin's `buildNonEmptyDestinationPredicate` (duplicated here
34
+ // because teleport-plugin-common must not depend on teleport-plugin-next-data-source).
35
+ var buildNonEmptyFilterDestinationPredicate = function () {
36
+ var f = types.identifier('__f');
37
+ var dest = types.memberExpression(f, types.identifier('destination'));
38
+ var isEmptyArray = types.logicalExpression('&&', types.callExpression(types.memberExpression(types.identifier('Array'), types.identifier('isArray')), [dest]), types.binaryExpression('===', types.memberExpression(types.callExpression(types.memberExpression(dest, types.identifier('filter')), [
39
+ types.identifier('Boolean'),
40
+ ]), types.identifier('length')), types.numericLiteral(0)));
41
+ return types.arrowFunctionExpression([f], types.logicalExpression('&&', types.logicalExpression('&&', types.logicalExpression('&&', types.binaryExpression('!==', dest, types.stringLiteral('')), types.binaryExpression('!==', dest, types.nullLiteral())), types.binaryExpression('!==', dest, types.identifier('undefined'))), types.unaryExpression('!', isEmptyArray)));
42
+ };
28
43
  // Global references in the UIDL come in two shapes:
29
44
  // Shape A: { id: "ecommerce", refPath: ["Cart", "total"] }
30
45
  // Shape B: { id: undefined, refPath: ["E-commerce", "Settings", "Delivery", "..."] }
@@ -115,8 +130,24 @@ var trackGlobalRefsInExpression = function (expression, params) {
115
130
  }
116
131
  }
117
132
  };
133
+ // The recognised runtime identifiers a `global` reference's `id` can legitimately
134
+ // already hold (Shape A). Anything else — notably the opaque `TQ_...` node id every
135
+ // dynamic UIDL reference carries for editor bookkeeping — is not a real identifier
136
+ // and must be re-derived from `refPath` (Shape B/C), or code generation would emit
137
+ // an undeclared variable that throws at runtime.
138
+ var KNOWN_GLOBAL_REF_IDS = new Set([
139
+ 'locale',
140
+ 'locales',
141
+ 'currentUser',
142
+ 'userIsLoggedIn',
143
+ 'ecommerce',
144
+ 'cart',
145
+ ]);
118
146
  var normalizeGlobalRef = function (node) {
119
- if (node.content.id || !node.content.refPath || node.content.refPath.length === 0) {
147
+ if (!node.content.refPath || node.content.refPath.length === 0) {
148
+ return node;
149
+ }
150
+ if (node.content.id && KNOWN_GLOBAL_REF_IDS.has(node.content.id)) {
120
151
  return node;
121
152
  }
122
153
  var firstSeg = node.content.refPath[0];
@@ -385,10 +416,72 @@ var maybeAddFormStoreFieldBinding = function (elementTag, elementName, attrs, pa
385
416
  elementTag.openingElement.attributes.push(types.jsxAttribute(types.jsxIdentifier('onChange'), types.jsxExpressionContainer(handler)));
386
417
  }
387
418
  };
419
+ // Style plugins (styled-jsx, css-modules, styled-components, react-jss, plugin-css)
420
+ // emit ONE flat, component-scope CSS block/class-map from `element.style`, so a
421
+ // dynamic style value only resolves correctly there when the identifier it needs
422
+ // is reachable from that top-level scope (e.g. `token`/`prop`). A `ctx` reference
423
+ // resolves to the render-prop identifier of the enclosing repeater/data-source —
424
+ // only in scope inside that repeater's own render callback — and other reference
425
+ // types (`state`, `local`, `global`, `globalState`, ...) are never routed through
426
+ // `element.style` by any known UIDL producer either. When one shows up anyway, the
427
+ // only place that still knows the correct enclosing scope is here, while building
428
+ // this exact JSX node, so resolve it into an inline `style` attribute (mirroring
429
+ // how `dynamicStyleBindings` already handles ctx/state-bound styles) and strip it
430
+ // out of `element.style` so no downstream style plugin re-processes — and chokes
431
+ // on — the same entry.
432
+ var resolveScopedDynamicStyleValues = function (style, elementTag, params, options) {
433
+ if (!style) {
434
+ return;
435
+ }
436
+ var inlineStyleOverrides = {};
437
+ for (var _i = 0, _a = Object.keys(style); _i < _a.length; _i++) {
438
+ var cssProperty = _a[_i];
439
+ var styleValue = style[cssProperty];
440
+ var camelCaseProperty = cssProperty.replace(/-([a-z])/g, function (_, letter) {
441
+ return letter.toUpperCase();
442
+ });
443
+ // A pre-resolved expression style value (e.g. a data-source-bound style whose
444
+ // mapper already produced the full member-access expression). The UIDL style
445
+ // type is narrowed to static|dynamic, so read the discriminator via a cast.
446
+ // Inline the parsed expression and strip it so no CSS/styled-jsx plugin sees it.
447
+ var rawStyleValue = styleValue;
448
+ if (rawStyleValue.type === 'expr') {
449
+ var exprContent = rawStyleValue.content;
450
+ if (typeof exprContent === 'string' && exprContent.length > 0) {
451
+ inlineStyleOverrides[camelCaseProperty] = new ParsedASTNode(parseJSExpressionAsAST(exprContent));
452
+ delete style[cssProperty];
453
+ }
454
+ continue;
455
+ }
456
+ // Skip: `token` → CSS variable (handled by the style plugin); a SIMPLE `prop`
457
+ // (no refPath) → the style plugin's `${props.x}` interpolation. A prop WITH a
458
+ // refPath (an object prop's field, e.g. `product.color`) MUST be inlined here
459
+ // instead — styled-jsx's prop case emits only `props.<id>` and would drop the
460
+ // refPath, producing `props.product` instead of `props.product.color`.
461
+ var isSimpleProp = styleValue.type === 'dynamic' &&
462
+ styleValue.content.referenceType === 'prop' &&
463
+ !(styleValue.content.refPath && styleValue.content.refPath.length > 0);
464
+ if (styleValue.type !== 'dynamic' ||
465
+ styleValue.content.referenceType === 'token' ||
466
+ isSimpleProp) {
467
+ continue;
468
+ }
469
+ var resolvedExpr = resolveDynamicReferenceExpression(styleValue, params, options);
470
+ var fallback = styleValue.content.fallback;
471
+ var finalExpr = fallback !== undefined && fallback !== ''
472
+ ? types.logicalExpression('||', resolvedExpr, convertValueToLiteral(fallback))
473
+ : resolvedExpr;
474
+ inlineStyleOverrides[camelCaseProperty] = new ParsedASTNode(finalExpr);
475
+ delete style[cssProperty];
476
+ }
477
+ if (Object.keys(inlineStyleOverrides).length > 0) {
478
+ addAttributeToJSXTag(elementTag, 'style', inlineStyleOverrides);
479
+ }
480
+ };
388
481
  var generateElementNode = function (node, params, jsxOptions) {
389
482
  var dependencies = params.dependencies, nodesLookup = params.nodesLookup;
390
483
  var options = __assign(__assign({}, DEFAULT_JSX_OPTIONS), jsxOptions);
391
- var _a = node.content, elementType = _a.elementType, selfClosing = _a.selfClosing, children = _a.children, key = _a.key, attrs = _a.attrs, dependency = _a.dependency, events = _a.events;
484
+ var _a = node.content, elementType = _a.elementType, selfClosing = _a.selfClosing, children = _a.children, key = _a.key, attrs = _a.attrs, dependency = _a.dependency, events = _a.events, style = _a.style;
392
485
  var originalElementName = elementType || 'component';
393
486
  var tagName = originalElementName;
394
487
  // Check if this is a fragment element - normalize to Fragment before processing
@@ -434,6 +527,7 @@ var generateElementNode = function (node, params, jsxOptions) {
434
527
  if (attrs) {
435
528
  addAttributesToJSXTag(attrs, elementTag, options, params, node.content.semanticType || elementType);
436
529
  }
530
+ resolveScopedDynamicStyleValues(style, elementTag, params, options);
437
531
  if (events) {
438
532
  Object.keys(events).forEach(function (eventKey) {
439
533
  addEventHandlerToTag(elementTag, eventKey, events[eventKey], params, options);
@@ -1057,7 +1151,7 @@ var generateDataSourceNode = function (node, params, options) {
1057
1151
  if (property.type === 'static') {
1058
1152
  // Special handling for filters array - convert dynamic destinations
1059
1153
  if (attrKey === 'filters' && Array.isArray(property.content)) {
1060
- acc.push(types.objectProperty(types.stringLiteral(attrKey), types.arrayExpression(property.content.map(function (filter) {
1154
+ var filterEntries = property.content.map(function (filter) {
1061
1155
  return types.objectExpression([
1062
1156
  types.objectProperty(types.identifier('source'), types.stringLiteral(filter.source || '')),
1063
1157
  types.objectProperty(types.identifier('destination'), ASTUtils.convertFilterDestinationToExpression(filter.destination, {
@@ -1065,7 +1159,15 @@ var generateDataSourceNode = function (node, params, options) {
1065
1159
  })),
1066
1160
  types.objectProperty(types.identifier('operand'), types.stringLiteral(filter.operand || '')),
1067
1161
  ]);
1068
- }))));
1162
+ });
1163
+ // Drop conditions whose destination resolves to an empty value at
1164
+ // runtime (empty string / null / undefined, or an empty
1165
+ // array-overlap set) so a "show all" reset means no filter rather
1166
+ // than a query that matches zero rows. Mirrors the Next.js pages
1167
+ // path's `buildNonEmptyDestinationPredicate` (kept inline here
1168
+ // because teleport-plugin-common must not depend on the
1169
+ // next-data-source plugin).
1170
+ acc.push(types.objectProperty(types.stringLiteral(attrKey), types.callExpression(types.memberExpression(types.arrayExpression(filterEntries), types.identifier('filter')), [buildNonEmptyFilterDestinationPredicate()])));
1069
1171
  }
1070
1172
  else {
1071
1173
  acc.push(types.objectProperty(types.stringLiteral(attrKey), resolveObjectValue(property)));
@@ -1186,6 +1288,14 @@ var generateCMSListRepeaterNode = function (node, params, options) {
1186
1288
  repeaterItemsExpr = types.logicalExpression('||', expr, types.arrayExpression([]));
1187
1289
  params.globalReferences.push('ecommerce');
1188
1290
  }
1291
+ else if (source === 'ecommerceCategories') {
1292
+ // The `E-Commerce Categories` global (the nested category tree) is baked
1293
+ // onto the ecommerce context as `ecommerce.ecommerceCategories`. Fixed
1294
+ // one-segment path (independent of the item name) → `ecommerce?.ecommerceCategories || []`.
1295
+ var expr = types.optionalMemberExpression(types.identifier('ecommerce'), types.identifier('ecommerceCategories'), false, true);
1296
+ repeaterItemsExpr = types.logicalExpression('||', expr, types.arrayExpression([]));
1297
+ params.globalReferences.push('ecommerce');
1298
+ }
1189
1299
  else {
1190
1300
  // Resolve any global-state reference encoded in `source` and register it
1191
1301
  // so the `next-global-state` component plugin destructures the matching