@uniweb/build 0.16.5 → 0.16.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uniweb/build",
3
- "version": "0.16.5",
3
+ "version": "0.16.6",
4
4
  "description": "Build tooling for the Uniweb Component Web Platform",
5
5
  "type": "module",
6
6
  "exports": {
@@ -60,12 +60,12 @@
60
60
  "sharp": "^0.35.3",
61
61
  "yaml": "^2.5.0",
62
62
  "@uniweb/content-writer": "0.3.3",
63
- "@uniweb/theming": "0.1.15",
64
- "@uniweb/projections": "0.2.3"
63
+ "@uniweb/projections": "0.2.3",
64
+ "@uniweb/theming": "0.1.15"
65
65
  },
66
66
  "optionalDependencies": {
67
67
  "@uniweb/content-reader": "1.2.2",
68
- "@uniweb/runtime": "0.9.0",
68
+ "@uniweb/runtime": "0.9.1",
69
69
  "@uniweb/schemas": "0.2.4",
70
70
  "@uniweb/semantic-parser": "1.2.0"
71
71
  },
@@ -359,6 +359,7 @@ export function extractAllRuntimeSchemas(componentsMeta, dataSchemaMap = {}) {
359
359
  * this overrides per region, or `false` opts the layout out)
360
360
  * - defaults: Param default values
361
361
  * - scroll: Scroll management mode ('self' or CSS selector)
362
+ * - layers: Stacking order of the area wrappers (object, or false to opt out)
362
363
  *
363
364
  * @param {Object} fullMeta - The full meta.js default export for a layout
364
365
  * @returns {Object|null} - Lean layout runtime schema or null if empty
@@ -374,10 +375,21 @@ export function extractLayoutRuntimeSchema(fullMeta) {
374
375
  runtime.areas = fullMeta.areas
375
376
  }
376
377
 
377
- if (fullMeta.transitions && typeof fullMeta.transitions === 'object') {
378
+ // `false` is a value, not an absence: it is the documented way a layout opts
379
+ // out of per-area view transitions. The previous guard was
380
+ // `fullMeta.transitions && typeof … === 'object'`, which is false for `false`
381
+ // — so the opt-out was dropped here and never reached the runtime, even
382
+ // though `resolveLayoutTransitions` has always handled it. Same for `layers`.
383
+ if (fullMeta.transitions === false || (fullMeta.transitions && typeof fullMeta.transitions === 'object')) {
378
384
  runtime.transitions = fullMeta.transitions
379
385
  }
380
386
 
387
+ // Stacking order of the area wrappers. Carried whether or not the layout
388
+ // declares transitions, because an explicit layer is itself a reason to wrap.
389
+ if (fullMeta.layers === false || (fullMeta.layers && typeof fullMeta.layers === 'object')) {
390
+ runtime.layers = fullMeta.layers
391
+ }
392
+
381
393
  if (fullMeta.scroll !== undefined) {
382
394
  runtime.scroll = fullMeta.scroll
383
395
  }