@lynx-js/web-elements 0.2.4

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.
Files changed (204) hide show
  1. package/CHANGELOG.md +323 -0
  2. package/LICENSE.txt +202 -0
  3. package/Notice.txt +1 -0
  4. package/README.md +47 -0
  5. package/dist/LynxWrapper/LynxWrapper.d.ts +2 -0
  6. package/dist/LynxWrapper/LynxWrapper.js +27 -0
  7. package/dist/LynxWrapper/index.d.ts +1 -0
  8. package/dist/LynxWrapper/index.js +2 -0
  9. package/dist/ScrollView/FadeEdgeLengthAttribute.d.ts +10 -0
  10. package/dist/ScrollView/FadeEdgeLengthAttribute.js +43 -0
  11. package/dist/ScrollView/ScrollAttributes.d.ts +8 -0
  12. package/dist/ScrollView/ScrollAttributes.js +83 -0
  13. package/dist/ScrollView/ScrollIntoView.d.ts +9 -0
  14. package/dist/ScrollView/ScrollIntoView.js +71 -0
  15. package/dist/ScrollView/ScrollView.d.ts +31 -0
  16. package/dist/ScrollView/ScrollView.js +185 -0
  17. package/dist/ScrollView/ScrollViewEvents.d.ts +9 -0
  18. package/dist/ScrollView/ScrollViewEvents.js +146 -0
  19. package/dist/ScrollView/index.d.ts +1 -0
  20. package/dist/ScrollView/index.js +2 -0
  21. package/dist/XAudioTT/XAudioAttribute.d.ts +7 -0
  22. package/dist/XAudioTT/XAudioAttribute.js +93 -0
  23. package/dist/XAudioTT/XAudioEvents.d.ts +8 -0
  24. package/dist/XAudioTT/XAudioEvents.js +116 -0
  25. package/dist/XAudioTT/XAudioTT.d.ts +46 -0
  26. package/dist/XAudioTT/XAudioTT.js +183 -0
  27. package/dist/XAudioTT/index.d.ts +1 -0
  28. package/dist/XAudioTT/index.js +2 -0
  29. package/dist/XAudioTT/utils.d.ts +19 -0
  30. package/dist/XAudioTT/utils.js +66 -0
  31. package/dist/XCanvas/CanvasAttributes.d.ts +12 -0
  32. package/dist/XCanvas/CanvasAttributes.js +78 -0
  33. package/dist/XCanvas/XCanvas.d.ts +5 -0
  34. package/dist/XCanvas/XCanvas.js +32 -0
  35. package/dist/XCanvas/index.d.ts +1 -0
  36. package/dist/XCanvas/index.js +2 -0
  37. package/dist/XFoldViewNg/XFoldviewHeaderNg.d.ts +2 -0
  38. package/dist/XFoldViewNg/XFoldviewHeaderNg.js +32 -0
  39. package/dist/XFoldViewNg/XFoldviewHeaderNgFeatures.d.ts +9 -0
  40. package/dist/XFoldViewNg/XFoldviewHeaderNgFeatures.js +32 -0
  41. package/dist/XFoldViewNg/XFoldviewNg.d.ts +11 -0
  42. package/dist/XFoldViewNg/XFoldviewNg.js +52 -0
  43. package/dist/XFoldViewNg/XFoldviewNgEvents.d.ts +7 -0
  44. package/dist/XFoldViewNg/XFoldviewNgEvents.js +55 -0
  45. package/dist/XFoldViewNg/XFoldviewSlotDragNg.d.ts +2 -0
  46. package/dist/XFoldViewNg/XFoldviewSlotDragNg.js +30 -0
  47. package/dist/XFoldViewNg/XFoldviewSlotNg.d.ts +2 -0
  48. package/dist/XFoldViewNg/XFoldviewSlotNg.js +32 -0
  49. package/dist/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.d.ts +7 -0
  50. package/dist/XFoldViewNg/XFoldviewSlotNgTouchEventsHandler.js +105 -0
  51. package/dist/XFoldViewNg/XFoldviewToolbarNg.d.ts +2 -0
  52. package/dist/XFoldViewNg/XFoldviewToolbarNg.js +30 -0
  53. package/dist/XFoldViewNg/index.d.ts +5 -0
  54. package/dist/XFoldViewNg/index.js +6 -0
  55. package/dist/XImage/DropShadow.d.ts +6 -0
  56. package/dist/XImage/DropShadow.js +30 -0
  57. package/dist/XImage/FilterImage.d.ts +2 -0
  58. package/dist/XImage/FilterImage.js +31 -0
  59. package/dist/XImage/ImageEvents.d.ts +6 -0
  60. package/dist/XImage/ImageEvents.js +68 -0
  61. package/dist/XImage/ImageSrc.d.ts +7 -0
  62. package/dist/XImage/ImageSrc.js +61 -0
  63. package/dist/XImage/XImage.d.ts +2 -0
  64. package/dist/XImage/XImage.js +30 -0
  65. package/dist/XImage/index.d.ts +2 -0
  66. package/dist/XImage/index.js +3 -0
  67. package/dist/XInput/InputBaseAttributes.d.ts +9 -0
  68. package/dist/XInput/InputBaseAttributes.js +99 -0
  69. package/dist/XInput/Placeholder.d.ts +6 -0
  70. package/dist/XInput/Placeholder.js +60 -0
  71. package/dist/XInput/XInput.d.ts +28 -0
  72. package/dist/XInput/XInput.js +129 -0
  73. package/dist/XInput/XInputAttribute.d.ts +9 -0
  74. package/dist/XInput/XInputAttribute.js +52 -0
  75. package/dist/XInput/XInputEvents.d.ts +6 -0
  76. package/dist/XInput/XInputEvents.js +111 -0
  77. package/dist/XInput/index.d.ts +1 -0
  78. package/dist/XInput/index.js +2 -0
  79. package/dist/XList/ListItem.d.ts +2 -0
  80. package/dist/XList/ListItem.js +28 -0
  81. package/dist/XList/XList.d.ts +52 -0
  82. package/dist/XList/XList.js +257 -0
  83. package/dist/XList/XListAttributes.d.ts +8 -0
  84. package/dist/XList/XListAttributes.js +50 -0
  85. package/dist/XList/XListEvents.d.ts +7 -0
  86. package/dist/XList/XListEvents.js +356 -0
  87. package/dist/XList/index.d.ts +2 -0
  88. package/dist/XList/index.js +3 -0
  89. package/dist/XOverlayNg/XOverlayAttributes.d.ts +8 -0
  90. package/dist/XOverlayNg/XOverlayAttributes.js +80 -0
  91. package/dist/XOverlayNg/XOverlayNg.d.ts +2 -0
  92. package/dist/XOverlayNg/XOverlayNg.js +45 -0
  93. package/dist/XOverlayNg/index.d.ts +1 -0
  94. package/dist/XOverlayNg/index.js +2 -0
  95. package/dist/XRefreshView/XRefreshFooter.d.ts +3 -0
  96. package/dist/XRefreshView/XRefreshFooter.js +35 -0
  97. package/dist/XRefreshView/XRefreshHeader.d.ts +3 -0
  98. package/dist/XRefreshView/XRefreshHeader.js +35 -0
  99. package/dist/XRefreshView/XRefreshSubElementIntersectionObserver.d.ts +16 -0
  100. package/dist/XRefreshView/XRefreshSubElementIntersectionObserver.js +52 -0
  101. package/dist/XRefreshView/XRefreshView.d.ts +13 -0
  102. package/dist/XRefreshView/XRefreshView.js +125 -0
  103. package/dist/XRefreshView/XRefreshViewEventsEmitter.d.ts +8 -0
  104. package/dist/XRefreshView/XRefreshViewEventsEmitter.js +246 -0
  105. package/dist/XRefreshView/index.d.ts +3 -0
  106. package/dist/XRefreshView/index.js +4 -0
  107. package/dist/XSvg/XSvg.d.ts +8 -0
  108. package/dist/XSvg/XSvg.js +80 -0
  109. package/dist/XSvg/index.d.ts +1 -0
  110. package/dist/XSvg/index.js +2 -0
  111. package/dist/XSwiper/SwiperItem.d.ts +2 -0
  112. package/dist/XSwiper/SwiperItem.js +28 -0
  113. package/dist/XSwiper/XSwiper.d.ts +14 -0
  114. package/dist/XSwiper/XSwiper.js +231 -0
  115. package/dist/XSwiper/XSwiperAutoScroll.d.ts +8 -0
  116. package/dist/XSwiper/XSwiperAutoScroll.js +63 -0
  117. package/dist/XSwiper/XSwiperCircular.d.ts +8 -0
  118. package/dist/XSwiper/XSwiperCircular.js +191 -0
  119. package/dist/XSwiper/XSwiperEvents.d.ts +8 -0
  120. package/dist/XSwiper/XSwiperEvents.js +144 -0
  121. package/dist/XSwiper/XSwiperIndicator.d.ts +9 -0
  122. package/dist/XSwiper/XSwiperIndicator.js +118 -0
  123. package/dist/XSwiper/index.d.ts +2 -0
  124. package/dist/XSwiper/index.js +3 -0
  125. package/dist/XText/InlineImage.d.ts +11 -0
  126. package/dist/XText/InlineImage.js +56 -0
  127. package/dist/XText/InlineText.d.ts +5 -0
  128. package/dist/XText/InlineText.js +30 -0
  129. package/dist/XText/InlineTruncation.d.ts +5 -0
  130. package/dist/XText/InlineTruncation.js +42 -0
  131. package/dist/XText/RawText.d.ts +7 -0
  132. package/dist/XText/RawText.js +54 -0
  133. package/dist/XText/XText.d.ts +5 -0
  134. package/dist/XText/XText.js +49 -0
  135. package/dist/XText/XTextTruncation.d.ts +11 -0
  136. package/dist/XText/XTextTruncation.js +604 -0
  137. package/dist/XText/index.d.ts +5 -0
  138. package/dist/XText/index.js +6 -0
  139. package/dist/XTextarea/Placeholder.d.ts +7 -0
  140. package/dist/XTextarea/Placeholder.js +59 -0
  141. package/dist/XTextarea/TextareaBaseAttributes.d.ts +6 -0
  142. package/dist/XTextarea/TextareaBaseAttributes.js +70 -0
  143. package/dist/XTextarea/XTextarea.d.ts +21 -0
  144. package/dist/XTextarea/XTextarea.js +101 -0
  145. package/dist/XTextarea/XTextareaAttributes.d.ts +6 -0
  146. package/dist/XTextarea/XTextareaAttributes.js +81 -0
  147. package/dist/XTextarea/XTextareaEvents.d.ts +6 -0
  148. package/dist/XTextarea/XTextareaEvents.js +111 -0
  149. package/dist/XTextarea/index.d.ts +1 -0
  150. package/dist/XTextarea/index.js +2 -0
  151. package/dist/XView/BlurRadius.d.ts +7 -0
  152. package/dist/XView/BlurRadius.js +38 -0
  153. package/dist/XView/XBlurView.d.ts +2 -0
  154. package/dist/XView/XBlurView.js +29 -0
  155. package/dist/XView/XView.d.ts +4 -0
  156. package/dist/XView/XView.js +45 -0
  157. package/dist/XView/index.d.ts +2 -0
  158. package/dist/XView/index.js +3 -0
  159. package/dist/XViewpagerNg/XViewpagerItemNg.d.ts +2 -0
  160. package/dist/XViewpagerNg/XViewpagerItemNg.js +30 -0
  161. package/dist/XViewpagerNg/XViewpagerNg.d.ts +10 -0
  162. package/dist/XViewpagerNg/XViewpagerNg.js +98 -0
  163. package/dist/XViewpagerNg/XViewpagerNgEvents.d.ts +9 -0
  164. package/dist/XViewpagerNg/XViewpagerNgEvents.js +118 -0
  165. package/dist/XViewpagerNg/index.d.ts +2 -0
  166. package/dist/XViewpagerNg/index.js +3 -0
  167. package/dist/all.d.ts +16 -0
  168. package/dist/all.js +17 -0
  169. package/dist/common/Exposure.d.ts +28 -0
  170. package/dist/common/Exposure.js +193 -0
  171. package/dist/common/bindToIntersectionObserver.d.ts +1 -0
  172. package/dist/common/bindToIntersectionObserver.js +23 -0
  173. package/dist/common/commonEventInitConfiguration.d.ts +5 -0
  174. package/dist/common/commonEventInitConfiguration.js +9 -0
  175. package/dist/common/constants.d.ts +4 -0
  176. package/dist/common/constants.js +14 -0
  177. package/dist/common/convertLengthToPx.d.ts +1 -0
  178. package/dist/common/convertLengthToPx.js +25 -0
  179. package/dist/common/renameEvent.d.ts +1 -0
  180. package/dist/common/renameEvent.js +6 -0
  181. package/dist/common/throttle.d.ts +4 -0
  182. package/dist/common/throttle.js +40 -0
  183. package/dist/index.d.ts +4 -0
  184. package/dist/index.js +8 -0
  185. package/dist/lazy.d.ts +1 -0
  186. package/dist/lazy.js +106 -0
  187. package/index.css +19 -0
  188. package/package.json +110 -0
  189. package/src/LynxWrapper/lynx-wrapper.css +12 -0
  190. package/src/ScrollView/scroll-view.css +121 -0
  191. package/src/XAudioTT/x-audio-tt.css +3 -0
  192. package/src/XCanvas/x-canvas.css +16 -0
  193. package/src/XFoldViewNg/x-foldview-ng.css +80 -0
  194. package/src/XImage/x-image.css +82 -0
  195. package/src/XInput/x-input.css +48 -0
  196. package/src/XList/x-list.css +147 -0
  197. package/src/XOverlayNg/x-overlay-ng.css +56 -0
  198. package/src/XRefreshView/x-refresh-view.css +61 -0
  199. package/src/XSvg/x-svg.css +10 -0
  200. package/src/XSwiper/x-swiper.css +319 -0
  201. package/src/XText/x-text.css +272 -0
  202. package/src/XTextarea/x-textarea.css +49 -0
  203. package/src/XViewpagerNg/x-viewpager-ng.css +68 -0
  204. package/src/common-css/linear.css +386 -0
@@ -0,0 +1,272 @@
1
+ /*
2
+ // Copyright 2024 The Lynx Authors. All rights reserved.
3
+ // Licensed under the Apache License Version 2.0 that can be found in the
4
+ // LICENSE file in the root directory of this source tree.
5
+ */
6
+ /* :defined chrome 54,firefox 63, safari 10 */
7
+ x-text {
8
+ display: flex;
9
+ overflow-wrap: break-word;
10
+ --lynx-color: none;
11
+ align-items: stretch;
12
+ }
13
+ x-text:not(:defined) {
14
+ display: none;
15
+ }
16
+
17
+ x-text > * {
18
+ display: none;
19
+ }
20
+
21
+ x-text::part(inner-box) {
22
+ text-overflow: inherit;
23
+ --lynx-color: inherit;
24
+ --lynx-color-gradient: inherit;
25
+ }
26
+
27
+ x-text > x-text::part(inner-box),
28
+ x-text > lynx-wrapper > x-text::part(inner-box) {
29
+ display: inline !important;
30
+ }
31
+ x-text, inline-text {
32
+ --lynx-color-toggle: var(--lynx-color-normal);
33
+ --lynx-color-gradient: var(--lynx-color-toggle,);
34
+ --lynx-color-normal: var(--lynx-color-toggle,);
35
+ }
36
+
37
+ /** For: `-a:var(-b,) -b:var(-a,) -c:var(-a)` -a,-b,-c will can be incorrectly detected as invalid when chrome version lower than 99
38
+ so we not support gradient
39
+ detail: https://issues.chromium.org/issues/40172841
40
+ chrome 99, firefox 46, safari 7
41
+ https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis
42
+
43
+ References:
44
+ https://developer.chrome.com/blog/new-in-chrome-99
45
+ https://chromestatus.com/feature/5679635154075648
46
+ https://developer.mozilla.org/en-US/docs/Web/CSS/text-emphasis
47
+ */
48
+ /* autoprefixer: ignore next */
49
+ @supports (text-emphasis: none) {
50
+ x-text::part(inner-box), inline-text {
51
+ background: var(--lynx-color-gradient, var(--lynx-color)) var(
52
+ --lynx-color-normal,
53
+ initial
54
+ );
55
+ -webkit-text-fill-color: var(--lynx-color-gradient, transparent) var(
56
+ --lynx-color-normal,
57
+ initial
58
+ );
59
+ background-clip: var(--lynx-color-gradient, text) var(
60
+ --lynx-color-normal,
61
+ initial
62
+ );
63
+ /* exist issue: https://github.com/facebook/react/issues/14200 */
64
+ /* import flag is essential on chromium */
65
+ -webkit-background-clip: var(--lynx-color-gradient, text) var(
66
+ --lynx-color-normal,
67
+ initial
68
+ );
69
+ }
70
+ }
71
+ inline-text, inline-image, inline-truncation {
72
+ display: none;
73
+ }
74
+
75
+ /* nested components */
76
+ x-text > x-text:defined,
77
+ x-text > x-text:defined::part(inner-box),
78
+ x-text > inline-text:defined,
79
+ x-text > x-text:defined,
80
+ inline-text > inline-text:defined,
81
+ inline-truncation > inline-text:defined,
82
+ inline-truncation > x-text:defined,
83
+ x-text > lynx-wrapper > x-text:defined,
84
+ x-text > lynx-wrapper > x-text:defined::part(inner-box),
85
+ x-text > lynx-wrapper > inline-text:defined,
86
+ x-text > lynx-wrapper > x-text:defined,
87
+ inline-text > lynx-wrapper > inline-text:defined,
88
+ x-text > lynx-wrapper > x:defined,
89
+ inline-truncation > lynx-wrapper > inline-text:defined,
90
+ inline-truncation > lynx-wrapper > x-text:defined {
91
+ display: inline;
92
+ }
93
+
94
+ x-text > inline-image:defined,
95
+ x-text > x-image:defined,
96
+ inline-truncation > inline-image:defined,
97
+ inline-truncation > x-image:defined,
98
+ inline-text > inline-image:defined,
99
+ inline-text > x-image:defined,
100
+ x-text > lynx-wrapper > inline-image:defined,
101
+ x-text > lynx-wrapper > x-image:defined,
102
+ inline-truncation > lynx-wrapper > inline-image:defined,
103
+ inline-truncation > lynx-wrapper > x-image:defined,
104
+ inline-text > lynx-wrapper > inline-image:defined,
105
+ inline-text > lynx-wrapper > x-image:defined {
106
+ display: contents !important;
107
+ }
108
+ x-text > x-view, x-text > lynx-wrapper > x-view {
109
+ display: inline-flex !important;
110
+ }
111
+ x-text > x-view,
112
+ x-text[x-show-inline-truncation] > inline-truncation,
113
+ x-text > lynx-wrapper > x-view,
114
+ x-text[x-show-inline-truncation] > lynx-wrapper > inline-truncation {
115
+ display: inline-flex;
116
+ }
117
+ x-text > inline-truncation:first-child,
118
+ x-text > lynx-wrapper > inline-truncation:first-child {
119
+ max-width: 100%;
120
+ }
121
+
122
+ inline-truncation ~ inline-truncation {
123
+ display: none;
124
+ }
125
+
126
+ inline-truncation[x-text-clipped] {
127
+ flex-direction: row;
128
+ }
129
+
130
+ inline-image::part(img) {
131
+ display: inline-block;
132
+ height: inherit;
133
+ width: inherit;
134
+ border: inherit;
135
+ border-radius: inherit;
136
+ background-color: inherit;
137
+ vertical-align: inherit;
138
+ margin: inherit;
139
+ }
140
+
141
+ x-text > x-image::part(img),
142
+ x-text > lynx-wrapper > x-image::part(img),
143
+ inline-truncation > x-image::part(img),
144
+ inline-truncation > lynx-wrapper > x-image::part(img) {
145
+ display: inline-block;
146
+ height: inherit !important;
147
+ width: inherit !important;
148
+ border: inherit;
149
+ border-radius: inherit;
150
+ background-color: inherit;
151
+ vertical-align: inherit;
152
+ margin: inherit;
153
+ flex: inherit !important;
154
+ object-fit: inherit;
155
+ align-self: inherit !important;
156
+ }
157
+
158
+ /* attribute text-selection */
159
+
160
+ x-text, inline-text, inline-image, inline-truncation {
161
+ -webkit-user-select: none;
162
+ user-select: none;
163
+ }
164
+
165
+ x-text::part(inner-box) {
166
+ height: 100%;
167
+ width: 100%;
168
+ overflow: inherit;
169
+ }
170
+
171
+ x-text[text-maxline] {
172
+ overflow: hidden;
173
+ }
174
+
175
+ x-text[text-selection],
176
+ x-text[text-selection] > inline-text,
177
+ x-text[text-selection] > x-text,
178
+ x-text[text-selection] > inline-image,
179
+ x-text[text-selection] > x-image,
180
+ x-text[text-selection] > inline-truncation,
181
+ x-text[text-selection] > lynx-wrapper > inline-text,
182
+ x-text[text-selection] > lynx-wrapper > x-text,
183
+ x-text[text-selection] > lynx-wrapper > inline-image,
184
+ x-text[text-selection] > lynx-wrapper > x-image,
185
+ x-text[text-selection] > lynx-wrapper > inline-truncation {
186
+ -webkit-user-select: auto;
187
+ user-select: auto;
188
+ }
189
+ x-text[x-text-clipped] > [x-text-clipped]:not(inline-truncation),
190
+ x-text[x-text-clipped]
191
+ > lynx-wrapper
192
+ > [x-text-clipped]:not(inline-truncation) {
193
+ display: none !important;
194
+ }
195
+
196
+ x-text[x-text-clipped]:not([tail-color-convert="false"])::part(inner-box):after,
197
+ x-text[x-text-clipped]:not([tail-color-convert="false"])::part(inner-box)::after {
198
+ content: "...";
199
+ }
200
+
201
+ x-text[x-text-clipped]:has(inline-truncation)::part(inner-box):after,
202
+ x-text[x-text-clipped][x-text-custom-overflow]::part(inner-box):after,
203
+ x-text[x-text-clipped]:has(inline-truncation)::part(inner-box)::after,
204
+ x-text[x-text-clipped][x-text-custom-overflow]::part(inner-box)::after {
205
+ content: "" !important;
206
+ }
207
+
208
+ /* attribute text-maxline */
209
+ /* In most cases, we do not need to analyze the text layout in Javascript
210
+ * On the following situations, we don't need to do line-clamp
211
+ * 1. no text-maxline setting
212
+ * 2. text-maxline is 0(display:none);
213
+ *
214
+ * On the following situations, we just use the -webkit-line-clamp to implement
215
+ * 1. without customized inline-truncation
216
+ * 2. users do not force we apply styles on the ellipsis
217
+ *
218
+ * Overall, we do calculate the layout of texts with (dispaly:block) for
219
+ * 1. analyze the truncation length for a customized inline-truncation (attribute x-text-custom-overflow, selector :has())
220
+ * 2. users explicit declare that we have to put the ellipsis in place. (with attribute tail-color-convert='false')
221
+ */
222
+ /* ::part chrome 73, firefox 72, safari 13.4 */
223
+ /* :has() chrome 105, firefox 121, safari 15.1 */
224
+ x-text[text-maxline]::part(inner-box) {
225
+ display: -webkit-box;
226
+ -webkit-box-orient: vertical;
227
+ }
228
+
229
+ x-text[text-maxline="0"] {
230
+ display: none;
231
+ }
232
+
233
+ @supports not selector(:has(inline-truncation)) {
234
+ x-text[text-maxline="1"]:not([tail-color-convert="false"]):not([x-text-custom-overflow])::part(inner-box) {
235
+ white-space: nowrap;
236
+ text-overflow: ellipsis;
237
+ }
238
+ }
239
+
240
+ @supports selector(:has(inline-truncation)) {
241
+ /* text-wrap chrome 114, firefox 121, safari 17.4*/
242
+ x-text[text-maxline="1"]:not([tail-color-convert="false"], :has(inline-truncation))::part(inner-box) {
243
+ text-wrap: nowrap;
244
+ white-space: nowrap;
245
+ text-overflow: ellipsis;
246
+ }
247
+ }
248
+ x-text[text-maxline="1"] {
249
+ /* This is the stretch size */
250
+ /* https://developer.mozilla.org/en-US/docs/Web/CSS/max-width */
251
+ max-width: -moz-available;
252
+ max-width: -webkit-fill-available;
253
+ }
254
+ x-text[text-maxline="1"]:not([tail-color-convert="false"])::part(inner-box) {
255
+ display: block;
256
+ }
257
+
258
+ x-text[text-maxline][x-text-custom-overflow]::part(inner-box),
259
+ x-text[text-maxline]:has(inline-truncation)::part(inner-box),
260
+ x-text[text-maxline][tail-color-convert="false"]::part(inner-box) {
261
+ display: block !important;
262
+ }
263
+
264
+ raw-text {
265
+ display: none;
266
+ }
267
+ x-text > raw-text,
268
+ inline-text > raw-text,
269
+ x-text > lynx-wrapper > raw-text,
270
+ inline-text > lynx-wrapper > raw-text {
271
+ display: contents !important;
272
+ }
@@ -0,0 +1,49 @@
1
+ /*
2
+ // Copyright 2024 The Lynx Authors. All rights reserved.
3
+ // Licensed under the Apache License Version 2.0 that can be found in the
4
+ // LICENSE file in the root directory of this source tree.
5
+ */
6
+ x-textarea {
7
+ display: none;
8
+ }
9
+
10
+ x-textarea:defined {
11
+ display: contents;
12
+ }
13
+
14
+ x-textarea::part(form) {
15
+ display: contents;
16
+ }
17
+
18
+ x-textarea::part(textarea), x-textarea::part(form) {
19
+ width: inherit;
20
+ height: inherit;
21
+ font-family: inherit;
22
+ font-size: inherit;
23
+ line-height: inherit;
24
+ flex: inherit;
25
+ border: inherit;
26
+ padding: inherit;
27
+ margin: inherit;
28
+ caret-color: inherit;
29
+ direction: inherit;
30
+ font: inherit;
31
+ letter-spacing: inherit;
32
+ text-align: inherit;
33
+ outline: inherit;
34
+ background-color: inherit;
35
+ }
36
+ x-textarea::part(textarea) {
37
+ --placeholder-color: grey;
38
+ --placeholder-font-size: 14px;
39
+ --placeholder-font-weight: normal;
40
+ --placeholder-font-family: inherit;
41
+ resize: none;
42
+ }
43
+
44
+ x-textarea::part(textarea)::placeholder {
45
+ color: var(--placeholder-color);
46
+ font-size: var(--placeholder-font-size);
47
+ font-weight: var(--placeholder-font-weight);
48
+ font-family: var(--placeholder-font-family);
49
+ }
@@ -0,0 +1,68 @@
1
+ /*
2
+ // Copyright 2024 The Lynx Authors. All rights reserved.
3
+ // Licensed under the Apache License Version 2.0 that can be found in the
4
+ // LICENSE file in the root directory of this source tree.
5
+ */
6
+ x-viewpager-ng, x-viewpager-item-ng {
7
+ display: none;
8
+ }
9
+
10
+ x-viewpager-ng:defined,
11
+ x-viewpager-ng > x-viewpager-item-ng:defined,
12
+ x-viewpager-ng > lynx-wrapper > x-viewpager-item-ng:defined {
13
+ display: flex;
14
+ }
15
+
16
+ x-viewpager-ng {
17
+ flex-direction: row;
18
+ contain: content;
19
+ width: 100%;
20
+ height: 100%;
21
+ overflow-x: scroll;
22
+ overflow-y: clip;
23
+ scrollbar-width: 0;
24
+ flex-direction: row;
25
+ --lynx-linear-orientation: horizontal;
26
+ scroll-snap-type: x mandatory;
27
+ scroll-snap-stop: always;
28
+ }
29
+
30
+ x-viewpager-ng[allow-horizontal-gesture="false"],
31
+ x-viewpager-ng[enable-scroll="false"] {
32
+ overflow-x: hidden;
33
+ }
34
+
35
+ x-viewpager-ng::-webkit-scrollbar {
36
+ display: none;
37
+ }
38
+
39
+ x-viewpager-ng::part(content) {
40
+ scroll-snap-align: start;
41
+ }
42
+
43
+ x-viewpager-ng[bounces]::part(bounce-padding) {
44
+ display: flex;
45
+ }
46
+
47
+ @supports not (overflow: clip) {
48
+ x-viewpager-ng {
49
+ overflow-y: hidden;
50
+ }
51
+ }
52
+
53
+ x-viewpager-item-ng {
54
+ width: 100%;
55
+ height: 100%;
56
+ contain: content;
57
+ flex: 0 0 auto;
58
+ --flex-grow: 0;
59
+ --flex-shrink: 0;
60
+ --flex-basis: auto;
61
+ scroll-snap-align: start;
62
+ scroll-snap-stop: always;
63
+ position: relative !important;
64
+ }
65
+
66
+ x-viewpager-item-ng:nth-child(n+5) {
67
+ contain: strict;
68
+ }