@lynx-js/types 3.4.3 → 3.5.9

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.
@@ -2,244 +2,107 @@
2
2
  // Licensed under the Apache License Version 2.0 that can be found in the
3
3
  // LICENSE file in the root directory of this source tree.
4
4
 
5
- /**
6
- * This file is auto-generated from CSS define files in the css_defines directory.
7
- * Each property's type is determined by:
8
- * 1. For enum types: Uses the values array from the CSS define file
9
- * 2. For properties with keywords: Uses the keywords array as enum values, with (string & {}) for open-ended types
10
- * 3. For other types: Uses string type
11
- */
5
+ import * as CSS from 'csstype';
12
6
 
13
- export type CSSProperties = {
14
- // layout
15
- flexFlow?: string;
16
- marginInlineStart?: string;
17
- marginInlineEnd?: string;
18
- paddingInlineStart?: string;
19
- paddingInlineEnd?: string;
20
- gridTemplateColumns?: string;
21
- gridTemplateRows?: string;
22
- gridAutoColumns?: string;
23
- gridAutoRows?: string;
24
- gridColumnSpan?: number;
25
- gridRowSpan?: number;
26
- gridColumnStart?: string;
27
- gridColumnEnd?: string;
28
- gridRowStart?: string;
29
- gridRowEnd?: string;
30
- gridColumnGap?: string;
31
- gridRowGap?: string;
32
- gridAutoFlow?: 'row' | 'column' | 'dense' | 'row dense' | 'column dense';
33
- maskPosition?: string;
34
- display?: 'none' | 'flex' | 'grid' | 'linear' | 'relative' | 'block' | 'auto';
35
- padding?: string;
36
- paddingLeft?: string;
37
- paddingRight?: string;
38
- paddingTop?: string;
39
- paddingBottom?: string;
40
- margin?: string;
41
- marginLeft?: string;
42
- marginRight?: string;
43
- marginTop?: string;
44
- marginBottom?: string;
45
- flex?: string;
46
- position?: 'absolute' | 'relative' | 'fixed' | 'sticky';
47
- flexGrow?: number;
48
- flexShrink?: number;
49
- flexBasis?: string;
50
- flexDirection?: 'column' | 'row' | 'row-reverse' | 'column-reverse';
51
- flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse';
52
- backgroundPosition?: string;
53
-
54
- // typography
55
- outline?: string;
56
- outlineColor?: string;
57
- outlineStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
58
- outlineWidth?: string;
59
- textDecorationColor?: string;
60
- linearCrossGravity?: 'none' | 'start' | 'end' | 'center' | 'stretch';
61
- borderInlineStartColor?: string;
62
- borderInlineEndColor?: string;
63
- borderInlineStartWidth?: string;
64
- borderInlineEndWidth?: string;
65
- borderInlineStartStyle?: string;
66
- borderInlineEndStyle?: string;
67
- relativeAlignInlineStart?: string;
68
- relativeAlignInlineEnd?: string;
69
- relativeInlineStartOf?: number;
70
- relativeInlineEndOf?: number;
71
- insetInlineStart?: string;
72
- insetInlineEnd?: string;
73
- linearDirection?: string;
74
- textIndent?: string;
75
- textStroke?: string;
76
- textStrokeWidth?: string;
77
- textStrokeColor?: string;
78
- XAutoFontSize?: string;
79
- XAutoFontSizePresetSizes?: string;
80
- fontVariationSettings?: string;
81
- fontFeatureSettings?: string;
82
- fontOpticalSizing?: 'none' | 'auto';
83
- textAlign?: 'left' | 'center' | 'right' | 'start' | 'end' | 'justify';
84
- lineHeight?: string;
85
- textOverflow?: 'clip' | 'ellipsis';
86
- fontSize?: string;
87
- fontWeight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
88
- fontFamily?: string;
89
- fontStyle?: 'normal' | 'italic' | 'oblique';
90
- lineSpacing?: string;
91
- linearOrientation?: 'horizontal' | 'vertical' | 'horizontal-reverse' | 'vertical-reverse' | 'row' | 'column' | 'row-reverse' | 'column-reverse';
92
- linearWeightSum?: number;
93
- linearWeight?: number;
94
- linearGravity?: 'none' | 'top' | 'bottom' | 'left' | 'right' | 'center-vertical' | 'center-horizontal' | 'space-between' | 'start' | 'end' | 'center';
95
- linearLayoutGravity?: 'none' | 'top' | 'bottom' | 'left' | 'right' | 'center-vertical' | 'center-horizontal' | 'fill-vertical' | 'fill-horizontal' | 'center' | 'stretch' | 'start' | 'end';
96
- adaptFontSize?: string;
97
- textDecoration?: 'none' | 'underline' | 'line-through' | (string & {});
98
- textShadow?: string;
99
-
100
- // visual
101
- borderTopColor?: string;
102
- backgroundOrigin?: 'border-box' | 'content-box' | 'padding-box';
103
- backgroundRepeat?: 'no-repeat' | 'repeat-x' | 'repeat-y' | 'repeat' | 'round' | 'space';
104
- backgroundSize?: string;
105
- border?: string;
106
- borderRight?: string;
107
- borderLeft?: string;
108
- borderTop?: string;
109
- borderBottom?: string;
110
- borderBottomColor?: string;
111
- borderLeftStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
112
- borderRightStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
113
- borderTopStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
114
- borderBottomStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
115
- borderRadius?: string;
116
- backgroundClip?: 'border-box' | 'content-box' | 'padding-box' | 'text';
117
- caretColor?: string;
118
- borderTopLeftRadius?: string;
119
- borderBottomLeftRadius?: string;
120
- borderTopRightRadius?: string;
121
- borderBottomRightRadius?: string;
122
- borderStartStartRadius?: string;
123
- borderEndStartRadius?: string;
124
- borderStartEndRadius?: string;
125
- borderEndEndRadius?: string;
126
- borderWidth?: string;
127
- borderLeftWidth?: string;
128
- borderRightWidth?: string;
129
- borderTopWidth?: string;
130
- borderBottomWidth?: string;
131
- XAnimationColorInterpolation?: 'auto' | 'sRGB' | 'linearRGB';
132
- XHandleColor?: string;
133
- color?: string;
134
- background?: string;
135
- borderColor?: string;
136
- backgroundColor?: string;
137
- borderStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
138
- borderLeftColor?: string;
139
- borderRightColor?: string;
140
- backgroundImage?: string;
141
-
142
- // animation
143
- transition?: string;
144
- transitionProperty?: 'none' | 'opacity' | 'scaleX' | 'scaleY' | 'scaleXY' | 'width' | 'height' | 'background-color' | 'visibility' | 'left' | 'top' | 'right' | 'bottom' | 'transform' | 'all' | (string & {});
145
- transitionDuration?: string;
146
- transitionDelay?: string;
147
- transitionTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
148
- implicitAnimation?: string;
149
- enterTransitionName?: string;
150
- exitTransitionName?: string;
151
- pauseTransitionName?: string;
152
- resumeTransitionName?: string;
153
- animation?: string;
154
- animationName?: string;
155
- animationDuration?: string;
156
- animationTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
157
- animationDelay?: string;
158
- animationIterationCount?: string;
159
- animationDirection?: 'normal' | 'reverse' | 'alternate' | 'alternate-reverse';
160
- animationFillMode?: 'none' | 'forwards' | 'backwards' | 'both';
161
- animationPlayState?: 'paused' | 'running';
162
- layoutAnimationCreateDuration?: string;
163
- layoutAnimationCreateTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
164
- layoutAnimationCreateDelay?: string;
165
- layoutAnimationCreateProperty?: 'opacity' | 'scaleX' | 'scaleY' | 'scaleXY' | (string & {});
166
- layoutAnimationDeleteDuration?: string;
167
- layoutAnimationDeleteTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
168
- layoutAnimationDeleteDelay?: string;
169
- layoutAnimationDeleteProperty?: 'opacity' | 'scaleX' | 'scaleY' | 'scaleXY' | (string & {});
170
- layoutAnimationUpdateDuration?: string;
171
- layoutAnimationUpdateTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
172
- layoutAnimationUpdateDelay?: string;
7
+ export type Modify<T, R> = Omit<T, keyof R> & R;
173
8
 
174
- // other
175
- top?: string;
176
- visibility?: 'hidden' | 'visible' | 'none' | 'collapse';
177
- content?: string;
178
- overflowX?: 'hidden' | 'visible' | (string & {});
179
- overflowY?: 'hidden' | 'visible' | (string & {});
180
- wordBreak?: 'normal' | 'break-all' | 'keep-all';
181
- verticalAlign?: 'baseline' | 'sub' | 'super' | 'top' | 'text-top' | 'middle' | 'bottom' | 'text-bottom' | (string & {});
182
- direction?: 'normal' | 'lynx-rtl' | 'rtl' | 'ltr';
183
- relativeId?: number;
184
- relativeAlignTop?: string;
185
- relativeAlignRight?: string;
186
- relativeAlignBottom?: string;
187
- relativeAlignLeft?: string;
188
- relativeTopOf?: number;
189
- relativeRightOf?: number;
190
- relativeBottomOf?: number;
191
- relativeLeftOf?: number;
192
- relativeLayoutOnce?: string;
193
- relativeCenter?: 'none' | 'vertical' | 'horizontal' | 'both';
194
- zIndex?: number;
195
- maskImage?: string;
196
- justifyItems?: 'start' | 'end' | 'center' | 'stretch' | 'auto';
197
- justifySelf?: 'start' | 'end' | 'center' | 'stretch' | 'auto';
198
- filter?: string;
199
- listMainAxisGap?: 'grayscale' | (string & {});
200
- listCrossAxisGap?: string;
201
- perspective?: 'number' | 'vw' | 'vh' | 'default' | 'px';
202
- cursor?: string;
203
- clipPath?: string;
204
- mask?: string;
205
- left?: string;
206
- maskRepeat?: string;
207
- maskClip?: string;
208
- maskOrigin?: string;
209
- maskSize?: string;
210
- gap?: string;
211
- columnGap?: string;
212
- rowGap?: string;
213
- imageRendering?: 'auto' | 'crisp-edges' | 'pixelated';
214
- hyphens?: 'none' | 'manual' | 'auto';
215
- XAppRegion?: 'none' | 'drag' | 'no-drag';
216
- XHandleSize?: string;
217
- offsetDistance?: number;
218
- offsetPath?: string;
219
- offsetRotate?: string;
220
- opacity?: number;
221
- overflow?: 'hidden' | 'visible' | (string & {});
222
- height?: string;
223
- width?: string;
224
- maxWidth?: string;
225
- minWidth?: string;
226
- right?: string;
227
- maxHeight?: string;
228
- minHeight?: string;
229
- bottom?: string;
230
- whiteSpace?: 'normal' | 'nowrap';
231
- letterSpacing?: string;
232
- alignItems?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'auto' | 'start' | 'end' | 'baseline';
233
- alignSelf?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'auto' | 'start' | 'end' | 'baseline';
234
- alignContent?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'space-between' | 'space-around' | 'start' | 'end';
235
- justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'start' | 'end';
236
- boxSizing?: 'border-box' | 'content-box' | 'auto';
237
- transform?: 'translate' | 'translateX' | 'translateY' | 'translateZ' | 'translate' | 'translate3d' | 'translate3D' | 'rotate' | 'rotateX' | 'rotateY' | 'rotateZ' | 'scale' | 'scaleX' | 'scaleY' | (string & {});
238
- order?: number;
239
- boxShadow?: string;
240
- transformOrigin?: 'left' | 'right' | 'top' | 'bottom' | 'center' | (string & {});
241
- aspectRatio?: string;
242
- };
9
+ export type CSSProperties = Modify<
10
+ CSS.Properties<string | number>,
11
+ {
12
+ position?: 'absolute' | 'relative' | 'fixed' | 'sticky';
13
+ boxSizing?: 'border-box' | 'content-box' | 'auto';
14
+ display?: 'none' | 'flex' | 'grid' | 'linear' | 'relative' | 'block' | 'auto';
15
+ overflow?: 'hidden' | 'visible' | (string & {});
16
+ whiteSpace?: 'normal' | 'nowrap';
17
+ textAlign?: 'left' | 'center' | 'right' | 'start' | 'end';
18
+ textOverflow?: 'clip' | 'ellipsis';
19
+ fontWeight?: 'normal' | 'bold' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900';
20
+ flexDirection?: 'column' | 'row' | 'row-reverse' | 'column-reverse';
21
+ flexWrap?: 'wrap' | 'nowrap' | 'wrap-reverse';
22
+ alignContent?: 'flex-start' | 'flex-end' | 'center' | 'stretch' | 'space-between' | 'space-around' | 'start' | 'end';
23
+ justifyContent?: 'flex-start' | 'center' | 'flex-end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch' | 'start' | 'end';
24
+ fontStyle?: 'normal' | 'italic' | 'oblique';
25
+ transform?:
26
+ | 'translate'
27
+ | 'translateX'
28
+ | 'translateY'
29
+ | 'translateZ'
30
+ | 'translate'
31
+ | 'translate3d'
32
+ | 'translate3D'
33
+ | 'rotate'
34
+ | 'rotateX'
35
+ | 'rotateY'
36
+ | 'rotateZ'
37
+ | 'scale'
38
+ | 'scaleX'
39
+ | 'scaleY'
40
+ | (string & {});
41
+ animationTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
42
+ borderStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
43
+ transformOrigin?: 'left' | 'right' | 'top' | 'bottom' | 'center' | (string & {});
44
+ linearDirection?: 'column' | 'row' | 'column-reverse' | 'row-reverse';
45
+ linearOrientation?: 'horizontal' | 'vertical' | 'horizontal-reverse' | 'vertical-reverse';
46
+ linearWeight?: number;
47
+ linearGravity?: 'none' | 'top' | 'bottom' | 'left' | 'right' | 'center-vertical' | 'center-horizontal' | 'space-between' | 'start' | 'end' | 'center';
48
+ linearLayoutGravity?:
49
+ | 'none'
50
+ | 'top'
51
+ | 'bottom'
52
+ | 'left'
53
+ | 'right'
54
+ | 'center-vertical'
55
+ | 'center-horizontal'
56
+ | 'fill-vertical'
57
+ | 'fill-horizontal'
58
+ | 'center'
59
+ | 'stretch'
60
+ | 'start'
61
+ | 'end';
62
+ layoutAnimationCreateTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
63
+ layoutAnimationCreateProperty?: 'opacity' | 'scaleX' | 'scaleY' | 'scaleXY' | (string & {});
64
+ layoutAnimationDeleteTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
65
+ layoutAnimationDeleteProperty?: 'opacity' | 'scaleX' | 'scaleY' | 'scaleXY' | (string & {});
66
+ layoutAnimationUpdateTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
67
+ textDecoration?: 'none' | 'underline' | 'line-through' | (string & {});
68
+ visibility?: 'hidden' | 'visible' | 'none' | 'collapse';
69
+ transitionProperty?:
70
+ | 'none'
71
+ | 'opacity'
72
+ | 'scaleX'
73
+ | 'scaleY'
74
+ | 'scaleXY'
75
+ | 'width'
76
+ | 'height'
77
+ | 'background-color'
78
+ | 'visibility'
79
+ | 'left'
80
+ | 'top'
81
+ | 'right'
82
+ | 'bottom'
83
+ | 'transform'
84
+ | 'all'
85
+ | (string & {});
86
+ transitionTimingFunction?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-ease-out' | 'ease' | 'ease-in-out' | 'square-bezier' | 'cubic-bezier' | (string & {});
87
+ borderLeftStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
88
+ borderRightStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
89
+ borderTopStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
90
+ borderBottomStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
91
+ overflowX?: 'hidden' | 'visible' | (string & {});
92
+ overflowY?: 'hidden' | 'visible' | (string & {});
93
+ wordBreak?: 'normal' | 'break-all' | 'keep-all';
94
+ outlineStyle?: 'solid' | 'dashed' | 'dotted' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset' | 'hidden' | 'none' | (string & {});
95
+ verticalAlign?: 'baseline' | 'sub' | 'super' | 'top' | 'text-top' | 'middle' | 'bottom' | 'text-bottom' | (string & {});
96
+ direction?: 'normal' | 'lynx-rtl' | 'rtl' | 'ltr';
97
+ relativeCenter?: 'none' | 'vertical' | 'horizontal' | 'both';
98
+ linearCrossGravity?: 'none' | 'start' | 'end' | 'center' | 'stretch';
99
+ listMainAxisGap?: 'grayscale' | (string & {});
100
+ fontVariationSettings?: string;
101
+ fontFeatureSettings?: string;
102
+ fontOpticalSizing?: 'none' | 'auto';
103
+ pointerEvents?: 'auto' | 'none';
104
+ }
105
+ >;
243
106
 
244
107
  export type Shorthands =
245
108
  // layout
@@ -262,7 +125,10 @@ export type Longhands =
262
125
  // animation
263
126
  "transitionProperty" | "transitionDuration" | "transitionDelay" | "transitionTimingFunction" | "implicitAnimation" | "enterTransitionName" | "exitTransitionName" | "pauseTransitionName" | "resumeTransitionName" | "animationName" | "animationDuration" | "animationTimingFunction" | "animationDelay" | "animationIterationCount" | "animationDirection" | "animationFillMode" | "animationPlayState" | "layoutAnimationCreateDuration" | "layoutAnimationCreateTimingFunction" | "layoutAnimationCreateDelay" | "layoutAnimationCreateProperty" | "layoutAnimationDeleteDuration" | "layoutAnimationDeleteTimingFunction" | "layoutAnimationDeleteDelay" | "layoutAnimationDeleteProperty" | "layoutAnimationUpdateDuration" | "layoutAnimationUpdateTimingFunction" | "layoutAnimationUpdateDelay" |
264
127
  // other
265
- "top" | "visibility" | "content" | "overflowX" | "overflowY" | "wordBreak" | "verticalAlign" | "direction" | "relativeId" | "relativeAlignTop" | "relativeAlignRight" | "relativeAlignBottom" | "relativeAlignLeft" | "relativeTopOf" | "relativeRightOf" | "relativeBottomOf" | "relativeLeftOf" | "relativeLayoutOnce" | "relativeCenter" | "zIndex" | "maskImage" | "justifyItems" | "justifySelf" | "filter" | "listMainAxisGap" | "listCrossAxisGap" | "perspective" | "cursor" | "clipPath" | "left" | "maskRepeat" | "maskClip" | "maskOrigin" | "maskSize" | "columnGap" | "rowGap" | "imageRendering" | "hyphens" | "XAppRegion" | "XHandleSize" | "offsetDistance" | "offsetPath" | "offsetRotate" | "opacity" | "height" | "width" | "maxWidth" | "minWidth" | "right" | "maxHeight" | "minHeight" | "bottom" | "letterSpacing" | "alignItems" | "alignSelf" | "alignContent" | "justifyContent" | "boxSizing" | "transform" | "order" | "boxShadow" | "transformOrigin" | "aspectRatio";
128
+ "top" | "visibility" | "content" | "overflowX" | "overflowY" | "wordBreak" | "verticalAlign" | "direction" | "relativeId" | "relativeAlignTop" | "relativeAlignRight" | "relativeAlignBottom" | "relativeAlignLeft" | "relativeTopOf" | "relativeRightOf" | "relativeBottomOf" | "relativeLeftOf" | "relativeLayoutOnce" | "relativeCenter" | "zIndex" | "maskImage" | "justifyItems" | "justifySelf" | "filter" | "listMainAxisGap" | "listCrossAxisGap" | "perspective" | "cursor" | "clipPath" | "left" | "maskRepeat" | "maskClip" | "maskOrigin" | "maskSize" | "columnGap" | "rowGap" | "imageRendering" | "hyphens" | "XAppRegion" | "XHandleSize" | "offsetDistance" | "offsetPath" | "offsetRotate" | "opacity" | "height" | "width" | "maxWidth" | "minWidth" | "right" | "maxHeight" | "minHeight" | "bottom" | "letterSpacing" | "alignItems" | "alignSelf" | "alignContent" | "justifyContent" | "boxSizing" | "transform" | "order" | "boxShadow" | "transformOrigin" | "aspectRatio" | "pointerEvents";
266
129
 
267
- export type CSSPropertiesWithShorthands = Pick<CSSProperties, Shorthands>;
268
- export type CSSPropertiesWithLonghands = Pick<CSSProperties, Longhands>;
130
+ // Since `Shorthands` and `Longhands` are auto generated, there may be properties
131
+ // such as `gridColumnSpan` is not manually defined in `CSSProperties` yet.
132
+ // Use `& keyof CSSProperties` to ensure only the defined keys are included to avoid type error.
133
+ export type CSSPropertiesWithShorthands = Pick<CSSProperties, Shorthands & keyof CSSProperties>;
134
+ export type CSSPropertiesWithLonghands = Pick<CSSProperties, Longhands & keyof CSSProperties>;
@@ -7,13 +7,16 @@ import { NoProps } from '../props';
7
7
  import { ComponentProps } from './component';
8
8
  import { FilterImageProps } from './filter-image';
9
9
  import { ImageProps, ImageUIMethods } from './image';
10
- import { ListItemProps, ListProps, ListRowProps, ListUIMethods } from './list';
10
+ import { ListProps, ListUIMethods } from './list';
11
+ import { ListItemProps } from './list-item';
11
12
  import { PageProps } from './page';
12
13
  import { ScrollViewProps, ScrollViewUIMethods } from './scroll-view';
13
- import { TextProps } from './text';
14
+ import { TextProps, TextUIMethods } from './text';
14
15
  import { ViewProps } from './view';
15
16
  import { InputProps, InputUIMethods } from './input';
16
17
  import { TextAreaProps, TextAreaUIMethods } from './textarea';
18
+ import { FrameProps } from './frame';
19
+
17
20
 
18
21
  export interface UIMethods {
19
22
  'list': ListUIMethods;
@@ -21,6 +24,7 @@ export interface UIMethods {
21
24
  'image': ImageUIMethods;
22
25
  'input': InputUIMethods;
23
26
  'textarea': TextAreaUIMethods;
27
+ 'text': TextUIMethods;
24
28
  }
25
29
 
26
30
  type LynxComponentProps = ComponentProps;
@@ -35,7 +39,7 @@ export interface IntrinsicElements {
35
39
  'inline-truncation': NoProps;
36
40
  'list': ListProps;
37
41
  'list-item': ListItemProps;
38
- 'list-row': ListRowProps;
42
+ 'list-row': StandardProps;
39
43
  'page': PageProps;
40
44
  'scroll-view': ScrollViewProps;
41
45
  'text': TextProps;
@@ -43,6 +47,7 @@ export interface IntrinsicElements {
43
47
  'raw-text': StandardProps & { text: number | string };
44
48
  'input': InputProps;
45
49
  'textarea': TextAreaProps;
50
+ 'frame': FrameProps;
46
51
  }
47
52
 
48
53
  declare module 'react' {
@@ -57,7 +62,7 @@ declare module 'react' {
57
62
  'inline-truncation': NoProps;
58
63
  'list': ListProps;
59
64
  'list-item': ListItemProps;
60
- 'list-row': ListRowProps;
65
+ 'list-row': StandardProps;
61
66
  'page': PageProps;
62
67
  'scroll-view': ScrollViewProps;
63
68
  'text': TextProps;
@@ -65,6 +70,7 @@ declare module 'react' {
65
70
  'raw-text': StandardProps & { text: number | string };
66
71
  'input': InputProps;
67
72
  'textarea': TextAreaProps;
73
+ 'frame': FrameProps;
68
74
  }
69
75
  }
70
76
  }
@@ -0,0 +1,25 @@
1
+ // Copyright 2025 The Lynx Authors. All rights reserved.
2
+ // Licensed under the Apache License Version 2.0 that can be found in the
3
+ // LICENSE file in the root directory of this source tree.
4
+
5
+ import { StandardProps } from '../props';
6
+
7
+ export interface FrameProps extends StandardProps {
8
+ /**
9
+ * Sets the loading path for the frame resource.
10
+ * @defaultValue undefined
11
+ * @iOS
12
+ * @Android
13
+ * @since 3.4
14
+ */
15
+ src: string;
16
+
17
+ /**
18
+ * Passes data to the nested Lynx page within the frame.
19
+ * @defaultValue undefined
20
+ * @iOS
21
+ * @Android
22
+ * @since 3.4
23
+ */
24
+ data?: Record<string, unknown> | undefined;
25
+ }