@developer_tribe/react-builder 1.2.35 → 1.2.36

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 (96) 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 +0 -7
  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 -7
  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 +4 -4
  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/PriceTag/PriceTagProps.generated.ts +1 -0
  76. package/src/build-components/Pricing/PricingProps.generated.ts +1 -0
  77. package/src/build-components/Promo/PromoProps.generated.ts +1 -0
  78. package/src/build-components/RadioButton/pattern.json +2 -4
  79. package/src/build-components/Separator/pattern.json +24 -24
  80. package/src/build-components/Text/TextProps.generated.ts +1 -0
  81. package/src/build-components/Text/pattern.json +2 -1
  82. package/src/build-components/View/pattern.json +265 -265
  83. package/src/build-components/patterns.generated.ts +10019 -10689
  84. package/src/components/Breadcrumb.tsx +1 -1
  85. package/src/migrations/migratePipe.ts +1 -1
  86. package/src/migrations/semver.ts +3 -3
  87. package/src/modals/MockableFeatureModal.tsx +3 -1
  88. package/src/modals/PromptManagerModal.tsx +1 -7
  89. package/src/pages/DebugJsonPage.tsx +1 -1
  90. package/src/pages/ProjectDebug.tsx +1 -1
  91. package/src/pages/ProjectMigrationPage.tsx +1 -1
  92. package/src/pages/ProjectPage.tsx +1 -1
  93. package/src/pages/ProjectValidationPage.tsx +1 -1
  94. package/src/pages/tabs/SideTool.tsx +1 -1
  95. package/src/utils/nodeXml.ts +2 -4
  96. package/src/utils/parseColor.ts +5 -6
@@ -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);
@@ -164,12 +164,12 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
164
164
  const { segments, matchCount } = buildSegments(text, [
165
165
  {
166
166
  value: firstText,
167
- color: parsedFirstColor,
167
+ color: parsedFirstColor ?? undefined,
168
168
  page: attrs?.linkedWordFirstPage,
169
169
  },
170
170
  {
171
171
  value: secondText,
172
- color: parsedSecondColor,
172
+ color: parsedSecondColor ?? undefined,
173
173
  page: attrs?.linkedWordSecondPage,
174
174
  },
175
175
  ]);
@@ -204,7 +204,7 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
204
204
  <span
205
205
  style={{
206
206
  ...mergedTextStyle,
207
- color: parsedFirstColor,
207
+ color: parsedFirstColor ?? undefined,
208
208
  }}
209
209
  onClick={() => handleClick(attrs?.linkedWordFirstPage)}
210
210
  >
@@ -215,7 +215,7 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
215
215
  <span
216
216
  style={{
217
217
  ...mergedTextStyle,
218
- color: parsedSecondColor,
218
+ color: parsedSecondColor ?? undefined,
219
219
  }}
220
220
  onClick={() => handleClick(attrs?.linkedWordSecondPage)}
221
221
  >
@@ -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;
@@ -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": {