@teleporthq/teleport-plugin-common 0.43.47 → 0.43.51

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 (27) hide show
  1. package/__tests__/node-handlers/node-to-jsx/index.ts +287 -0
  2. package/dist/cjs/node-handlers/node-to-html/utils.d.ts.map +1 -1
  3. package/dist/cjs/node-handlers/node-to-html/utils.js +26 -5
  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 +20 -6
  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 +6 -3
  9. package/dist/cjs/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  10. package/dist/cjs/node-handlers/node-to-jsx/utils.js +28 -19
  11. package/dist/cjs/node-handlers/node-to-jsx/utils.js.map +1 -1
  12. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  13. package/dist/esm/node-handlers/node-to-html/utils.d.ts.map +1 -1
  14. package/dist/esm/node-handlers/node-to-html/utils.js +26 -5
  15. package/dist/esm/node-handlers/node-to-html/utils.js.map +1 -1
  16. package/dist/esm/node-handlers/node-to-jsx/index.d.ts.map +1 -1
  17. package/dist/esm/node-handlers/node-to-jsx/index.js +20 -6
  18. package/dist/esm/node-handlers/node-to-jsx/index.js.map +1 -1
  19. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts +6 -3
  20. package/dist/esm/node-handlers/node-to-jsx/utils.d.ts.map +1 -1
  21. package/dist/esm/node-handlers/node-to-jsx/utils.js +27 -18
  22. package/dist/esm/node-handlers/node-to-jsx/utils.js.map +1 -1
  23. package/dist/esm/tsconfig.tsbuildinfo +1 -1
  24. package/package.json +4 -4
  25. package/src/node-handlers/node-to-html/utils.ts +43 -6
  26. package/src/node-handlers/node-to-jsx/index.ts +34 -10
  27. package/src/node-handlers/node-to-jsx/utils.ts +62 -27
@@ -226,6 +226,293 @@ describe('generateJSXSyntax', () => {
226
226
  expect(wrappedContent.type).toBe('JSXElement')
227
227
  expect((wrappedContent.openingElement.name as types.JSXIdentifier).name).toBe('container')
228
228
  })
229
+
230
+ const buildTwoReferenceConditions = (matchingCriteria: string) =>
231
+ ({
232
+ reference: {
233
+ type: 'dynamic',
234
+ content: { referenceType: 'state', id: 'newsletterOfferVisible' },
235
+ },
236
+ condition: {
237
+ conditions: [
238
+ { operation: '===', operand: true },
239
+ {
240
+ operation: '===',
241
+ operand: false,
242
+ reference: {
243
+ type: 'dynamic',
244
+ content: { referenceType: 'state', id: 'userIsLoggedIn' },
245
+ },
246
+ },
247
+ ],
248
+ matchingCriteria,
249
+ },
250
+ } as never)
251
+
252
+ it('compares each entry against its own reference when one is set (AND chain)', () => {
253
+ const ownerContainer = elementNode('container', {}, [])
254
+ ownerContainer.content.renderingConditions = buildTwoReferenceConditions('all')
255
+
256
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
257
+ const twoStateParams: JSXGenerationParams = {
258
+ ...params,
259
+ stateDefinitions: {
260
+ newsletterOfferVisible: { type: 'boolean', defaultValue: true },
261
+ userIsLoggedIn: { type: 'boolean', defaultValue: false },
262
+ },
263
+ globalReferences: [],
264
+ globalStateReferences: [],
265
+ }
266
+ const result = generateJSXSyntax(wrappingParent, twoStateParams, options)
267
+
268
+ const expressionChild = result.children[0] as types.JSXExpressionContainer
269
+ const outerLogical = expressionChild.expression as types.LogicalExpression
270
+ expect(outerLogical.operator).toBe('&&')
271
+
272
+ // Left side is the chained condition pair, joined with `&&` for 'all'.
273
+ const conditionChain = outerLogical.left as types.LogicalExpression
274
+ expect(conditionChain.type).toBe('LogicalExpression')
275
+ expect(conditionChain.operator).toBe('&&')
276
+
277
+ // `=== true` compiles to the bare identifier, `=== false` to `!identifier`
278
+ // — i.e. `newsletterOfferVisible && !userIsLoggedIn`, the wild-log case.
279
+ const firstComparison = conditionChain.left as types.Identifier
280
+ const secondComparison = conditionChain.right as types.UnaryExpression
281
+ expect(firstComparison.name).toBe('newsletterOfferVisible')
282
+ expect(secondComparison.operator).toBe('!')
283
+ expect((secondComparison.argument as types.Identifier).name).toBe('userIsLoggedIn')
284
+ })
285
+
286
+ it('chains mixed-reference entries with `||` when matchingCriteria is not "all"', () => {
287
+ const ownerContainer = elementNode('container', {}, [])
288
+ ownerContainer.content.renderingConditions = buildTwoReferenceConditions('||')
289
+
290
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
291
+ const twoStateParams: JSXGenerationParams = {
292
+ ...params,
293
+ stateDefinitions: {
294
+ newsletterOfferVisible: { type: 'boolean', defaultValue: true },
295
+ userIsLoggedIn: { type: 'boolean', defaultValue: false },
296
+ },
297
+ globalReferences: [],
298
+ globalStateReferences: [],
299
+ }
300
+ const result = generateJSXSyntax(wrappingParent, twoStateParams, options)
301
+
302
+ const expressionChild = result.children[0] as types.JSXExpressionContainer
303
+ const outerLogical = expressionChild.expression as types.LogicalExpression
304
+ const conditionChain = outerLogical.left as types.LogicalExpression
305
+ expect(conditionChain.operator).toBe('||')
306
+ expect((conditionChain.left as types.Identifier).name).toBe('newsletterOfferVisible')
307
+ expect(
308
+ ((conditionChain.right as types.UnaryExpression).argument as types.Identifier).name
309
+ ).toBe('userIsLoggedIn')
310
+ })
311
+
312
+ it('mixes a prop-referencing entry into a state-anchored chain with the right prefix', () => {
313
+ const ownerContainer = elementNode('container', {}, [])
314
+ ownerContainer.content.renderingConditions = {
315
+ reference: {
316
+ type: 'dynamic',
317
+ content: { referenceType: 'state', id: 'menuOpen' },
318
+ },
319
+ condition: {
320
+ conditions: [
321
+ { operation: '===', operand: true },
322
+ {
323
+ operation: '===',
324
+ operand: 'admin',
325
+ reference: {
326
+ type: 'dynamic',
327
+ content: { referenceType: 'prop', id: 'role' },
328
+ },
329
+ },
330
+ ],
331
+ matchingCriteria: 'all',
332
+ },
333
+ } as never
334
+
335
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
336
+ const mixedParams: JSXGenerationParams = {
337
+ ...params,
338
+ stateDefinitions: { menuOpen: { type: 'boolean', defaultValue: false } },
339
+ propDefinitions: { role: { type: 'string', defaultValue: 'guest' } },
340
+ globalReferences: [],
341
+ globalStateReferences: [],
342
+ }
343
+ const result = generateJSXSyntax(wrappingParent, mixedParams, options)
344
+
345
+ const expressionChild = result.children[0] as types.JSXExpressionContainer
346
+ const conditionChain = (expressionChild.expression as types.LogicalExpression)
347
+ .left as types.LogicalExpression
348
+
349
+ // `=== true` on the boolean state compiles to the bare identifier.
350
+ const stateComparison = conditionChain.left as types.Identifier
351
+ expect(stateComparison.name).toBe('menuOpen')
352
+
353
+ // The prop entry rides the `props.` prefix from the prefix map.
354
+ const propComparison = conditionChain.right as types.BinaryExpression
355
+ const propMember = propComparison.left as types.MemberExpression
356
+ expect((propMember.object as types.Identifier).name).toBe('props')
357
+ expect((propMember.property as types.Identifier).name).toBe('role')
358
+ expect((propComparison.right as types.StringLiteral).value).toBe('admin')
359
+ })
360
+
361
+ it('tracks a globalState per-entry reference on params for context wiring', () => {
362
+ const ownerContainer = elementNode('container', {}, [])
363
+ ownerContainer.content.renderingConditions = {
364
+ reference: {
365
+ type: 'dynamic',
366
+ content: { referenceType: 'state', id: 'menuOpen' },
367
+ },
368
+ condition: {
369
+ conditions: [
370
+ { operation: '===', operand: true },
371
+ {
372
+ operation: '===',
373
+ operand: true,
374
+ reference: {
375
+ type: 'dynamic',
376
+ content: { referenceType: 'globalState', id: 'darkMode' },
377
+ },
378
+ },
379
+ ],
380
+ matchingCriteria: 'all',
381
+ },
382
+ } as never
383
+
384
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
385
+ const globalStateParams: JSXGenerationParams = {
386
+ ...params,
387
+ stateDefinitions: { menuOpen: { type: 'boolean', defaultValue: false } },
388
+ globalStateDefinitions: {
389
+ darkMode: { id: 'darkMode', name: 'darkMode', type: 'boolean', defaultValue: false },
390
+ },
391
+ globalReferences: [],
392
+ globalStateReferences: [],
393
+ }
394
+ generateJSXSyntax(wrappingParent, globalStateParams, options)
395
+
396
+ expect(globalStateParams.globalStateReferences).toEqual([
397
+ { id: 'darkMode', name: 'darkMode' },
398
+ ])
399
+ })
400
+
401
+ it('nests a group entry as a parenthesized sub-chain — (a && b) || c', () => {
402
+ const ownerContainer = elementNode('container', {}, [])
403
+ ownerContainer.content.renderingConditions = {
404
+ reference: {
405
+ type: 'dynamic',
406
+ content: { referenceType: 'state', id: 'a' },
407
+ },
408
+ condition: {
409
+ conditions: [
410
+ {
411
+ conditions: [
412
+ { operation: '===', operand: 1 },
413
+ {
414
+ operation: '===',
415
+ operand: 3,
416
+ reference: {
417
+ type: 'dynamic',
418
+ content: { referenceType: 'state', id: 'b' },
419
+ },
420
+ },
421
+ ],
422
+ matchingCriteria: 'all',
423
+ },
424
+ {
425
+ operation: '===',
426
+ operand: 5,
427
+ reference: {
428
+ type: 'dynamic',
429
+ content: { referenceType: 'state', id: 'c' },
430
+ },
431
+ },
432
+ ],
433
+ matchingCriteria: '||',
434
+ },
435
+ } as never
436
+
437
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
438
+ const groupedParams: JSXGenerationParams = {
439
+ ...params,
440
+ stateDefinitions: {
441
+ a: { type: 'number', defaultValue: 1 },
442
+ b: { type: 'number', defaultValue: 3 },
443
+ c: { type: 'number', defaultValue: 0 },
444
+ },
445
+ globalReferences: [],
446
+ globalStateReferences: [],
447
+ }
448
+ const result = generateJSXSyntax(wrappingParent, groupedParams, options)
449
+
450
+ const expressionChild = result.children[0] as types.JSXExpressionContainer
451
+ const conditionChain = (expressionChild.expression as types.LogicalExpression)
452
+ .left as types.LogicalExpression
453
+
454
+ // (a === 1 && b === 3) || c === 5 — the group nests as the left branch,
455
+ // which the printer emits parenthesized.
456
+ expect(conditionChain.operator).toBe('||')
457
+
458
+ const groupChain = conditionChain.left as types.LogicalExpression
459
+ expect(groupChain.type).toBe('LogicalExpression')
460
+ expect(groupChain.operator).toBe('&&')
461
+ const aComparison = groupChain.left as types.BinaryExpression
462
+ const bComparison = groupChain.right as types.BinaryExpression
463
+ expect((aComparison.left as types.Identifier).name).toBe('a')
464
+ expect((aComparison.right as types.NumericLiteral).value).toBe(1)
465
+ expect((bComparison.left as types.Identifier).name).toBe('b')
466
+ expect((bComparison.right as types.NumericLiteral).value).toBe(3)
467
+
468
+ const cComparison = conditionChain.right as types.BinaryExpression
469
+ expect((cComparison.left as types.Identifier).name).toBe('c')
470
+ expect((cComparison.right as types.NumericLiteral).value).toBe(5)
471
+ })
472
+
473
+ it('tracks references from leaves nested inside groups', () => {
474
+ const ownerContainer = elementNode('container', {}, [])
475
+ ownerContainer.content.renderingConditions = {
476
+ reference: {
477
+ type: 'dynamic',
478
+ content: { referenceType: 'state', id: 'menuOpen' },
479
+ },
480
+ condition: {
481
+ conditions: [
482
+ { operation: '===', operand: true },
483
+ {
484
+ conditions: [
485
+ {
486
+ operation: '===',
487
+ operand: true,
488
+ reference: {
489
+ type: 'dynamic',
490
+ content: { referenceType: 'globalState', id: 'darkMode' },
491
+ },
492
+ },
493
+ ],
494
+ },
495
+ ],
496
+ matchingCriteria: 'all',
497
+ },
498
+ } as never
499
+
500
+ const wrappingParent = elementNode('container', {}, [ownerContainer])
501
+ const nestedTrackingParams: JSXGenerationParams = {
502
+ ...params,
503
+ stateDefinitions: { menuOpen: { type: 'boolean', defaultValue: false } },
504
+ globalStateDefinitions: {
505
+ darkMode: { id: 'darkMode', name: 'darkMode', type: 'boolean', defaultValue: false },
506
+ },
507
+ globalReferences: [],
508
+ globalStateReferences: [],
509
+ }
510
+ generateJSXSyntax(wrappingParent, nestedTrackingParams, options)
511
+
512
+ expect(nestedTrackingParams.globalStateReferences).toEqual([
513
+ { id: 'darkMode', name: 'darkMode' },
514
+ ])
515
+ })
229
516
  })
230
517
 
231
518
  describe('navlink href via differentiatorValue', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EACzB,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EAIhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAI1E,eAAO,MAAM,eAAe,aAChB,QAAQ,eACL,MAAM,WACV,MAAM,aACJ,kBAAkB,UACrB,4BAA4B,kBACpB,kBAAkB,QAC5B,eAAe,SAmFtB,CAAA;AAED,eAAO,MAAM,WAAW,aACZ,QAAQ,eACL,MAAM,YACT,MAAM,0BACQ,yBAAyB,EAAE,UAC3C,4BAA4B,kBACpB,kBAAkB,SAiCnC,CAAA;AAED,eAAO,MAAM,0BAA0B,SAAU,mBAAmB,KAAG,MAkBtE,CAAA;AAKD,eAAO,MAAM,gCAAgC,cAChC,mBAAmB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,aAC3C,yBAAyB,KACnC,MAKF,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-html/utils.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,yBAAyB,EAGzB,mBAAmB,EACnB,QAAQ,EACR,kBAAkB,EAClB,yBAAyB,EACzB,eAAe,EAIhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAI1E,eAAO,MAAM,eAAe,aAChB,QAAQ,eACL,MAAM,WACV,MAAM,aACJ,kBAAkB,UACrB,4BAA4B,kBACpB,kBAAkB,QAC5B,eAAe,SAmFtB,CAAA;AAED,eAAO,MAAM,WAAW,aACZ,QAAQ,eACL,MAAM,YACT,MAAM,0BACQ,yBAAyB,EAAE,UAC3C,4BAA4B,kBACpB,kBAAkB,SAiCnC,CAAA;AAED,eAAO,MAAM,0BAA0B,SAAU,mBAAmB,KAAG,MAkBtE,CAAA;AAKD,eAAO,MAAM,gCAAgC,cAChC,mBAAmB,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,aAC3C,yBAAyB,KACnC,MAKF,CAAA"}
@@ -155,15 +155,36 @@ var standardizeUIDLConditionalExpression = function (value, condition) {
155
155
  : condition;
156
156
  return conditionalExpression;
157
157
  };
158
+ // An entry carrying its own `reference` compares that reference instead of the
159
+ // expression's inherited key. Dynamic refs contribute their id; expr refs
160
+ // contribute their raw expression, parenthesized (this flavor works in string
161
+ // space, so the expression text slots in as the left side directly).
162
+ var resolveConditionEntryKey = function (entry, inheritedKey) {
163
+ if (!entry.reference) {
164
+ return inheritedKey;
165
+ }
166
+ if (entry.reference.type === 'dynamic') {
167
+ return entry.reference.content.id;
168
+ }
169
+ return "(".concat(entry.reference.content, ")");
170
+ };
171
+ // A group entry recurses with its own matchingCriteria and comes back already
172
+ // parenthesized; a leaf stringifies its single comparison unwrapped.
173
+ var stringifyConditionEntry = function (entry, inheritedKey) {
174
+ if (teleport_shared_1.UIDLUtils.isUIDLConditionGroup(entry)) {
175
+ return "(".concat(createConditional(inheritedKey, entry), ")");
176
+ }
177
+ return stringifyConditionalExpression(resolveConditionEntryKey(entry, inheritedKey), entry.operation, entry.operand, entry.containsField);
178
+ };
158
179
  var createConditional = function (conditionalKey, conditionalExpression) {
159
180
  var matchingCriteria = conditionalExpression.matchingCriteria, conditions = conditionalExpression.conditions;
160
181
  if (conditions.length === 1) {
161
- var _a = conditions[0], operation = _a.operation, operand = _a.operand, containsField = _a.containsField;
162
- return stringifyConditionalExpression(conditionalKey, operation, operand, containsField);
182
+ return stringifyConditionEntry(conditions[0], conditionalKey);
163
183
  }
164
- var stringConditions = conditions.map(function (_a) {
165
- var operation = _a.operation, operand = _a.operand, containsField = _a.containsField;
166
- return "(".concat(stringifyConditionalExpression(conditionalKey, operation, operand, containsField), ")");
184
+ var stringConditions = conditions.map(function (conditionEntry) {
185
+ var entryText = stringifyConditionEntry(conditionEntry, conditionalKey);
186
+ // Groups arrive parenthesized already; leaves get wrapped here.
187
+ return teleport_shared_1.UIDLUtils.isUIDLConditionGroup(conditionEntry) ? entryText : "(".concat(entryText, ")");
167
188
  });
168
189
  var joinOperator = matchingCriteria === 'all' ? '&&' : '||';
169
190
  return stringConditions.join(" ".concat(joinOperator, " "));
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/node-handlers/node-to-html/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAmD;AACnD,+DAAoE;AAapE,8DAA6D;AAC7D,iEAAiD;AAE1C,IAAM,eAAe,GAAG,UAC7B,QAAkB,EAClB,WAAmB,EACnB,OAAe,EACf,SAA6B,EAC7B,MAAoC,EACpC,cAAkC,EAClC,IAAqB;IAEb,IAAA,UAAU,GAAK,MAAM,WAAX,CAAW;IAC7B,IAAM,cAAc,GAAG,cAAc,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;IACjE,QAAQ,SAAS,CAAC,IAAI,EAAE;QACtB,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ;YACX,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;YAC5E,MAAK;QACP,KAAK,YAAY;YACf,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EACR,OAAO,EACP,6BAAW,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CACjD,CAAA;YACD,MAAK;QACP,KAAK,KAAK,CAAC,CAAC;YACV,IAAM,QAAQ,GAAG,SAAyB,CAAA;YAC1C,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAA;gBAC3E,MAAK;aACN;YACD,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;YAC7E,MAAK;SACN;QACD,KAAK,QAAQ;YACX,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE;gBACpC,+EAA+E;gBAC/E,0FAA0F;gBAC1F,IAAM,oBAAoB,GAAG,UAAG,WAAW,SAAG,6BAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAAE,CAAA;gBAC/E,UAAU,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC,OAAO,CAAA;gBACpD,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,oBAAoB,CAAC,CAAA;aAC7E;iBAAM,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,SAAS,EAAE;gBACjD,SAAS,CAAC,OAAO,KAAK,IAAI;oBACxB,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,OAAO,CAAC;oBACxD,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAA;aACzE;iBAAM,IAAI,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,EAAE;gBAChD,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EACR,OAAO,EACP,6BAAW,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CACjD,CAAA;aACF;iBAAM;gBACL,+EAA+E;gBAC/E,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAA;aACrF;YACD,MAAK;QAEP,KAAK,SAAS;YACZ,IAAM,YAAY,GAAG,IAAA,8BAAc,EAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC/D,IAAM,eAAe,GAAG,IAAA,sBAAmB,EAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAA;YAE9E,IAAI,cAAc,CAAC,WAAW,KAAK,QAAQ,EAAE;gBAC3C,SAAS,CAAC,yBAAyB,CACjC,YAAY,EACZ,UAAG,cAAc,CAAC,WAAW,cAAI,OAAO,CAAE,CAC3C,CAAA;aACF;iBAAM;gBACL,SAAS,CAAC,yBAAyB,CAAC,YAAY,EAAE,UAAG,cAAc,CAAC,WAAW,SAAG,OAAO,CAAE,CAAC,CAAA;aAC7F;YAED,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;YACrD,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAA;YAC9C,MAAK;QAEP,KAAK,QAAQ,CAAC,CAAC;YACb,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAA;YACvC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAA;YAC/D,MAAK;SACN;QAED,KAAK,MAAM;YACT,gEAAgE;YAChE,OAAO,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;YAC/D,MAAK;QAEP;YACE,MAAM,IAAI,KAAK,CACb,4EAAqE,IAAI,CAAC,SAAS,CACjF,SAAS,CACV,CAAE,CACJ,CAAA;KACJ;AACH,CAAC,CAAA;AA1FY,QAAA,eAAe,mBA0F3B;AAEM,IAAM,WAAW,GAAG,UACzB,QAAkB,EAClB,WAAmB,EACnB,QAAgB,EAChB,sBAAmD,EACnD,MAAoC,EACpC,cAAkC;IAE1B,IAAA,aAAa,GAAK,MAAM,cAAX,CAAW;IAChC,IAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAE7D,IAAI,sBAAsB,CAAC,MAAM,KAAK,CAAC,EAAE;QACvC,IAAM,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAA;QAE3C,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,IAAI,SAAS,CAAC,KAAK,EAAE;YACpD,IAAM,YAAY,GAAG,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAClE,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;SACtE;QAED,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE;YACpC,SAAS,CAAC,kBAAkB,CAC1B,QAAQ,EACR,eAAe,EACf,SAAS,CAAC,QAAQ,KAAK,SAAS;gBAC9B,CAAC,CAAC,UAAG,SAAS,CAAC,QAAQ,iBAAO,SAAS,CAAC,QAAQ,CAAE;gBAClD,CAAC,CAAC,UAAG,SAAS,CAAC,QAAQ,gBAAM,SAAS,CAAC,QAAQ,CAAE,CACpD,CAAA;SACF;KACF;SAAM;QACL,IAAM,UAAU,GAAG,gBAAS,6BAAW,CAAC,wBAAwB,CAC9D,WAAW,CACZ,SAAG,6BAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAE,CAAA;QACpD,IAAM,eAAe,GAAG,cAAc,CAAC,wBAAwB;YAC7D,CAAC,CAAC,cAAc,CAAC,wBAAwB,CAAC,UAAU,CAAC;YACrD,CAAC,CAAC,UAAU,CAAA;QAEd,aAAa,CAAC,UAAU,CAAC,GAAG,sBAAsB,CAAA;QAClD,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,CAAC,CAAA;KACzE;AACH,CAAC,CAAA;AAvCY,QAAA,WAAW,eAuCvB;AAEM,IAAM,0BAA0B,GAAG,UAAC,IAAyB;IAC5D,IAAA,KAAmD,IAAI,CAAC,OAAO,EAAvD,SAAS,UAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAA,EAAE,SAAS,eAAiB,CAAA;IAErE,IAAM,UAAU,GAAG,oCAAoC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA;IACzE,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;QAChC,IAAM,SAAS,GAAG,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QAErE,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,EAAE;YACpC,OAAO,UAAG,SAAS,iBAAO,IAAA,kCAA0B,EAAC,SAAS,CAAC,CAAE,CAAA;SAClE;QAED,OAAO,SAAS,CAAA;KACjB;IAED,8DAA8D;IAC9D,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,EAAE;QAC7B,OAAO,EAAE,CAAA;KACV;AACH,CAAC,CAAA;AAlBY,QAAA,0BAA0B,8BAkBtC;AAED,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AACnE,IAAM,gCAAgC,GAAG,UAC9C,SAAsD,EACtD,SAAoC;IAEpC,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE;QAChC,OAAO,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;KAC1D;IACD,OAAO,EAAE,CAAA;AACX,CAAC,CAAA;AARY,QAAA,gCAAgC,oCAQ5C;AAED,IAAM,oCAAoC,GAAG,UAC3C,KAAgC,EAChC,SAAoC;IAEpC,IAAM,qBAAqB,GACzB,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QACnC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE;QACxD,CAAC,CAAC,SAAS,CAAA;IACf,OAAO,qBAAqB,CAAA;AAC9B,CAAC,CAAA;AAED,IAAM,iBAAiB,GAAG,UACxB,cAAsB,EACtB,qBAAgD;IAExC,IAAA,gBAAgB,GAAiB,qBAAqB,iBAAtC,EAAE,UAAU,GAAK,qBAAqB,WAA1B,CAA0B;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QACrB,IAAA,KAAwC,UAAU,CAAC,CAAC,CAAC,EAAnD,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,aAAa,mBAAkB,CAAA;QAC3D,OAAO,8BAA8B,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;KACzF;IAED,IAAM,gBAAgB,GAAG,UAAU,CAAC,GAAG,CAAC,UAAC,EAAqC;YAAnC,SAAS,eAAA,EAAE,OAAO,aAAA,EAAE,aAAa,mBAAA;QAC1E,OAAO,WAAI,8BAA8B,CAAC,cAAc,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,MAAG,CAAA;IACjG,CAAC,CAAC,CAAA;IAEF,IAAM,YAAY,GAAG,gBAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IAC7D,OAAO,gBAAgB,CAAC,IAAI,CAAC,WAAI,YAAY,MAAG,CAAC,CAAA;AACnD,CAAC,CAAA;AAED,IAAM,qBAAqB,GAAG,UAC5B,KAA6E;IAE7E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,WAAI,KAAK,MAAG,CAAA;KACpB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC3D,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;KACrB;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,IAAI,KAAK,EAAE;QAChD,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;SACxB;QACD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;YACzB,OAAO,KAAK,CAAC,OAAO,CAAA;SACrB;KACF;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAA;AACtB,CAAC,CAAA;AAED;;;;;;;;GAQG;AACH,IAAM,kBAAkB,GAAG,UAAC,UAAkB,EAAE,KAAyB;IAAzB,sBAAA,EAAA,YAAyB;IACvE,OAAA,WAAI,UAAU,iBAAO,KAAK,MAAG;AAA7B,CAA6B,CAAA;AAE/B,IAAM,8BAA8B,GAAG,UACrC,UAAkB,EAClB,SAAiB,EACjB,KAA6E,EAC7E,aAAsB;IAEtB,yBAAyB;IACzB,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,kBAAe,CAAA;KACxD;IACD,IAAI,SAAS,KAAK,YAAY,EAAE;QAC9B,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,gBAAa,CAAA;KACtD;IACD,IAAI,SAAS,KAAK,cAAc,EAAE;QAChC,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,yBAAe,qBAAqB,CAAC,KAAK,CAAC,CAAE,CAAA;KACtF;IACD,IAAI,SAAS,KAAK,mBAAmB,EAAE;QACrC,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,uBAAa,qBAAqB,CAAC,KAAK,CAAC,CAAE,CAAA;KACpF;IACD,IAAI,SAAS,KAAK,gBAAgB,EAAE;QAClC,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,uBAAa,qBAAqB,CAAC,KAAK,CAAC,CAAE,CAAA;KACpF;IACD,IAAI,SAAS,KAAK,UAAU,EAAE;QAC5B,IAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC/C,IAAI,aAAa,EAAE;YACjB,OAAO,UAAG,kBAAkB,CAC1B,UAAU,CACX,gCAAsB,aAAa,kBAAQ,UAAU,MAAG,CAAA;SAC1D;QACD,OAAO,UAAG,kBAAkB,CAAC,UAAU,CAAC,uBAAa,UAAU,MAAG,CAAA;KACnE;IACD,IAAI,SAAS,KAAK,aAAa,EAAE;QAC/B,IAAM,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAA;QAC/C,IAAI,aAAa,EAAE;YACjB,OAAO,WAAI,kBAAkB,CAC3B,UAAU,CACX,gCAAsB,aAAa,kBAAQ,UAAU,MAAG,CAAA;SAC1D;QACD,OAAO,WAAI,kBAAkB,CAAC,UAAU,CAAC,uBAAa,UAAU,MAAG,CAAA;KACpE;IACD,IAAI,SAAS,KAAK,QAAQ,EAAE;QAC1B,OAAO,+CAAwC,kBAAkB,CAC/D,UAAU,EACV,IAAI,CACL,eAAK,qBAAqB,CAAC,KAAK,CAAC,MAAG,CAAA;KACtC;IACD,IAAI,SAAS,KAAK,WAAW,EAAE;QAC7B,OAAO,gDAAyC,kBAAkB,CAChE,UAAU,EACV,IAAI,CACL,eAAK,qBAAqB,CAAC,KAAK,CAAC,MAAG,CAAA;KACtC;IAED,qBAAqB;IACrB,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE;QAC9B,OAAO,UAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAG,UAAU,CAAE,CAAA;KAC1C;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAG,UAAU,cAAI,SAAS,eAAK,KAAK,MAAG,CAAA;KAC/C;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;QAC7B,OAAO,UAAG,UAAU,cAAI,SAAS,cAAI,KAAK,CAAE,CAAA;KAC7C;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;QAC5B,OAAO,UAAG,UAAU,cAAI,SAAS,cAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAE,CAAA;KACxD;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE;QACzB,OAAO,UAAG,UAAU,cAAI,SAAS,cAAI,KAAK,CAAC,OAAO,CAAE,CAAA;KACrD;IAED,OAAO,UAAG,UAAU,cAAI,SAAS,cAAI,KAAK,CAAE,CAAA;AAC9C,CAAC,CAAA;AAED,IAAM,yBAAyB,GAAG,UAChC,QAAkB,EAClB,QAAsB,EACtB,MAAoC,EACpC,cAAkC,EAClC,IAAqB;;IAErB,IAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAA;IAC7B,IAAA,KAAkB,UAAU,CAAC,OAAO,EAAlC,EAAE,QAAA,EAAE,OAAO,aAAuB,CAAA;IAC1C,IAAM,UAAU,GAAG,2BAAS,CAAC,qBAAqB,CAAC,EAAE,EAAE,OAAO,CAAC,CAAA;IAC/D,IAAM,eAAe,GAAG,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAA;IAC7D,IAAM,eAAe,GAAG,sBAAe,6BAAW,CAAC,oBAAoB,EAAE,CAAE,CAAA;IAC3E,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,eAAe,CAAA;IACpD,IAAM,UAAU,GAAG,UAAG,UAAU,iBAAO,eAAe,CAAE,CAAA;IAExD,IAAM,YAAY,GAAG,cAAc,CAAC,gBAAgB,IAAI,WAAW,CAAA;IACnE,QAAQ,CAAC,OAAO,GAAG,MAAM,CAAA;IACzB,SAAS,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAA;IAEhE,IAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAA;IAC5C,IAAI,MAAA,MAAA,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,0CAAE,IAAI,0CAAE,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QACtE,OAAO,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;KACxC;AACH,CAAC,CAAA"}
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;AA2oBhG,QAAA,MAAM,mBAAmB,EAAE,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAwSrE,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,EAKL,SAAS,EACV,MAAM,SAAS,CAAA;AA2oBhB,QAAA,MAAM,mBAAmB,EAAE,SAAS,CAAC,eAAe,EAAE,KAAK,CAAC,UAAU,CAwSrE,CAAA;AAED,eAAe,mBAAmB,CAAA"}
@@ -1248,11 +1248,10 @@ var generateRepeatNode = function (node, params, options) {
1248
1248
  ]));
1249
1249
  });
1250
1250
  };
1251
- // Shared between UIDLConditionalNode (wraps a child subtree) and the inline
1252
- // `renderingConditions` property on UIDLElement content. Tracks global and
1253
- // globalState references on params, resolves the condition identifier, and
1254
- // builds the `condition && <content/>` logical expression.
1255
- var wrapWithConditional = function (subTree, reference, condition, params, options) {
1251
+ // Tracks a condition reference's global / globalState usage on params and
1252
+ // resolves it to a ConditionalIdentifier. Shared by the top-level reference
1253
+ // and the optional per-entry references of a conditional expression.
1254
+ var trackAndResolveConditionIdentifier = function (reference, params, options) {
1256
1255
  if (reference.type === 'dynamic' &&
1257
1256
  'referenceType' in reference.content &&
1258
1257
  reference.content.referenceType === 'global') {
@@ -1270,10 +1269,25 @@ var wrapWithConditional = function (subTree, reference, condition, params, optio
1270
1269
  reference.content.referenceType === 'global'
1271
1270
  ? normalizeGlobalRef(reference)
1272
1271
  : reference;
1273
- var conditionIdentifier = (0, utils_1.createConditionIdentifier)(effectiveRef, params, options);
1272
+ return (0, utils_1.createConditionIdentifier)(effectiveRef, params, options);
1273
+ };
1274
+ // Shared between UIDLConditionalNode (wraps a child subtree) and the inline
1275
+ // `renderingConditions` property on UIDLElement content. Tracks global and
1276
+ // globalState references on params, resolves the condition identifier — plus
1277
+ // one identifier per entry that carries its own `reference` — and builds the
1278
+ // `condition && <content/>` logical expression.
1279
+ var wrapWithConditional = function (subTree, reference, condition, params, options) {
1280
+ var conditionIdentifier = trackAndResolveConditionIdentifier(reference, params, options);
1274
1281
  return (0, utils_1.createConditionalJSXExpression)(subTree, condition, conditionIdentifier, {
1275
1282
  localIdentifier: options.localIdentifier,
1276
1283
  detailsPageExposeAsName: options.detailsPageExposeAsName || params.detailsPageExposeAsName,
1284
+ // Leaf entries (any nesting depth) with their own left side resolve —
1285
+ // and globals-track — through the same path as the top-level reference.
1286
+ resolveEntryIdentifier: function (conditionEntry) {
1287
+ return conditionEntry.reference
1288
+ ? trackAndResolveConditionIdentifier(conditionEntry.reference, params, options)
1289
+ : undefined;
1290
+ },
1277
1291
  });
1278
1292
  };
1279
1293
  var generateConditionalNode = function (node, params, options) {