Skip to content

Commit 70efd73

Browse files
committed
chore: extend properties in text/layer style
1 parent 43be051 commit 70efd73

File tree

4 files changed

+186
-47
lines changed

4 files changed

+186
-47
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
'@pandacss/types': patch
3+
---
4+
5+
Enhanced composition types with comprehensive CSS property support
6+
7+
**Text Style Properties:** Added these properties to `theme.textStyles`:
8+
9+
- Added `color` property
10+
- Text layout properties (`direction`, `textAlign`, `writingMode`)
11+
- Advanced text properties (`tabSize`, `hangingPunctuation`, `textDecorationSkip*`, `textStroke*`)
12+
13+
**Layer Style Properties:** Added these properties to `theme.layerStyles`:
14+
15+
- Layout properties (`position`, `zIndex`, `display`, `height`, `width`, `margin*`, `inset*`)
16+
- Visual effects (`clipPath`, `mixBlendMode`, `mask*`)
17+
- Modern properties (`aspectRatio`, `objectFit`, `cursor`, `content`, `transition`)
18+
- Background shorthands (`bg`, `bgColor`, `bgImage`)
19+
- Styling (`borderImage*`, `outline*`, `color`)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
"content": "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'font'\n | 'fontFamily'\n | 'fontFeatureSettings'\n | 'fontKerning'\n | 'fontLanguageOverride'\n | 'fontOpticalSizing'\n | 'fontPalette'\n | 'fontSize'\n | 'fontSizeAdjust'\n | 'fontStretch'\n | 'fontStyle'\n | 'fontSynthesis'\n | 'fontVariant'\n | 'fontVariantAlternates'\n | 'fontVariantCaps'\n | 'fontVariantLigatures'\n | 'fontVariantNumeric'\n | 'fontVariantPosition'\n | 'fontVariationSettings'\n | 'fontWeight'\n | 'hypens'\n | 'hyphenateCharacter'\n | 'hyphenateLimitChars'\n | 'letterSpacing'\n | 'lineBreak'\n | 'lineHeight'\n | 'quotes'\n | 'overflowWrap'\n | 'textCombineUpright'\n | 'textDecoration'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationSkipInk'\n | 'textDecorationStyle'\n | 'textDecorationThickness'\n | 'textEmphasis'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'textIndent'\n | 'textJustify'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\n | 'textShadow'\n | 'textTransform'\n | 'textUnderlineOffset'\n | 'textUnderlinePosition'\n | 'textWrap'\n | 'textWrapMode'\n | 'textWrapStyle'\n | 'verticalAlign'\n | 'whiteSpace'\n | 'wordBreak'\n | 'wordSpacing'\n\nexport type TextStyle = CompositionStyleObject<TextStyleProperty>\n\nexport type TextStyles = Recursive<Token<TextStyle>>\n\n/* -----------------------------------------------------------------------------\n * Layer styles\n * -----------------------------------------------------------------------------*/\n\ntype Placement =\n | 'Top'\n | 'Right'\n | 'Bottom'\n | 'Left'\n | 'Inline'\n | 'Block'\n | 'InlineStart'\n | 'InlineEnd'\n | 'BlockStart'\n | 'BlockEnd'\n\ntype Radius =\n | `Top${'Right' | 'Left'}`\n | `Bottom${'Right' | 'Left'}`\n | `Start${'Start' | 'End'}`\n | `End${'Start' | 'End'}`\n\ntype LayerStyleProperty =\n | 'background'\n | 'backgroundColor'\n | 'backgroundImage'\n | 'borderRadius'\n | 'border'\n | 'borderWidth'\n | 'borderColor'\n | 'borderStyle'\n | 'boxShadow'\n | 'filter'\n | 'backdropFilter'\n | 'transform'\n | 'color'\n | 'opacity'\n | 'backgroundBlendMode'\n | 'backgroundAttachment'\n | 'backgroundClip'\n | 'backgroundOrigin'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundSize'\n | `border${Placement}`\n | `border${Placement}Width`\n | 'borderRadius'\n | `border${Radius}Radius`\n | `border${Placement}Color`\n | `border${Placement}Style`\n | 'padding'\n | `padding${Placement}`\n\nexport type LayerStyle = CompositionStyleObject<LayerStyleProperty>\n\nexport type LayerStyles = Recursive<Token<LayerStyle>>\n\n/* -----------------------------------------------------------------------------\n * Motion styles\n * -----------------------------------------------------------------------------*/\n\ntype AnimationStyleProperty =\n | 'animation'\n | 'animationComposition'\n | 'animationDelay'\n | 'animationDirection'\n | 'animationDuration'\n | 'animationFillMode'\n | 'animationIterationCount'\n | 'animationName'\n | 'animationPlayState'\n | 'animationTimingFunction'\n | 'animationRange'\n | 'animationRangeStart'\n | 'animationRangeEnd'\n | 'animationTimeline'\n | 'transformOrigin'\n\nexport type AnimationStyle = CompositionStyleObject<AnimationStyleProperty>\n\nexport type AnimationStyles = Recursive<Token<AnimationStyle>>\n\nexport interface CompositionStyles {\n textStyles: TextStyles\n layerStyles: LayerStyles\n animationStyles: AnimationStyles\n}\n"
2+
"content": "import type { CompositionStyleObject } from './system-types'\n\ninterface Token<T> {\n value: T\n description?: string\n}\n\ninterface Recursive<T> {\n [key: string]: Recursive<T> | T\n}\n\n/* -----------------------------------------------------------------------------\n * Text styles\n * -----------------------------------------------------------------------------*/\n\ntype TextStyleProperty =\n | 'color'\n | 'direction'\n | 'font'\n | 'fontFamily'\n | 'fontFeatureSettings'\n | 'fontKerning'\n | 'fontLanguageOverride'\n | 'fontOpticalSizing'\n | 'fontPalette'\n | 'fontSize'\n | 'fontSizeAdjust'\n | 'fontStretch'\n | 'fontStyle'\n | 'fontSynthesis'\n | 'fontVariant'\n | 'fontVariantAlternates'\n | 'fontVariantCaps'\n | 'fontVariantLigatures'\n | 'fontVariantNumeric'\n | 'fontVariantPosition'\n | 'fontVariationSettings'\n | 'fontWeight'\n | 'hangingPunctuation'\n | 'hypens'\n | 'hyphenateCharacter'\n | 'hyphenateLimitChars'\n | 'letterSpacing'\n | 'lineBreak'\n | 'lineHeight'\n | 'quotes'\n | 'overflowWrap'\n | 'tabSize'\n | 'textAlign'\n | 'textAlignLast'\n | 'textCombineUpright'\n | 'textDecoration'\n | 'textDecorationColor'\n | 'textDecorationLine'\n | 'textDecorationSkip'\n | 'textDecorationSkipBox'\n | 'textDecorationSkipInk'\n | 'textDecorationSkipInset'\n | 'textDecorationStyle'\n | 'textDecorationThickness'\n | 'textEmphasis'\n | 'textEmphasisColor'\n | 'textEmphasisPosition'\n | 'textEmphasisStyle'\n | 'textIndent'\n | 'textJustify'\n | 'textOrientation'\n | 'textOverflow'\n | 'textRendering'\n | 'textShadow'\n | 'textStroke'\n | 'textStrokeColor'\n | 'textStrokeWidth'\n | 'textTransform'\n | 'textUnderlineOffset'\n | 'textUnderlinePosition'\n | 'textWrap'\n | 'textWrapMode'\n | 'textWrapStyle'\n | 'unicodeBidi'\n | 'verticalAlign'\n | 'whiteSpace'\n | 'wordBreak'\n | 'wordSpacing'\n | 'writingMode'\n\nexport type TextStyle = CompositionStyleObject<TextStyleProperty>\n\nexport type TextStyles = Recursive<Token<TextStyle>>\n\n/* -----------------------------------------------------------------------------\n * Layer styles\n * -----------------------------------------------------------------------------*/\n\ntype LogicalPlacement = 'Inline' | 'Block' | 'InlineStart' | 'InlineEnd' | 'BlockStart' | 'BlockEnd'\n\ntype PhysicalPlacement = 'Top' | 'Right' | 'Bottom' | 'Left'\n\ntype Placement = PhysicalPlacement | LogicalPlacement\n\ntype Radius =\n | `Top${'Right' | 'Left'}`\n | `Bottom${'Right' | 'Left'}`\n | `Start${'Start' | 'End'}`\n | `End${'Start' | 'End'}`\n\ntype LayerStyleProperty =\n | 'aspectRatio'\n | 'background'\n | 'backgroundColor'\n | 'backgroundImage'\n | 'border'\n | 'borderColor'\n | 'borderImage'\n | 'borderImageOutset'\n | 'borderImageRepeat'\n | 'borderImageSlice'\n | 'borderImageSource'\n | 'borderImageWidth'\n | 'borderRadius'\n | 'borderStyle'\n | 'borderWidth'\n | `border${Placement}`\n | `border${Placement}Color`\n | `border${Placement}Style`\n | `border${Placement}Width`\n | 'borderRadius'\n | `border${Radius}Radius`\n | 'boxShadow'\n | 'boxShadowColor'\n | 'clipPath'\n | 'color'\n | 'contain'\n | 'content'\n | 'contentVisibility'\n | 'cursor'\n | 'display'\n | 'filter'\n | 'backdropFilter'\n | 'height'\n | 'width'\n | 'minHeight'\n | 'minWidth'\n | 'maxHeight'\n | 'maxWidth'\n | `margin${Placement}`\n | 'inset'\n | `inset${LogicalPlacement}`\n | Lowercase<PhysicalPlacement>\n | 'isolation'\n | 'mask'\n | 'maskClip'\n | 'maskComposite'\n | 'maskImage'\n | 'maskMode'\n | 'maskOrigin'\n | 'maskPosition'\n | 'maskRepeat'\n | 'maskSize'\n | 'mixBlendMode'\n | 'objectFit'\n | 'objectPosition'\n | 'opacity'\n | 'outline'\n | 'outlineColor'\n | 'outlineOffset'\n | 'outlineStyle'\n | 'outlineWidth'\n | 'overflow'\n | 'overflowX'\n | 'overflowY'\n | 'padding'\n | `padding${Placement}`\n | 'pointerEvents'\n | 'position'\n | 'resize'\n | 'transform'\n | 'transition'\n | 'visibility'\n | 'willChange'\n | 'zIndex'\n | 'backgroundBlendMode'\n | 'backgroundAttachment'\n | 'backgroundClip'\n | 'backgroundOrigin'\n | 'backgroundPosition'\n | 'backgroundRepeat'\n | 'backgroundSize'\n\nexport type LayerStyle = CompositionStyleObject<LayerStyleProperty>\n\nexport type LayerStyles = Recursive<Token<LayerStyle>>\n\n/* -----------------------------------------------------------------------------\n * Motion styles\n * -----------------------------------------------------------------------------*/\n\ntype AnimationStyleProperty =\n | 'animation'\n | 'animationComposition'\n | 'animationDelay'\n | 'animationDirection'\n | 'animationDuration'\n | 'animationFillMode'\n | 'animationIterationCount'\n | 'animationName'\n | 'animationPlayState'\n | 'animationTimingFunction'\n | 'animationRange'\n | 'animationRangeStart'\n | 'animationRangeEnd'\n | 'animationTimeline'\n | 'transformOrigin'\n\nexport type AnimationStyle = CompositionStyleObject<AnimationStyleProperty>\n\nexport type AnimationStyles = Recursive<Token<AnimationStyle>>\n\nexport interface CompositionStyles {\n textStyles: TextStyles\n layerStyles: LayerStyles\n animationStyles: AnimationStyles\n}\n"
33
}

packages/studio/styled-system/types/composition.d.ts

Lines changed: 83 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ interface Recursive<T> {
1515
* -----------------------------------------------------------------------------*/
1616

1717
type TextStyleProperty =
18+
| 'color'
19+
| 'direction'
1820
| 'font'
1921
| 'fontFamily'
2022
| 'fontFeatureSettings'
@@ -35,6 +37,7 @@ type TextStyleProperty =
3537
| 'fontVariantPosition'
3638
| 'fontVariationSettings'
3739
| 'fontWeight'
40+
| 'hangingPunctuation'
3841
| 'hypens'
3942
| 'hyphenateCharacter'
4043
| 'hyphenateLimitChars'
@@ -43,11 +46,17 @@ type TextStyleProperty =
4346
| 'lineHeight'
4447
| 'quotes'
4548
| 'overflowWrap'
49+
| 'tabSize'
50+
| 'textAlign'
51+
| 'textAlignLast'
4652
| 'textCombineUpright'
4753
| 'textDecoration'
4854
| 'textDecorationColor'
4955
| 'textDecorationLine'
56+
| 'textDecorationSkip'
57+
| 'textDecorationSkipBox'
5058
| 'textDecorationSkipInk'
59+
| 'textDecorationSkipInset'
5160
| 'textDecorationStyle'
5261
| 'textDecorationThickness'
5362
| 'textEmphasis'
@@ -60,16 +69,21 @@ type TextStyleProperty =
6069
| 'textOverflow'
6170
| 'textRendering'
6271
| 'textShadow'
72+
| 'textStroke'
73+
| 'textStrokeColor'
74+
| 'textStrokeWidth'
6375
| 'textTransform'
6476
| 'textUnderlineOffset'
6577
| 'textUnderlinePosition'
6678
| 'textWrap'
6779
| 'textWrapMode'
6880
| 'textWrapStyle'
81+
| 'unicodeBidi'
6982
| 'verticalAlign'
7083
| 'whiteSpace'
7184
| 'wordBreak'
7285
| 'wordSpacing'
86+
| 'writingMode'
7387

7488
export type TextStyle = CompositionStyleObject<TextStyleProperty>
7589

@@ -79,17 +93,11 @@ export type TextStyles = Recursive<Token<TextStyle>>
7993
* Layer styles
8094
* -----------------------------------------------------------------------------*/
8195

82-
type Placement =
83-
| 'Top'
84-
| 'Right'
85-
| 'Bottom'
86-
| 'Left'
87-
| 'Inline'
88-
| 'Block'
89-
| 'InlineStart'
90-
| 'InlineEnd'
91-
| 'BlockStart'
92-
| 'BlockEnd'
96+
type LogicalPlacement = 'Inline' | 'Block' | 'InlineStart' | 'InlineEnd' | 'BlockStart' | 'BlockEnd'
97+
98+
type PhysicalPlacement = 'Top' | 'Right' | 'Bottom' | 'Left'
99+
100+
type Placement = PhysicalPlacement | LogicalPlacement
93101

94102
type Radius =
95103
| `Top${'Right' | 'Left'}`
@@ -98,35 +106,87 @@ type Radius =
98106
| `End${'Start' | 'End'}`
99107

100108
type LayerStyleProperty =
109+
| 'aspectRatio'
101110
| 'background'
102111
| 'backgroundColor'
103112
| 'backgroundImage'
104-
| 'borderRadius'
105113
| 'border'
106-
| 'borderWidth'
107114
| 'borderColor'
115+
| 'borderImage'
116+
| 'borderImageOutset'
117+
| 'borderImageRepeat'
118+
| 'borderImageSlice'
119+
| 'borderImageSource'
120+
| 'borderImageWidth'
121+
| 'borderRadius'
108122
| 'borderStyle'
123+
| 'borderWidth'
124+
| `border${Placement}`
125+
| `border${Placement}Color`
126+
| `border${Placement}Style`
127+
| `border${Placement}Width`
128+
| 'borderRadius'
129+
| `border${Radius}Radius`
109130
| 'boxShadow'
131+
| 'boxShadowColor'
132+
| 'clipPath'
133+
| 'color'
134+
| 'contain'
135+
| 'content'
136+
| 'contentVisibility'
137+
| 'cursor'
138+
| 'display'
110139
| 'filter'
111140
| 'backdropFilter'
112-
| 'transform'
113-
| 'color'
141+
| 'height'
142+
| 'width'
143+
| 'minHeight'
144+
| 'minWidth'
145+
| 'maxHeight'
146+
| 'maxWidth'
147+
| `margin${Placement}`
148+
| 'inset'
149+
| `inset${LogicalPlacement}`
150+
| Lowercase<PhysicalPlacement>
151+
| 'isolation'
152+
| 'mask'
153+
| 'maskClip'
154+
| 'maskComposite'
155+
| 'maskImage'
156+
| 'maskMode'
157+
| 'maskOrigin'
158+
| 'maskPosition'
159+
| 'maskRepeat'
160+
| 'maskSize'
161+
| 'mixBlendMode'
162+
| 'objectFit'
163+
| 'objectPosition'
114164
| 'opacity'
165+
| 'outline'
166+
| 'outlineColor'
167+
| 'outlineOffset'
168+
| 'outlineStyle'
169+
| 'outlineWidth'
170+
| 'overflow'
171+
| 'overflowX'
172+
| 'overflowY'
173+
| 'padding'
174+
| `padding${Placement}`
175+
| 'pointerEvents'
176+
| 'position'
177+
| 'resize'
178+
| 'transform'
179+
| 'transition'
180+
| 'visibility'
181+
| 'willChange'
182+
| 'zIndex'
115183
| 'backgroundBlendMode'
116184
| 'backgroundAttachment'
117185
| 'backgroundClip'
118186
| 'backgroundOrigin'
119187
| 'backgroundPosition'
120188
| 'backgroundRepeat'
121189
| 'backgroundSize'
122-
| `border${Placement}`
123-
| `border${Placement}Width`
124-
| 'borderRadius'
125-
| `border${Radius}Radius`
126-
| `border${Placement}Color`
127-
| `border${Placement}Style`
128-
| 'padding'
129-
| `padding${Placement}`
130190

131191
export type LayerStyle = CompositionStyleObject<LayerStyleProperty>
132192

packages/types/src/composition.ts

Lines changed: 83 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ interface Recursive<T> {
1414
* -----------------------------------------------------------------------------*/
1515

1616
type TextStyleProperty =
17+
| 'color'
18+
| 'direction'
1719
| 'font'
1820
| 'fontFamily'
1921
| 'fontFeatureSettings'
@@ -34,6 +36,7 @@ type TextStyleProperty =
3436
| 'fontVariantPosition'
3537
| 'fontVariationSettings'
3638
| 'fontWeight'
39+
| 'hangingPunctuation'
3740
| 'hypens'
3841
| 'hyphenateCharacter'
3942
| 'hyphenateLimitChars'
@@ -42,11 +45,17 @@ type TextStyleProperty =
4245
| 'lineHeight'
4346
| 'quotes'
4447
| 'overflowWrap'
48+
| 'tabSize'
49+
| 'textAlign'
50+
| 'textAlignLast'
4551
| 'textCombineUpright'
4652
| 'textDecoration'
4753
| 'textDecorationColor'
4854
| 'textDecorationLine'
55+
| 'textDecorationSkip'
56+
| 'textDecorationSkipBox'
4957
| 'textDecorationSkipInk'
58+
| 'textDecorationSkipInset'
5059
| 'textDecorationStyle'
5160
| 'textDecorationThickness'
5261
| 'textEmphasis'
@@ -59,16 +68,21 @@ type TextStyleProperty =
5968
| 'textOverflow'
6069
| 'textRendering'
6170
| 'textShadow'
71+
| 'textStroke'
72+
| 'textStrokeColor'
73+
| 'textStrokeWidth'
6274
| 'textTransform'
6375
| 'textUnderlineOffset'
6476
| 'textUnderlinePosition'
6577
| 'textWrap'
6678
| 'textWrapMode'
6779
| 'textWrapStyle'
80+
| 'unicodeBidi'
6881
| 'verticalAlign'
6982
| 'whiteSpace'
7083
| 'wordBreak'
7184
| 'wordSpacing'
85+
| 'writingMode'
7286

7387
export type TextStyle = CompositionStyleObject<TextStyleProperty>
7488

@@ -78,17 +92,11 @@ export type TextStyles = Recursive<Token<TextStyle>>
7892
* Layer styles
7993
* -----------------------------------------------------------------------------*/
8094

81-
type Placement =
82-
| 'Top'
83-
| 'Right'
84-
| 'Bottom'
85-
| 'Left'
86-
| 'Inline'
87-
| 'Block'
88-
| 'InlineStart'
89-
| 'InlineEnd'
90-
| 'BlockStart'
91-
| 'BlockEnd'
95+
type LogicalPlacement = 'Inline' | 'Block' | 'InlineStart' | 'InlineEnd' | 'BlockStart' | 'BlockEnd'
96+
97+
type PhysicalPlacement = 'Top' | 'Right' | 'Bottom' | 'Left'
98+
99+
type Placement = PhysicalPlacement | LogicalPlacement
92100

93101
type Radius =
94102
| `Top${'Right' | 'Left'}`
@@ -97,35 +105,87 @@ type Radius =
97105
| `End${'Start' | 'End'}`
98106

99107
type LayerStyleProperty =
108+
| 'aspectRatio'
100109
| 'background'
101110
| 'backgroundColor'
102111
| 'backgroundImage'
103-
| 'borderRadius'
104112
| 'border'
105-
| 'borderWidth'
106113
| 'borderColor'
114+
| 'borderImage'
115+
| 'borderImageOutset'
116+
| 'borderImageRepeat'
117+
| 'borderImageSlice'
118+
| 'borderImageSource'
119+
| 'borderImageWidth'
120+
| 'borderRadius'
107121
| 'borderStyle'
122+
| 'borderWidth'
123+
| `border${Placement}`
124+
| `border${Placement}Color`
125+
| `border${Placement}Style`
126+
| `border${Placement}Width`
127+
| 'borderRadius'
128+
| `border${Radius}Radius`
108129
| 'boxShadow'
130+
| 'boxShadowColor'
131+
| 'clipPath'
132+
| 'color'
133+
| 'contain'
134+
| 'content'
135+
| 'contentVisibility'
136+
| 'cursor'
137+
| 'display'
109138
| 'filter'
110139
| 'backdropFilter'
111-
| 'transform'
112-
| 'color'
140+
| 'height'
141+
| 'width'
142+
| 'minHeight'
143+
| 'minWidth'
144+
| 'maxHeight'
145+
| 'maxWidth'
146+
| `margin${Placement}`
147+
| 'inset'
148+
| `inset${LogicalPlacement}`
149+
| Lowercase<PhysicalPlacement>
150+
| 'isolation'
151+
| 'mask'
152+
| 'maskClip'
153+
| 'maskComposite'
154+
| 'maskImage'
155+
| 'maskMode'
156+
| 'maskOrigin'
157+
| 'maskPosition'
158+
| 'maskRepeat'
159+
| 'maskSize'
160+
| 'mixBlendMode'
161+
| 'objectFit'
162+
| 'objectPosition'
113163
| 'opacity'
164+
| 'outline'
165+
| 'outlineColor'
166+
| 'outlineOffset'
167+
| 'outlineStyle'
168+
| 'outlineWidth'
169+
| 'overflow'
170+
| 'overflowX'
171+
| 'overflowY'
172+
| 'padding'
173+
| `padding${Placement}`
174+
| 'pointerEvents'
175+
| 'position'
176+
| 'resize'
177+
| 'transform'
178+
| 'transition'
179+
| 'visibility'
180+
| 'willChange'
181+
| 'zIndex'
114182
| 'backgroundBlendMode'
115183
| 'backgroundAttachment'
116184
| 'backgroundClip'
117185
| 'backgroundOrigin'
118186
| 'backgroundPosition'
119187
| 'backgroundRepeat'
120188
| 'backgroundSize'
121-
| `border${Placement}`
122-
| `border${Placement}Width`
123-
| 'borderRadius'
124-
| `border${Radius}Radius`
125-
| `border${Placement}Color`
126-
| `border${Placement}Style`
127-
| 'padding'
128-
| `padding${Placement}`
129189

130190
export type LayerStyle = CompositionStyleObject<LayerStyleProperty>
131191

0 commit comments

Comments
 (0)