@developer_tribe/react-builder 1.2.42 → 1.2.44-test.1

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 (131) hide show
  1. package/dist/build-components/BIcon/BIconProps.generated.d.ts +1 -1
  2. package/dist/build-components/Checkbox/Checkbox.d.ts +6 -0
  3. package/dist/build-components/Checkbox/CheckboxProps.generated.d.ts +67 -0
  4. package/dist/build-components/CountDown/CountDownProps.generated.d.ts +1 -1
  5. package/dist/build-components/FormCheckbox/FormCheckbox.d.ts +3 -0
  6. package/dist/build-components/FormCheckbox/FormCheckboxProps.generated.d.ts +69 -0
  7. package/dist/build-components/FormErrorText/FormErrorText.d.ts +3 -0
  8. package/dist/build-components/FormErrorText/FormErrorTextProps.generated.d.ts +61 -0
  9. package/dist/build-components/FormProvider/FormProvider.d.ts +11 -0
  10. package/dist/build-components/FormProvider/FormProviderProps.generated.d.ts +55 -0
  11. package/dist/build-components/FormSubmitButton/FormSubmitButton.d.ts +2 -0
  12. package/dist/build-components/FormSubmitButton/FormSubmitButtonProps.generated.d.ts +73 -0
  13. package/dist/build-components/GlobalProvider/GlobalContext.d.ts +28 -0
  14. package/dist/build-components/GlobalProvider/GlobalProvider.d.ts +5 -0
  15. package/dist/build-components/GlobalProvider/GlobalProviderProps.generated.d.ts +60 -0
  16. package/dist/build-components/GlobalProvider/globalProviderUtils.d.ts +37 -0
  17. package/dist/build-components/GlobalProvider/useGlobalNavigation.d.ts +19 -0
  18. package/dist/build-components/OnboardButton/OnboardButtonProps.generated.d.ts +17 -10
  19. package/dist/build-components/OnboardFooter/OnboardFooterProps.generated.d.ts +1 -1
  20. package/dist/build-components/OnboardProvider/OnboardProviderProps.generated.d.ts +2 -0
  21. package/dist/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.d.ts +1 -1
  22. package/dist/build-components/OnboardTitle/OnboardTitleProps.generated.d.ts +1 -1
  23. package/dist/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.d.ts +1 -1
  24. package/dist/build-components/PaywallFooter/PaywallFooterProps.generated.d.ts +1 -1
  25. package/dist/build-components/PaywallProvider/PaywallProviderProps.generated.d.ts +2 -0
  26. package/dist/build-components/PriceTag/PriceTagProps.generated.d.ts +1 -1
  27. package/dist/build-components/Pricing/PricingProps.generated.d.ts +1 -1
  28. package/dist/build-components/Promo/PromoProps.generated.d.ts +1 -1
  29. package/dist/build-components/SystemButton/SystemButton.d.ts +7 -0
  30. package/dist/build-components/SystemButton/SystemButtonProps.generated.d.ts +71 -0
  31. package/dist/build-components/SystemButton/usePlacementButtonEvents.d.ts +28 -0
  32. package/dist/build-components/TermsProvider/TermsProvider.d.ts +5 -0
  33. package/dist/build-components/TermsProvider/TermsProviderProps.generated.d.ts +55 -0
  34. package/dist/build-components/Text/TextProps.generated.d.ts +1 -1
  35. package/dist/build-components/WebView/WebView.d.ts +2 -0
  36. package/dist/build-components/WebView/WebViewProps.generated.d.ts +59 -0
  37. package/dist/build-components/index.d.ts +10 -1
  38. package/dist/build-components/patterns.generated.d.ts +5507 -1543
  39. package/dist/index.cjs.js +1 -1
  40. package/dist/index.cjs.js.map +1 -1
  41. package/dist/index.esm.js +1 -1
  42. package/dist/index.esm.js.map +1 -1
  43. package/dist/index.web.cjs.js +5 -5
  44. package/dist/index.web.cjs.js.map +1 -1
  45. package/dist/index.web.d.ts +1 -0
  46. package/dist/index.web.esm.js +4 -4
  47. package/dist/index.web.esm.js.map +1 -1
  48. package/dist/mockOS/context/MockOSContextBase.d.ts +3 -1
  49. package/dist/styles.css +1 -1
  50. package/dist/types/PreviewConfig.d.ts +1 -1
  51. package/package.json +2 -1
  52. package/src/RenderPage.tsx +4 -1
  53. package/src/assets/meta.json +1 -1
  54. package/src/assets/prompt-scheme-onboard.generated.ts +1 -1
  55. package/src/assets/prompt-scheme-paywall.generated.ts +1 -1
  56. package/src/assets/samples/getSamples.ts +7 -0
  57. package/src/assets/samples/global-onboard-flow.json +729 -0
  58. package/src/assets/samples/paywall-1.json +2 -2
  59. package/src/assets/samples/terms-and-privacy-no-form.json +108 -0
  60. package/src/assets/samples/terms-and-privacy.json +130 -0
  61. package/src/attributes-editor/FallbackLocalizationField.tsx +725 -250
  62. package/src/build-components/BIcon/BIconProps.generated.ts +1 -1
  63. package/src/build-components/Checkbox/Checkbox.tsx +165 -0
  64. package/src/build-components/Checkbox/CheckboxProps.generated.ts +84 -0
  65. package/src/build-components/Checkbox/pattern.json +83 -0
  66. package/src/build-components/CountDown/CountDownProps.generated.ts +1 -1
  67. package/src/build-components/FormCheckbox/FormCheckbox.tsx +106 -0
  68. package/src/build-components/FormCheckbox/FormCheckboxProps.generated.ts +86 -0
  69. package/src/build-components/FormCheckbox/pattern.json +39 -0
  70. package/src/build-components/FormErrorText/FormErrorText.tsx +34 -0
  71. package/src/build-components/FormErrorText/FormErrorTextProps.generated.ts +78 -0
  72. package/src/build-components/FormErrorText/pattern.json +21 -0
  73. package/src/build-components/FormProvider/FormProvider.tsx +131 -0
  74. package/src/build-components/FormProvider/FormProviderProps.generated.ts +72 -0
  75. package/src/build-components/FormProvider/pattern.json +33 -0
  76. package/src/build-components/FormSubmitButton/FormSubmitButton.tsx +49 -0
  77. package/src/build-components/FormSubmitButton/FormSubmitButtonProps.generated.ts +91 -0
  78. package/src/build-components/FormSubmitButton/pattern.json +33 -0
  79. package/src/build-components/GlobalProvider/GlobalContext.ts +48 -0
  80. package/src/build-components/GlobalProvider/GlobalProvider.tsx +191 -0
  81. package/src/build-components/GlobalProvider/GlobalProviderProps.generated.ts +78 -0
  82. package/src/build-components/GlobalProvider/globalProviderUtils.ts +163 -0
  83. package/src/build-components/GlobalProvider/pattern.json +55 -0
  84. package/src/build-components/GlobalProvider/useGlobalNavigation.ts +70 -0
  85. package/src/build-components/OnboardButton/OnboardButton.tsx +41 -36
  86. package/src/build-components/OnboardButton/OnboardButtonProps.generated.ts +17 -10
  87. package/src/build-components/OnboardButton/pattern.json +5 -4
  88. package/src/build-components/OnboardFooter/OnboardFooterProps.generated.ts +1 -1
  89. package/src/build-components/OnboardProvider/OnboardProviderProps.generated.ts +12 -0
  90. package/src/build-components/OnboardProvider/pattern.json +9 -1
  91. package/src/build-components/OnboardSubtitle/OnboardSubtitleProps.generated.ts +1 -1
  92. package/src/build-components/OnboardTitle/OnboardTitleProps.generated.ts +1 -1
  93. package/src/build-components/PaywallCloseButton/PaywallCloseButtonProps.generated.ts +1 -1
  94. package/src/build-components/PaywallFooter/PaywallFooterProps.generated.ts +1 -1
  95. package/src/build-components/PaywallProvider/PaywallProviderProps.generated.ts +12 -0
  96. package/src/build-components/PaywallProvider/pattern.json +9 -1
  97. package/src/build-components/PriceTag/PriceTagProps.generated.ts +1 -1
  98. package/src/build-components/Pricing/PricingProps.generated.ts +1 -1
  99. package/src/build-components/Promo/PromoProps.generated.ts +1 -1
  100. package/src/build-components/RenderNode.generated.tsx +46 -1
  101. package/src/build-components/SystemButton/SystemButton.tsx +71 -0
  102. package/src/build-components/SystemButton/SystemButtonProps.generated.ts +89 -0
  103. package/src/build-components/SystemButton/pattern.json +61 -0
  104. package/src/build-components/SystemButton/usePlacementButtonEvents.ts +101 -0
  105. package/src/build-components/TermsProvider/TermsProvider.tsx +45 -0
  106. package/src/build-components/TermsProvider/TermsProviderProps.generated.ts +82 -0
  107. package/src/build-components/TermsProvider/pattern.json +35 -0
  108. package/src/build-components/Text/Text.tsx +5 -4
  109. package/src/build-components/Text/TextProps.generated.ts +1 -1
  110. package/src/build-components/Text/pattern.json +2 -1
  111. package/src/build-components/WebView/WebView.tsx +149 -0
  112. package/src/build-components/WebView/WebViewProps.generated.ts +76 -0
  113. package/src/build-components/WebView/pattern.json +71 -0
  114. package/src/build-components/index.ts +45 -0
  115. package/src/build-components/patterns.generated.ts +5712 -1559
  116. package/src/hooks/useSafeAreaViewStyle.ts +1 -11
  117. package/src/index.web.ts +3 -0
  118. package/src/mockOS/components/MockOSRouter.tsx +21 -0
  119. package/src/mockOS/context/MockOSContext.tsx +7 -0
  120. package/src/mockOS/context/MockOSContextBase.ts +4 -0
  121. package/src/styles/components/_checkbox.scss +19 -0
  122. package/src/styles/components/_global-provider.scss +131 -0
  123. package/src/styles/components/_webview.scss +52 -0
  124. package/src/styles/index.scss +4 -0
  125. package/src/types/PreviewConfig.ts +19 -0
  126. package/src/utils/analyseNodeByPatterns.ts +5 -2
  127. package/src/utils/extractViewStyle/extractViewStyle.ts +0 -1
  128. package/src/utils/projectColors.ts +4 -0
  129. package/src/utils/useMergedStyle.ts +1 -1
  130. package/src/.DS_Store +0 -0
  131. package/src/assets/.DS_Store +0 -0
@@ -34,10 +34,6 @@ export function useSafeAreaViewStyle(
34
34
  const statusBarOverrideTranslucent = useRenderStore(
35
35
  (s) => s.statusBarOverrideTranslucent,
36
36
  );
37
- const navBarOverrideTranslucent = useRenderStore(
38
- (s) => s.navBarOverrideTranslucent,
39
- );
40
-
41
37
  return useMemo(() => {
42
38
  if (!enabled) return baseStyle;
43
39
 
@@ -74,11 +70,5 @@ export function useSafeAreaViewStyle(
74
70
  width: subtractInset(baseStyle.width ?? '100%', horizontal),
75
71
  height: subtractInset(baseStyle.height ?? '100%', vertical),
76
72
  };
77
- }, [
78
- enabled,
79
- baseStyle,
80
- device,
81
- statusBarOverrideTranslucent,
82
- navBarOverrideTranslucent,
83
- ]);
73
+ }, [enabled, baseStyle, device, statusBarOverrideTranslucent]);
84
74
  }
package/src/index.web.ts CHANGED
@@ -12,6 +12,9 @@ export * from './build-components';
12
12
  export { default as useNode } from './build-components/useNode';
13
13
  export type { EventObjectGenerated } from './build-components/OnboardButton/OnboardButtonProps.generated';
14
14
 
15
+ // Host-app API: store (tema vb. builder içinde kullanılır; örn. tema toggle'ı builder'a senkronize etmek için).
16
+ export { useRenderStore } from './store';
17
+
15
18
  // Host-app API: let parent apps inject a custom "Text" field renderer.
16
19
  import { useRenderStore } from './store';
17
20
  import type { ComponentType } from 'react';
@@ -35,6 +35,17 @@ function OnboardComponent() {
35
35
  );
36
36
  }
37
37
 
38
+ function TermsComponent() {
39
+ return (
40
+ <div className="mockos-screen mockos-screen--terms">
41
+ <div className="mockos-screen__heading">Terms and Privacy</div>
42
+ <div className="mockos-screen__text">
43
+ Please review our terms and conditions.
44
+ </div>
45
+ </div>
46
+ );
47
+ }
48
+
38
49
  function SubscriptionComponent() {
39
50
  return (
40
51
  <div className="mockos-screen mockos-screen--subscription">
@@ -68,6 +79,14 @@ function ScreenRenderer({
68
79
  return <>{children}</>;
69
80
  }
70
81
 
82
+ // app_launch flow: terms route shows builder (terms UI); onboard route shows default onboard screen
83
+ if (children && childrenBelongTo === 'app' && currentRoute === 'terms') {
84
+ return <>{children}</>;
85
+ }
86
+ if (childrenBelongTo === 'app' && currentRoute === 'onboard') {
87
+ return <OnboardComponent />;
88
+ }
89
+
71
90
  // Otherwise render default screens based on route
72
91
  switch (currentRoute) {
73
92
  case 'launchscreen':
@@ -78,6 +97,8 @@ function ScreenRenderer({
78
97
  return <HomeComponent />;
79
98
  case 'onboard':
80
99
  return <OnboardComponent />;
100
+ case 'terms':
101
+ return <TermsComponent />;
81
102
  case 'subscription':
82
103
  return <SubscriptionComponent />;
83
104
  default:
@@ -80,8 +80,12 @@ export function MockOSProvider({
80
80
  const [navigationStack, setNavigationStack] = useState<RouteStackItem[]>([
81
81
  { route: defaultRoute, timestamp: Date.now() },
82
82
  ]);
83
+ const [termsAccepted, setTermsAccepted] = useState(false);
83
84
 
84
85
  const navigation = useCallback((route: RouteType) => {
86
+ if (route === 'terms') {
87
+ setTermsAccepted(false);
88
+ }
85
89
  setCurrentRoute(route);
86
90
 
87
91
  // If navigating from launchscreen and the last item in stack is launchscreen,
@@ -179,6 +183,8 @@ export function MockOSProvider({
179
183
  navigation,
180
184
  goBack,
181
185
  navigationStack,
186
+ termsAccepted,
187
+ setTermsAccepted,
182
188
  }),
183
189
  [
184
190
  permission,
@@ -188,6 +194,7 @@ export function MockOSProvider({
188
194
  navigation,
189
195
  goBack,
190
196
  navigationStack,
197
+ termsAccepted,
191
198
  ],
192
199
  );
193
200
 
@@ -6,6 +6,7 @@ export type RouteType =
6
6
  | 'app'
7
7
  | 'home'
8
8
  | 'onboard'
9
+ | 'terms'
9
10
  | 'subscription';
10
11
 
11
12
  export interface RouteStackItem {
@@ -26,6 +27,9 @@ export interface MockOSContextValue {
26
27
  navigation: (route: RouteType) => void;
27
28
  goBack: () => boolean;
28
29
  navigationStack: RouteStackItem[];
30
+ // Terms and Privacy sample: accept button proceeds only when checkbox is checked
31
+ termsAccepted: boolean;
32
+ setTermsAccepted: (value: boolean) => void;
29
33
  }
30
34
 
31
35
  /**
@@ -0,0 +1,19 @@
1
+ /* Checkbox build-component: layout in CSS; only dynamic values (sizes, colors) inline. */
2
+
3
+ .rb-checkbox {
4
+ display: flex;
5
+ align-items: flex-start;
6
+ }
7
+
8
+ .rb-checkbox__box {
9
+ flex-shrink: 0;
10
+ display: flex;
11
+ justify-content: center;
12
+ align-items: center;
13
+ margin-top: 2px;
14
+ transition: all 0.2s;
15
+ }
16
+
17
+ .rb-checkbox__label {
18
+ flex: 1;
19
+ }
@@ -0,0 +1,131 @@
1
+ /* Page transition animations for GlobalProvider (platform-style names). */
2
+ $page-transition-duration: 0.3s;
3
+ $page-transition-easing: cubic-bezier(0.32, 0.72, 0, 1);
4
+
5
+ .global-provider-page {
6
+ flex: 1;
7
+ display: flex;
8
+ flex-direction: column;
9
+ height: 100%;
10
+ overflow: hidden;
11
+ }
12
+
13
+ .global-provider-page--none {
14
+ animation: none;
15
+ }
16
+
17
+ .global-provider-page--default {
18
+ animation: global-provider-fade $page-transition-duration $page-transition-easing;
19
+ }
20
+
21
+ .global-provider-page--fade {
22
+ animation: global-provider-fade $page-transition-duration $page-transition-easing;
23
+ }
24
+
25
+ @keyframes global-provider-fade {
26
+ from {
27
+ opacity: 0;
28
+ }
29
+ to {
30
+ opacity: 1;
31
+ }
32
+ }
33
+
34
+ .global-provider-page--fade_from_bottom {
35
+ animation: global-provider-fade-from-bottom $page-transition-duration $page-transition-easing;
36
+ }
37
+
38
+ @keyframes global-provider-fade-from-bottom {
39
+ from {
40
+ opacity: 0;
41
+ transform: translateY(24px);
42
+ }
43
+ to {
44
+ opacity: 1;
45
+ transform: translateY(0);
46
+ }
47
+ }
48
+
49
+ .global-provider-page--fade_from_right {
50
+ animation: global-provider-fade-from-right $page-transition-duration $page-transition-easing;
51
+ }
52
+
53
+ @keyframes global-provider-fade-from-right {
54
+ from {
55
+ opacity: 0;
56
+ transform: translateX(24px);
57
+ }
58
+ to {
59
+ opacity: 1;
60
+ transform: translateX(0);
61
+ }
62
+ }
63
+
64
+ .global-provider-page--reveal_from_bottom {
65
+ animation: global-provider-reveal-from-bottom $page-transition-duration $page-transition-easing;
66
+ }
67
+
68
+ @keyframes global-provider-reveal-from-bottom {
69
+ from {
70
+ opacity: 0;
71
+ transform: translateY(100%);
72
+ }
73
+ to {
74
+ opacity: 1;
75
+ transform: translateY(0);
76
+ }
77
+ }
78
+
79
+ .global-provider-page--scale_from_center {
80
+ animation: global-provider-scale-from-center $page-transition-duration $page-transition-easing;
81
+ }
82
+
83
+ @keyframes global-provider-scale-from-center {
84
+ from {
85
+ opacity: 0;
86
+ transform: scale(0.95);
87
+ }
88
+ to {
89
+ opacity: 1;
90
+ transform: scale(1);
91
+ }
92
+ }
93
+
94
+ .global-provider-page--slide_from_right {
95
+ animation: global-provider-slide-from-right $page-transition-duration $page-transition-easing;
96
+ }
97
+
98
+ @keyframes global-provider-slide-from-right {
99
+ from {
100
+ transform: translateX(100%);
101
+ }
102
+ to {
103
+ transform: translateX(0);
104
+ }
105
+ }
106
+
107
+ .global-provider-page--slide_from_left {
108
+ animation: global-provider-slide-from-left $page-transition-duration $page-transition-easing;
109
+ }
110
+
111
+ @keyframes global-provider-slide-from-left {
112
+ from {
113
+ transform: translateX(-100%);
114
+ }
115
+ to {
116
+ transform: translateX(0);
117
+ }
118
+ }
119
+
120
+ .global-provider-page--slide_from_bottom {
121
+ animation: global-provider-slide-from-bottom $page-transition-duration $page-transition-easing;
122
+ }
123
+
124
+ @keyframes global-provider-slide-from-bottom {
125
+ from {
126
+ transform: translateY(100%);
127
+ }
128
+ to {
129
+ transform: translateY(0);
130
+ }
131
+ }
@@ -0,0 +1,52 @@
1
+ /* WebView build-component: web-only layout/structure. Numeric values come from pattern defaults via CSS vars (shared with native). */
2
+
3
+ .rb-webview {
4
+ position: relative;
5
+ overflow: hidden;
6
+ }
7
+
8
+ .rb-webview__overlay {
9
+ position: absolute;
10
+ inset: 0;
11
+ z-index: 1;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: center;
15
+ }
16
+
17
+ .rb-webview__loader {
18
+ width: var(--rb-webview-loader-size, 30px);
19
+ height: var(--rb-webview-loader-size, 30px);
20
+ border-radius: 50%;
21
+ border: var(--rb-webview-loader-border-width, 3px) solid transparent;
22
+ border-top-color: currentColor;
23
+ animation: rb-webview-spin var(--rb-webview-loader-duration, 1s) linear infinite;
24
+ }
25
+
26
+ @keyframes rb-webview-spin {
27
+ 0% {
28
+ transform: rotate(0deg);
29
+ }
30
+ 100% {
31
+ transform: rotate(360deg);
32
+ }
33
+ }
34
+
35
+ .rb-webview__frame-wrapper {
36
+ display: flex;
37
+ flex-direction: column;
38
+ position: relative;
39
+ }
40
+
41
+ .rb-webview__frame-inner {
42
+ flex: 1;
43
+ min-height: 0;
44
+ position: relative;
45
+ }
46
+
47
+ .rb-webview__frame {
48
+ width: 100%;
49
+ height: 100%;
50
+ border: none;
51
+ transition: opacity 0.3s ease-in-out;
52
+ }
@@ -16,6 +16,10 @@
16
16
  @use './components/mockos-router';
17
17
  @use './components/bottom-bar';
18
18
  @use './components/onboard';
19
+ @use './components/global-provider';
20
+
21
+ @use './components/webview';
22
+ @use './components/checkbox';
19
23
 
20
24
  @use './modals/modal-shell';
21
25
  @use './modals/add-component';
@@ -57,6 +57,12 @@ export type LocalizationKey =
57
57
  | 'base.builder.paywall.footer.description'
58
58
  | 'base.builder.paywall.btnPrivacy'
59
59
  | 'base.builder.paywall.btnTerms'
60
+ // terms and privacy
61
+ | 'view.terms.header.title'
62
+ | 'view.terms.accept.button'
63
+ | 'view.terms.checkbox.label'
64
+ | 'view.terms.error.must_accept'
65
+ | 'form.error.validation_required'
60
66
  | (string & {});
61
67
 
62
68
  export type Localication = Record<
@@ -138,6 +144,12 @@ export const defaultLocalization: Localication = {
138
144
  'By clicking continue, you will be accepting the Terms of service and privacy policy',
139
145
  'base.builder.paywall.btnPrivacy': 'Privacy Policy',
140
146
  'base.builder.paywall.btnTerms': 'Terms of Service',
147
+ // terms and privacy
148
+ 'view.terms.header.title': 'Terms & Privacy',
149
+ 'view.terms.accept.button': 'Accept',
150
+ 'view.terms.checkbox.label': 'I accept the terms and privacy policy',
151
+ 'view.terms.error.must_accept': 'You must accept to continue',
152
+ 'form.error.validation_required': 'Please complete the required fields.',
141
153
  },
142
154
  tr: {
143
155
  // paywall – period
@@ -181,6 +193,13 @@ export const defaultLocalization: Localication = {
181
193
  'Devam et butonuna tıklayarak Hizmet Şartları ve Gizlilik Politikası kabul etmiş olursunuz',
182
194
  'base.builder.paywall.btnPrivacy': 'Gizlilik Politikası',
183
195
  'base.builder.paywall.btnTerms': 'Hizmet Şartları',
196
+
197
+ // terms and privacy
198
+ 'view.terms.header.title': 'Gizlilik ve Hizmet Şartları',
199
+ 'view.terms.accept.button': 'Kabul Et',
200
+ 'view.terms.checkbox.label': 'Gizlilik ve Hizmet Şartlarını kabul ediyorum',
201
+ 'view.terms.error.must_accept': 'Kabul etmeden geçiş yapılamaz',
202
+ 'form.error.validation_required': 'Lütfen zorunlu alanları tamamlayın.',
184
203
  },
185
204
  };
186
205
 
@@ -432,12 +432,15 @@ function validateAttributesByPattern(
432
432
  if (
433
433
  attrName === 'title' ||
434
434
  attrName === 'description' ||
435
- attrName === 'testID'
435
+ attrName === 'testID' ||
436
+ attrName === 'animation'
436
437
  ) {
437
438
  const res = validateAttributeValue(
438
439
  pattern.pattern.type,
439
440
  attrValue,
440
- attrName === 'testID' ? 'string' : attrName,
441
+ attrName === 'testID' || attrName === 'animation'
442
+ ? 'string'
443
+ : attrName,
441
444
  joinPath(path, attrName),
442
445
  );
443
446
  if (!res.valid) return res;
@@ -8,7 +8,6 @@ import type { BaseSize } from '../../types/PreviewConfig';
8
8
  import { parseSize } from '../../size-matters';
9
9
  import { parseColor } from '../parseColor';
10
10
  import { getStyleBag, toAttributeRecord } from '../attributeStyle';
11
- import { getDefaultDevice } from '../getDevices';
12
11
 
13
12
  export type ExtractViewStyleOptions = {
14
13
  projectColors?: ProjectColors;
@@ -27,6 +27,8 @@ export const defaultProjectColors: ProjectColors = {
27
27
  ONBOARD_SUBTITLE: '#44454D',
28
28
  ONBOARD_BUTTON_SECONDARY_TEXT: '#81838F',
29
29
  ONBOARD_FOOTER_TEXT: '#81838F',
30
+ CHECKBOX_ACTIVE_COLOR: '#0066FF',
31
+ FORM_ERROR_TEXT_COLOR: '#B91C1C',
30
32
  },
31
33
  dark: {
32
34
  TEXT: '#E9EBF9',
@@ -37,6 +39,8 @@ export const defaultProjectColors: ProjectColors = {
37
39
  ONBOARD_SUBTITLE: '#C7C7C7',
38
40
  ONBOARD_BUTTON_SECONDARY_TEXT: '#A9AAAC',
39
41
  ONBOARD_FOOTER_TEXT: '#A2A4B1',
42
+ CHECKBOX_ACTIVE_COLOR: '#0066FF',
43
+ FORM_ERROR_TEXT_COLOR: '#B91C1C',
40
44
  },
41
45
  },
42
46
  };
@@ -6,7 +6,6 @@ const EMPTY_STYLE: CSSProperties = {};
6
6
  export function useMergedStyle(
7
7
  ...args: (CSSProperties | undefined | null | false)[]
8
8
  ): CSSProperties {
9
- // eslint-disable-next-line react-hooks/exhaustive-deps -- spread args intentionally
10
9
  return useMemo(() => {
11
10
  const validStyles = args.filter((arg): arg is CSSProperties => !!arg);
12
11
 
@@ -14,5 +13,6 @@ export function useMergedStyle(
14
13
  if (validStyles.length === 1) return validStyles[0];
15
14
 
16
15
  return Object.assign({}, ...validStyles);
16
+ // eslint-disable-next-line react-hooks/exhaustive-deps
17
17
  }, args);
18
18
  }
package/src/.DS_Store DELETED
Binary file
Binary file