diff --git a/CHANGELOG.md b/CHANGELOG.md index 9d8cb9fc..a8f7b029 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## v1.20.0 + +_12 feb 2025_ + +- Improved attribute definitions used for autocompletion in VScode extension +- Fixed calculation of `align-items` in Layout component +- Fixed issue with sorting reactive arrays +- Upgraded to renderer v2.12.0 + ## v1.19.1 _3 feb 2025_ diff --git a/package-lock.json b/package-lock.json index 145b8ccc..462057ec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,16 +1,16 @@ { "name": "@lightningjs/blits", - "version": "1.19.1", + "version": "1.20.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@lightningjs/blits", - "version": "1.19.0", + "version": "1.20.0", "license": "Apache-2.0", "dependencies": { "@lightningjs/msdf-generator": "^1.1.1", - "@lightningjs/renderer": "^2.11.1" + "@lightningjs/renderer": "^2.12.0" }, "bin": { "blits": "bin/index.js" @@ -950,9 +950,9 @@ } }, "node_modules/@lightningjs/renderer": { - "version": "2.11.1", - "resolved": "https://registry.npmjs.org/@lightningjs/renderer/-/renderer-2.11.1.tgz", - "integrity": "sha512-fXj7BGLHPqCHt8Fedbsx14Q4QdZJ5x8t7zzIyu8IKhmK1+cZe1UZLp2jEFlSW5//xZROFRHkAhU1u8xe75y0Qw==", + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/@lightningjs/renderer/-/renderer-2.12.0.tgz", + "integrity": "sha512-vHoBZoZwIhvlaK57X7lB7AhEYQtdJbd0Rfq5m8RooCr0Qp7aUkbV/T5oiicnmFoSKw5td2mnXbjzw5ndWjGDFg==", "hasInstallScript": true, "engines": { "node": ">= 20.9.0", diff --git a/package.json b/package.json index 1301e3c2..3653434e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@lightningjs/blits", - "version": "1.19.1", + "version": "1.20.0", "description": "Blits: The Lightning 3 App Development Framework", "bin": "bin/index.js", "exports": { @@ -52,7 +52,7 @@ }, "dependencies": { "@lightningjs/msdf-generator": "^1.1.1", - "@lightningjs/renderer": "^2.11.1" + "@lightningjs/renderer": "^2.12.0" }, "repository": { "type": "git", diff --git a/src/engines/L3/element.js b/src/engines/L3/element.js index b2d6fcfc..ce4032e2 100644 --- a/src/engines/L3/element.js +++ b/src/engines/L3/element.js @@ -113,7 +113,7 @@ const layoutFn = function (config) { if (align !== 0) { for (let i = 0; i < childrenLength; i++) { const node = children[i] - node[oppositePosition] = otherDimension + node[oppositePosition] = otherDimension * align node[oppositeMount] = align } } diff --git a/src/lib/reactivity/reactive.js b/src/lib/reactivity/reactive.js index 2f79b652..0db6c373 100644 --- a/src/lib/reactivity/reactive.js +++ b/src/lib/reactivity/reactive.js @@ -113,6 +113,7 @@ const reactiveProxy = (original, _parent = null, _key, global) => { } else if ( target[key] !== null && target[key] !== undefined && + Array.isArray(target) === false && Object.getPrototypeOf(value) === Object.prototype ) { value = Object.assign(receiver[key], value) diff --git a/vscode/data/template-attributes.json b/vscode/data/template-attributes.json index f5273aef..72c6eb9e 100644 --- a/vscode/data/template-attributes.json +++ b/vscode/data/template-attributes.json @@ -11,7 +11,8 @@ "Element", "Text", "Layout", - "RouterView" + "RouterView", + "Component" ] }, "y": { @@ -26,7 +27,8 @@ "Element", "Text", "Layout", - "RouterView" + "RouterView", + "Component" ] }, "z": { @@ -69,7 +71,6 @@ "usedIn": [ "Element", "Text", - "Layout", "RouterView" ] }, @@ -99,7 +100,6 @@ "usedIn": [ "Element", "Text", - "Layout", "RouterView" ] }, @@ -114,7 +114,6 @@ "usedIn": [ "Element", "Text", - "Layout", "RouterView" ] }, @@ -145,7 +144,8 @@ "Element", "Text", "Layout", - "RouterView" + "RouterView", + "Component" ] }, "rotation": { @@ -175,7 +175,8 @@ "Element", "Text", "Layout", - "RouterView" + "RouterView", + "Component" ] }, "mount": { @@ -245,7 +246,6 @@ "usedIn": [ "Element", "Text", - "Layout", "RouterView" ] }, @@ -262,7 +262,8 @@ "reactive": true, "description": "The overflow attribute allows the element to extend beyond the specified height and width. Possible values are true or false.", "usedIn": [ - "Text" + "Text", + "Element" ] }, "content": { @@ -330,7 +331,7 @@ "Text" ] }, - "wordwrap": { + "maxwidth": { "attrType": "regular", "types": [ "number" @@ -398,13 +399,9 @@ "textoverflow": { "attrType": "regular", "types": [ - "enum" - ], - "values": [ - "true", - "false" + "string" ], - "defaultValue": "false", + "defaultValue": null, "reactive": true, "description": "The suffix to be added when text is cropped due to bounds limits. Defaults to ...", "usedIn": [ @@ -436,10 +433,7 @@ "reactive": true, "description": "Controls how much space will be added between each Element or Component.", "usedIn": [ - "Element", - "Text", - "Layout", - "RouterView" + "Layout" ] }, "is": { @@ -498,7 +492,8 @@ "Element", "Text", "Layout", - "RouterView" + "RouterView", + "Component" ] }, "align-items": { @@ -515,11 +510,7 @@ "reactive": true, "description": "Specifies how to align children on the opposite axis.", "usedIn": [ - "Component", - "Element", - "Text", - "Layout", - "RouterView" + "Layout" ] }, "padding": { @@ -554,10 +545,7 @@ "reactive": true, "description": "Adds spacing between the content and the edges of the Layout Component.", "usedIn": [ - "Element", - "Text", - "Layout", - "RouterView" + "Layout" ] }, "@loaded": { @@ -585,5 +573,17 @@ "Element", "Text" ] + }, + "@updated": { + "attrType": "event", + "types": [ + "string" + ], + "defaultValue": null, + "reactive": false, + "description": " Fires when each update in Layout children. Must be a function reference.", + "usedIn": [ + "Layout" + ] } }