Skip to content

fix: refactor foldview slot offset logic#575

Merged
PupilTong merged 1 commit intolynx-family:mainfrom
PupilTong:p/hw/refactor-foldview-top
Apr 17, 2025
Merged

fix: refactor foldview slot offset logic#575
PupilTong merged 1 commit intolynx-family:mainfrom
PupilTong:p/hw/refactor-foldview-top

Conversation

@PupilTong
Copy link
Collaborator

move style.top calcuate and assignment logic into x-foldview-ng and use the toolbar height(instead of the offset top of x-foldview-slot-ng) to generate offset length.

Before this commit in some situlation(using linear compat), the offsetTop of x-foldview-slot-ng is unstable on first rendering.

move style.top calcuate and assignment logic into x-foldview-ng and use the toolbar height(instead of the offset top of x-foldview-slot-ng) to generate offset length.

Before this commit in some situlation(using linear compat), the offsetTop of x-foldview-slot-ng is unstable on first rendering.
@changeset-bot
Copy link

changeset-bot bot commented Apr 17, 2025

🦋 Changeset detected

Latest commit: 062553f

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@lynx-js/web-elements Patch

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

Copy link
Contributor

Copilot AI left a 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 refactors the foldview slot offset logic by moving the style.top calculation into the x-foldview-ng component and updating related behaviors. Key changes include:

  • Adding resizeObserver logic to x-foldview-toolbar-ng and x-foldview-header-ng for dynamic height updates.
  • Removing redundant scrollableLength logic from x-foldview-slot-ng touch events.
  • Updating x-foldview-slot-ng to assign the first slot instance to the parent element using a symbol property.

Reviewed Changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewToolbarNg.ts Adds connectedCallback and dispose methods using resizeObserver.
packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.ts Removes unused imports, streamlining dependencies.
packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewSlotNg.ts Sets the first slot via a symbol property on the parent element.
packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewNg.ts Introduces resizeObserver logic and private fields for height values.
packages/web-platform/web-elements/src/XFoldViewNg/XFoldviewHeaderNg.ts Migrates header-related resizeObserver logic to the header component.
.changeset/polite-memes-spend.md Documents the patch-level version bump and PR description.

@codecov
Copy link

codecov bot commented Apr 17, 2025

Bundle Report

Changes will increase total bundle size by 339 bytes (0.05%) ⬆️. This is within the configured threshold ✅

Detailed changes
Bundle name Size Change
@lynx-js/web-explorer-web-array-push 315.55kB 339 bytes (0.11%) ⬆️

Affected Assets, Files, and Routes:

view changes for bundle: @lynx-js/web-explorer-web-array-push

Assets Changed:

Asset Name Size Change Total Size Change (%)
static/js/index.js 339 bytes 148.68kB 0.23%

@codspeed-hq
Copy link

codspeed-hq bot commented Apr 17, 2025

CodSpeed Performance Report

Merging #575 will not alter performance

Comparing PupilTong:p/hw/refactor-foldview-top (062553f) with main (07dc5e3)

Summary

✅ 1 untouched benchmarks

@PupilTong PupilTong added this pull request to the merge queue Apr 17, 2025
Merged via the queue into lynx-family:main with commit 110c56f Apr 17, 2025
25 of 26 checks passed
@PupilTong PupilTong deleted the p/hw/refactor-foldview-top branch April 17, 2025 08:52
colinaaa pushed a commit that referenced this pull request Apr 21, 2025
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/web-core@0.12.0

### 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/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### 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/web-style-transformer@0.3.0

### 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/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([#568](#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([#540](#540))

## @lynx-js/rspeedy@0.9.2

### 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/react-rsbuild-plugin@0.9.7

### 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/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### 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/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### 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/web-mainthread-apis@0.12.0

### 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/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### 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/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### 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/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
upupming pushed a commit to upupming/lynx-stack that referenced this pull request Apr 22, 2025
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/web-core@0.12.0

### 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/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### 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/web-style-transformer@0.3.0

### 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/react@0.106.5

### 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/rspeedy@0.9.2

### 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/react-rsbuild-plugin@0.9.7

### 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/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### 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/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### 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/web-mainthread-apis@0.12.0

### 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/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### 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/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### 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/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa pushed a commit that referenced this pull request Apr 24, 2025
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/web-core@0.12.0

### 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/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### 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/web-style-transformer@0.3.0

### 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/react@0.106.5

### Patch Changes

- Fix `lynx.loadLazyBundle` is not a function
([#568](#568))

- fix: flushDelayedLifecycleEvents stack overflow error
([#540](#540))

## @lynx-js/rspeedy@0.9.2

### 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/react-rsbuild-plugin@0.9.7

### 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/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### 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/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### 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/web-mainthread-apis@0.12.0

### 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/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### 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/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### 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/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
colinaaa pushed a commit to colinaaa/lynx-stack that referenced this pull request Apr 24, 2025
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/web-core@0.12.0

### 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/web-worker-runtime@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/web-elements@0.6.0

### 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
([#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/web-style-transformer@0.3.0

### 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/react@0.106.5

### 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/rspeedy@0.9.2

### 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/react-rsbuild-plugin@0.9.7

### 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/react-webpack-plugin@0.6.11
    -   @lynx-js/react-alias-rsbuild-plugin@0.9.7
    -   @lynx-js/react-refresh-webpack-plugin@0.3.2
    -   @lynx-js/web-webpack-plugin@0.6.5

## @lynx-js/web-constants@0.12.0

### 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/web-worker-rpc@0.12.0

## @lynx-js/web-explorer@0.0.5

### 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/web-mainthread-apis@0.12.0

### 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/web-constants@0.12.0
    -   @lynx-js/web-style-transformer@0.3.0

## @lynx-js/web-worker-runtime@0.12.0

### 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/web-mainthread-apis@0.12.0
    -   @lynx-js/web-constants@0.12.0
    -   @lynx-js/web-worker-rpc@0.12.0

## @lynx-js/react-webpack-plugin@0.6.11

### 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/web-webpack-plugin@0.6.5

### Patch Changes

- Updated dependencies
\[[`7edf478`](lynx-family@7edf478)]:
    -   @lynx-js/web-style-transformer@0.3.0

## create-rspeedy@0.9.2



## @lynx-js/react-alias-rsbuild-plugin@0.9.7



## upgrade-rspeedy@0.9.2



## @lynx-js/web-worker-rpc@0.12.0

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants