-
Notifications
You must be signed in to change notification settings - Fork 120
feat(web): supports list with waterfall #331
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
🦋 Changeset detectedLatest commit: 39a9c05 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
❌ 7 Tests Failed:
View the top 3 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
CodSpeed Performance ReportMerging #331 will not alter performanceComparing Summary
|
e900a9b to
50d7191
Compare
Bundle ReportChanges will increase total bundle size by 4.1kB (0.65%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: @lynx-js/web-explorer-web-array-pushAssets Changed:
|
ff91c4c to
8ac9803
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces waterfall layout functionality to the web platform's list component, enabling a new visual presentation for list items. Key changes include new tests for waterfall behavior, a new XListWaterfall module implementing the layout logic, and updates to the XList component to integrate the new behavior.
Reviewed Changes
Copilot reviewed 6 out of 8 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| packages/web-platform/web-tests/tests/web-elements.spec.ts | Added tests for waterfall interactions and removed unused commented code. |
| packages/web-platform/web-elements/src/XList/XListWaterfall.ts | New module implementing waterfall layout with container creation, layout logic, and mutation handling. |
| packages/web-platform/web-elements/src/XList/XListAttributes.ts | Defined constant for waterfall slot to support the new waterfall layout. |
| packages/web-platform/web-elements/src/XList/XList.ts | Updated component registration to include the new waterfall support. |
| .changeset/thick-cameras-smash.md | Changeset for releasing the new waterfall feature. |
Files not reviewed (2)
- packages/web-platform/web-elements/src/XList/x-list.css: Language not supported
- packages/web-platform/web-tests/tests/web-elements/x-list/basic-waterfall.html: Language not supported
Comments suppressed due to low confidence (2)
packages/web-platform/web-elements/src/XList/XListWaterfall.ts:69
- The attribute 'estimated-main-axis-size-px' is used directly in an arithmetic operation, which may lead to unexpected behavior if its string value is not parsed to a number. Consider converting the attribute value to a numeric type before using it.
heights[shortestColumnIndex] += listItem?.getBoundingClientRect().height || listItem?.getAttribute('estimated-main-axis-size-px') || listHeight;
packages/web-platform/web-elements/src/XList/XListAttributes.ts:14
- The constant 'WATERFALL_SLOT' is defined in multiple modules, which could lead to maintenance issues. Consider centralizing this constant in a shared module to avoid inconsistencies.
const WATERFALL_SLOT = 'waterfall-slot';
a1657d2 to
caf5508
Compare
7a6efb9 to
4e7f583
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Copilot reviewed 55 out of 56 changed files in this pull request and generated 2 comments.
Files not reviewed (1)
- packages/web-platform/web-elements/src/XList/x-list.css: Language not supported
22f777e to
a0b3cf4
Compare
PupilTong
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! Great Job
|
@Sherry-hue Could you please avoid to use text |
a0b3cf4 to
a425670
Compare
Looks nice, I will open a separate PR to fix this problem |
feat: remove waterfall-content when list-type is not waterfall feat: use slots to impl waterfall feat: use absolute to impl waterfall && add tests feat: add snapshots && move lower style set to XListWaterfall
Co-authored-by: Copilot <[email protected]> Signed-off-by: Sherry <[email protected]>
Co-authored-by: Copilot <[email protected]> Signed-off-by: Sherry <[email protected]>
feat: remove waterfall-content when list-type is not waterfall feat: use slots to impl waterfall feat: use absolute to impl waterfall && add tests feat: add snapshots && move lower style set to XListWaterfall
a425670 to
39a9c05
Compare
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: allow user to implement custom template load function ([#587](#587)) ```js lynxView.customTemplateLoader = (url) => { return (await (await fetch(url, { method: 'GET', })).json()); }; ``` - feat: support mts event with target methods ([#564](#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([#582](#582)) - Updated dependencies \[[`f1ca29b`](f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Minor Changes - fix: When list-type is not specified, it is treated as single formatting. ([#535](#535)) - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support `layoutchange` event for x-overlay-ng ([#519](#519)) - fix: position:fixed not work in scroll-view ([#580](#580)) - fix: x-list may cause error: 'Resizeobserver loop completed with undelivered notifications'. ([#541](#541)) - fix: refactor foldview slot offset logic ([#575](#575)) - fix: improve x-foldview-ng ([#513](#513)) - support fling for touch event driven scrolling - allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` > `x-foldview-ng` - do not prevent horizontal gesture. After this commit we only allow one direction gesture for one touch (start -> end) - feat: add list with waterfall ([#331](#331)) ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ## @lynx-js/[email protected] ### Patch Changes - Fix `lynx.loadLazyBundle` is not a function ([#568](#568)) - fix: flushDelayedLifecycleEvents stack overflow error ([#540](#540)) ## @lynx-js/[email protected] ### Patch Changes - Support cli option `--no-env` to disable loading of .env files ([#483](#483)) - Bump Rsbuild v1.3.8 with Rspack v1.3.5. ([#579](#579)) ## @lynx-js/[email protected] ### Patch Changes - Support overriding SWC configuration. ([#563](#563)) Now you can override configuration like `useDefineForClassFields` using `tools.swc`. ```js import { defineConfig } from "@lynx-js/rspeedy"; export default defineConfig({ tools: { swc: { jsc: { transform: { useDefineForClassFields: true, }, }, }, }, }); ``` - Updated dependencies \[[`f1ca29b`](f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[]: - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - fix: create a new lynx-view for lynxjs.org ([#566](#566)) - fix: blank screen issue for 0.0.4 ([#543](#543)) ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support mts event with target methods ([#564](#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([#582](#582)) - Updated dependencies \[[`f1ca29b`](f1ca29b), [`7edf478`](7edf478)]: - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[[`f1ca29b`](f1ca29b), [`8ca9fcb`](8ca9fcb), [`efe6fd7`](efe6fd7)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx ## @lynx-js/[email protected] ### Patch Changes - Updated dependencies \[[`7edf478`](7edf478)]: - @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: allow user to implement custom template load function ([lynx-family#587](lynx-family#587)) ```js lynxView.customTemplateLoader = (url) => { return (await (await fetch(url, { method: 'GET', })).json()); }; ``` - feat: support mts event with target methods ([lynx-family#564](lynx-family#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([lynx-family#582](lynx-family#582)) - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Minor Changes - fix: When list-type is not specified, it is treated as single formatting. ([lynx-family#535](lynx-family#535)) - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support `layoutchange` event for x-overlay-ng ([lynx-family#519](lynx-family#519)) - fix: position:fixed not work in scroll-view ([lynx-family#580](lynx-family#580)) - fix: x-list may cause error: 'Resizeobserver loop completed with undelivered notifications'. ([lynx-family#541](lynx-family#541)) - fix: refactor foldview slot offset logic ([lynx-family#575](lynx-family#575)) - fix: improve x-foldview-ng ([lynx-family#513](lynx-family#513)) - support fling for touch event driven scrolling - allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` > `x-foldview-ng` - do not prevent horizontal gesture. After this commit we only allow one direction gesture for one touch (start -> end) - feat: add list with waterfall ([lynx-family#331](lynx-family#331)) ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ## @lynx-js/[email protected] ### Patch Changes - Fix `lynx.loadLazyBundle` is not a function ([lynx-family#568](lynx-family#568)) - fix: flushDelayedLifecycleEvents stack overflow error ([lynx-family#540](lynx-family#540)) ## @lynx-js/[email protected] ### Patch Changes - Support cli option `--no-env` to disable loading of .env files ([lynx-family#483](lynx-family#483)) - Bump Rsbuild v1.3.8 with Rspack v1.3.5. ([lynx-family#579](lynx-family#579)) ## @lynx-js/[email protected] ### Patch Changes - Support overriding SWC configuration. ([lynx-family#563](lynx-family#563)) Now you can override configuration like `useDefineForClassFields` using `tools.swc`. ```js import { defineConfig } from "@lynx-js/rspeedy"; export default defineConfig({ tools: { swc: { jsc: { transform: { useDefineForClassFields: true, }, }, }, }, }); ``` - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[]: - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - fix: create a new lynx-view for lynxjs.org ([lynx-family#566](lynx-family#566)) - fix: blank screen issue for 0.0.4 ([lynx-family#543](lynx-family#543)) ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support mts event with target methods ([lynx-family#564](lynx-family#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([lynx-family#582](lynx-family#582)) - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b), [`7edf478`](lynx-family@7edf478)]: - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b), [`8ca9fcb`](lynx-family@8ca9fcb), [`efe6fd7`](lynx-family@efe6fd7)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx ## @lynx-js/[email protected] ### Patch Changes - Updated dependencies \[[`7edf478`](lynx-family@7edf478)]: - @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: allow user to implement custom template load function ([#587](#587)) ```js lynxView.customTemplateLoader = (url) => { return (await (await fetch(url, { method: 'GET', })).json()); }; ``` - feat: support mts event with target methods ([#564](#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([#582](#582)) - Updated dependencies \[[`f1ca29b`](f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Minor Changes - fix: When list-type is not specified, it is treated as single formatting. ([#535](#535)) - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support `layoutchange` event for x-overlay-ng ([#519](#519)) - fix: position:fixed not work in scroll-view ([#580](#580)) - fix: x-list may cause error: 'Resizeobserver loop completed with undelivered notifications'. ([#541](#541)) - fix: refactor foldview slot offset logic ([#575](#575)) - fix: improve x-foldview-ng ([#513](#513)) - support fling for touch event driven scrolling - allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` > `x-foldview-ng` - do not prevent horizontal gesture. After this commit we only allow one direction gesture for one touch (start -> end) - feat: add list with waterfall ([#331](#331)) ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([#590](#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ## @lynx-js/[email protected] ### Patch Changes - Fix `lynx.loadLazyBundle` is not a function ([#568](#568)) - fix: flushDelayedLifecycleEvents stack overflow error ([#540](#540)) ## @lynx-js/[email protected] ### Patch Changes - Support cli option `--no-env` to disable loading of .env files ([#483](#483)) - Bump Rsbuild v1.3.8 with Rspack v1.3.5. ([#579](#579)) ## @lynx-js/[email protected] ### Patch Changes - Support overriding SWC configuration. ([#563](#563)) Now you can override configuration like `useDefineForClassFields` using `tools.swc`. ```js import { defineConfig } from "@lynx-js/rspeedy"; export default defineConfig({ tools: { swc: { jsc: { transform: { useDefineForClassFields: true, }, }, }, }, }); ``` - Updated dependencies \[[`f1ca29b`](f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[]: - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - fix: create a new lynx-view for lynxjs.org ([#566](#566)) - fix: blank screen issue for 0.0.4 ([#543](#543)) ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support mts event with target methods ([#564](#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([#582](#582)) - Updated dependencies \[[`f1ca29b`](f1ca29b), [`7edf478`](7edf478)]: - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[[`f1ca29b`](f1ca29b), [`8ca9fcb`](8ca9fcb), [`efe6fd7`](efe6fd7)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([#569](#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx ## @lynx-js/[email protected] ### Patch Changes - Updated dependencies \[[`7edf478`](7edf478)]: - @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: allow user to implement custom template load function ([lynx-family#587](lynx-family#587)) ```js lynxView.customTemplateLoader = (url) => { return (await (await fetch(url, { method: 'GET', })).json()); }; ``` - feat: support mts event with target methods ([lynx-family#564](lynx-family#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([lynx-family#582](lynx-family#582)) - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Minor Changes - fix: When list-type is not specified, it is treated as single formatting. ([lynx-family#535](lynx-family#535)) - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support `layoutchange` event for x-overlay-ng ([lynx-family#519](lynx-family#519)) - fix: position:fixed not work in scroll-view ([lynx-family#580](lynx-family#580)) - fix: x-list may cause error: 'Resizeobserver loop completed with undelivered notifications'. ([lynx-family#541](lynx-family#541)) - fix: refactor foldview slot offset logic ([lynx-family#575](lynx-family#575)) - fix: improve x-foldview-ng ([lynx-family#513](lynx-family#513)) - support fling for touch event driven scrolling - allow the height of `x-foldview-slot-ng` + `x-foldview-toolbar-ng` > `x-foldview-ng` - do not prevent horizontal gesture. After this commit we only allow one direction gesture for one touch (start -> end) - feat: add list with waterfall ([#331](lynx-family#331)) ## @lynx-js/[email protected] ### Minor Changes - feat: improve compatibility for chrome 108 & support linear-gradient for nested x-text ([lynx-family#590](lynx-family#590)) **This is a breaking change** - Please upgrade your `@lynx-js/web-elements` to >=0.6.0 - Please upgrade your `@lynx-js/web-core` to >=0.12.0 - The compiled lynx template json won't be impacted. On chrome 108, the `-webkit-background-clip:text` cannot be computed by a `var(--css-var-value-text)` Therefore we move the logic into style transformation logic. Now the following status is supported <text style="color:linear-gradient()"> <text> <text> </text> ## @lynx-js/[email protected] ### Patch Changes - Fix `lynx.loadLazyBundle` is not a function ([lynx-family#568](lynx-family#568)) - fix: flushDelayedLifecycleEvents stack overflow error ([lynx-family#540](lynx-family#540)) ## @lynx-js/[email protected] ### Patch Changes - Support cli option `--no-env` to disable loading of .env files ([#483](lynx-family#483)) - Bump Rsbuild v1.3.8 with Rspack v1.3.5. ([lynx-family#579](lynx-family#579)) ## @lynx-js/[email protected] ### Patch Changes - Support overriding SWC configuration. ([lynx-family#563](lynx-family#563)) Now you can override configuration like `useDefineForClassFields` using `tools.swc`. ```js import { defineConfig } from "@lynx-js/rspeedy"; export default defineConfig({ tools: { swc: { jsc: { transform: { useDefineForClassFields: true, }, }, }, }, }); ``` - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[]: - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - fix: create a new lynx-view for lynxjs.org ([lynx-family#566](lynx-family#566)) - fix: blank screen issue for 0.0.4 ([lynx-family#543](lynx-family#543)) ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - feat: support mts event with target methods ([lynx-family#564](lynx-family#564)) After this commit, developers are allowed to invoke `event.target.setStyleProperty` in mts handler - fix: crash on removing a id attribute ([lynx-family#582](lynx-family#582)) - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b), [`7edf478`](lynx-family@7edf478)]: - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx - Updated dependencies \[[`f1ca29b`](lynx-family@f1ca29b), [`8ca9fcb`](lynx-family@8ca9fcb), [`efe6fd7`](lynx-family@efe6fd7)]: - @lynx-js/[email protected] - @lynx-js/[email protected] - @lynx-js/[email protected] ## @lynx-js/[email protected] ### Patch Changes - feat: fully support MTS ([lynx-family#569](lynx-family#569)) Now use support the following usage - mainthread event - mainthread ref - runOnMainThread/runOnBackground - ref.current.xx ## @lynx-js/[email protected] ### Patch Changes - Updated dependencies \[[`7edf478`](lynx-family@7edf478)]: - @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] ## [email protected] ## @lynx-js/[email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Summary
feat(web): Web Platform supports list with waterfall
Checklist