@developer_tribe/react-builder 1.2.41 → 1.2.43

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 (81) hide show
  1. package/dist/build-components/BIcon/BIconProps.generated.d.ts +1 -1
  2. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +1 -1
  3. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +1 -1
  4. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +1 -1
  5. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +1 -1
  6. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +1 -1
  7. package/dist/build-components/PaywallFooter/PaywallFooter.d.ts +5 -0
  8. package/dist/build-components/PaywallFooter/PaywallFooterProps.generated.d.ts +68 -0
  9. package/dist/build-components/PriceTag/PriceTagProps.generated.d.ts +1 -1
  10. package/dist/build-components/Pricing/PricingProps.generated.d.ts +1 -1
  11. package/dist/build-components/Promo/PromoProps.generated.d.ts +1 -1
  12. package/dist/build-components/Text/TextProps.generated.d.ts +1 -1
  13. package/dist/build-components/index.d.ts +2 -1
  14. package/dist/build-components/patterns.generated.d.ts +516 -13
  15. package/dist/index.cjs.js +1 -1
  16. package/dist/index.cjs.js.map +1 -1
  17. package/dist/index.esm.js +1 -1
  18. package/dist/index.esm.js.map +1 -1
  19. package/dist/index.web.cjs.js +4 -4
  20. package/dist/index.web.cjs.js.map +1 -1
  21. package/dist/index.web.esm.js +4 -4
  22. package/dist/index.web.esm.js.map +1 -1
  23. package/dist/modals/IconPickerModal.d.ts +1 -1
  24. package/dist/styles.css +1 -1
  25. package/dist/types/PreviewConfig.d.ts +1 -1
  26. package/package.json +2 -2
  27. package/src/RenderPage.tsx +5 -2
  28. package/src/assets/meta.json +1 -1
  29. package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
  30. package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
  31. package/src/assets/samples/paywall-1.json +19 -2
  32. package/src/assets/samples/vpn-onboard-1.json +3 -3
  33. package/src/assets/samples/vpn-onboard-2.json +3 -3
  34. package/src/assets/samples/vpn-onboard-3.json +3 -3
  35. package/src/assets/samples/vpn-onboard-4.json +3 -3
  36. package/src/assets/samples/vpn-onboard-5.json +3 -3
  37. package/src/assets/samples/vpn-onboard-6.json +3 -3
  38. package/src/assets/samples/vpn-onboard-7.json +3 -3
  39. package/src/attributes-editor/AttributesEditorFields.tsx +1 -1
  40. package/src/attributes-editor/FallbackLocalizationField.tsx +725 -250
  41. package/src/build-components/BIcon/BIcon.tsx +1 -1
  42. package/src/build-components/BIcon/BIconProps.generated.ts +1 -1
  43. package/src/build-components/CountDown/CountDownProps.generated.ts +1 -1
  44. package/src/build-components/OnboardButton/OnboardButton.tsx +1 -1
  45. package/src/build-components/OnboardButton/pattern.json +1 -1
  46. package/src/build-components/OnboardFooter/OnboardFooter.tsx +29 -20
  47. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -1
  48. package/src/build-components/OnboardFooter/pattern.json +2 -1
  49. package/src/build-components/OnboardProvider/pattern.json +1 -1
  50. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -1
  51. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -1
  52. package/src/build-components/PaywallCloseButton/PaywallCloseButton.tsx +1 -1
  53. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -1
  54. package/src/build-components/PaywallFooter/PaywallFooter.tsx +242 -0
  55. package/src/build-components/PaywallFooter/PaywallFooterProps.generated.ts +85 -0
  56. package/src/build-components/PaywallFooter/pattern.json +86 -0
  57. package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -1
  58. package/src/build-components/Pricing/PricingProps.generated.ts +1 -1
  59. package/src/build-components/Promo/PromoProps.generated.ts +1 -1
  60. package/src/build-components/RenderNode.generated.tsx +5 -0
  61. package/src/build-components/Text/Text.tsx +5 -4
  62. package/src/build-components/Text/TextProps.generated.ts +1 -1
  63. package/src/build-components/Text/pattern.json +2 -1
  64. package/src/build-components/index.ts +5 -0
  65. package/src/build-components/patterns.generated.ts +532 -13
  66. package/src/components/BottomBar.tsx +1 -1
  67. package/src/components/DeviceNavigationBar.tsx +2 -2
  68. package/src/hooks/useLocalize.ts +11 -1
  69. package/src/hooks/useSafeAreaViewStyle.ts +1 -11
  70. package/src/mockOS/managers/mockPermissionManager.ts +5 -3
  71. package/src/mockOS/managers/navigationManager.ts +6 -4
  72. package/src/modals/IconPickerModal.tsx +1 -1
  73. package/src/modals/InspectModal.tsx +22 -24
  74. package/src/styles/base/_global.scss +1 -1
  75. package/src/types/PreviewConfig.ts +24 -6
  76. package/src/utils/extractViewStyle/extractViewStyle.ts +0 -1
  77. package/src/utils/useMergedStyle.ts +1 -1
  78. package/dist/build-components/index.generated.d.ts +0 -38
  79. package/dist/types/Icons.generated.d.ts +0 -2
  80. package/src/build-components/index.generated.ts +0 -184
  81. package/src/types/Icons.generated.ts +0 -244
@@ -37,6 +37,7 @@ import type { OnboardSubtitleComponentProps } from './OnboardSubtitle/OnboardSub
37
37
  import type { OnboardTitleComponentProps } from './OnboardTitle/OnboardTitleProps.generated';
38
38
  import type { PaywallBackgroundComponentProps } from './PaywallBackground/PaywallBackgroundProps.generated';
39
39
  import type { PaywallCloseButtonComponentProps } from './PaywallCloseButton/PaywallCloseButtonProps.generated';
40
+ import type { PaywallFooterComponentProps } from './PaywallFooter/PaywallFooterProps.generated';
40
41
  import type { PaywallOptionsComponentProps } from './PaywallOptions/PaywallOptionsProps.generated';
41
42
  import type { PaywallProviderComponentProps } from './PaywallProvider/PaywallProviderProps.generated';
42
43
  import type { PaywallSubscribeButtonComponentProps } from './PaywallSubscribeButton/PaywallSubscribeButtonProps.generated';
@@ -72,6 +73,7 @@ import OnboardSubtitle from './OnboardSubtitle/OnboardSubtitle';
72
73
  import OnboardTitle from './OnboardTitle/OnboardTitle';
73
74
  import PaywallBackground from './PaywallBackground/PaywallBackground';
74
75
  import { PaywallCloseButton } from './PaywallCloseButton/PaywallCloseButton';
76
+ import PaywallFooter from './PaywallFooter/PaywallFooter';
75
77
  import PaywallOptions from './PaywallOptions/PaywallOptions';
76
78
  import PaywallProvider from './PaywallProvider/PaywallProvider';
77
79
  import PaywallSubscribeButton from './PaywallSubscribeButton/PaywallSubscribeButton';
@@ -109,6 +111,7 @@ type BuilderNode =
109
111
  | (OnboardTitleComponentProps['node'] & { type: 'OnboardTitle' })
110
112
  | (PaywallBackgroundComponentProps['node'] & { type: 'PaywallBackground' })
111
113
  | (PaywallCloseButtonComponentProps['node'] & { type: 'PaywallCloseButton' })
114
+ | (PaywallFooterComponentProps['node'] & { type: 'PaywallFooter' })
112
115
  | (PaywallOptionsComponentProps['node'] & { type: 'PaywallOptions' })
113
116
  | (PaywallProviderComponentProps['node'] & { type: 'PaywallProvider' })
114
117
  | (PaywallSubscribeButtonComponentProps['node'] & {
@@ -201,6 +204,8 @@ function RenderNode({ node }: { node: Node }) {
201
204
  return <PaywallBackground node={normalizedNode} />;
202
205
  case 'PaywallCloseButton':
203
206
  return <PaywallCloseButton node={normalizedNode} />;
207
+ case 'PaywallFooter':
208
+ return <PaywallFooter node={normalizedNode} />;
204
209
  case 'PaywallOptions':
205
210
  return <PaywallOptions node={normalizedNode} />;
206
211
  case 'PaywallProvider':
@@ -44,9 +44,10 @@ export function Text({ node }: TextComponentProps) {
44
44
  | undefined;
45
45
  const adjustsFontSizeToFit = styleBag?.adjustsFontSizeToFit ?? false;
46
46
  const showEllipsis = styleBag?.showEllipsis ?? false;
47
+ const numberOfLines = (node.attributes as any)?.numberOfLines;
47
48
 
48
49
  useLayoutEffect(() => {
49
- if (!adjustsFontSizeToFit) {
50
+ if (numberOfLines !== 1 || !adjustsFontSizeToFit) {
50
51
  setAutoFontSizePx(null);
51
52
  return;
52
53
  }
@@ -95,12 +96,12 @@ export function Text({ node }: TextComponentProps) {
95
96
  ro?.disconnect();
96
97
  window.removeEventListener('resize', compute);
97
98
  };
98
- }, [adjustsFontSizeToFit, localizedText]);
99
+ }, [adjustsFontSizeToFit, localizedText, numberOfLines]);
99
100
 
100
101
  const extraStyle = useMemo((): React.CSSProperties | undefined => {
101
102
  let next: React.CSSProperties | undefined;
102
103
 
103
- if (showEllipsis) {
104
+ if (numberOfLines == 1 && adjustsFontSizeToFit) {
104
105
  next = {
105
106
  ...(next ?? {}),
106
107
  overflow: 'hidden',
@@ -117,7 +118,7 @@ export function Text({ node }: TextComponentProps) {
117
118
  }
118
119
 
119
120
  return next;
120
- }, [showEllipsis, autoFontSizePx]);
121
+ }, [showEllipsis, autoFontSizePx, numberOfLines, adjustsFontSizeToFit]);
121
122
 
122
123
  const style = useMergedStyle(
123
124
  useMergedStyle(textStyle, extraStyle),
@@ -68,7 +68,7 @@ export interface TextPropsGenerated {
68
68
  scrollable?: boolean;
69
69
  testID?: string;
70
70
  adjustsFontSizeToFit?: boolean;
71
- showEllipsis?: boolean;
71
+ numberOfLines?: number;
72
72
  translateCounter?: number;
73
73
  };
74
74
  }
@@ -8,7 +8,7 @@
8
8
  "extends": "View",
9
9
  "attributes": {
10
10
  "adjustsFontSizeToFit": "boolean",
11
- "showEllipsis": "boolean",
11
+ "numberOfLines": "number",
12
12
  "translateCounter": "number",
13
13
  "styles": {
14
14
  "color": "color",
@@ -20,6 +20,7 @@
20
20
  },
21
21
  "defaults": {
22
22
  "translateCounter": 1,
23
+ "numberOfLines": 1,
23
24
  "styles": {
24
25
  "color": "THEME_COLORS.TEXT",
25
26
  "fontSize": "16@fs",
@@ -29,6 +29,7 @@ export const allcomponentNames = [
29
29
  'OnboardTitle',
30
30
  'PaywallBackground',
31
31
  'PaywallCloseButton',
32
+ 'PaywallFooter',
32
33
  'PaywallOptions',
33
34
  'PaywallProvider',
34
35
  'PaywallSubscribeButton',
@@ -138,6 +139,10 @@ export type {
138
139
  PaywallCloseButtonPropsGenerated,
139
140
  PaywallCloseButtonComponentProps,
140
141
  } from './PaywallCloseButton/PaywallCloseButtonProps.generated';
142
+ export type {
143
+ PaywallFooterPropsGenerated,
144
+ PaywallFooterComponentProps,
145
+ } from './PaywallFooter/PaywallFooterProps.generated';
141
146
  export type {
142
147
  PaywallOptionsPropsGenerated,
143
148
  PaywallOptionsComponentProps,