@developer_tribe/react-builder 1.2.23 → 1.2.25

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 (150) hide show
  1. package/dist/attribute-analyser/style/native/useExtractImageStyle.d.ts +5 -5
  2. package/dist/attribute-analyser/style/native/useExtractTextStyle.d.ts +6 -4
  3. package/dist/attribute-analyser/style/native/useExtractViewStyle.d.ts +5 -3
  4. package/dist/attributes-editor/SpecialCategorySection.d.ts +2 -1
  5. package/dist/attributes-editor/attributesEditorModelTypes.d.ts +2 -0
  6. package/dist/build-components/BIcon/BIconProps.generated.d.ts +0 -2
  7. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +0 -2
  8. package/dist/build-components/Button/ButtonProps.generated.d.ts +0 -2
  9. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +0 -2
  10. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +0 -2
  11. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +0 -2
  12. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +0 -2
  13. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +0 -2
  14. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +0 -2
  15. package/dist/build-components/Counter/CounterProps.generated.d.ts +0 -2
  16. package/dist/build-components/Image/ImageProps.generated.d.ts +0 -2
  17. package/dist/build-components/Main/MainProps.generated.d.ts +0 -2
  18. package/dist/build-components/NavigationBarColor/NavigationBarColorProps.generated.d.ts +0 -2
  19. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +0 -2
  20. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +0 -2
  21. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +0 -2
  22. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +0 -2
  23. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +0 -2
  24. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +0 -2
  25. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +0 -2
  26. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +0 -2
  27. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +0 -2
  28. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +0 -2
  29. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +0 -2
  30. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +0 -2
  31. package/dist/build-components/PaywallCounter/PaywallCounterProps.generated.d.ts +0 -2
  32. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +0 -2
  33. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +0 -2
  34. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +0 -2
  35. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +0 -2
  36. package/dist/build-components/Separator/SeparatorProps.generated.d.ts +0 -2
  37. package/dist/build-components/StatusBarColor/StatusBarColorProps.generated.d.ts +0 -2
  38. package/dist/build-components/Text/TextProps.generated.d.ts +0 -2
  39. package/dist/build-components/patterns.generated.d.ts +80 -66
  40. package/dist/index.cjs.js +2 -2
  41. package/dist/index.cjs.js.map +1 -1
  42. package/dist/index.d.ts +3 -1
  43. package/dist/index.esm.js +2 -2
  44. package/dist/index.esm.js.map +1 -1
  45. package/dist/index.web.cjs.js +3 -3
  46. package/dist/index.web.cjs.js.map +1 -1
  47. package/dist/index.web.esm.js +3 -3
  48. package/dist/index.web.esm.js.map +1 -1
  49. package/dist/pages/ProjectPage.d.ts +2 -2
  50. package/dist/pages/projectPageUtils.d.ts +7 -1
  51. package/dist/types/Project.d.ts +6 -0
  52. package/dist/utils/attributeStyle.d.ts +12 -0
  53. package/dist/utils/patterns.d.ts +2 -0
  54. package/package.json +6 -1
  55. package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +11 -2
  56. package/src/AttributesEditor.tsx +15 -4
  57. package/src/assets/meta.json +1 -1
  58. package/src/assets/samples/paywall-1.json +5 -5
  59. package/src/assets/samples/paywall-2.json +5 -5
  60. package/src/assets/samples/paywall-app-delete-offer.json +0 -1
  61. package/src/assets/samples/paywall-app-open-offer.json +0 -1
  62. package/src/assets/samples/paywall-back-offer.json +0 -1
  63. package/src/assets/samples/paywall-notification-offer.json +0 -1
  64. package/src/assets/samples/simple-2.json +0 -1
  65. package/src/attribute-analyser/style/native/useExtractImageStyle.ts +19 -15
  66. package/src/attribute-analyser/style/native/useExtractTextStyle.ts +25 -15
  67. package/src/attribute-analyser/style/native/useExtractViewStyle.ts +19 -21
  68. package/src/attributes-editor/AttributesEditorView.tsx +43 -36
  69. package/src/attributes-editor/SpecialCategorySection.tsx +5 -3
  70. package/src/attributes-editor/attributesEditorModelTypes.ts +2 -0
  71. package/src/attributes-editor/useAttributesEditorModel.ts +6 -0
  72. package/src/build-components/BIcon/BIconProps.generated.ts +0 -2
  73. package/src/build-components/BIcon/pattern.json +5 -3
  74. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +0 -2
  75. package/src/build-components/BackgroundImage/pattern.json +12 -4
  76. package/src/build-components/Button/ButtonProps.generated.ts +0 -2
  77. package/src/build-components/Button/pattern.json +5 -3
  78. package/src/build-components/Carousel/CarouselProps.generated.ts +0 -2
  79. package/src/build-components/Carousel/pattern.json +11 -5
  80. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +0 -2
  81. package/src/build-components/CarouselButtons/pattern.json +11 -4
  82. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +0 -2
  83. package/src/build-components/CarouselDots/pattern.json +5 -3
  84. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +0 -2
  85. package/src/build-components/CarouselItem/pattern.json +6 -6
  86. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +0 -2
  87. package/src/build-components/CarouselProvider/pattern.json +6 -5
  88. package/src/build-components/CountDown/CountDownProps.generated.ts +0 -2
  89. package/src/build-components/CountDown/pattern.json +6 -3
  90. package/src/build-components/Counter/CounterProps.generated.ts +0 -2
  91. package/src/build-components/Counter/pattern.json +5 -1
  92. package/src/build-components/Image/ImageProps.generated.ts +0 -2
  93. package/src/build-components/Image/pattern.json +7 -2
  94. package/src/build-components/Main/MainProps.generated.ts +0 -2
  95. package/src/build-components/Main/pattern.json +5 -3
  96. package/src/build-components/NavigationBarColor/NavigationBarColorProps.generated.ts +0 -2
  97. package/src/build-components/NavigationBarColor/pattern.json +5 -3
  98. package/src/build-components/Onboard/OnboardProps.generated.ts +0 -2
  99. package/src/build-components/Onboard/pattern.json +9 -7
  100. package/src/build-components/OnboardButton/OnboardButton.tsx +19 -5
  101. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +0 -2
  102. package/src/build-components/OnboardButton/pattern.json +16 -5
  103. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +0 -2
  104. package/src/build-components/OnboardButtons/pattern.json +17 -6
  105. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +0 -2
  106. package/src/build-components/OnboardDot/pattern.json +5 -3
  107. package/src/build-components/OnboardFooter/OnboardFooter.tsx +15 -4
  108. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +0 -2
  109. package/src/build-components/OnboardFooter/pattern.json +5 -3
  110. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +0 -2
  111. package/src/build-components/OnboardImage/pattern.json +7 -3
  112. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +0 -2
  113. package/src/build-components/OnboardItem/pattern.json +13 -5
  114. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +0 -2
  115. package/src/build-components/OnboardProvider/pattern.json +10 -4
  116. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +0 -2
  117. package/src/build-components/OnboardSubtitle/pattern.json +7 -6
  118. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +0 -2
  119. package/src/build-components/OnboardTitle/pattern.json +7 -6
  120. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +0 -2
  121. package/src/build-components/PaywallBackground/pattern.json +5 -5
  122. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +0 -2
  123. package/src/build-components/PaywallCloseButton/pattern.json +6 -6
  124. package/src/build-components/PaywallCounter/PaywallCounterProps.generated.ts +0 -2
  125. package/src/build-components/PaywallCounter/pattern.json +6 -3
  126. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +0 -2
  127. package/src/build-components/PaywallOptions/pattern.json +6 -6
  128. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +0 -2
  129. package/src/build-components/PaywallProvider/pattern.json +5 -3
  130. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +0 -2
  131. package/src/build-components/PaywallSubscribeButton/pattern.json +6 -6
  132. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +0 -2
  133. package/src/build-components/RadioButton/pattern.json +5 -3
  134. package/src/build-components/Separator/SeparatorProps.generated.ts +0 -2
  135. package/src/build-components/Separator/pattern.json +5 -3
  136. package/src/build-components/StatusBarColor/StatusBarColorProps.generated.ts +0 -2
  137. package/src/build-components/StatusBarColor/pattern.json +5 -3
  138. package/src/build-components/Text/TextProps.generated.ts +0 -2
  139. package/src/build-components/Text/pattern.json +11 -5
  140. package/src/build-components/View/pattern.json +18 -4
  141. package/src/build-components/patterns.generated.ts +72 -66
  142. package/src/components/AttributesEditorPanel.tsx +48 -32
  143. package/src/components/Builder.tsx +4 -1
  144. package/src/components/BuilderProvider.tsx +6 -6
  145. package/src/index.ts +4 -1
  146. package/src/pages/ProjectPage.tsx +45 -22
  147. package/src/pages/projectPageUtils.ts +15 -1
  148. package/src/types/Project.ts +7 -0
  149. package/src/utils/attributeStyle.ts +78 -0
  150. package/src/utils/patterns.ts +2 -0
@@ -2,17 +2,26 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardButtons",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
- "buttonType": ["previous_button", "next_button", "skip_button"],
10
+ "buttonType": [
11
+ "previous_button",
12
+ "next_button",
13
+ "skip_button"
14
+ ],
11
15
  "skipNumber": "number",
12
- "buttons_direction": ["row", "column"],
16
+ "buttons_direction": [
17
+ "row",
18
+ "column"
19
+ ],
13
20
  "forIndex": "number",
14
21
  "seperatorColor": "color",
15
- "condition": ["carousel-index"],
22
+ "condition": [
23
+ "carousel-index"
24
+ ],
16
25
  "conditionVariable": "number"
17
26
  },
18
27
  "defaults": {
@@ -28,7 +37,9 @@
28
37
  }
29
38
  },
30
39
  "meta": {
31
- "desiredParent": ["=OnboardItem"],
40
+ "desiredParent": [
41
+ "=OnboardItem"
42
+ ],
32
43
  "label": "Onboard Buttons",
33
44
  "description": "Wrapper for onboarding button set.",
34
45
  "styles": {
@@ -68,8 +68,6 @@ export interface OnboardDotPropsGenerated {
68
68
  attributes: {
69
69
  style?: OnboardDotStyleGenerated;
70
70
  scrollable?: boolean;
71
- title?: string;
72
- description?: string;
73
71
  dotType?: DotTypeOptionType;
74
72
  dot_thickness?: string;
75
73
  inactive_dot_opacity?: number;
@@ -2,11 +2,11 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardDot",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
10
  "dotType": [
11
11
  "expanding_dot",
12
12
  "normal_dot",
@@ -37,7 +37,9 @@
37
37
  }
38
38
  },
39
39
  "meta": {
40
- "desiredParent": [">OnboardProvider"],
40
+ "desiredParent": [
41
+ ">OnboardProvider"
42
+ ],
41
43
  "label": "Onboard Dot",
42
44
  "description": "Renders onboarding progress dots.",
43
45
  "styles": {
@@ -9,6 +9,7 @@ import { isNodeSelected, SELECTED_OUTLINE_STYLE } from '../../utils/selection';
9
9
  import { useMergedStyle } from '../../utils/useMergedStyle';
10
10
  import { defaultAppConfig } from '../../types/PreviewConfig';
11
11
  import { parseColor } from '../../utils/parseColor';
12
+ import { getStyleBag, toAttributeRecord } from '../../utils/attributeStyle';
12
13
 
13
14
  type Segment =
14
15
  | { type: 'text'; value: string }
@@ -107,26 +108,36 @@ function OnboardFooter({ node }: OnboardFooterComponentProps) {
107
108
  key ? (localication?.[defaultLanguage ?? 'en']?.[key] ?? key) : '';
108
109
 
109
110
  const attrs = node?.attributes;
111
+ const attrRecord = toAttributeRecord(attrs);
112
+ const styleBag = getStyleBag(attrs);
110
113
  const text = t(attrs?.textLocalizationKey);
111
114
  const textStyle = useExtractTextStyle(node, true);
112
115
  const viewStyle = useExtractViewStyle(node);
113
116
 
117
+ // Read linked-word colors from both top-level attributes and the styles bag.
118
+ // The editor saves them inside `styles` (meta category === 'style'),
119
+ // but legacy JSON may have them at the top level.
120
+ const rawFirstColor = (attrRecord.linkedWordFirstColor ??
121
+ styleBag?.linkedWordFirstColor) as string | undefined;
122
+ const rawSecondColor = (attrRecord.linkedWordSecondColor ??
123
+ styleBag?.linkedWordSecondColor) as string | undefined;
124
+
114
125
  // Parse colors for linked words
115
126
  const parsedFirstColor = useMemo(
116
127
  () =>
117
- parseColor(attrs?.linkedWordFirstColor, {
128
+ parseColor(rawFirstColor, {
118
129
  projectColors,
119
130
  theme,
120
131
  }),
121
- [attrs?.linkedWordFirstColor, projectColors, theme],
132
+ [rawFirstColor, projectColors, theme],
122
133
  );
123
134
  const parsedSecondColor = useMemo(
124
135
  () =>
125
- parseColor(attrs?.linkedWordSecondColor, {
136
+ parseColor(rawSecondColor, {
126
137
  projectColors,
127
138
  theme,
128
139
  }),
129
- [attrs?.linkedWordSecondColor, projectColors, theme],
140
+ [rawSecondColor, projectColors, theme],
130
141
  );
131
142
 
132
143
  const mergedTextStyle = useMergedStyle(textStyle, {
@@ -66,8 +66,6 @@ export interface OnboardFooterPropsGenerated {
66
66
  child: string;
67
67
  attributes: {
68
68
  style?: OnboardFooterStyleGenerated;
69
- title?: string;
70
- description?: string;
71
69
  adjustsFontSizeToFit?: boolean;
72
70
  showEllipsis?: boolean;
73
71
  scrollable?: boolean;
@@ -2,11 +2,11 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardFooter",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "Text",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
10
  "textLocalizationKey": "string",
11
11
  "linkedWordFirstLocalizationKey": "string",
12
12
  "linkedWordFirstColor": "color",
@@ -27,7 +27,9 @@
27
27
  }
28
28
  },
29
29
  "meta": {
30
- "desiredParent": [">OnboardItem"],
30
+ "desiredParent": [
31
+ ">OnboardItem"
32
+ ],
31
33
  "label": "Onboard Footer",
32
34
  "description": "Footer text with optional links.",
33
35
  "styles": {
@@ -62,8 +62,6 @@ export interface OnboardImagePropsGenerated {
62
62
  child: string;
63
63
  attributes: {
64
64
  style?: OnboardImageStyleGenerated;
65
- title?: string;
66
- description?: string;
67
65
  src?: string;
68
66
  scrollable?: boolean;
69
67
  video_url?: string;
@@ -2,17 +2,21 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardImage",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "Image",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
10
  "video_url": "string",
11
11
  "lottie": "string"
12
12
  }
13
13
  },
14
14
  "meta": {
15
- "desiredParent": [">OnboardProvider", ">OnboardItem", "!=Onboard"],
15
+ "desiredParent": [
16
+ ">OnboardProvider",
17
+ ">OnboardItem",
18
+ "!=Onboard"
19
+ ],
16
20
  "label": "Onboard Image",
17
21
  "description": "Onboarding hero image with media.",
18
22
  "styles": {},
@@ -62,8 +62,6 @@ export interface OnboardItemPropsGenerated {
62
62
  attributes: {
63
63
  style?: OnboardItemStyleGenerated;
64
64
  scrollable?: boolean;
65
- title?: string;
66
- description?: string;
67
65
  display?: DisplayOptionType;
68
66
  gap?: string;
69
67
  flexDirection?: FlexDirectionOptionType;
@@ -2,14 +2,20 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardItem",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
- "display": ["flex", "block"],
10
+ "display": [
11
+ "flex",
12
+ "block"
13
+ ],
11
14
  "gap": "size",
12
- "flexDirection": ["row", "column"],
15
+ "flexDirection": [
16
+ "row",
17
+ "column"
18
+ ],
13
19
  "paddingHorizontal": "size"
14
20
  }
15
21
  },
@@ -22,7 +28,9 @@
22
28
  }
23
29
  },
24
30
  "meta": {
25
- "desiredParent": ["=Onboard"],
31
+ "desiredParent": [
32
+ "=Onboard"
33
+ ],
26
34
  "label": "Onboard Item",
27
35
  "description": "Single onboarding screen section.",
28
36
  "styles": {},
@@ -62,8 +62,6 @@ export interface OnboardProviderPropsGenerated {
62
62
  attributes: {
63
63
  style?: OnboardProviderStyleGenerated;
64
64
  scrollable?: boolean;
65
- title?: string;
66
- description?: string;
67
65
  theme?: ThemeOptionType;
68
66
  borderRadius?: never;
69
67
  };
@@ -2,12 +2,16 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardProvider",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
- "theme": ["light", "dark", "all"],
10
+ "theme": [
11
+ "light",
12
+ "dark",
13
+ "all"
14
+ ],
11
15
  "borderRadius": "never"
12
16
  }
13
17
  },
@@ -18,7 +22,9 @@
18
22
  }
19
23
  },
20
24
  "meta": {
21
- "desiredParent": ["root"],
25
+ "desiredParent": [
26
+ "root"
27
+ ],
22
28
  "label": "Onboard Provider",
23
29
  "description": "Provides shared settings for onboarding.",
24
30
  "styles": {},
@@ -66,8 +66,6 @@ export interface OnboardSubtitlePropsGenerated {
66
66
  child: string;
67
67
  attributes: {
68
68
  style?: OnboardSubtitleStyleGenerated;
69
- title?: string;
70
- description?: string;
71
69
  adjustsFontSizeToFit?: boolean;
72
70
  showEllipsis?: boolean;
73
71
  scrollable?: boolean;
@@ -2,12 +2,10 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardSubtitle",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "string",
6
- "extends": "Text",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- }
8
+ "extends": "Text"
11
9
  },
12
10
  "defaults": {
13
11
  "style": {
@@ -16,7 +14,10 @@
16
14
  }
17
15
  },
18
16
  "meta": {
19
- "desiredParent": [">OnboardProvider", ">OnboardItem"],
17
+ "desiredParent": [
18
+ ">OnboardProvider",
19
+ ">OnboardItem"
20
+ ],
20
21
  "label": "Onboard Subtitle",
21
22
  "description": "Subtitle text for an onboarding step.",
22
23
  "styles": {}
@@ -66,8 +66,6 @@ export interface OnboardTitlePropsGenerated {
66
66
  child: string;
67
67
  attributes: {
68
68
  style?: OnboardTitleStyleGenerated;
69
- title?: string;
70
- description?: string;
71
69
  adjustsFontSizeToFit?: boolean;
72
70
  showEllipsis?: boolean;
73
71
  scrollable?: boolean;
@@ -2,12 +2,10 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "OnboardTitle",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "string",
6
- "extends": "Text",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- }
8
+ "extends": "Text"
11
9
  },
12
10
  "defaults": {
13
11
  "style": {
@@ -17,7 +15,10 @@
17
15
  }
18
16
  },
19
17
  "meta": {
20
- "desiredParent": [">OnboardItem", ">OnboardProvider"],
18
+ "desiredParent": [
19
+ ">OnboardItem",
20
+ ">OnboardProvider"
21
+ ],
21
22
  "label": "Onboard Title",
22
23
  "description": "Title text for an onboarding step.",
23
24
  "styles": {}
@@ -61,8 +61,6 @@ export interface PaywallBackgroundPropsGenerated {
61
61
  child: string;
62
62
  attributes: {
63
63
  style?: PaywallBackgroundStyleGenerated;
64
- title?: string;
65
- description?: string;
66
64
  src?: string;
67
65
  resizeMode?: ResizeModeOptionType;
68
66
  scrollable?: boolean;
@@ -2,12 +2,10 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallBackground",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
8
  "extends": "BackgroundImage",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- },
11
9
  "defaults": {
12
10
  "resizeMode": "cover",
13
11
  "style": {
@@ -22,7 +20,9 @@
22
20
  }
23
21
  },
24
22
  "meta": {
25
- "desiredParent": [">PaywallProvider"],
23
+ "desiredParent": [
24
+ ">PaywallProvider"
25
+ ],
26
26
  "label": "Paywall Background",
27
27
  "description": "Paywall Background component.",
28
28
  "styles": {}
@@ -66,8 +66,6 @@ export interface PaywallCloseButtonPropsGenerated {
66
66
  child: string;
67
67
  attributes: {
68
68
  style?: PaywallCloseButtonStyleGenerated;
69
- title?: string;
70
- description?: string;
71
69
  iconType?: string;
72
70
  size?: number;
73
71
  strokeWidth?: number;
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallCloseButton",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
- "extends": "BIcon",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- }
8
+ "extends": "BIcon"
11
9
  },
12
10
  "meta": {
13
- "desiredParent": [">PaywallProvider"],
11
+ "desiredParent": [
12
+ ">PaywallProvider"
13
+ ],
14
14
  "label": "Paywall Close Button",
15
15
  "description": "Paywall Close Button component.",
16
16
  "styles": {}
@@ -67,8 +67,6 @@ export interface PaywallCounterPropsGenerated {
67
67
  attributes: {
68
68
  style?: PaywallCounterStyleGenerated;
69
69
  count?: number;
70
- title?: string;
71
- description?: string;
72
70
  adjustsFontSizeToFit?: boolean;
73
71
  showEllipsis?: boolean;
74
72
  scrollable?: boolean;
@@ -2,12 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallCounter",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
- "extends": "Counter",
7
- "attributes": {}
8
+ "extends": "Counter"
8
9
  },
9
10
  "meta": {
10
- "desiredParent": ["all"],
11
+ "desiredParent": [
12
+ "all"
13
+ ],
11
14
  "label": "Paywall Counter",
12
15
  "description": "Displays the paywall counter value.",
13
16
  "attributes": {
@@ -61,8 +61,6 @@ export interface PaywallOptionsPropsGenerated {
61
61
  attributes: {
62
62
  style?: PaywallOptionsStyleGenerated;
63
63
  scrollable?: boolean;
64
- title?: string;
65
- description?: string;
66
64
  };
67
65
  }
68
66
 
@@ -2,15 +2,15 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallOptions",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "extends": "View",
6
- "children": "node",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- }
8
+ "children": "node"
11
9
  },
12
10
  "meta": {
13
- "desiredParent": [">PaywallProvider"],
11
+ "desiredParent": [
12
+ ">PaywallProvider"
13
+ ],
14
14
  "label": "Paywall Options",
15
15
  "description": "Paywall options selector component.",
16
16
  "styles": {}
@@ -61,8 +61,6 @@ export interface PaywallProviderPropsGenerated {
61
61
  attributes: {
62
62
  style?: PaywallProviderStyleGenerated;
63
63
  scrollable?: boolean;
64
- title?: string;
65
- description?: string;
66
64
  delay?: number;
67
65
  };
68
66
  }
@@ -2,11 +2,11 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallProvider",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "node",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
10
  "delay": "number"
11
11
  }
12
12
  },
@@ -17,7 +17,9 @@
17
17
  }
18
18
  },
19
19
  "meta": {
20
- "desiredParent": ["all"],
20
+ "desiredParent": [
21
+ "all"
22
+ ],
21
23
  "label": "Paywall Provider",
22
24
  "description": "Provider/wrapper for paywall screen components.",
23
25
  "attributes": {
@@ -75,8 +75,6 @@ export interface PaywallSubscribeButtonPropsGenerated {
75
75
  child: string;
76
76
  attributes: {
77
77
  style?: PaywallSubscribeButtonStyleGenerated;
78
- title?: string;
79
- description?: string;
80
78
  scrollable?: boolean;
81
79
  };
82
80
  }
@@ -2,12 +2,10 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "PaywallSubscribeButton",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "string",
6
- "extends": "Button",
7
- "attributes": {
8
- "title": "title",
9
- "description": "description"
10
- }
8
+ "extends": "Button"
11
9
  },
12
10
  "defaults": {
13
11
  "style": {
@@ -23,7 +21,9 @@
23
21
  }
24
22
  },
25
23
  "meta": {
26
- "desiredParent": [">PaywallProvider"],
24
+ "desiredParent": [
25
+ ">PaywallProvider"
26
+ ],
27
27
  "label": "Paywall Subscribe Button",
28
28
  "description": "Paywall subscribe call-to-action button. Extends Button.",
29
29
  "styles": {}
@@ -61,8 +61,6 @@ export interface RadioButtonPropsGenerated {
61
61
  attributes: {
62
62
  style?: RadioButtonStyleGenerated;
63
63
  scrollable?: boolean;
64
- title?: string;
65
- description?: string;
66
64
  selected?: boolean;
67
65
  color?: string;
68
66
  size?: number;
@@ -2,18 +2,20 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "RadioButton",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
8
  "extends": "View",
7
9
  "attributes": {
8
- "title": "title",
9
- "description": "description",
10
10
  "selected": "boolean",
11
11
  "color": "color",
12
12
  "size": "number"
13
13
  }
14
14
  },
15
15
  "meta": {
16
- "desiredParent": ["all"],
16
+ "desiredParent": [
17
+ "all"
18
+ ],
17
19
  "label": "Radio Button",
18
20
  "description": "Generic radio button icon.",
19
21
  "styles": {
@@ -16,8 +16,6 @@ export interface SeparatorPropsGenerated {
16
16
  child: string;
17
17
  attributes: {
18
18
  style?: SeparatorStyleGenerated;
19
- title?: string;
20
- description?: string;
21
19
  };
22
20
  }
23
21
 
@@ -2,10 +2,10 @@
2
2
  "schemaVersion": 2,
3
3
  "pattern": {
4
4
  "type": "Separator",
5
+ "title": "title",
6
+ "description": "description",
5
7
  "children": "never",
6
8
  "attributes": {
7
- "title": "title",
8
- "description": "description",
9
9
  "style": {
10
10
  "backgroundColor": "color",
11
11
  "width": "size",
@@ -18,7 +18,9 @@
18
18
  }
19
19
  },
20
20
  "meta": {
21
- "desiredParent": ["all"],
21
+ "desiredParent": [
22
+ "all"
23
+ ],
22
24
  "label": "Separator",
23
25
  "description": "Horizontal line separator.",
24
26
  "styles": {
@@ -61,8 +61,6 @@ export interface StatusBarColorPropsGenerated {
61
61
  attributes: {
62
62
  style?: StatusBarColorStyleGenerated;
63
63
  scrollable?: boolean;
64
- title?: string;
65
- description?: string;
66
64
  };
67
65
  }
68
66