@developer_tribe/react-builder 1.2.20 → 1.2.22

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 (151) hide show
  1. package/dist/attribute-analyser/style/web/useExtractTextStyle.d.ts +1 -1
  2. package/dist/build-components/BIcon/BIconProps.generated.d.ts +2 -0
  3. package/dist/build-components/BackgroundImage/BackgroundImageProps.generated.d.ts +2 -0
  4. package/dist/build-components/Button/ButtonProps.generated.d.ts +2 -0
  5. package/dist/build-components/Carousel/CarouselProps.generated.d.ts +2 -0
  6. package/dist/build-components/CarouselButtons/CarouselButtonsProps.generated.d.ts +2 -0
  7. package/dist/build-components/CarouselDots/CarouselDotsProps.generated.d.ts +2 -0
  8. package/dist/build-components/CarouselItem/CarouselItemProps.generated.d.ts +2 -0
  9. package/dist/build-components/CarouselProvider/CarouselProviderProps.generated.d.ts +2 -0
  10. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +2 -0
  11. package/dist/build-components/Counter/CounterProps.generated.d.ts +2 -0
  12. package/dist/build-components/Image/ImageProps.generated.d.ts +2 -0
  13. package/dist/build-components/Main/MainProps.generated.d.ts +2 -0
  14. package/dist/build-components/Onboard/OnboardProps.generated.d.ts +2 -0
  15. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +2 -0
  16. package/dist/build-components/OnboardButtons/OnboardButtonsProps.generated.d.ts +2 -0
  17. package/dist/build-components/OnboardDot/OnboardDotProps.generated.d.ts +2 -0
  18. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +2 -0
  19. package/dist/build-components/OnboardImage/OnboardImageProps.generated.d.ts +2 -0
  20. package/dist/build-components/OnboardItem/OnboardItemProps.generated.d.ts +2 -0
  21. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +2 -0
  22. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +2 -0
  23. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +2 -0
  24. package/dist/build-components/PaywallBackground/PaywallBackgroundProps.generated.d.ts +2 -0
  25. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +2 -0
  26. package/dist/build-components/PaywallCounter/PaywallCounterProps.generated.d.ts +2 -0
  27. package/dist/build-components/PaywallOptions/PaywallOptionsProps.generated.d.ts +2 -0
  28. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +2 -0
  29. package/dist/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.d.ts +2 -0
  30. package/dist/build-components/RadioButton/RadioButtonProps.generated.d.ts +2 -0
  31. package/dist/build-components/Text/TextProps.generated.d.ts +2 -0
  32. package/dist/build-components/View/View.d.ts +1 -1
  33. package/dist/build-components/View/ViewProps.generated.d.ts +2 -0
  34. package/dist/build-components/patterns.generated.d.ts +287 -2
  35. package/dist/components/BuilderButton.d.ts +3 -1
  36. package/dist/index.cjs.js +3 -3
  37. package/dist/index.cjs.js.map +1 -1
  38. package/dist/index.esm.js +4 -4
  39. package/dist/index.esm.js.map +1 -1
  40. package/dist/index.web.cjs.js +4 -4
  41. package/dist/index.web.cjs.js.map +1 -1
  42. package/dist/index.web.esm.js +4 -4
  43. package/dist/index.web.esm.js.map +1 -1
  44. package/dist/store.d.ts +2 -0
  45. package/dist/styles.css +1 -1
  46. package/dist/utils/extractTextStyle/extractTextStyle.d.ts +1 -0
  47. package/package.json +1 -1
  48. package/scripts/migrate-patterns-to-v2.mjs +13 -8
  49. package/scripts/prebuild/icon-generator.js +34 -37
  50. package/src/assets/loading_animation.json +2587 -1
  51. package/src/assets/meta.json +1 -1
  52. package/src/assets/samples/carousel-sample.json +279 -197
  53. package/src/assets/samples/getSamples.ts +16 -1
  54. package/src/assets/samples/paywall-1.json +16 -0
  55. package/src/assets/samples/paywall-2.json +2 -2
  56. package/src/assets/samples/paywall-app-delete-offer.json +353 -0
  57. package/src/assets/samples/paywall-app-open-offer.json +353 -0
  58. package/src/assets/samples/paywall-back-offer.json +353 -0
  59. package/src/assets/samples/paywall-notification-offer.json +353 -0
  60. package/src/assets/samples/vpn-onboard-1.json +23 -12
  61. package/src/assets/samples/vpn-onboard-2.json +23 -12
  62. package/src/assets/samples/vpn-onboard-3.json +23 -12
  63. package/src/assets/samples/vpn-onboard-4.json +23 -12
  64. package/src/assets/samples/vpn-onboard-5.json +23 -12
  65. package/src/assets/samples/vpn-onboard-6.json +23 -12
  66. package/src/attribute-analyser/style/web/useExtractTextStyle.ts +9 -2
  67. package/src/build-components/BIcon/BIconProps.generated.ts +2 -0
  68. package/src/build-components/BackgroundImage/BackgroundImageProps.generated.ts +2 -0
  69. package/src/build-components/Button/ButtonProps.generated.ts +2 -0
  70. package/src/build-components/Carousel/CarouselProps.generated.ts +2 -0
  71. package/src/build-components/Carousel/pattern.json +2 -8
  72. package/src/build-components/CarouselButtons/CarouselButtonsProps.generated.ts +2 -0
  73. package/src/build-components/CarouselButtons/pattern.json +2 -9
  74. package/src/build-components/CarouselDots/CarouselDotsProps.generated.ts +2 -0
  75. package/src/build-components/CarouselDots/pattern.json +1 -3
  76. package/src/build-components/CarouselItem/CarouselItemProps.generated.ts +2 -0
  77. package/src/build-components/CarouselItem/pattern.json +1 -3
  78. package/src/build-components/CarouselProvider/CarouselProvider.tsx +5 -44
  79. package/src/build-components/CarouselProvider/CarouselProviderProps.generated.ts +2 -0
  80. package/src/build-components/CarouselProvider/pattern.json +6 -0
  81. package/src/build-components/CountDown/CountDownProps.generated.ts +2 -0
  82. package/src/build-components/CountDown/pattern.json +0 -1
  83. package/src/build-components/Counter/CounterProps.generated.ts +2 -0
  84. package/src/build-components/Counter/pattern.json +0 -1
  85. package/src/build-components/Image/Image.tsx +1 -1
  86. package/src/build-components/Image/ImageProps.generated.ts +2 -0
  87. package/src/build-components/Main/MainProps.generated.ts +2 -0
  88. package/src/build-components/Main/pattern.json +1 -3
  89. package/src/build-components/Onboard/OnboardProps.generated.ts +2 -0
  90. package/src/build-components/Onboard/pattern.json +2 -6
  91. package/src/build-components/OnboardButton/OnboardButton.tsx +0 -4
  92. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +2 -0
  93. package/src/build-components/OnboardButton/pattern.json +9 -14
  94. package/src/build-components/OnboardButtons/OnboardButtons.tsx +17 -20
  95. package/src/build-components/OnboardButtons/OnboardButtonsProps.generated.ts +2 -0
  96. package/src/build-components/OnboardButtons/pattern.json +15 -15
  97. package/src/build-components/OnboardDot/OnboardDot.tsx +0 -3
  98. package/src/build-components/OnboardDot/OnboardDotProps.generated.ts +2 -0
  99. package/src/build-components/OnboardFooter/OnboardFooter.tsx +63 -51
  100. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +2 -0
  101. package/src/build-components/OnboardFooter/pattern.json +6 -3
  102. package/src/build-components/OnboardImage/OnboardImageProps.generated.ts +2 -0
  103. package/src/build-components/OnboardImage/pattern.json +1 -5
  104. package/src/build-components/OnboardItem/OnboardItemProps.generated.ts +2 -0
  105. package/src/build-components/OnboardItem/pattern.json +3 -11
  106. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +2 -0
  107. package/src/build-components/OnboardProvider/pattern.json +2 -8
  108. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +2 -0
  109. package/src/build-components/OnboardSubtitle/pattern.json +1 -4
  110. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +2 -0
  111. package/src/build-components/OnboardTitle/pattern.json +1 -4
  112. package/src/build-components/PaywallBackground/PaywallBackgroundProps.generated.ts +2 -0
  113. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +2 -0
  114. package/src/build-components/PaywallCloseButton/pattern.json +1 -3
  115. package/src/build-components/PaywallCounter/PaywallCounterProps.generated.ts +2 -0
  116. package/src/build-components/PaywallCounter/pattern.json +0 -1
  117. package/src/build-components/PaywallOptions/PaywallOptions.tsx +1 -1
  118. package/src/build-components/PaywallOptions/PaywallOptionsProps.generated.ts +2 -0
  119. package/src/build-components/PaywallOptions/pattern.json +1 -3
  120. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +2 -0
  121. package/src/build-components/PaywallProvider/pattern.json +1 -3
  122. package/src/build-components/PaywallSubscribeButton/PaywallSubscribeButtonProps.generated.ts +2 -0
  123. package/src/build-components/PaywallSubscribeButton/pattern.json +1 -3
  124. package/src/build-components/RadioButton/RadioButtonProps.generated.ts +2 -0
  125. package/src/build-components/RadioButton/pattern.json +1 -3
  126. package/src/build-components/RenderNode.generated.tsx +1 -1
  127. package/src/build-components/Text/TextProps.generated.ts +2 -0
  128. package/src/build-components/View/View.tsx +11 -7
  129. package/src/build-components/View/ViewProps.generated.ts +2 -0
  130. package/src/build-components/View/pattern.json +8 -0
  131. package/src/build-components/patterns.generated.ts +277 -2
  132. package/src/build-components/useNode.ts +2 -2
  133. package/src/components/Builder.tsx +98 -8
  134. package/src/components/BuilderButton.tsx +39 -7
  135. package/src/components/DeviceButton.tsx +5 -1
  136. package/src/pages/DebugJsonPage.tsx +30 -1
  137. package/src/pages/ProjectDebug.tsx +0 -1
  138. package/src/pages/ProjectPage.tsx +2 -2
  139. package/src/store.ts +8 -0
  140. package/src/styles/base/_global.scss +0 -5
  141. package/src/styles/components/_editor-shell.scss +18 -3
  142. package/src/styles/components/_onboard.scss +0 -17
  143. package/src/styles/foundation/_colors.scss +1 -4
  144. package/src/styles/foundation/_typography.scss +0 -1
  145. package/src/styles/layout/_builder.scss +20 -0
  146. package/src/styles/modals/_product-presets-modal.scss +0 -2
  147. package/src/utils/extractTextStyle/extractTextStyle.ts +47 -13
  148. package/src/utils/extractViewStyle/extractViewStyle.ts +118 -39
  149. package/src/utils/logRenderStore.ts +7 -9
  150. package/src/utils/logger.ts +1 -5
  151. package/src/utils/repairNodeKeys.ts +1 -4
@@ -1,7 +1,7 @@
1
1
  import React, { useId } from 'react';
2
2
  import type { ViewComponentProps } from './ViewProps.generated';
3
3
  import RenderNode from '../RenderNode.generated';
4
- import { Node } from '../../types/Node';
4
+ import type { Node } from '../../types/Node';
5
5
  import useNode from '../useNode';
6
6
  import { useBuilderParams } from '../../components/BuilderProvider';
7
7
  import { useExtractViewStyle } from '../../attribute-analyser/style/web/useExtractViewStyle';
@@ -9,31 +9,35 @@ import { useLogRender } from '../../utils/useLogRender';
9
9
  import { isNodeSelected, SELECTED_OUTLINE_STYLE } from '../../utils/selection';
10
10
  import { useMergedStyle } from '../../utils/useMergedStyle';
11
11
 
12
- export function View({ node }: ViewComponentProps) {
12
+ function View({ node }: ViewComponentProps) {
13
13
  useLogRender('View');
14
14
  node = useNode(node);
15
+
15
16
  const generatedId = useId();
16
- const attributeName = node.sourceType ?? node.type ?? 'view';
17
+ const attributeName = node.sourceType ?? node.type ?? 'View';
17
18
  const attributeKey = node.key ?? generatedId;
19
+
18
20
  const { previewMode, selectedKey } = useBuilderParams();
21
+
19
22
  const baseStyle = useExtractViewStyle(node);
23
+
20
24
  const isSelected = isNodeSelected({
21
25
  previewMode: !!previewMode,
22
26
  current: selectedKey ? { key: selectedKey } : undefined,
23
27
  node,
24
28
  });
25
- const viewStyle = useMergedStyle(
29
+ const style = useMergedStyle(
26
30
  baseStyle,
27
31
  isSelected ? SELECTED_OUTLINE_STYLE : undefined,
28
32
  );
33
+
29
34
  return (
30
35
  <div
31
36
  attribute-name={attributeName}
32
37
  attribute-key={attributeKey}
33
- style={{ ...viewStyle, boxSizing: 'border-box' }}
34
- className="scroll-container"
38
+ style={style}
35
39
  >
36
- <RenderNode node={node.children as Node} />
40
+ {node.children && <RenderNode node={node.children as Node} />}
37
41
  </div>
38
42
  );
39
43
  }
@@ -3,6 +3,7 @@
3
3
  import type { NodeData } from '../../types/Node';
4
4
 
5
5
  export type FlexDirectionOptionType = 'row' | 'column';
6
+ export type FlexWrapOptionType = 'nowrap' | 'wrap' | 'wrap-reverse';
6
7
  export type AlignItemsOptionType =
7
8
  | 'flex-start'
8
9
  | 'center'
@@ -20,6 +21,7 @@ export type PositionOptionType = 'relative' | 'absolute';
20
21
 
21
22
  export interface ViewStyleGenerated {
22
23
  flexDirection?: FlexDirectionOptionType;
24
+ flexWrap?: FlexWrapOptionType;
23
25
  alignItems?: AlignItemsOptionType;
24
26
  justifyContent?: JustifyContentOptionType;
25
27
  gap?: string;
@@ -7,6 +7,7 @@
7
7
  "scrollable": "boolean",
8
8
  "style": {
9
9
  "flexDirection": ["row", "column"],
10
+ "flexWrap": ["nowrap", "wrap", "wrap-reverse"],
10
11
  "alignItems": [
11
12
  "flex-start",
12
13
  "center",
@@ -117,6 +118,13 @@
117
118
  "specialCategory": null,
118
119
  "sort": 4
119
120
  },
121
+ "flexWrap": {
122
+ "label": "Flex Wrap",
123
+ "description": "Controls whether flex items wrap to multiple lines.",
124
+ "category": "container",
125
+ "specialCategory": null,
126
+ "sort": 4.5
127
+ },
120
128
  "alignItems": {
121
129
  "label": "Align Items",
122
130
  "description": "Controls cross-axis alignment.",