@developer_tribe/react-builder 0.1.24 → 0.1.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.
- package/dist/build-components/getDefaults.d.ts +1 -1
- package/dist/build-components/index.d.ts +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/types/Device.d.ts +2 -2
- package/package.json +1 -1
- package/scripts/prebuild/utils/createBuildComponentsIndex.js +4 -1
- package/scripts/prebuild/utils/createBuildComponentsRootGetDefaults.js +12 -4
- package/scripts/prebuild/utils/validateAllComponentsOrThrow.js +0 -1
- package/src/assets/devices.json +88 -88
- package/src/build-components/getDefaults.ts +55 -21
- package/src/build-components/index.ts +2 -0
- package/src/types/Device.ts +2 -2
- package/src/utils/getDevices.ts +7 -1
|
@@ -68,48 +68,82 @@ export type List<T> = T extends keyof Types ? Types[T] : never;
|
|
|
68
68
|
|
|
69
69
|
export function getDefaults<T extends keyof Types>(
|
|
70
70
|
type: T,
|
|
71
|
-
|
|
71
|
+
node: NodeData<List<T>>,
|
|
72
72
|
): Partial<Types[T]> {
|
|
73
|
+
let defaults: Partial<Types[T]> = {};
|
|
74
|
+
|
|
73
75
|
switch (type as unknown as string) {
|
|
74
76
|
case 'button':
|
|
75
|
-
|
|
77
|
+
defaults = getButtonDefaults() as Partial<Types[T]>;
|
|
78
|
+
break;
|
|
76
79
|
case 'carousel':
|
|
77
|
-
|
|
80
|
+
defaults = getCarouselDefaults() as Partial<Types[T]>;
|
|
81
|
+
break;
|
|
78
82
|
case 'carouselButtons':
|
|
79
|
-
|
|
83
|
+
defaults = getCarouselButtonsDefaults() as Partial<Types[T]>;
|
|
84
|
+
break;
|
|
80
85
|
case 'carouselDots':
|
|
81
|
-
|
|
86
|
+
defaults = getCarouselDotsDefaults() as Partial<Types[T]>;
|
|
87
|
+
break;
|
|
82
88
|
case 'carouselItem':
|
|
83
|
-
|
|
89
|
+
defaults = getCarouselItemDefaults() as Partial<Types[T]>;
|
|
90
|
+
break;
|
|
84
91
|
case 'carouselProvider':
|
|
85
|
-
|
|
92
|
+
defaults = getCarouselProviderDefaults() as Partial<Types[T]>;
|
|
93
|
+
break;
|
|
86
94
|
case 'image':
|
|
87
|
-
|
|
95
|
+
defaults = getImageDefaults() as Partial<Types[T]>;
|
|
96
|
+
break;
|
|
88
97
|
case 'Onboard':
|
|
89
|
-
|
|
98
|
+
defaults = getOnboardDefaults() as Partial<Types[T]>;
|
|
99
|
+
break;
|
|
90
100
|
case 'OnboardButton':
|
|
91
|
-
|
|
101
|
+
defaults = getOnboardButtonDefaults() as Partial<Types[T]>;
|
|
102
|
+
break;
|
|
92
103
|
case 'OnboardButtons':
|
|
93
|
-
|
|
104
|
+
defaults = getOnboardButtonsDefaults() as Partial<Types[T]>;
|
|
105
|
+
break;
|
|
94
106
|
case 'OnboardDot':
|
|
95
|
-
|
|
107
|
+
defaults = getOnboardDotDefaults() as Partial<Types[T]>;
|
|
108
|
+
break;
|
|
96
109
|
case 'OnboardFooter':
|
|
97
|
-
|
|
110
|
+
defaults = getOnboardFooterDefaults() as Partial<Types[T]>;
|
|
111
|
+
break;
|
|
98
112
|
case 'OnboardImage':
|
|
99
|
-
|
|
113
|
+
defaults = getOnboardImageDefaults() as Partial<Types[T]>;
|
|
114
|
+
break;
|
|
100
115
|
case 'OnboardItem':
|
|
101
|
-
|
|
116
|
+
defaults = getOnboardItemDefaults() as Partial<Types[T]>;
|
|
117
|
+
break;
|
|
102
118
|
case 'OnboardProvider':
|
|
103
|
-
|
|
119
|
+
defaults = getOnboardProviderDefaults() as Partial<Types[T]>;
|
|
120
|
+
break;
|
|
104
121
|
case 'OnboardSubtitle':
|
|
105
|
-
|
|
122
|
+
defaults = getOnboardSubtitleDefaults() as Partial<Types[T]>;
|
|
123
|
+
break;
|
|
106
124
|
case 'OnboardTitle':
|
|
107
|
-
|
|
125
|
+
defaults = getOnboardTitleDefaults() as Partial<Types[T]>;
|
|
126
|
+
break;
|
|
108
127
|
case 'text':
|
|
109
|
-
|
|
128
|
+
defaults = getTextDefaults() as Partial<Types[T]>;
|
|
129
|
+
break;
|
|
110
130
|
case 'view':
|
|
111
|
-
|
|
131
|
+
defaults = getViewDefaults() as Partial<Types[T]>;
|
|
132
|
+
break;
|
|
112
133
|
default:
|
|
113
|
-
|
|
134
|
+
defaults = {} as Partial<Types[T]>;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
if (
|
|
138
|
+
(node as unknown as { type?: string })?.type !== (type as unknown as string)
|
|
139
|
+
) {
|
|
140
|
+
throw new Error(
|
|
141
|
+
`getDefaults: node.type mismatch; expected ${String(type)}, received ${(node as unknown as { type?: string })?.type ?? 'undefined'}`,
|
|
142
|
+
);
|
|
114
143
|
}
|
|
144
|
+
|
|
145
|
+
(node as unknown as { attributes?: unknown }).attributes =
|
|
146
|
+
defaults as Types[T];
|
|
147
|
+
|
|
148
|
+
return defaults;
|
|
115
149
|
}
|
package/src/types/Device.ts
CHANGED
|
@@ -6,7 +6,7 @@ export interface Device {
|
|
|
6
6
|
type: 'phone' | 'tablet';
|
|
7
7
|
/**
|
|
8
8
|
* Relative importance for generic targeting and display ordering.
|
|
9
|
-
* 1 = highest importance,
|
|
9
|
+
* 1 = highest importance, 100 = lowest importance
|
|
10
10
|
*/
|
|
11
|
-
importance?:
|
|
11
|
+
importance?: number;
|
|
12
12
|
}
|
package/src/utils/getDevices.ts
CHANGED
|
@@ -2,5 +2,11 @@ import { Device } from '../types/Device';
|
|
|
2
2
|
import devices from '../assets/devices.json';
|
|
3
3
|
|
|
4
4
|
export function getDevices(): Device[] {
|
|
5
|
-
|
|
5
|
+
const deviceList = (devices as Device[]).slice();
|
|
6
|
+
deviceList.sort((a, b) => {
|
|
7
|
+
const ai = a.importance ?? 999;
|
|
8
|
+
const bi = b.importance ?? 999;
|
|
9
|
+
return ai - bi;
|
|
10
|
+
});
|
|
11
|
+
return deviceList;
|
|
6
12
|
}
|