@draftbit/core 43.4.9 → 43.4.10
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/lib/commonjs/components/FAB.js +5 -19
- package/lib/commonjs/components/FAB.js.map +1 -1
- package/lib/commonjs/components/FieldSearchBarFull.js.map +1 -1
- package/lib/commonjs/components/Justification.js +0 -3
- package/lib/commonjs/components/ResizeMode.js +0 -3
- package/lib/commonjs/mappings/RowHeadlineImageCaption.js.map +1 -1
- package/lib/commonjs/mappings/RowHeadlineImageIcon.js.map +1 -1
- package/lib/module/components/Justification.js +1 -1
- package/lib/module/components/RadioButton/index.js.map +1 -1
- package/lib/module/components/ResizeMode.js +1 -1
- package/lib/module/components/Switch.js +10 -21
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/module/mappings/HeaderMedium.js.map +1 -1
- package/package.json +3 -3
- package/src/Provider.js +0 -9
- package/src/components/Accordion/AccordionGroup.js +0 -44
- package/src/components/Accordion/AccordionItem.js +0 -32
- package/src/components/Accordion/index.js +0 -2
- package/src/components/ActionSheet/ActionSheet.js +0 -45
- package/src/components/ActionSheet/ActionSheetCancel.js +0 -6
- package/src/components/ActionSheet/ActionSheetItem.js +0 -30
- package/src/components/ActionSheet/index.js +0 -3
- package/src/components/AnimatedCircularProgress.js +0 -43
- package/src/components/AspectRatio.js +0 -18
- package/src/components/AvatarEdit.js +0 -30
- package/src/components/Button.js +0 -112
- package/src/components/Card.js +0 -57
- package/src/components/CardBlock.js +0 -54
- package/src/components/CardContainer.js +0 -69
- package/src/components/CardContainerRating.js +0 -79
- package/src/components/CardContainerShortImage.js +0 -33
- package/src/components/CardInline.js +0 -36
- package/src/components/Carousel.js +0 -66
- package/src/components/Checkbox/Checkbox.js +0 -63
- package/src/components/Checkbox/CheckboxGroup.js +0 -21
- package/src/components/Checkbox/CheckboxRow.js +0 -77
- package/src/components/Checkbox/context.js +0 -14
- package/src/components/Checkbox/index.js +0 -3
- package/src/components/CircleImage.js +0 -8
- package/src/components/CircularProgress.js +0 -78
- package/src/components/Config.js +0 -63
- package/src/components/Container.js +0 -44
- package/src/components/DatePicker/DatePicker.js +0 -370
- package/src/components/DatePicker/DatePickerComponent.js +0 -13
- package/src/components/DatePicker/DatePickerComponent.web.js +0 -30
- package/src/components/DatePicker/DatePickerComponentType.js +0 -1
- package/src/components/DeprecatedButton.js +0 -95
- package/src/components/DeprecatedCardWrapper.js +0 -18
- package/src/components/DeprecatedFAB.js +0 -115
- package/src/components/Divider.js +0 -13
- package/src/components/Elevation.js +0 -20
- package/src/components/FAB.js +0 -46
- package/src/components/FieldSearchBarFull.js +0 -53
- package/src/components/FormRow.js +0 -19
- package/src/components/Header.js +0 -44
- package/src/components/HeaderLarge.js +0 -7
- package/src/components/HeaderMedium.js +0 -7
- package/src/components/HeaderOverline.js +0 -7
- package/src/components/IconButton.js +0 -35
- package/src/components/Image.js +0 -47
- package/src/components/Justification.js +0 -1
- package/src/components/Layout.js +0 -50
- package/src/components/NumberInput.js +0 -50
- package/src/components/Picker/Picker.js +0 -56
- package/src/components/Picker/PickerComponent.android.js +0 -68
- package/src/components/Picker/PickerComponent.ios.js +0 -78
- package/src/components/Picker/PickerComponent.web.js +0 -69
- package/src/components/Picker/PickerTypes.js +0 -1
- package/src/components/Portal/Portal.js +0 -35
- package/src/components/Portal/PortalConsumer.js +0 -28
- package/src/components/Portal/PortalHost.js +0 -105
- package/src/components/Portal/PortalManager.js +0 -29
- package/src/components/ProgressBar.js +0 -118
- package/src/components/ProgressCircle.js +0 -13
- package/src/components/ProgressIndicator.js +0 -27
- package/src/components/RadioButton/RadioButton.js +0 -17
- package/src/components/RadioButton/RadioButtonFieldGroup.js +0 -17
- package/src/components/RadioButton/RadioButtonGroup.js +0 -39
- package/src/components/RadioButton/RadioButtonRow.js +0 -76
- package/src/components/RadioButton/context.js +0 -14
- package/src/components/RadioButton/index.js +0 -4
- package/src/components/ResizeMode.js +0 -1
- package/src/components/Row.js +0 -48
- package/src/components/RowBodyIcon.js +0 -8
- package/src/components/RowHeadlineImageCaption.js +0 -12
- package/src/components/RowHeadlineImageIcon.js +0 -14
- package/src/components/ScreenContainer.js +0 -35
- package/src/components/Slider.js +0 -63
- package/src/components/StarRating.js +0 -50
- package/src/components/StepIndicator.js +0 -346
- package/src/components/Stepper.js +0 -53
- package/src/components/Surface.js +0 -23
- package/src/components/Swiper/Swiper.js +0 -18
- package/src/components/Swiper/SwiperItem.js +0 -9
- package/src/components/Swiper/index.js +0 -2
- package/src/components/Switch.js +0 -56
- package/src/components/Text.js +0 -28
- package/src/components/TextField.js +0 -419
- package/src/components/ToggleButton.js +0 -39
- package/src/components/Touchable.js +0 -12
- package/src/components/Touchable.web.js +0 -2
- package/src/components/Typography.js +0 -36
- package/src/components/useAuthState.js +0 -31
- package/src/constants.js +0 -10
- package/src/hooks.js +0 -12
- package/src/index.js +0 -50
- package/src/interfaces/Icon.js +0 -8
- package/src/mappings/Accordion.js +0 -37
- package/src/mappings/AccordionItem.js +0 -16
- package/src/mappings/ActionSheet.js +0 -13
- package/src/mappings/ActionSheetCancel.js +0 -19
- package/src/mappings/ActionSheetItem.js +0 -22
- package/src/mappings/ActivityIndicator.js +0 -53
- package/src/mappings/AudioPlayer.js +0 -20
- package/src/mappings/AvatarEdit.js +0 -37
- package/src/mappings/BlurView.js +0 -41
- package/src/mappings/Button.js +0 -56
- package/src/mappings/Card.js +0 -52
- package/src/mappings/CardBlock.js +0 -122
- package/src/mappings/CardContainer.js +0 -102
- package/src/mappings/CardContainerRating.js +0 -124
- package/src/mappings/CardContainerShortImage.js +0 -118
- package/src/mappings/CardInline.js +0 -51
- package/src/mappings/Carousel.js +0 -18
- package/src/mappings/Checkbox.js +0 -45
- package/src/mappings/CheckboxGroup.js +0 -25
- package/src/mappings/CheckboxRow.js +0 -37
- package/src/mappings/CircleImage.js +0 -24
- package/src/mappings/Container.js +0 -29
- package/src/mappings/CustomCode.js +0 -8
- package/src/mappings/DatePicker.js +0 -146
- package/src/mappings/Divider.js +0 -26
- package/src/mappings/FAB.js +0 -36
- package/src/mappings/Fetch.js +0 -12
- package/src/mappings/FieldSearchBarFull.js +0 -49
- package/src/mappings/FlatList.js +0 -19
- package/src/mappings/HeaderLarge.js +0 -28
- package/src/mappings/HeaderMedium.js +0 -54
- package/src/mappings/HeaderOverline.js +0 -54
- package/src/mappings/Icon.js +0 -22
- package/src/mappings/IconButton.js +0 -30
- package/src/mappings/Image.js +0 -15
- package/src/mappings/ImageBackground.js +0 -28
- package/src/mappings/KeyboardAvoidingView.js +0 -40
- package/src/mappings/Layout.js +0 -195
- package/src/mappings/LinearGradient.js +0 -77
- package/src/mappings/MapCallout.js +0 -19
- package/src/mappings/MapMarker.js +0 -46
- package/src/mappings/Modal.js +0 -41
- package/src/mappings/Picker.js +0 -137
- package/src/mappings/ProgressBar.js +0 -100
- package/src/mappings/ProgressCircle.js +0 -108
- package/src/mappings/ProgressIndicator.js +0 -180
- package/src/mappings/RadioButton.js +0 -50
- package/src/mappings/RadioButtonGroup.js +0 -16
- package/src/mappings/RadioButtonRow.js +0 -37
- package/src/mappings/RowBodyIcon.js +0 -75
- package/src/mappings/RowHeadlineImageCaption.js +0 -167
- package/src/mappings/RowHeadlineImageIcon.js +0 -99
- package/src/mappings/SafeAreaView.js +0 -33
- package/src/mappings/ScrollView.js +0 -30
- package/src/mappings/Slider.js +0 -59
- package/src/mappings/StarRating.js +0 -46
- package/src/mappings/Stepper.js +0 -28
- package/src/mappings/Surface.js +0 -13
- package/src/mappings/Swiper.js +0 -60
- package/src/mappings/SwiperItem.js +0 -8
- package/src/mappings/Switch.js +0 -75
- package/src/mappings/Text.js +0 -227
- package/src/mappings/TextArea.js +0 -52
- package/src/mappings/TextField.js +0 -158
- package/src/mappings/TextInput.js +0 -208
- package/src/mappings/ToggleButton.js +0 -50
- package/src/mappings/Touchable.js +0 -12
- package/src/mappings/Video.js +0 -74
- package/src/mappings/View.js +0 -206
- package/src/mappings/WebView.js +0 -13
- package/src/styles/DarkTheme.js +0 -26
- package/src/styles/DefaultTheme.js +0 -111
- package/src/styles/fonts.js +0 -62
- package/src/styles/overlay.js +0 -60
- package/src/styles/shadow.js +0 -51
- package/src/theming.js +0 -3
- package/src/utilities.js +0 -54
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { systemWeights } from "react-native-typography";
|
|
2
|
-
import configureFonts from "./fonts";
|
|
3
|
-
const DefaultTheme = {
|
|
4
|
-
disabledOpacity: 0.5,
|
|
5
|
-
roundness: 8,
|
|
6
|
-
dark: false,
|
|
7
|
-
mode: "exact",
|
|
8
|
-
borderRadius: {
|
|
9
|
-
global: 6,
|
|
10
|
-
button: 24,
|
|
11
|
-
},
|
|
12
|
-
colors: {
|
|
13
|
-
primary: "rgba(90, 69, 255, 1)",
|
|
14
|
-
secondary: "rgba(59, 201, 234, 1)",
|
|
15
|
-
surface: "rgba(255, 255, 255, 1)",
|
|
16
|
-
background: "rgba(251, 252, 253, 1)",
|
|
17
|
-
error: "rgba(255, 69, 100, 1)",
|
|
18
|
-
divider: "rgba(200, 200, 200, 1)",
|
|
19
|
-
strong: "rgba(18, 20, 44, 1)",
|
|
20
|
-
medium: "rgba(70, 78, 88, 1)",
|
|
21
|
-
strongInverse: "rgba(255, 255, 255, 1)",
|
|
22
|
-
mediumInverse: "rgba(255, 255, 255, 0.87)",
|
|
23
|
-
lightInverse: "rgba(255, 255, 255, 0.68)",
|
|
24
|
-
light: "rgba(165, 173, 183, 1)",
|
|
25
|
-
text: "#000",
|
|
26
|
-
placeholder: "#333",
|
|
27
|
-
disabled: "rgba(0, 0, 0, 0.25)",
|
|
28
|
-
},
|
|
29
|
-
fonts: configureFonts(),
|
|
30
|
-
typography: {
|
|
31
|
-
headline1: {
|
|
32
|
-
...systemWeights.regular,
|
|
33
|
-
fontSize: 60,
|
|
34
|
-
letterSpacing: 0,
|
|
35
|
-
lineHeight: 71,
|
|
36
|
-
},
|
|
37
|
-
headline2: {
|
|
38
|
-
...systemWeights.regular,
|
|
39
|
-
fontSize: 48,
|
|
40
|
-
letterSpacing: 0,
|
|
41
|
-
lineHeight: 58,
|
|
42
|
-
},
|
|
43
|
-
headline3: {
|
|
44
|
-
...systemWeights.regular,
|
|
45
|
-
fontSize: 34,
|
|
46
|
-
letterSpacing: 0,
|
|
47
|
-
lineHeight: 40,
|
|
48
|
-
},
|
|
49
|
-
headline4: {
|
|
50
|
-
...systemWeights.regular,
|
|
51
|
-
fontSize: 24,
|
|
52
|
-
letterSpacing: 0,
|
|
53
|
-
lineHeight: 34,
|
|
54
|
-
},
|
|
55
|
-
headline5: {
|
|
56
|
-
...systemWeights.regular,
|
|
57
|
-
fontSize: 20,
|
|
58
|
-
letterSpacing: 0,
|
|
59
|
-
lineHeight: 26,
|
|
60
|
-
},
|
|
61
|
-
subtitle1: {
|
|
62
|
-
...systemWeights.regular,
|
|
63
|
-
fontSize: 16,
|
|
64
|
-
letterSpacing: 0,
|
|
65
|
-
lineHeight: 26,
|
|
66
|
-
},
|
|
67
|
-
subtitle2: {
|
|
68
|
-
...systemWeights.regular,
|
|
69
|
-
fontSize: 14,
|
|
70
|
-
letterSpacing: 0,
|
|
71
|
-
lineHeight: 22,
|
|
72
|
-
},
|
|
73
|
-
body1: {
|
|
74
|
-
...systemWeights.regular,
|
|
75
|
-
fontSize: 16,
|
|
76
|
-
letterSpacing: 0,
|
|
77
|
-
lineHeight: 26,
|
|
78
|
-
},
|
|
79
|
-
body2: {
|
|
80
|
-
...systemWeights.regular,
|
|
81
|
-
fontSize: 14,
|
|
82
|
-
letterSpacing: 0,
|
|
83
|
-
lineHeight: 22,
|
|
84
|
-
},
|
|
85
|
-
button: {
|
|
86
|
-
...systemWeights.regular,
|
|
87
|
-
fontSize: 14,
|
|
88
|
-
letterSpacing: 0,
|
|
89
|
-
lineHeight: 16,
|
|
90
|
-
},
|
|
91
|
-
caption: {
|
|
92
|
-
...systemWeights.regular,
|
|
93
|
-
fontSize: 12,
|
|
94
|
-
letterSpacing: 0,
|
|
95
|
-
lineHeight: 16,
|
|
96
|
-
},
|
|
97
|
-
overline: {
|
|
98
|
-
...systemWeights.regular,
|
|
99
|
-
fontSize: 12,
|
|
100
|
-
letterSpacing: 2,
|
|
101
|
-
lineHeight: 16,
|
|
102
|
-
},
|
|
103
|
-
headline6: {
|
|
104
|
-
...systemWeights.regular,
|
|
105
|
-
fontSize: 16,
|
|
106
|
-
letterSpacing: 0,
|
|
107
|
-
lineHeight: 24,
|
|
108
|
-
},
|
|
109
|
-
},
|
|
110
|
-
};
|
|
111
|
-
export default DefaultTheme;
|
package/src/styles/fonts.js
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/* https://github.com/callstack/react-native-paper/blob/main/src/styles/fonts.tsx */
|
|
2
|
-
import { Platform } from "react-native";
|
|
3
|
-
const fontConfig = {
|
|
4
|
-
web: {
|
|
5
|
-
regular: {
|
|
6
|
-
fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif',
|
|
7
|
-
fontWeight: "400",
|
|
8
|
-
},
|
|
9
|
-
medium: {
|
|
10
|
-
fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif',
|
|
11
|
-
fontWeight: "500",
|
|
12
|
-
},
|
|
13
|
-
light: {
|
|
14
|
-
fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif',
|
|
15
|
-
fontWeight: "300",
|
|
16
|
-
},
|
|
17
|
-
thin: {
|
|
18
|
-
fontFamily: 'Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif',
|
|
19
|
-
fontWeight: "100",
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
ios: {
|
|
23
|
-
regular: {
|
|
24
|
-
fontFamily: "System",
|
|
25
|
-
fontWeight: "400",
|
|
26
|
-
},
|
|
27
|
-
medium: {
|
|
28
|
-
fontFamily: "System",
|
|
29
|
-
fontWeight: "500",
|
|
30
|
-
},
|
|
31
|
-
light: {
|
|
32
|
-
fontFamily: "System",
|
|
33
|
-
fontWeight: "300",
|
|
34
|
-
},
|
|
35
|
-
thin: {
|
|
36
|
-
fontFamily: "System",
|
|
37
|
-
fontWeight: "100",
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
default: {
|
|
41
|
-
regular: {
|
|
42
|
-
fontFamily: "sans-serif",
|
|
43
|
-
fontWeight: "normal",
|
|
44
|
-
},
|
|
45
|
-
medium: {
|
|
46
|
-
fontFamily: "sans-serif-medium",
|
|
47
|
-
fontWeight: "normal",
|
|
48
|
-
},
|
|
49
|
-
light: {
|
|
50
|
-
fontFamily: "sans-serif-light",
|
|
51
|
-
fontWeight: "normal",
|
|
52
|
-
},
|
|
53
|
-
thin: {
|
|
54
|
-
fontFamily: "sans-serif-thin",
|
|
55
|
-
fontWeight: "normal",
|
|
56
|
-
},
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
export default function configureFonts(config) {
|
|
60
|
-
const fonts = Platform.select({ ...fontConfig, ...config });
|
|
61
|
-
return fonts;
|
|
62
|
-
}
|
package/src/styles/overlay.js
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/* Copied from https://github.com/callstack/react-native-paper/blob/main/src/styles/overlay.tsx */
|
|
2
|
-
import color from "color";
|
|
3
|
-
import { Animated } from "react-native";
|
|
4
|
-
import DarkTheme from "./DarkTheme";
|
|
5
|
-
const isAnimatedValue = (it) => it instanceof Animated.Value;
|
|
6
|
-
export default function overlay(elevation, surfaceColor = DarkTheme.colors.surface) {
|
|
7
|
-
if (isAnimatedValue(elevation)) {
|
|
8
|
-
const inputRange = [0, 1, 2, 3, 8, 24];
|
|
9
|
-
// @ts-expect-error: TS doesn't seem to refine the type correctly
|
|
10
|
-
return elevation.interpolate({
|
|
11
|
-
inputRange,
|
|
12
|
-
outputRange: inputRange.map((e) => {
|
|
13
|
-
return calculateColor(surfaceColor, e);
|
|
14
|
-
}),
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
// @ts-expect-error: TS doesn't seem to refine the type correctly
|
|
18
|
-
return calculateColor(surfaceColor, elevation);
|
|
19
|
-
}
|
|
20
|
-
function calculateColor(surfaceColor, elevation = 1) {
|
|
21
|
-
let overlayTransparency;
|
|
22
|
-
if (elevation >= 1 && elevation <= 24) {
|
|
23
|
-
overlayTransparency = elevationOverlayTransparency[elevation];
|
|
24
|
-
}
|
|
25
|
-
else if (elevation > 24) {
|
|
26
|
-
overlayTransparency = elevationOverlayTransparency[24];
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
overlayTransparency = elevationOverlayTransparency[1];
|
|
30
|
-
}
|
|
31
|
-
return color(surfaceColor)
|
|
32
|
-
.mix(color("white"), overlayTransparency * 0.01)
|
|
33
|
-
.hex();
|
|
34
|
-
}
|
|
35
|
-
const elevationOverlayTransparency = {
|
|
36
|
-
1: 5,
|
|
37
|
-
2: 7,
|
|
38
|
-
3: 8,
|
|
39
|
-
4: 9,
|
|
40
|
-
5: 10,
|
|
41
|
-
6: 11,
|
|
42
|
-
7: 11.5,
|
|
43
|
-
8: 12,
|
|
44
|
-
9: 12.5,
|
|
45
|
-
10: 13,
|
|
46
|
-
11: 13.5,
|
|
47
|
-
12: 14,
|
|
48
|
-
13: 14.25,
|
|
49
|
-
14: 14.5,
|
|
50
|
-
15: 14.75,
|
|
51
|
-
16: 15,
|
|
52
|
-
17: 15.12,
|
|
53
|
-
18: 15.24,
|
|
54
|
-
19: 15.36,
|
|
55
|
-
20: 15.48,
|
|
56
|
-
21: 15.6,
|
|
57
|
-
22: 15.72,
|
|
58
|
-
23: 15.84,
|
|
59
|
-
24: 16,
|
|
60
|
-
};
|
package/src/styles/shadow.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
import { Animated } from "react-native";
|
|
2
|
-
const SHADOW_COLOR = "#000";
|
|
3
|
-
const SHADOW_OPACITY = 0.24;
|
|
4
|
-
export default function shadow(elevation = 0) {
|
|
5
|
-
if (elevation instanceof Animated.Value) {
|
|
6
|
-
const inputRange = [0, 1, 2, 3, 8, 24];
|
|
7
|
-
return {
|
|
8
|
-
shadowColor: SHADOW_COLOR,
|
|
9
|
-
shadowOffset: {
|
|
10
|
-
width: new Animated.Value(0),
|
|
11
|
-
height: elevation.interpolate({
|
|
12
|
-
inputRange,
|
|
13
|
-
outputRange: [0, 0.5, 0.75, 2, 7, 23],
|
|
14
|
-
}),
|
|
15
|
-
},
|
|
16
|
-
shadowOpacity: new Animated.Value(SHADOW_OPACITY),
|
|
17
|
-
shadowRadius: elevation.interpolate({
|
|
18
|
-
inputRange,
|
|
19
|
-
outputRange: [0, 0.75, 1.5, 3, 8, 24],
|
|
20
|
-
}),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
if (elevation === 0) {
|
|
25
|
-
return {};
|
|
26
|
-
}
|
|
27
|
-
let height, radius;
|
|
28
|
-
switch (elevation) {
|
|
29
|
-
case 1:
|
|
30
|
-
height = 0.5;
|
|
31
|
-
radius = 0.75;
|
|
32
|
-
break;
|
|
33
|
-
case 2:
|
|
34
|
-
height = 0.75;
|
|
35
|
-
radius = 1.5;
|
|
36
|
-
break;
|
|
37
|
-
default:
|
|
38
|
-
height = elevation - 1;
|
|
39
|
-
radius = elevation;
|
|
40
|
-
}
|
|
41
|
-
return {
|
|
42
|
-
shadowColor: SHADOW_COLOR,
|
|
43
|
-
shadowOffset: {
|
|
44
|
-
width: 0,
|
|
45
|
-
height,
|
|
46
|
-
},
|
|
47
|
-
shadowOpacity: SHADOW_OPACITY,
|
|
48
|
-
shadowRadius: radius,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
}
|
package/src/theming.js
DELETED
package/src/utilities.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { StyleSheet } from "react-native";
|
|
2
|
-
import { isString, isNumber } from "lodash";
|
|
3
|
-
export function extractStyles(style) {
|
|
4
|
-
const { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...viewStyles } = StyleSheet.flatten(style || {});
|
|
5
|
-
const textStyles = {
|
|
6
|
-
color,
|
|
7
|
-
fontFamily,
|
|
8
|
-
fontWeight,
|
|
9
|
-
fontSize,
|
|
10
|
-
lineHeight,
|
|
11
|
-
letterSpacing,
|
|
12
|
-
textTransform,
|
|
13
|
-
textAlign,
|
|
14
|
-
textDecorationLine,
|
|
15
|
-
textDecorationColor,
|
|
16
|
-
textDecorationStyle,
|
|
17
|
-
};
|
|
18
|
-
return { viewStyles, textStyles };
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Merges a style object on top of another style object. In React Native,
|
|
22
|
-
* keys with undefined values in a style object will still override styles
|
|
23
|
-
* that appear earlier in a sequence. This avoids that problem.
|
|
24
|
-
*
|
|
25
|
-
* This lets us avoid the `...(something ? { something } : {})` pattern.
|
|
26
|
-
* There doesn't seem to be a better way to do this. These all seem to not
|
|
27
|
-
* work (i.e. they all result in `{ color: undefined }`:
|
|
28
|
-
* `const mergedStyles = [{ color: "red" }, { color: undefined }]`
|
|
29
|
-
* `const mergedStyles = StyleSheet.compose({ color: "red" }, { color: undefined })`
|
|
30
|
-
* `const mergedStyles = StyleSheet.flatten([{ color: "red" }, { color: undefined }])`
|
|
31
|
-
*/
|
|
32
|
-
export function applyStyles(baseStyles, stylesToApply) {
|
|
33
|
-
if (!stylesToApply) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const flattenedStyles = StyleSheet.flatten(baseStyles);
|
|
37
|
-
for (const [key, value] of Object.entries(stylesToApply)) {
|
|
38
|
-
if (value != null) {
|
|
39
|
-
flattenedStyles[key] = value;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return flattenedStyles;
|
|
43
|
-
}
|
|
44
|
-
export function getValueForRadioButton(value) {
|
|
45
|
-
if (isString(value)) {
|
|
46
|
-
return value;
|
|
47
|
-
}
|
|
48
|
-
else if (isNumber(value)) {
|
|
49
|
-
return String(value);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
throw new Error(`Invalid value: ${value}`);
|
|
53
|
-
}
|
|
54
|
-
}
|