@lightningtv/core
Advanced tools
Comparing version 0.0.8 to 0.0.9
@@ -467,4 +467,5 @@ import { renderer, createShader } from './lightningInit.js'; | ||
} | ||
else if (c.text) { | ||
else if (c.text && c.type === NodeType.Text) { | ||
// Solid Show uses an empty text node as a placeholder | ||
// Vue uses comment nodes for v-if | ||
console.warn('TextNode outside of <Text>: ', c); | ||
@@ -517,4 +518,2 @@ } | ||
borderBottom: borderAccessor('Bottom'), | ||
}); | ||
Object.defineProperties(ElementNode.prototype, { | ||
linearGradient: { | ||
@@ -521,0 +520,0 @@ set(props = {}) { |
@@ -44,3 +44,3 @@ import { assertTruthy } from '@lightningjs/renderer/utils'; | ||
if (['center', 'spaceBetween', 'spaceEvenly'].includes(justify)) { | ||
itemSize = children.reduce((prev, c) => prev + (c[dimension] || 0), 0); | ||
itemSize = children.reduce((prev, c) => prev + (c[dimension] || 0) + (c[marginOne] || 0) + (c[marginTwo] || 0), 0); | ||
} | ||
@@ -89,2 +89,10 @@ // Only align children if container has a cross size | ||
} | ||
// Update container size | ||
if (node.flexBoundary !== 'fixed') { | ||
const calculatedSize = start - gap; | ||
if (calculatedSize !== node[dimension]) { | ||
node[dimension] = calculatedSize; | ||
return true; | ||
} | ||
} | ||
} | ||
@@ -95,4 +103,5 @@ else if (justify === 'center') { | ||
const c = children[i]; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + gap; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + gap + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -106,4 +115,5 @@ } | ||
const c = children[i]; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + toPad; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + toPad + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -117,4 +127,5 @@ } | ||
const c = children[i]; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + toPad; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + toPad + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -121,0 +132,0 @@ } |
{ | ||
"name": "@lightningtv/core", | ||
"version": "0.0.8", | ||
"version": "0.0.9", | ||
"description": "Lightning TV Core for Universal Renderers", | ||
@@ -5,0 +5,0 @@ "type": "module", |
@@ -637,4 +637,5 @@ import { renderer, createShader } from './lightningInit.js'; | ||
c.render(); | ||
} else if (c.text) { | ||
} else if (c.text && c.type === NodeType.Text) { | ||
// Solid Show uses an empty text node as a placeholder | ||
// Vue uses comment nodes for v-if | ||
console.warn('TextNode outside of <Text>: ', c); | ||
@@ -692,5 +693,2 @@ } | ||
borderBottom: borderAccessor('Bottom'), | ||
}); | ||
Object.defineProperties(ElementNode.prototype, { | ||
linearGradient: { | ||
@@ -697,0 +695,0 @@ set(this: ElementNode, props: LinearGradientEffectProps = {}) { |
@@ -52,3 +52,7 @@ import { assertTruthy } from '@lightningjs/renderer/utils'; | ||
if (['center', 'spaceBetween', 'spaceEvenly'].includes(justify)) { | ||
itemSize = children.reduce((prev, c) => prev + (c[dimension] || 0), 0); | ||
itemSize = children.reduce( | ||
(prev, c) => | ||
prev + (c[dimension] || 0) + (c[marginOne] || 0) + (c[marginTwo] || 0), | ||
0, | ||
); | ||
} | ||
@@ -97,2 +101,10 @@ | ||
} | ||
// Update container size | ||
if (node.flexBoundary !== 'fixed') { | ||
const calculatedSize = start - gap; | ||
if (calculatedSize !== node[dimension]) { | ||
node[dimension] = calculatedSize; | ||
return true; | ||
} | ||
} | ||
} else if (justify === 'center') { | ||
@@ -102,4 +114,5 @@ let start = (containerSize - (itemSize + gap * (numChildren - 1))) / 2; | ||
const c = children[i]!; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + gap; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + gap + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -112,4 +125,5 @@ } | ||
const c = children[i]!; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + toPad; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + toPad + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -122,4 +136,5 @@ } | ||
const c = children[i]!; | ||
c[prop] = start; | ||
start += (c[dimension] || 0) + toPad; | ||
c[prop] = start + (c[marginOne] || 0); | ||
start += | ||
(c[dimension] || 0) + toPad + (c[marginOne] || 0) + (c[marginTwo] || 0); | ||
crossAlignChild(c); | ||
@@ -126,0 +141,0 @@ } |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
150601
48
2187