@utilitywarehouse/hearth-react-native 0.8.2 → 0.9.0
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/.turbo/turbo-build.log +1 -1
- package/.turbo/turbo-lint.log +1 -1
- package/CHANGELOG.md +8 -0
- package/build/components/Banner/Banner.js +25 -6
- package/build/components/Banner/Banner.props.d.ts +2 -2
- package/build/components/BottomSheet/BottomSheetHandle.js +8 -0
- package/build/components/Menu/Menu.context.d.ts +5 -0
- package/build/components/Menu/Menu.context.js +9 -0
- package/build/components/Menu/Menu.d.ts +4 -0
- package/build/components/Menu/Menu.js +25 -0
- package/build/components/Menu/Menu.props.d.ts +21 -0
- package/build/components/Menu/Menu.props.js +1 -0
- package/build/components/Menu/MenuItem.d.ts +18 -0
- package/build/components/Menu/MenuItem.js +115 -0
- package/build/components/Menu/MenuItem.props.d.ts +27 -0
- package/build/components/Menu/MenuItem.props.js +1 -0
- package/build/components/Menu/MenuTrigger.d.ts +9 -0
- package/build/components/Menu/MenuTrigger.js +11 -0
- package/build/components/Menu/MenuTrigger.props.d.ts +12 -0
- package/build/components/Menu/MenuTrigger.props.js +1 -0
- package/build/components/Menu/index.d.ts +7 -0
- package/build/components/Menu/index.js +4 -0
- package/build/components/Modal/Modal.d.ts +1 -1
- package/build/components/Modal/Modal.js +32 -30
- package/build/components/Modal/Modal.props.d.ts +1 -0
- package/build/components/Modal/Modal.web.d.ts +1 -1
- package/build/components/Modal/Modal.web.js +25 -25
- package/build/components/index.d.ts +1 -0
- package/build/components/index.js +1 -0
- package/build/tokens/components/dark/index.d.ts +3 -1
- package/build/tokens/components/dark/index.js +3 -1
- package/build/tokens/components/dark/input.d.ts +3 -0
- package/build/tokens/components/dark/input.js +3 -0
- package/build/tokens/components/dark/modal.d.ts +7 -4
- package/build/tokens/components/dark/modal.js +7 -4
- package/build/tokens/components/dark/rating.d.ts +8 -0
- package/build/tokens/components/dark/rating.js +7 -0
- package/build/tokens/components/dark/table.d.ts +0 -3
- package/build/tokens/components/dark/table.js +0 -3
- package/build/tokens/components/dark/time-picker.d.ts +29 -0
- package/build/tokens/components/dark/time-picker.js +28 -0
- package/build/tokens/components/dark/timeline.d.ts +27 -0
- package/build/tokens/components/dark/timeline.js +26 -0
- package/build/tokens/components/light/index.d.ts +3 -1
- package/build/tokens/components/light/index.js +3 -1
- package/build/tokens/components/light/input.d.ts +3 -0
- package/build/tokens/components/light/input.js +3 -0
- package/build/tokens/components/light/modal.d.ts +7 -4
- package/build/tokens/components/light/modal.js +7 -4
- package/build/tokens/components/light/rating.d.ts +8 -0
- package/build/tokens/components/light/rating.js +7 -0
- package/build/tokens/components/light/table.d.ts +0 -3
- package/build/tokens/components/light/table.js +0 -3
- package/build/tokens/components/light/time-picker.d.ts +29 -0
- package/build/tokens/components/light/time-picker.js +28 -0
- package/build/tokens/components/light/timeline.d.ts +27 -0
- package/build/tokens/components/light/timeline.js +26 -0
- package/docs/components/AllComponents.web.tsx +33 -0
- package/docs/components/BackToTopButton.tsx +1 -1
- package/package.json +2 -2
- package/src/components/Banner/Banner.docs.mdx +19 -10
- package/src/components/Banner/Banner.props.ts +2 -2
- package/src/components/Banner/Banner.stories.tsx +1 -4
- package/src/components/Banner/Banner.tsx +47 -7
- package/src/components/BottomSheet/BottomSheetHandle.tsx +12 -0
- package/src/components/DatePickerInput/DatePickerInput.docs.mdx +1 -1
- package/src/components/Menu/Menu.context.ts +15 -0
- package/src/components/Menu/Menu.docs.mdx +158 -0
- package/src/components/Menu/Menu.props.ts +24 -0
- package/src/components/Menu/Menu.stories.tsx +292 -0
- package/src/components/Menu/Menu.tsx +54 -0
- package/src/components/Menu/MenuItem.props.ts +29 -0
- package/src/components/Menu/MenuItem.tsx +145 -0
- package/src/components/Menu/MenuTrigger.props.ts +14 -0
- package/src/components/Menu/MenuTrigger.tsx +20 -0
- package/src/components/Menu/index.ts +7 -0
- package/src/components/Modal/Modal.docs.mdx +34 -5
- package/src/components/Modal/Modal.props.ts +1 -0
- package/src/components/Modal/Modal.stories.tsx +46 -0
- package/src/components/Modal/Modal.tsx +37 -33
- package/src/components/Modal/Modal.web.tsx +27 -27
- package/src/components/index.ts +1 -0
- package/src/tokens/components/dark/index.ts +3 -1
- package/src/tokens/components/dark/input.ts +3 -0
- package/src/tokens/components/dark/modal.ts +7 -4
- package/src/tokens/components/dark/rating.ts +8 -0
- package/src/tokens/components/dark/table.ts +0 -3
- package/src/tokens/components/dark/time-picker.ts +29 -0
- package/src/tokens/components/dark/timeline.ts +27 -0
- package/src/tokens/components/light/index.ts +3 -1
- package/src/tokens/components/light/input.ts +3 -0
- package/src/tokens/components/light/modal.ts +7 -4
- package/src/tokens/components/light/rating.ts +8 -0
- package/src/tokens/components/light/table.ts +0 -3
- package/src/tokens/components/light/time-picker.ts +29 -0
- package/src/tokens/components/light/timeline.ts +27 -0
- package/build/tokens/components/dark/dialog.d.ts +0 -25
- package/build/tokens/components/dark/dialog.js +0 -24
- package/build/tokens/components/light/dialog.d.ts +0 -25
- package/build/tokens/components/light/dialog.js +0 -24
- package/src/tokens/components/dark/dialog.ts +0 -25
- package/src/tokens/components/light/dialog.ts +0 -25
|
@@ -41,6 +41,12 @@ const meta = {
|
|
|
41
41
|
control: 'boolean',
|
|
42
42
|
description: 'Whether the modal is in a loading state.',
|
|
43
43
|
},
|
|
44
|
+
fullscreen: {
|
|
45
|
+
control: 'boolean',
|
|
46
|
+
description: 'Whether the modal should take up the full screen height.',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
actions: {
|
|
44
50
|
onPressPrimaryButton: { action: () => null },
|
|
45
51
|
onPressSecondaryButton: { action: () => null },
|
|
46
52
|
onPressCloseButton: { action: () => null },
|
|
@@ -52,6 +58,7 @@ const meta = {
|
|
|
52
58
|
primaryButtonText: 'Primary',
|
|
53
59
|
secondaryButtonText: 'Cancel',
|
|
54
60
|
loading: false,
|
|
61
|
+
fullscreen: false,
|
|
55
62
|
onPressCloseButton: () => null,
|
|
56
63
|
onPressPrimaryButton: () => null,
|
|
57
64
|
onPressSecondaryButton: () => null,
|
|
@@ -192,3 +199,42 @@ export const Loading = () => {
|
|
|
192
199
|
</View>
|
|
193
200
|
);
|
|
194
201
|
};
|
|
202
|
+
|
|
203
|
+
export const FullscreenModal: Story = {
|
|
204
|
+
render: () => {
|
|
205
|
+
const modalRef = useRef<BottomSheetModal>(null);
|
|
206
|
+
|
|
207
|
+
const openModal = () => {
|
|
208
|
+
modalRef.current?.present();
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
const closeModal = () => {
|
|
212
|
+
modalRef.current?.dismiss();
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
return (
|
|
216
|
+
<View style={Platform.OS === 'web' ? { width: 400, height: 800 } : { flex: 1 }}>
|
|
217
|
+
<ViewWrap>
|
|
218
|
+
<Button onPress={openModal}>Open Fullscreen Modal</Button>
|
|
219
|
+
|
|
220
|
+
<Modal
|
|
221
|
+
ref={modalRef}
|
|
222
|
+
heading="Fullscreen Modal Heading"
|
|
223
|
+
description="This is a fullscreen modal description"
|
|
224
|
+
onPressCloseButton={closeModal}
|
|
225
|
+
primaryButtonText="Primary"
|
|
226
|
+
onPressPrimaryButton={closeModal}
|
|
227
|
+
secondaryButtonText="Cancel"
|
|
228
|
+
onPressSecondaryButton={closeModal}
|
|
229
|
+
fullscreen
|
|
230
|
+
>
|
|
231
|
+
<Box gap="200">
|
|
232
|
+
<BodyText>This is a fullscreen modal with content.</BodyText>
|
|
233
|
+
<BodyText>You can swipe it up and down to close.</BodyText>
|
|
234
|
+
</Box>
|
|
235
|
+
</Modal>
|
|
236
|
+
</ViewWrap>
|
|
237
|
+
</View>
|
|
238
|
+
);
|
|
239
|
+
},
|
|
240
|
+
};
|
|
@@ -37,11 +37,12 @@ const Modal = ({
|
|
|
37
37
|
closeOnPrimaryButtonPress = true,
|
|
38
38
|
closeOnSecondaryButtonPress = true,
|
|
39
39
|
loading,
|
|
40
|
+
fullscreen = false,
|
|
40
41
|
image,
|
|
41
42
|
primaryButtonProps,
|
|
42
43
|
secondaryButtonProps,
|
|
43
44
|
closeButtonProps,
|
|
44
|
-
|
|
45
|
+
inNavModal = false,
|
|
45
46
|
...props
|
|
46
47
|
}: ModalProps) => {
|
|
47
48
|
const bottomSheetModalRef = useRef<BottomSheetModal>(null);
|
|
@@ -52,7 +53,7 @@ const Modal = ({
|
|
|
52
53
|
const pretendContentTranslateY = useSharedValue(20);
|
|
53
54
|
|
|
54
55
|
const triggerCloseAnimation = useCallback(() => {
|
|
55
|
-
if (Platform.OS === 'android' &&
|
|
56
|
+
if (Platform.OS === 'android' && inNavModal) {
|
|
56
57
|
pretendContentTranslateY.value = withTiming(20, {
|
|
57
58
|
duration: 50,
|
|
58
59
|
easing: Easing.in(Easing.quad),
|
|
@@ -62,16 +63,16 @@ const Modal = ({
|
|
|
62
63
|
easing: Easing.in(Easing.quad),
|
|
63
64
|
});
|
|
64
65
|
}
|
|
65
|
-
}, [Platform.OS,
|
|
66
|
+
}, [Platform.OS, inNavModal, pretendContentTranslateY, backgroundOpacity]);
|
|
66
67
|
|
|
67
68
|
useImperativeHandle(ref, () => ({
|
|
68
69
|
...(bottomSheetModalRef.current as BottomSheetModal),
|
|
69
70
|
triggerCloseAnimation,
|
|
70
71
|
}));
|
|
71
72
|
|
|
72
|
-
// Trigger animations on render for
|
|
73
|
+
// Trigger animations on render for inNavModal Android modal
|
|
73
74
|
useEffect(() => {
|
|
74
|
-
if (Platform.OS === 'android' &&
|
|
75
|
+
if (Platform.OS === 'android' && inNavModal) {
|
|
75
76
|
backgroundOpacity.value = withDelay(
|
|
76
77
|
300,
|
|
77
78
|
withTiming(1, {
|
|
@@ -87,7 +88,7 @@ const Modal = ({
|
|
|
87
88
|
})
|
|
88
89
|
);
|
|
89
90
|
}
|
|
90
|
-
}, [
|
|
91
|
+
}, [inNavModal, backgroundOpacity, pretendContentTranslateY]);
|
|
91
92
|
|
|
92
93
|
const animatedBackgroundStyle = useAnimatedStyle(() => ({
|
|
93
94
|
backgroundColor: hexWithOpacity(
|
|
@@ -96,7 +97,7 @@ const Modal = ({
|
|
|
96
97
|
),
|
|
97
98
|
}));
|
|
98
99
|
|
|
99
|
-
const
|
|
100
|
+
const animatedInNavModalStyle = useAnimatedStyle(() => ({
|
|
100
101
|
backgroundColor: hexWithOpacity(
|
|
101
102
|
theme.components.overlay.backgroundColor,
|
|
102
103
|
backgroundOpacity.value * (theme.components.overlay.opacity / 100)
|
|
@@ -240,7 +241,7 @@ const Modal = ({
|
|
|
240
241
|
</>
|
|
241
242
|
);
|
|
242
243
|
|
|
243
|
-
return
|
|
244
|
+
return inNavModal ? (
|
|
244
245
|
<View style={{ flex: 1, backgroundColor: theme.color.background.primary }}>
|
|
245
246
|
{Platform.OS === 'android' ? (
|
|
246
247
|
<Animated.View style={[styles.androidContainer, animatedBackgroundStyle]}>
|
|
@@ -248,18 +249,19 @@ const Modal = ({
|
|
|
248
249
|
</Animated.View>
|
|
249
250
|
) : null}
|
|
250
251
|
<Animated.View
|
|
251
|
-
style={[styles.
|
|
252
|
+
style={[styles.inNavModalContainer, Platform.OS === 'android' && animatedInNavModalStyle]}
|
|
252
253
|
>
|
|
253
|
-
<View style={styles.
|
|
254
|
+
<View style={styles.inNavModalContent}>{content}</View>
|
|
254
255
|
</Animated.View>
|
|
255
256
|
</View>
|
|
256
257
|
) : (
|
|
257
258
|
<BottomSheetModal
|
|
258
259
|
ref={bottomSheetModalRef}
|
|
259
260
|
enableDynamicSizing={true}
|
|
260
|
-
snapPoints={image ? ['90%'] : props.snapPoints}
|
|
261
|
+
snapPoints={image || fullscreen ? ['90%'] : props.snapPoints}
|
|
261
262
|
showHandle={typeof loading !== 'undefined' && loading ? false : props.showHandle}
|
|
262
263
|
accessible={false}
|
|
264
|
+
style={styles.modal}
|
|
263
265
|
{...props}
|
|
264
266
|
onChange={handleChange}
|
|
265
267
|
>
|
|
@@ -272,9 +274,12 @@ const Modal = ({
|
|
|
272
274
|
};
|
|
273
275
|
|
|
274
276
|
const styles = StyleSheet.create((theme, rt) => ({
|
|
277
|
+
modal: {
|
|
278
|
+
gap: theme.components.modal.content.gap - theme.components.bottomSheet.gap,
|
|
279
|
+
},
|
|
275
280
|
container: {
|
|
276
281
|
flex: 1,
|
|
277
|
-
gap: theme.components.
|
|
282
|
+
gap: theme.components.modal.gap,
|
|
278
283
|
variants: {
|
|
279
284
|
loading: {
|
|
280
285
|
true: {
|
|
@@ -285,11 +290,11 @@ const styles = StyleSheet.create((theme, rt) => ({
|
|
|
285
290
|
},
|
|
286
291
|
header: {
|
|
287
292
|
flexDirection: 'row',
|
|
288
|
-
gap: theme.components.
|
|
293
|
+
gap: theme.components.modal.gap,
|
|
289
294
|
},
|
|
290
295
|
headerTextContent: {
|
|
291
296
|
flex: 1,
|
|
292
|
-
gap: theme.components.
|
|
297
|
+
gap: theme.components.modal.content.gap,
|
|
293
298
|
},
|
|
294
299
|
image: {
|
|
295
300
|
width: 260,
|
|
@@ -297,52 +302,51 @@ const styles = StyleSheet.create((theme, rt) => ({
|
|
|
297
302
|
},
|
|
298
303
|
imageContainer: {
|
|
299
304
|
alignItems: 'center',
|
|
300
|
-
justifyContent: 'center',
|
|
301
305
|
flex: 1,
|
|
302
306
|
},
|
|
303
307
|
textContent: {
|
|
304
|
-
gap: theme.components.
|
|
308
|
+
gap: theme.components.modal.content.gap,
|
|
305
309
|
},
|
|
306
310
|
loadingTop: {
|
|
307
|
-
borderTopLeftRadius: theme.components.
|
|
308
|
-
borderTopRightRadius: theme.components.
|
|
311
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
312
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
309
313
|
height: 16,
|
|
310
314
|
backgroundColor: theme.color.surface.neutral.strong,
|
|
311
315
|
},
|
|
312
316
|
loadingContainer: {
|
|
313
|
-
borderTopLeftRadius: theme.components.
|
|
314
|
-
borderTopRightRadius: theme.components.
|
|
317
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
318
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
315
319
|
flex: 1,
|
|
316
320
|
alignItems: 'center',
|
|
317
321
|
justifyContent: 'center',
|
|
318
322
|
minHeight: 140,
|
|
319
|
-
gap: theme.components.
|
|
323
|
+
gap: theme.components.modal.content.gap,
|
|
320
324
|
},
|
|
321
325
|
footer: {
|
|
322
|
-
gap: theme.components.
|
|
326
|
+
gap: theme.components.modal.action.gap,
|
|
323
327
|
},
|
|
324
|
-
|
|
328
|
+
inNavModalContainer: {
|
|
325
329
|
flex: 1,
|
|
326
330
|
...(Platform.OS === 'ios' ? { backgroundColor: theme.components.overlay.backgroundColor } : {}),
|
|
327
331
|
},
|
|
328
|
-
|
|
332
|
+
inNavModalContent: {
|
|
329
333
|
flex: 1,
|
|
330
|
-
borderTopLeftRadius: theme.components.
|
|
331
|
-
borderTopRightRadius: theme.components.
|
|
334
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
335
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
332
336
|
backgroundColor: theme.color.surface.neutral.strong,
|
|
333
|
-
gap: theme.components.
|
|
334
|
-
padding: theme.components.
|
|
335
|
-
paddingBottom: theme.components.
|
|
337
|
+
gap: theme.components.modal.gap,
|
|
338
|
+
padding: theme.components.modal.padding,
|
|
339
|
+
paddingBottom: theme.components.modal.padding + rt.insets.bottom,
|
|
336
340
|
},
|
|
337
341
|
androidContainer: {
|
|
338
342
|
height: rt.insets.top + 18,
|
|
339
|
-
paddingLeft: theme.components.
|
|
340
|
-
paddingRight: theme.components.
|
|
343
|
+
paddingLeft: theme.components.modal.padding,
|
|
344
|
+
paddingRight: theme.components.modal.padding,
|
|
341
345
|
justifyContent: 'flex-end',
|
|
342
346
|
},
|
|
343
347
|
pretendContent: {
|
|
344
|
-
borderTopLeftRadius: theme.components.
|
|
345
|
-
borderTopRightRadius: theme.components.
|
|
348
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
349
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
346
350
|
height: 12,
|
|
347
351
|
backgroundColor: theme.components.parts.modalStack.backgroundColorCardTop,
|
|
348
352
|
},
|
|
@@ -41,7 +41,7 @@ const Modal = ({
|
|
|
41
41
|
primaryButtonProps,
|
|
42
42
|
secondaryButtonProps,
|
|
43
43
|
closeButtonProps,
|
|
44
|
-
|
|
44
|
+
inNavModal = false,
|
|
45
45
|
...props
|
|
46
46
|
}: ModalProps) => {
|
|
47
47
|
const bottomSheetModalRef = useRef<BottomSheetModal>(null);
|
|
@@ -52,7 +52,7 @@ const Modal = ({
|
|
|
52
52
|
const pretendContentTranslateY = useSharedValue(20);
|
|
53
53
|
|
|
54
54
|
const triggerCloseAnimation = useCallback(() => {
|
|
55
|
-
if (Platform.OS === 'android' &&
|
|
55
|
+
if (Platform.OS === 'android' && inNavModal) {
|
|
56
56
|
pretendContentTranslateY.value = withTiming(20, {
|
|
57
57
|
duration: 50,
|
|
58
58
|
easing: Easing.in(Easing.quad),
|
|
@@ -62,16 +62,16 @@ const Modal = ({
|
|
|
62
62
|
easing: Easing.in(Easing.quad),
|
|
63
63
|
});
|
|
64
64
|
}
|
|
65
|
-
}, [Platform.OS,
|
|
65
|
+
}, [Platform.OS, inNavModal, pretendContentTranslateY, backgroundOpacity]);
|
|
66
66
|
|
|
67
67
|
useImperativeHandle(ref, () => ({
|
|
68
68
|
...(bottomSheetModalRef.current as BottomSheetModal),
|
|
69
69
|
triggerCloseAnimation,
|
|
70
70
|
}));
|
|
71
71
|
|
|
72
|
-
// Trigger animations on render for
|
|
72
|
+
// Trigger animations on render for inNavModal Android modal
|
|
73
73
|
useEffect(() => {
|
|
74
|
-
if (Platform.OS === 'android' &&
|
|
74
|
+
if (Platform.OS === 'android' && inNavModal) {
|
|
75
75
|
backgroundOpacity.value = withDelay(
|
|
76
76
|
300,
|
|
77
77
|
withTiming(1, {
|
|
@@ -87,7 +87,7 @@ const Modal = ({
|
|
|
87
87
|
})
|
|
88
88
|
);
|
|
89
89
|
}
|
|
90
|
-
}, [
|
|
90
|
+
}, [inNavModal, backgroundOpacity, pretendContentTranslateY]);
|
|
91
91
|
|
|
92
92
|
const animatedBackgroundStyle = useAnimatedStyle(() => ({
|
|
93
93
|
backgroundColor: hexWithOpacity(
|
|
@@ -96,7 +96,7 @@ const Modal = ({
|
|
|
96
96
|
),
|
|
97
97
|
}));
|
|
98
98
|
|
|
99
|
-
const
|
|
99
|
+
const animatedInNavModalStyle = useAnimatedStyle(() => ({
|
|
100
100
|
backgroundColor: hexWithOpacity(
|
|
101
101
|
theme.components.overlay.backgroundColor,
|
|
102
102
|
backgroundOpacity.value * (theme.components.overlay.opacity / 100)
|
|
@@ -238,7 +238,7 @@ const Modal = ({
|
|
|
238
238
|
</>
|
|
239
239
|
);
|
|
240
240
|
|
|
241
|
-
return
|
|
241
|
+
return inNavModal ? (
|
|
242
242
|
<View style={{ flex: 1, backgroundColor: theme.color.background.primary }}>
|
|
243
243
|
{Platform.OS === 'android' ? (
|
|
244
244
|
<Animated.View style={[styles.androidContainer, animatedBackgroundStyle]}>
|
|
@@ -246,9 +246,9 @@ const Modal = ({
|
|
|
246
246
|
</Animated.View>
|
|
247
247
|
) : null}
|
|
248
248
|
<Animated.View
|
|
249
|
-
style={[styles.
|
|
249
|
+
style={[styles.inNavModalContainer, Platform.OS === 'android' && animatedInNavModalStyle]}
|
|
250
250
|
>
|
|
251
|
-
<View style={styles.
|
|
251
|
+
<View style={styles.inNavModalContent}>{content}</View>
|
|
252
252
|
</Animated.View>
|
|
253
253
|
</View>
|
|
254
254
|
) : (
|
|
@@ -271,15 +271,15 @@ const Modal = ({
|
|
|
271
271
|
const styles = StyleSheet.create((theme, rt) => ({
|
|
272
272
|
container: {
|
|
273
273
|
flex: 1,
|
|
274
|
-
gap: theme.components.
|
|
274
|
+
gap: theme.components.modal.gap,
|
|
275
275
|
},
|
|
276
276
|
header: {
|
|
277
277
|
flexDirection: 'row',
|
|
278
|
-
gap: theme.components.
|
|
278
|
+
gap: theme.components.modal.gap,
|
|
279
279
|
},
|
|
280
280
|
headerTextContent: {
|
|
281
281
|
flex: 1,
|
|
282
|
-
gap: theme.components.
|
|
282
|
+
gap: theme.components.modal.content.gap,
|
|
283
283
|
},
|
|
284
284
|
image: {
|
|
285
285
|
width: 260,
|
|
@@ -291,40 +291,40 @@ const styles = StyleSheet.create((theme, rt) => ({
|
|
|
291
291
|
flex: 1,
|
|
292
292
|
},
|
|
293
293
|
textContent: {
|
|
294
|
-
gap: theme.components.
|
|
294
|
+
gap: theme.components.modal.content.gap,
|
|
295
295
|
},
|
|
296
296
|
loadingContainer: {
|
|
297
297
|
flex: 1,
|
|
298
298
|
alignItems: 'center',
|
|
299
299
|
justifyContent: 'center',
|
|
300
300
|
minHeight: 140,
|
|
301
|
-
gap: theme.components.
|
|
301
|
+
gap: theme.components.modal.content.gap,
|
|
302
302
|
},
|
|
303
303
|
footer: {
|
|
304
|
-
gap: theme.components.
|
|
304
|
+
gap: theme.components.modal.action.gap,
|
|
305
305
|
},
|
|
306
|
-
|
|
306
|
+
inNavModalContainer: {
|
|
307
307
|
flex: 1,
|
|
308
308
|
...(Platform.OS === 'ios' ? { backgroundColor: theme.components.overlay.backgroundColor } : {}),
|
|
309
309
|
},
|
|
310
|
-
|
|
310
|
+
inNavModalContent: {
|
|
311
311
|
flex: 1,
|
|
312
|
-
borderTopLeftRadius: theme.components.
|
|
313
|
-
borderTopRightRadius: theme.components.
|
|
312
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
313
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
314
314
|
backgroundColor: theme.color.surface.neutral.strong,
|
|
315
|
-
gap: theme.components.
|
|
316
|
-
padding: theme.components.
|
|
317
|
-
paddingBottom: theme.components.
|
|
315
|
+
gap: theme.components.modal.gap,
|
|
316
|
+
padding: theme.components.modal.padding,
|
|
317
|
+
paddingBottom: theme.components.modal.padding + rt.insets.bottom,
|
|
318
318
|
},
|
|
319
319
|
androidContainer: {
|
|
320
320
|
height: rt.insets.top + 18,
|
|
321
|
-
paddingLeft: theme.components.
|
|
322
|
-
paddingRight: theme.components.
|
|
321
|
+
paddingLeft: theme.components.modal.padding,
|
|
322
|
+
paddingRight: theme.components.modal.padding,
|
|
323
323
|
justifyContent: 'flex-end',
|
|
324
324
|
},
|
|
325
325
|
pretendContent: {
|
|
326
|
-
borderTopLeftRadius: theme.components.
|
|
327
|
-
borderTopRightRadius: theme.components.
|
|
326
|
+
borderTopLeftRadius: theme.components.modal.borderRadius,
|
|
327
|
+
borderTopRightRadius: theme.components.modal.borderRadius,
|
|
328
328
|
height: 12,
|
|
329
329
|
backgroundColor: theme.components.parts.modalStack.backgroundColorCardTop,
|
|
330
330
|
},
|
package/src/components/index.ts
CHANGED
|
@@ -18,7 +18,6 @@ export { default as carouselControl } from './carousel-control';
|
|
|
18
18
|
export { default as checkbox } from './checkbox';
|
|
19
19
|
export { default as datePicker } from './date-picker';
|
|
20
20
|
export { default as descriptionList } from './description-list';
|
|
21
|
-
export { default as dialog } from './dialog';
|
|
22
21
|
export { default as divider } from './divider';
|
|
23
22
|
export { default as drawer } from './drawer';
|
|
24
23
|
export { default as expandableCard } from './expandable-card';
|
|
@@ -41,6 +40,7 @@ export { default as pill } from './pill';
|
|
|
41
40
|
export { default as progressBar } from './progress-bar';
|
|
42
41
|
export { default as progressStepper } from './progress-stepper';
|
|
43
42
|
export { default as radio } from './radio';
|
|
43
|
+
export { default as rating } from './rating';
|
|
44
44
|
export { default as sectionHeader } from './section-header';
|
|
45
45
|
export { default as segmentedControl } from './segmented-control';
|
|
46
46
|
export { default as select } from './select';
|
|
@@ -49,6 +49,8 @@ export { default as spinner } from './spinner';
|
|
|
49
49
|
export { default as switch } from './switch';
|
|
50
50
|
export { default as table } from './table';
|
|
51
51
|
export { default as tabs } from './tabs';
|
|
52
|
+
export { default as timePicker } from './time-picker';
|
|
53
|
+
export { default as timeline } from './timeline';
|
|
52
54
|
export { default as toast } from './toast';
|
|
53
55
|
export { default as toggleButton } from './toggle-button';
|
|
54
56
|
export { default as tooltip } from './tooltip';
|
|
@@ -11,17 +11,20 @@ export default {
|
|
|
11
11
|
gap: 12,
|
|
12
12
|
},
|
|
13
13
|
gap: 24,
|
|
14
|
-
|
|
14
|
+
heading: {
|
|
15
|
+
gap: 24,
|
|
16
|
+
},
|
|
17
|
+
illustration: {
|
|
18
|
+
padding: 48,
|
|
19
|
+
},
|
|
20
|
+
padding: 24,
|
|
15
21
|
mobile: {
|
|
16
|
-
padding: 16,
|
|
17
22
|
width: 360,
|
|
18
23
|
},
|
|
19
24
|
tablet: {
|
|
20
|
-
padding: 48,
|
|
21
25
|
width: 504,
|
|
22
26
|
},
|
|
23
27
|
desktop: {
|
|
24
|
-
padding: 48,
|
|
25
28
|
width: 680,
|
|
26
29
|
},
|
|
27
30
|
} as const;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
gap: 6,
|
|
7
|
+
gapContainer: 4,
|
|
8
|
+
minWidth: 288,
|
|
9
|
+
paddingHorizontal: 16,
|
|
10
|
+
paddingVertical: 12,
|
|
11
|
+
time: {
|
|
12
|
+
columnGap: 4,
|
|
13
|
+
content: {
|
|
14
|
+
gap: 8,
|
|
15
|
+
item: {
|
|
16
|
+
gap: 2,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
footer: {
|
|
20
|
+
gap: 8,
|
|
21
|
+
},
|
|
22
|
+
gap: 16,
|
|
23
|
+
item: {
|
|
24
|
+
height: 40,
|
|
25
|
+
width: 64,
|
|
26
|
+
},
|
|
27
|
+
rowGap: 2,
|
|
28
|
+
},
|
|
29
|
+
} as const;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
bar: {
|
|
7
|
+
width: 2,
|
|
8
|
+
},
|
|
9
|
+
content: {
|
|
10
|
+
gap: 8,
|
|
11
|
+
paddingBottom: 24,
|
|
12
|
+
paddingTop: 2,
|
|
13
|
+
},
|
|
14
|
+
gap: 12,
|
|
15
|
+
progress: {
|
|
16
|
+
circle: {
|
|
17
|
+
height: 24,
|
|
18
|
+
width: 24,
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
static: {
|
|
22
|
+
circle: {
|
|
23
|
+
height: 12,
|
|
24
|
+
width: 12,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
} as const;
|
|
@@ -18,7 +18,6 @@ export { default as carouselControl } from './carousel-control';
|
|
|
18
18
|
export { default as checkbox } from './checkbox';
|
|
19
19
|
export { default as datePicker } from './date-picker';
|
|
20
20
|
export { default as descriptionList } from './description-list';
|
|
21
|
-
export { default as dialog } from './dialog';
|
|
22
21
|
export { default as divider } from './divider';
|
|
23
22
|
export { default as drawer } from './drawer';
|
|
24
23
|
export { default as expandableCard } from './expandable-card';
|
|
@@ -41,6 +40,7 @@ export { default as pill } from './pill';
|
|
|
41
40
|
export { default as progressBar } from './progress-bar';
|
|
42
41
|
export { default as progressStepper } from './progress-stepper';
|
|
43
42
|
export { default as radio } from './radio';
|
|
43
|
+
export { default as rating } from './rating';
|
|
44
44
|
export { default as sectionHeader } from './section-header';
|
|
45
45
|
export { default as segmentedControl } from './segmented-control';
|
|
46
46
|
export { default as select } from './select';
|
|
@@ -49,6 +49,8 @@ export { default as spinner } from './spinner';
|
|
|
49
49
|
export { default as switch } from './switch';
|
|
50
50
|
export { default as table } from './table';
|
|
51
51
|
export { default as tabs } from './tabs';
|
|
52
|
+
export { default as timePicker } from './time-picker';
|
|
53
|
+
export { default as timeline } from './timeline';
|
|
52
54
|
export { default as toast } from './toast';
|
|
53
55
|
export { default as toggleButton } from './toggle-button';
|
|
54
56
|
export { default as tooltip } from './tooltip';
|
|
@@ -11,17 +11,20 @@ export default {
|
|
|
11
11
|
gap: 12,
|
|
12
12
|
},
|
|
13
13
|
gap: 24,
|
|
14
|
-
|
|
14
|
+
heading: {
|
|
15
|
+
gap: 24,
|
|
16
|
+
},
|
|
17
|
+
illustration: {
|
|
18
|
+
padding: 48,
|
|
19
|
+
},
|
|
20
|
+
padding: 24,
|
|
15
21
|
mobile: {
|
|
16
|
-
padding: 16,
|
|
17
22
|
width: 360,
|
|
18
23
|
},
|
|
19
24
|
tablet: {
|
|
20
|
-
padding: 48,
|
|
21
25
|
width: 504,
|
|
22
26
|
},
|
|
23
27
|
desktop: {
|
|
24
|
-
padding: 48,
|
|
25
28
|
width: 680,
|
|
26
29
|
},
|
|
27
30
|
} as const;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Do not edit directly, this file was auto-generated.
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export default {
|
|
6
|
+
gap: 6,
|
|
7
|
+
gapContainer: 4,
|
|
8
|
+
minWidth: 288,
|
|
9
|
+
paddingHorizontal: 16,
|
|
10
|
+
paddingVertical: 12,
|
|
11
|
+
time: {
|
|
12
|
+
columnGap: 4,
|
|
13
|
+
content: {
|
|
14
|
+
gap: 8,
|
|
15
|
+
item: {
|
|
16
|
+
gap: 2,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
footer: {
|
|
20
|
+
gap: 8,
|
|
21
|
+
},
|
|
22
|
+
gap: 16,
|
|
23
|
+
item: {
|
|
24
|
+
height: 40,
|
|
25
|
+
width: 64,
|
|
26
|
+
},
|
|
27
|
+
rowGap: 2,
|
|
28
|
+
},
|
|
29
|
+
} as const;
|