@developer_tribe/react-builder 1.2.35 → 1.2.37

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 (98) hide show
  1. package/dist/RenderPage.d.ts +0 -12
  2. package/dist/attributes-editor/Field.d.ts +2 -1
  3. package/dist/attributes-editor/SizeField.d.ts +2 -1
  4. package/dist/attributes-editor/attributesEditorUtils.d.ts +2 -1
  5. package/dist/build-components/BIcon/BIcon.d.ts +0 -3
  6. package/dist/build-components/BIcon/BIconProps.generated.d.ts +1 -0
  7. package/dist/build-components/Button/Button.d.ts +0 -3
  8. package/dist/build-components/CarouselItem/CarouselItem.d.ts +0 -3
  9. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +1 -1
  10. package/dist/build-components/OnboardButton/OnboardButton.d.ts +0 -3
  11. package/dist/build-components/OnboardDot/OnboardDot.d.ts +0 -3
  12. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +1 -0
  13. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +0 -3
  14. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +1 -0
  15. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +1 -0
  16. package/dist/build-components/PaywallCloseButton/PaywallCloseButton.d.ts +0 -3
  17. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +1 -0
  18. package/dist/build-components/PriceTag/PriceTagProps.generated.d.ts +1 -0
  19. package/dist/build-components/Pricing/PricingProps.generated.d.ts +1 -0
  20. package/dist/build-components/Promo/PromoProps.generated.d.ts +1 -0
  21. package/dist/build-components/Text/TextProps.generated.d.ts +1 -0
  22. package/dist/build-components/patterns.generated.d.ts +9798 -10468
  23. package/dist/components/Breadcrumb.d.ts +1 -1
  24. package/dist/index.cjs.js +1 -1
  25. package/dist/index.cjs.js.map +1 -1
  26. package/dist/index.esm.js +1 -1
  27. package/dist/index.esm.js.map +1 -1
  28. package/dist/index.web.cjs.js +3 -3
  29. package/dist/index.web.cjs.js.map +1 -1
  30. package/dist/index.web.esm.js +3 -3
  31. package/dist/index.web.esm.js.map +1 -1
  32. package/dist/migrations/migratePipe.d.ts +2 -1
  33. package/dist/migrations/semver.d.ts +0 -7
  34. package/dist/pages/DebugJsonPage.d.ts +2 -1
  35. package/dist/pages/ProjectDebug.d.ts +2 -1
  36. package/dist/pages/ProjectMigrationPage.d.ts +2 -1
  37. package/dist/pages/ProjectPage.d.ts +2 -1
  38. package/dist/pages/ProjectValidationPage.d.ts +2 -1
  39. package/dist/pages/tabs/SideTool.d.ts +2 -2
  40. package/dist/utils/parseColor.d.ts +1 -1
  41. package/package.json +1 -1
  42. package/scripts/prebuild/assets/prompt_scheme.md +5 -11
  43. package/scripts/prebuild/generate-prompt-schemes.js +11 -8
  44. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +50 -0
  45. package/scripts/prebuild/utils/validatePatternJson.js +73 -0
  46. package/src/RenderPage.tsx +1 -10
  47. package/src/assets/meta.json +1 -1
  48. package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
  49. package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
  50. package/src/attributes-editor/Field.tsx +1 -1
  51. package/src/attributes-editor/SizeField.tsx +1 -1
  52. package/src/attributes-editor/attributesEditorUtils.ts +1 -1
  53. package/src/attributes-editor/useAttributesEditorModel.ts +5 -1
  54. package/src/build-components/BIcon/BIcon.tsx +0 -2
  55. package/src/build-components/BIcon/BIconProps.generated.ts +1 -0
  56. package/src/build-components/BackgroundImage/pattern.json +8 -9
  57. package/src/build-components/Button/Button.tsx +0 -2
  58. package/src/build-components/CarouselDots/CarouselDots.tsx +1 -1
  59. package/src/build-components/CarouselDots/pattern.json +1 -1
  60. package/src/build-components/CarouselItem/CarouselItem.tsx +0 -2
  61. package/src/build-components/CountDown/CountDownProps.generated.ts +1 -1
  62. package/src/build-components/OnboardButton/OnboardButton.tsx +1 -4
  63. package/src/build-components/OnboardButtons/pattern.json +2 -4
  64. package/src/build-components/OnboardDot/OnboardDot.tsx +0 -2
  65. package/src/build-components/OnboardDot/pattern.json +0 -1
  66. package/src/build-components/OnboardFooter/OnboardFooter.tsx +5 -6
  67. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -0
  68. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +0 -3
  69. package/src/build-components/OnboardItem/pattern.json +27 -23
  70. package/src/build-components/OnboardProvider/pattern.json +29 -27
  71. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -0
  72. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -0
  73. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +0 -2
  74. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -0
  75. package/src/build-components/PaywallProvider/PaywallProvider.tsx +0 -10
  76. package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -0
  77. package/src/build-components/Pricing/PricingProps.generated.ts +1 -0
  78. package/src/build-components/Promo/PromoProps.generated.ts +1 -0
  79. package/src/build-components/RadioButton/pattern.json +2 -4
  80. package/src/build-components/Separator/pattern.json +24 -24
  81. package/src/build-components/Text/TextProps.generated.ts +1 -0
  82. package/src/build-components/Text/pattern.json +2 -1
  83. package/src/build-components/View/pattern.json +265 -265
  84. package/src/build-components/patterns.generated.ts +10019 -10689
  85. package/src/components/Breadcrumb.tsx +1 -1
  86. package/src/migrations/migratePipe.ts +1 -1
  87. package/src/migrations/semver.ts +3 -3
  88. package/src/modals/MockableFeatureModal.tsx +3 -1
  89. package/src/modals/PromptManagerModal.tsx +1 -7
  90. package/src/pages/DebugJsonPage.tsx +1 -1
  91. package/src/pages/ProjectDebug.tsx +1 -1
  92. package/src/pages/ProjectMigrationPage.tsx +1 -1
  93. package/src/pages/ProjectPage.tsx +1 -1
  94. package/src/pages/ProjectValidationPage.tsx +1 -1
  95. package/src/pages/tabs/SideTool.tsx +3 -1
  96. package/src/utils/nodeXml.ts +2 -4
  97. package/src/utils/parseColor.ts +5 -6
  98. package/src/utils/useMergedStyle.ts +1 -1
@@ -24,6 +24,7 @@ export interface BIconStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -27,15 +27,7 @@
27
27
  "desiredParent": ["all", "background"],
28
28
  "label": "Background Image",
29
29
  "description": "Background image.",
30
- "styles": {
31
- "resizeMode": {
32
- "label": "Resize Mode",
33
- "description": "How the image fits its container.",
34
- "category": "style",
35
- "specialCategory": null,
36
- "sort": 4
37
- }
38
- },
30
+ "styles": {},
39
31
  "attributes": {
40
32
  "src": {
41
33
  "label": "Src",
@@ -43,6 +35,13 @@
43
35
  "category": "other",
44
36
  "specialCategory": null,
45
37
  "sort": 1
38
+ },
39
+ "resizeMode": {
40
+ "label": "Resize Mode",
41
+ "description": "How the image fits its container.",
42
+ "category": "other",
43
+ "specialCategory": null,
44
+ "sort": 4
46
45
  }
47
46
  }
48
47
  },
@@ -74,5 +74,3 @@ export function Button({ node }: ButtonComponentProps) {
74
74
  </a>
75
75
  );
76
76
  }
77
-
78
- export default React.memo(Button);
@@ -134,7 +134,7 @@ function CarouselDots({ node }: CarouselDotsComponentProps) {
134
134
  style={{
135
135
  width: dotSize,
136
136
  height: dotSize,
137
- backgroundColor: dotColor,
137
+ backgroundColor: dotColor ?? undefined,
138
138
  opacity: isDotSelected ? 1 : inactiveDotOpacity,
139
139
  borderRadius: '9999px',
140
140
  border: 0,
@@ -32,7 +32,7 @@
32
32
  "desiredParent": [">CarouselProvider"],
33
33
  "label": "Carousel Dots",
34
34
  "description": "Renders page indicator dots.",
35
- "styles": {
35
+ "attributes": {
36
36
  "dotType": {
37
37
  "label": "Dot Type",
38
38
  "description": "Style used for the dots.",
@@ -23,5 +23,3 @@ export function CarouselItem({ node }: CarouselItemComponentProps) {
23
23
  </div>
24
24
  );
25
25
  }
26
-
27
- export default React.memo(CarouselItem);
@@ -24,6 +24,7 @@ export interface CountDownStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: never;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -58,7 +59,6 @@ export interface CountDownStyleGenerated {
58
59
  left?: string;
59
60
  right?: string;
60
61
  zIndex?: number;
61
- textAlign?: never;
62
62
  }
63
63
 
64
64
  export interface CountDownPropsGenerated {
@@ -11,7 +11,6 @@ import { useExtractViewStyle } from '../../attribute-analyser/style/web/useExtra
11
11
  import { useMockOSContext, useMockPermission } from '../../mockOS';
12
12
  import { useLocalize } from '../../hooks/useLocalize';
13
13
  import { parseColor } from '../../utils/parseColor';
14
- import { getStyleBag, toAttributeRecord } from '../../utils/attributeStyle';
15
14
 
16
15
  export function OnboardButton({ node }: OnboardButtonComponentProps) {
17
16
  useLogRender('OnboardButton');
@@ -76,7 +75,7 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
76
75
  onClick={handleClick}
77
76
  style={{
78
77
  ...viewStyle,
79
- color: textColor,
78
+ color: textColor ?? undefined,
80
79
  border: 'none',
81
80
  display: 'flex',
82
81
  justifyContent: 'center',
@@ -87,5 +86,3 @@ export function OnboardButton({ node }: OnboardButtonComponentProps) {
87
86
  </button>
88
87
  );
89
88
  }
90
-
91
- export default React.memo(OnboardButton);
@@ -31,16 +31,14 @@
31
31
  "desiredParent": ["=OnboardItem"],
32
32
  "label": "Onboard Buttons",
33
33
  "description": "Wrapper for onboarding button set.",
34
- "styles": {
34
+ "attributes": {
35
35
  "seperatorColor": {
36
36
  "label": "Seperator Color",
37
37
  "description": "Color of the divider line.",
38
38
  "category": "style",
39
39
  "specialCategory": null,
40
40
  "sort": 5
41
- }
42
- },
43
- "attributes": {
41
+ },
44
42
  "buttonType": {
45
43
  "label": "Button Type",
46
44
  "description": "Which onboard button to show.",
@@ -162,5 +162,3 @@ export function OnboardDot({ node }: OnboardDotComponentProps) {
162
162
  </div>
163
163
  );
164
164
  }
165
-
166
- export default React.memo(OnboardDot);
@@ -40,7 +40,7 @@ function buildSegments(
40
40
 
41
41
  for (const p of patterns) {
42
42
  if (!p.value) continue;
43
- const re = new RegExp(escapeRegExp(p.value), 'gi');
43
+ const re = new RegExp(escapeRegExp(p.value), 'g');
44
44
  for (const m of text.matchAll(re)) {
45
45
  if (m.index == null) continue;
46
46
  const matched = m[0];
@@ -94,7 +94,6 @@ function buildSegments(
94
94
  function OnboardFooter({ node }: OnboardFooterComponentProps) {
95
95
  useLogRender('OnboardFooter');
96
96
  node = useNode(node);
97
- console.log('node', node);
98
97
  const attributeName = node.sourceType ?? node.type ?? 'OnboardFooter';
99
98
  const {
100
99
  localization: builderLocalization,
@@ -164,12 +163,12 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
164
163
  const { segments, matchCount } = buildSegments(text, [
165
164
  {
166
165
  value: firstText,
167
- color: parsedFirstColor,
166
+ color: parsedFirstColor ?? undefined,
168
167
  page: attrs?.linkedWordFirstPage,
169
168
  },
170
169
  {
171
170
  value: secondText,
172
- color: parsedSecondColor,
171
+ color: parsedSecondColor ?? undefined,
173
172
  page: attrs?.linkedWordSecondPage,
174
173
  },
175
174
  ]);
@@ -204,7 +203,7 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
204
203
  <span
205
204
  style={{
206
205
  ...mergedTextStyle,
207
- color: parsedFirstColor,
206
+ color: parsedFirstColor ?? undefined,
208
207
  }}
209
208
  onClick={() => handleClick(attrs?.linkedWordFirstPage)}
210
209
  >
@@ -215,7 +214,7 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
215
214
  <span
216
215
  style={{
217
216
  ...mergedTextStyle,
218
- color: parsedSecondColor,
217
+ color: parsedSecondColor ?? undefined,
219
218
  }}
220
219
  onClick={() => handleClick(attrs?.linkedWordSecondPage)}
221
220
  >
@@ -24,6 +24,7 @@ export interface OnboardFooterStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -63,9 +63,6 @@ export interface OnboardItemPropsGenerated {
63
63
  styles?: OnboardItemStyleGenerated;
64
64
  scrollable?: boolean;
65
65
  display?: DisplayOptionType;
66
- gap?: string;
67
- flexDirection?: FlexDirectionOptionType;
68
- paddingHorizontal?: string;
69
66
  };
70
67
  }
71
68
 
@@ -8,9 +8,11 @@
8
8
  "extends": "View",
9
9
  "attributes": {
10
10
  "display": ["flex", "block"],
11
- "gap": "size",
12
- "flexDirection": ["row", "column"],
13
- "paddingHorizontal": "size"
11
+ "styles": {
12
+ "gap": "size",
13
+ "flexDirection": ["row", "column"],
14
+ "paddingHorizontal": "size"
15
+ }
14
16
  }
15
17
  },
16
18
  "defaults": {
@@ -34,26 +36,28 @@
34
36
  "specialCategory": null,
35
37
  "sort": 1
36
38
  },
37
- "gap": {
38
- "label": "Gap",
39
- "description": "Space between child blocks.",
40
- "category": "container",
41
- "specialCategory": null,
42
- "sort": 2
43
- },
44
- "flexDirection": {
45
- "label": "Flex Direction",
46
- "description": "Order of child stacking.",
47
- "category": "container",
48
- "specialCategory": null,
49
- "sort": 3
50
- },
51
- "paddingHorizontal": {
52
- "label": "Padding Horizontal",
53
- "description": "Left and right padding.",
54
- "category": "container",
55
- "specialCategory": "padding",
56
- "sort": 4
39
+ "styles": {
40
+ "gap": {
41
+ "label": "Gap",
42
+ "description": "Space between child blocks.",
43
+ "category": "container",
44
+ "specialCategory": null,
45
+ "sort": 2
46
+ },
47
+ "flexDirection": {
48
+ "label": "Flex Direction",
49
+ "description": "Order of child stacking.",
50
+ "category": "container",
51
+ "specialCategory": null,
52
+ "sort": 3
53
+ },
54
+ "paddingHorizontal": {
55
+ "label": "Padding Horizontal",
56
+ "description": "Left and right padding.",
57
+ "category": "container",
58
+ "specialCategory": "padding",
59
+ "sort": 4
60
+ }
57
61
  }
58
62
  }
59
63
  }
@@ -30,33 +30,35 @@
30
30
  "specialCategory": null,
31
31
  "sort": -10
32
32
  },
33
- "paddingTop": {
34
- "label": "Padding Top",
35
- "description": "Top padding for the provider.",
36
- "category": "container",
37
- "specialCategory": "padding",
38
- "sort": 1
39
- },
40
- "paddingRight": {
41
- "label": "Padding Right",
42
- "description": "Right padding for the provider.",
43
- "category": "container",
44
- "specialCategory": "padding",
45
- "sort": 2
46
- },
47
- "paddingBottom": {
48
- "label": "Padding Bottom",
49
- "description": "Bottom padding for the provider.",
50
- "category": "container",
51
- "specialCategory": "padding",
52
- "sort": 3
53
- },
54
- "paddingLeft": {
55
- "label": "Padding Left",
56
- "description": "Left padding for the provider.",
57
- "category": "container",
58
- "specialCategory": "padding",
59
- "sort": 4
33
+ "styles": {
34
+ "paddingTop": {
35
+ "label": "Padding Top",
36
+ "description": "Top padding for the provider.",
37
+ "category": "container",
38
+ "specialCategory": "padding",
39
+ "sort": 1
40
+ },
41
+ "paddingRight": {
42
+ "label": "Padding Right",
43
+ "description": "Right padding for the provider.",
44
+ "category": "container",
45
+ "specialCategory": "padding",
46
+ "sort": 2
47
+ },
48
+ "paddingBottom": {
49
+ "label": "Padding Bottom",
50
+ "description": "Bottom padding for the provider.",
51
+ "category": "container",
52
+ "specialCategory": "padding",
53
+ "sort": 3
54
+ },
55
+ "paddingLeft": {
56
+ "label": "Padding Left",
57
+ "description": "Left padding for the provider.",
58
+ "category": "container",
59
+ "specialCategory": "padding",
60
+ "sort": 4
61
+ }
60
62
  }
61
63
  }
62
64
  }
@@ -24,6 +24,7 @@ export interface OnboardSubtitleStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -24,6 +24,7 @@ export interface OnboardTitleStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -63,5 +63,3 @@ export function PaywallCloseButton({ node }: PaywallCloseButtonComponentProps) {
63
63
  </a>
64
64
  );
65
65
  }
66
-
67
- export default React.memo(PaywallCloseButton);
@@ -24,6 +24,7 @@ export interface PaywallCloseButtonStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -107,16 +107,6 @@ function PaywallProvider({ node }: PaywallProviderComponentProps) {
107
107
  localize,
108
108
  },
109
109
  );
110
-
111
- console.log('[PaywallProvider] extraction debug', {
112
- platform: platformForExtraction,
113
- selectedProductId,
114
- hasSubscriptionOffers: !!selectedProduct?.subscriptionOffers?.length,
115
- subscriptionOffersCount: selectedProduct?.subscriptionOffers?.length ?? 0,
116
- detailedProductParams,
117
- selectedProduct,
118
- });
119
-
120
110
  const handleClose = useCallback(() => {
121
111
  if (!isBackAllowed) {
122
112
  return;
@@ -28,6 +28,7 @@ export interface PriceTagStyleGenerated {
28
28
  fontSize?: string;
29
29
  fontFamily?: string;
30
30
  fontWeight?: string;
31
+ textAlign?: string;
31
32
  flexDirection?: FlexDirectionOptionType;
32
33
  flexWrap?: FlexWrapOptionType;
33
34
  alignItems?: AlignItemsOptionType;
@@ -24,6 +24,7 @@ export interface PricingStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -24,6 +24,7 @@ export interface PromoStyleGenerated {
24
24
  fontSize?: string;
25
25
  fontFamily?: string;
26
26
  fontWeight?: string;
27
+ textAlign?: string;
27
28
  flexDirection?: FlexDirectionOptionType;
28
29
  flexWrap?: FlexWrapOptionType;
29
30
  alignItems?: AlignItemsOptionType;
@@ -16,7 +16,7 @@
16
16
  "desiredParent": ["all"],
17
17
  "label": "Radio Button",
18
18
  "description": "Generic radio button icon.",
19
- "styles": {
19
+ "attributes": {
20
20
  "color": {
21
21
  "label": "Color",
22
22
  "description": "Radio color.",
@@ -30,9 +30,7 @@
30
30
  "category": "style",
31
31
  "specialCategory": null,
32
32
  "sort": 2
33
- }
34
- },
35
- "attributes": {
33
+ },
36
34
  "selected": {
37
35
  "label": "Selected",
38
36
  "description": "Whether the radio is selected.",
@@ -21,31 +21,31 @@
21
21
  "desiredParent": ["all"],
22
22
  "label": "Separator",
23
23
  "description": "Horizontal line separator.",
24
- "styles": {
25
- "backgroundColor": {
26
- "label": "Color",
27
- "description": "Separator line color.",
28
- "category": "style",
29
- "specialCategory": null,
30
- "sort": 1
31
- }
32
- },
33
24
  "attributes": {
34
- "width": {
35
- "label": "Width",
36
- "description": "Separator width.",
37
- "category": "container",
38
- "specialCategory": null,
39
- "sort": 1,
40
- "preferredScale": "s"
41
- },
42
- "height": {
43
- "label": "Height",
44
- "description": "Separator thickness.",
45
- "category": "container",
46
- "specialCategory": null,
47
- "sort": 2,
48
- "preferredScale": "vs"
25
+ "styles": {
26
+ "backgroundColor": {
27
+ "label": "Color",
28
+ "description": "Separator line color.",
29
+ "category": "style",
30
+ "specialCategory": null,
31
+ "sort": 1
32
+ },
33
+ "width": {
34
+ "label": "Width",
35
+ "description": "Separator width.",
36
+ "category": "container",
37
+ "specialCategory": null,
38
+ "sort": 1,
39
+ "preferredScale": "s"
40
+ },
41
+ "height": {
42
+ "label": "Height",
43
+ "description": "Separator thickness.",
44
+ "category": "container",
45
+ "specialCategory": null,
46
+ "sort": 2,
47
+ "preferredScale": "vs"
48
+ }
49
49
  }
50
50
  }
51
51
  },
@@ -58,6 +58,7 @@ export interface TextStyleGenerated {
58
58
  fontSize?: string;
59
59
  fontFamily?: string;
60
60
  fontWeight?: string;
61
+ textAlign?: string;
61
62
  }
62
63
 
63
64
  export interface TextPropsGenerated {
@@ -14,7 +14,8 @@
14
14
  "color": "color",
15
15
  "fontSize": "size",
16
16
  "fontFamily": "fontFamily",
17
- "fontWeight": "fontWeight"
17
+ "fontWeight": "fontWeight",
18
+ "textAlign": "string"
18
19
  }
19
20
  },
20
21
  "defaults": {