@lynx-js/web-elements-canary 0.10.1-canary-20251229-1bb269b6 → 0.10.1-canary-20251229-34065b5c

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/CHANGELOG.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # @lynx-js/web-elements
2
2
 
3
- ## 0.10.1-canary-20251229091057-1bb269b6c6f58fba293587a98f3fa8e3160cbbba
3
+ ## 0.10.1-canary-20251229113315-34065b5c34d4c753efe23c2752c539b319122248
4
4
 
5
5
  ### Patch Changes
6
6
 
7
7
  - feat: implement x-webview component ([#2061](https://github.com/lynx-family/lynx-stack/pull/2061))
8
8
 
9
+ - feat: support `recyclable="false"` on `list-item` and enable overflow visibility ([#2069](https://github.com/lynx-family/lynx-stack/pull/2069))
10
+
9
11
  ## 0.10.0
10
12
 
11
13
  ### Minor Changes
@@ -1,2 +1,3 @@
1
1
  export declare class ListItem extends HTMLElement {
2
+ static readonly notToFilterFalseAttributes: Set<string>;
2
3
  }
@@ -23,6 +23,9 @@ let ListItem = (() => {
23
23
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
24
24
  ListItem = _classThis = _classDescriptor.value;
25
25
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
26
+ }
27
+ static notToFilterFalseAttributes = new Set(['recyclable']);
28
+ static {
26
29
  __runInitializers(_classThis, _classExtraInitializers);
27
30
  }
28
31
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lynx-js/web-elements-canary",
3
- "version": "0.10.1-canary-20251229-1bb269b6",
3
+ "version": "0.10.1-canary-20251229-34065b5c",
4
4
  "private": false,
5
5
  "repository": {
6
6
  "type": "git",
@@ -17,7 +17,8 @@ x-list > *:not(list-item) {
17
17
  display: none;
18
18
  }
19
19
 
20
- x-list::part(content), x-list[list-type="waterfall"]::part(waterfall-content) {
20
+ x-list::part(content),
21
+ x-list[list-type="waterfall"]::part(waterfall-content) {
21
22
  display: flex;
22
23
  flex: 0 0 auto;
23
24
  flex-wrap: nowrap;
@@ -36,15 +37,18 @@ x-list::part(content), x-list[list-type="waterfall"]::part(waterfall-content) {
36
37
  column-gap: inherit;
37
38
  }
38
39
 
39
- x-list::part(content), x-list::part(slot) {
40
+ x-list::part(content),
41
+ x-list::part(slot) {
40
42
  --lynx-display: inherit;
41
43
  }
42
44
 
43
- x-list, x-list::part(content) {
45
+ x-list,
46
+ x-list::part(content) {
44
47
  scrollbar-width: none;
45
48
  }
46
49
 
47
- x-list::-webkit-scrollbar, x-list::part(content)::-webkit-scrollbar {
50
+ x-list::-webkit-scrollbar,
51
+ x-list::part(content)::-webkit-scrollbar {
48
52
  display: none;
49
53
  }
50
54
 
@@ -65,11 +69,17 @@ list-item {
65
69
  contain-intrinsic-size: none auto var(--estimated-main-axis-size-px, 100cqh);
66
70
  }
67
71
 
72
+ list-item[recyclable="false"] {
73
+ content-visibility: visible;
74
+ contain: initial;
75
+ }
76
+
68
77
  x-list[scroll-orientation="horizontal"] list-item {
69
78
  contain-intrinsic-size: auto var(--estimated-main-axis-size-px, 100cqw) none;
70
79
  }
71
80
 
72
- x-list > list-item, x-list > lynx-wrapper > list-item {
81
+ x-list > list-item,
82
+ x-list > lynx-wrapper > list-item {
73
83
  display: flex;
74
84
  }
75
85
 
@@ -124,7 +134,8 @@ x-list[sticky="true"][scroll-orientation="horizontal"]
124
134
  right: var(--list-item-sticky-offset);
125
135
  }
126
136
 
127
- x-list[item-snap], x-list[paging-enabled] {
137
+ x-list[item-snap],
138
+ x-list[paging-enabled] {
128
139
  scroll-snap-type: y mandatory;
129
140
  scroll-snap-stop: always;
130
141
  }
@@ -134,7 +145,8 @@ x-list[paging-enabled][scroll-orientation="horizontal"] {
134
145
  scroll-snap-type: x mandatory;
135
146
  }
136
147
 
137
- x-list[item-snap] > list-item, x-list[item-snap] > lynx-wrapper > list-item {
148
+ x-list[item-snap] > list-item,
149
+ x-list[item-snap] > lynx-wrapper > list-item {
138
150
  scroll-snap-align: start;
139
151
  }
140
152