@draftbit/core 46.10.3-7db6c9.2 → 46.10.3-872bd2.2

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 (70) hide show
  1. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +23 -5
  2. package/lib/commonjs/components/Checkbox/CheckboxRow.js +23 -6
  3. package/lib/commonjs/components/Checkbox/context.js +1 -1
  4. package/lib/commonjs/components/Table/Table.js +123 -0
  5. package/lib/commonjs/components/Table/TableCell.js +49 -0
  6. package/lib/commonjs/components/Table/TableCommon.js +30 -0
  7. package/lib/commonjs/components/Table/TableRow.js +61 -0
  8. package/lib/commonjs/components/Table/index.js +27 -0
  9. package/lib/commonjs/constants.js +1 -1
  10. package/lib/commonjs/index.js +19 -7
  11. package/lib/commonjs/mappings/NativeBase/Layout.js +2 -11
  12. package/lib/commonjs/mappings/Table.js +140 -0
  13. package/lib/module/components/Table/Table.js +114 -0
  14. package/lib/module/components/Table/TableCell.js +41 -0
  15. package/lib/module/components/Table/TableCommon.js +21 -0
  16. package/lib/module/components/Table/TableRow.js +53 -0
  17. package/lib/module/components/Table/index.js +3 -0
  18. package/lib/module/index.js +1 -1
  19. package/lib/module/mappings/NativeBase/Layout.js +3 -12
  20. package/lib/module/mappings/Table.js +133 -0
  21. package/lib/typescript/src/components/Table/Table.d.ts +19 -0
  22. package/lib/typescript/src/components/Table/Table.d.ts.map +1 -0
  23. package/lib/typescript/src/components/Table/TableCell.d.ts +9 -0
  24. package/lib/typescript/src/components/Table/TableCell.d.ts.map +1 -0
  25. package/lib/typescript/src/components/Table/TableCommon.d.ts +20 -0
  26. package/lib/typescript/src/components/Table/TableCommon.d.ts.map +1 -0
  27. package/lib/typescript/src/components/{DeprecatedCardWrapper.d.ts → Table/TableRow.d.ts} +7 -8
  28. package/lib/typescript/src/components/Table/TableRow.d.ts.map +1 -0
  29. package/lib/typescript/src/components/Table/index.d.ts +4 -0
  30. package/lib/typescript/src/components/Table/index.d.ts.map +1 -0
  31. package/lib/typescript/src/index.d.ts +1 -1
  32. package/lib/typescript/src/index.d.ts.map +1 -1
  33. package/lib/typescript/src/mappings/NativeBase/Layout.d.ts +4 -27
  34. package/lib/typescript/src/mappings/NativeBase/Layout.d.ts.map +1 -1
  35. package/lib/typescript/src/mappings/Table.d.ts +337 -0
  36. package/lib/typescript/src/mappings/Table.d.ts.map +1 -0
  37. package/package.json +3 -3
  38. package/src/components/Table/Table.js +93 -0
  39. package/src/components/Table/Table.tsx +176 -0
  40. package/src/components/Table/TableCell.js +31 -0
  41. package/src/components/Table/TableCell.tsx +63 -0
  42. package/src/components/Table/TableCommon.js +12 -0
  43. package/src/components/Table/TableCommon.ts +40 -0
  44. package/src/components/Table/TableRow.js +37 -0
  45. package/src/components/Table/TableRow.tsx +77 -0
  46. package/src/components/Table/index.js +3 -0
  47. package/src/components/Table/index.tsx +3 -0
  48. package/src/index.js +1 -1
  49. package/src/index.tsx +2 -1
  50. package/src/mappings/NativeBase/Layout.js +9 -11
  51. package/src/mappings/NativeBase/Layout.ts +8 -11
  52. package/src/mappings/Table.js +150 -0
  53. package/src/mappings/Table.ts +170 -0
  54. package/lib/commonjs/components/Container.js +0 -93
  55. package/lib/commonjs/components/DeprecatedCardWrapper.js +0 -40
  56. package/lib/commonjs/components/DeprecatedFAB.js +0 -157
  57. package/lib/module/components/Container.js +0 -83
  58. package/lib/module/components/DeprecatedCardWrapper.js +0 -32
  59. package/lib/module/components/DeprecatedFAB.js +0 -147
  60. package/lib/typescript/src/components/Container.d.ts +0 -21
  61. package/lib/typescript/src/components/Container.d.ts.map +0 -1
  62. package/lib/typescript/src/components/DeprecatedCardWrapper.d.ts.map +0 -1
  63. package/lib/typescript/src/components/DeprecatedFAB.d.ts +0 -56
  64. package/lib/typescript/src/components/DeprecatedFAB.d.ts.map +0 -1
  65. package/src/components/Container.js +0 -43
  66. package/src/components/Container.tsx +0 -116
  67. package/src/components/DeprecatedCardWrapper.js +0 -18
  68. package/src/components/DeprecatedCardWrapper.tsx +0 -46
  69. package/src/components/DeprecatedFAB.js +0 -114
  70. package/src/components/DeprecatedFAB.tsx +0 -231
@@ -1,116 +0,0 @@
1
- import * as React from "react";
2
- import {
3
- View,
4
- ImageBackground,
5
- ImageSourcePropType,
6
- StyleProp,
7
- StyleSheet,
8
- ViewStyle,
9
- } from "react-native";
10
- import { withTheme } from "../theming";
11
-
12
- import Elevation from "./Elevation";
13
- import type { Theme } from "../styles/DefaultTheme";
14
- import { ResizeModeType } from "./ResizeMode";
15
-
16
- type Props = {
17
- theme: Theme;
18
- useThemeGutterPadding: boolean;
19
- borderColor: string;
20
- borderWidth: number;
21
- backgroundColor: string;
22
- backgroundImage?: string | ImageSourcePropType;
23
- backgroundImageResizeMode?: ResizeModeType;
24
- elevation?: number;
25
- style?: StyleProp<ViewStyle>;
26
- children?: React.ReactNode;
27
- };
28
-
29
- const Container: React.FC<React.PropsWithChildren<Props>> = ({
30
- useThemeGutterPadding,
31
- borderColor,
32
- borderWidth,
33
- backgroundColor,
34
- backgroundImage,
35
- backgroundImageResizeMode,
36
- elevation,
37
- style,
38
- children,
39
- theme, // eslint-disable-line @typescript-eslint/no-unused-vars
40
- ...rest
41
- }) => {
42
- const {
43
- flex,
44
- flexGrow,
45
- flexWrap,
46
- flexBasis,
47
- flexShrink,
48
- flexDirection,
49
- alignContent,
50
- justifyContent,
51
- alignItems,
52
- padding,
53
- paddingTop,
54
- paddingBottom,
55
- paddingLeft,
56
- paddingRight,
57
- paddingVertical,
58
- paddingHorizontal,
59
- ...styleProp
60
- } = StyleSheet.flatten(style) || {};
61
-
62
- const containerStyle: StyleProp<ViewStyle> = {
63
- backgroundColor,
64
- borderColor,
65
- borderWidth,
66
- width: "100%",
67
- ...styleProp,
68
- };
69
-
70
- const innerStyle: StyleProp<ViewStyle> = {
71
- flex,
72
- flexGrow,
73
- flexWrap,
74
- flexBasis,
75
- flexShrink,
76
- flexDirection,
77
- alignContent,
78
- justifyContent,
79
- alignItems,
80
- padding,
81
- paddingTop,
82
- paddingBottom,
83
- paddingLeft,
84
- paddingRight,
85
- paddingVertical,
86
- paddingHorizontal: paddingHorizontal || useThemeGutterPadding ? 16 : 0,
87
- };
88
-
89
- const Wrap = elevation ? Elevation : View;
90
-
91
- if (elevation) containerStyle.elevation = elevation;
92
-
93
- return (
94
- <Wrap style={[containerStyle, style]} {...rest}>
95
- {backgroundImage ? (
96
- <ImageBackground
97
- source={
98
- typeof backgroundImage === "string"
99
- ? { uri: backgroundImage }
100
- : backgroundImage
101
- }
102
- resizeMode={backgroundImageResizeMode}
103
- style={{
104
- flex: 1,
105
- }}
106
- >
107
- <View style={innerStyle}>{children}</View>
108
- </ImageBackground>
109
- ) : (
110
- <View style={innerStyle}>{children}</View>
111
- )}
112
- </Wrap>
113
- );
114
- };
115
-
116
- export default withTheme(Container);
@@ -1,18 +0,0 @@
1
- import React from "react";
2
- import { withTheme } from "../theming";
3
- import Touchable from "./Touchable";
4
- const getWidth = (numColumns) => {
5
- switch (numColumns) {
6
- case 1:
7
- return "33%";
8
- case 2:
9
- return "50%";
10
- default:
11
- return "100%";
12
- }
13
- };
14
- const Card = ({ numColumns = 3, children, onPress, style, ...rest }) => {
15
- const width = getWidth(numColumns);
16
- return (React.createElement(Touchable, { disabled: !onPress, onPress: onPress, style: [style, { width }], ...rest }, children));
17
- };
18
- export default withTheme(Card);
@@ -1,46 +0,0 @@
1
- import React from "react";
2
- import { withTheme } from "../theming";
3
- import Touchable from "./Touchable";
4
- import { StyleProp, ViewStyle } from "react-native";
5
- import theme from "../styles/DefaultTheme";
6
-
7
- type Props = {
8
- numColumns?: number;
9
- children?: React.ReactNode;
10
- onPress?: () => void;
11
- style?: StyleProp<ViewStyle>;
12
- theme: typeof theme;
13
- };
14
-
15
- const getWidth = (numColumns: number) => {
16
- switch (numColumns) {
17
- case 1:
18
- return "33%";
19
- case 2:
20
- return "50%";
21
- default:
22
- return "100%";
23
- }
24
- };
25
-
26
- const Card: React.FC<React.PropsWithChildren<Props>> = ({
27
- numColumns = 3,
28
- children,
29
- onPress,
30
- style,
31
- ...rest
32
- }) => {
33
- const width = getWidth(numColumns);
34
- return (
35
- <Touchable
36
- disabled={!onPress}
37
- onPress={onPress}
38
- style={[style, { width }]}
39
- {...rest}
40
- >
41
- {children}
42
- </Touchable>
43
- );
44
- };
45
-
46
- export default withTheme(Card);
@@ -1,114 +0,0 @@
1
- import * as React from "react";
2
- import { ActivityIndicator, View, StyleSheet, Pressable, } from "react-native";
3
- import color from "color";
4
- import Config from "./Config";
5
- import Text from "./Text";
6
- import Elevation from "./Elevation";
7
- import { withTheme } from "../theming";
8
- const FAB = ({ Icon, icon, disabled = false, type = "solid", loading = false, color: colorOverride, label, onPress, elevation = 0, style, theme: { colors, disabledOpacity, roundness, typography }, ...rest }) => {
9
- let backgroundColor, borderColor, textColor, borderWidth;
10
- const buttonColor = colorOverride || colors.primary;
11
- if (type === "standard" || type === "extended" || type === "fixed") {
12
- backgroundColor = buttonColor;
13
- if (disabled) {
14
- textColor = color(colors.surface).alpha(disabledOpacity).rgb().string();
15
- }
16
- else {
17
- textColor = colors.surface;
18
- }
19
- }
20
- else {
21
- backgroundColor = "transparent";
22
- if (disabled) {
23
- textColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
24
- }
25
- else {
26
- textColor = buttonColor;
27
- }
28
- }
29
- if (type === "outline") {
30
- if (disabled) {
31
- borderColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
32
- }
33
- else {
34
- borderColor = buttonColor;
35
- }
36
- borderWidth = StyleSheet.hairlineWidth;
37
- }
38
- else {
39
- borderColor = "transparent";
40
- borderWidth = 0;
41
- }
42
- const buttonStyle = {
43
- backgroundColor,
44
- borderColor,
45
- borderWidth,
46
- borderRadius: roundness,
47
- alignItems: "center",
48
- justifyContent: "center",
49
- };
50
- const buttonStyles = [styles.button, buttonStyle];
51
- const contentStyle = [styles.content];
52
- const textStyle = {
53
- textAlign: "center",
54
- color: textColor,
55
- };
56
- const iconStyle = [
57
- styles.icon,
58
- {
59
- width: Config.buttonIconSize,
60
- },
61
- ];
62
- if (type === "standard" || type === "outline") {
63
- buttonStyle.width = Config.FABSize;
64
- buttonStyle.height = Config.FABSize;
65
- buttonStyle.borderRadius = Config.FABBorderRadius;
66
- contentStyle.push({
67
- width: Config.FABSize,
68
- height: Config.FABSize,
69
- });
70
- }
71
- if (type === "extended" || type === "fixed") {
72
- iconStyle.push({
73
- marginLeft: 16,
74
- marginRight: -8,
75
- });
76
- textStyle.margin = 16;
77
- }
78
- if (type === "fixed") {
79
- buttonStyles.push({
80
- height: Config.FABFixedHeight,
81
- alignSelf: "stretch",
82
- });
83
- }
84
- return (React.createElement(Elevation, { style: [{ elevation }, style] },
85
- React.createElement(Pressable, { ...rest, onPress: onPress, accessibilityState: { disabled }, accessibilityRole: "button", disabled: disabled || loading, style: buttonStyles },
86
- React.createElement(View, { style: styles.content },
87
- icon && loading !== true ? (React.createElement(View, { style: iconStyle },
88
- React.createElement(Icon, { name: icon, size: Config.buttonIconSize, color: textColor }))) : null,
89
- loading ? (React.createElement(ActivityIndicator, { size: "small", color: textColor, style: iconStyle })) : null,
90
- label ? (React.createElement(Text, { numberOfLines: 1, style: [textStyle, typography.button] }, label)) : null))));
91
- };
92
- const styles = StyleSheet.create({
93
- button: {
94
- borderStyle: "solid",
95
- },
96
- content: {
97
- flexDirection: "row",
98
- alignItems: "center",
99
- justifyContent: "center",
100
- },
101
- icon: {
102
- alignItems: "center",
103
- justifyContent: "center",
104
- width: Config.buttonIconSize,
105
- },
106
- fixed: {
107
- left: 0,
108
- right: 0,
109
- bottom: 0,
110
- height: 64,
111
- borderRadius: 0,
112
- },
113
- });
114
- export default withTheme(FAB);
@@ -1,231 +0,0 @@
1
- import * as React from "react";
2
- import {
3
- ActivityIndicator,
4
- View,
5
- StyleSheet,
6
- StyleProp,
7
- ViewStyle,
8
- TextStyle,
9
- Pressable,
10
- PressableProps,
11
- } from "react-native";
12
- import color from "color";
13
- import Config from "./Config";
14
- import Text from "./Text";
15
- import Elevation from "./Elevation";
16
- import { withTheme } from "../theming";
17
-
18
- import type { Theme } from "../styles/DefaultTheme";
19
- import type { IconSlot } from "../interfaces/Icon";
20
-
21
- /**
22
- * A floating action button represents the primary action in an application.
23
- *
24
- * <div class="screenshots">
25
- * <img src="screenshots/fab-1.png" />
26
- * <img src="screenshots/fab-2.png" />
27
- * </div>
28
- *
29
- * ## Usage
30
- * ```js
31
- * import * as React from 'react';
32
- * import { StyleSheet } from 'react-native';
33
- * import { FAB } from '@draftbit/ui';
34
- *
35
- * const MyComponent = () => (
36
- * <FAB
37
- * style={styles.fab}
38
- * type="outline"
39
- * icon="add"
40
- * onPress={() => console.log('Pressed')}
41
- * />
42
- * );
43
- *
44
- * const styles = StyleSheet.create({
45
- * fab: {
46
- * position: 'absolute',
47
- * margin: 16,
48
- * right: 0,
49
- * bottom: 0,
50
- * },
51
- * })
52
- *
53
- * export default MyComponent;
54
- * ```
55
- */
56
-
57
- type Props = {
58
- disabled?: boolean;
59
- type?: "solid" | "extended" | "outline" | "fixed" | "standard";
60
- loading?: boolean;
61
- icon?: string;
62
- color?: string;
63
- label?: string;
64
- onPress: () => void;
65
- elevation?: number;
66
- theme: Theme;
67
- style?: StyleProp<ViewStyle>;
68
- } & PressableProps &
69
- IconSlot;
70
-
71
- const FAB: React.FC<React.PropsWithChildren<Props>> = ({
72
- Icon,
73
- icon,
74
- disabled = false,
75
- type = "solid",
76
- loading = false,
77
- color: colorOverride,
78
- label,
79
- onPress,
80
- elevation = 0,
81
- style,
82
- theme: { colors, disabledOpacity, roundness, typography },
83
- ...rest
84
- }) => {
85
- let backgroundColor, borderColor, textColor, borderWidth;
86
- const buttonColor = colorOverride || colors.primary;
87
-
88
- if (type === "standard" || type === "extended" || type === "fixed") {
89
- backgroundColor = buttonColor;
90
-
91
- if (disabled) {
92
- textColor = color(colors.surface).alpha(disabledOpacity).rgb().string();
93
- } else {
94
- textColor = colors.surface;
95
- }
96
- } else {
97
- backgroundColor = "transparent";
98
-
99
- if (disabled) {
100
- textColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
101
- } else {
102
- textColor = buttonColor;
103
- }
104
- }
105
-
106
- if (type === "outline") {
107
- if (disabled) {
108
- borderColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
109
- } else {
110
- borderColor = buttonColor;
111
- }
112
- borderWidth = StyleSheet.hairlineWidth;
113
- } else {
114
- borderColor = "transparent";
115
- borderWidth = 0;
116
- }
117
-
118
- const buttonStyle: StyleProp<ViewStyle> = {
119
- backgroundColor,
120
- borderColor,
121
- borderWidth,
122
- borderRadius: roundness,
123
- alignItems: "center",
124
- justifyContent: "center",
125
- };
126
-
127
- const buttonStyles: StyleProp<ViewStyle>[] = [styles.button, buttonStyle];
128
-
129
- const contentStyle: StyleProp<ViewStyle>[] = [styles.content];
130
-
131
- const textStyle: StyleProp<TextStyle> = {
132
- textAlign: "center",
133
- color: textColor,
134
- };
135
-
136
- const iconStyle: StyleProp<ViewStyle>[] = [
137
- styles.icon,
138
- {
139
- width: Config.buttonIconSize,
140
- },
141
- ];
142
-
143
- if (type === "standard" || type === "outline") {
144
- buttonStyle.width = Config.FABSize;
145
- buttonStyle.height = Config.FABSize;
146
- buttonStyle.borderRadius = Config.FABBorderRadius;
147
-
148
- contentStyle.push({
149
- width: Config.FABSize,
150
- height: Config.FABSize,
151
- });
152
- }
153
-
154
- if (type === "extended" || type === "fixed") {
155
- iconStyle.push({
156
- marginLeft: 16,
157
- marginRight: -8,
158
- });
159
-
160
- textStyle.margin = 16;
161
- }
162
-
163
- if (type === "fixed") {
164
- buttonStyles.push({
165
- height: Config.FABFixedHeight,
166
- alignSelf: "stretch",
167
- });
168
- }
169
-
170
- return (
171
- <Elevation style={[{ elevation }, style]}>
172
- <Pressable
173
- {...rest}
174
- onPress={onPress}
175
- accessibilityState={{ disabled }}
176
- accessibilityRole="button"
177
- disabled={disabled || loading}
178
- style={buttonStyles}
179
- >
180
- <View style={styles.content}>
181
- {icon && loading !== true ? (
182
- <View style={iconStyle}>
183
- <Icon
184
- name={icon}
185
- size={Config.buttonIconSize}
186
- color={textColor}
187
- />
188
- </View>
189
- ) : null}
190
- {loading ? (
191
- <ActivityIndicator
192
- size="small"
193
- color={textColor}
194
- style={iconStyle}
195
- />
196
- ) : null}
197
- {label ? (
198
- <Text numberOfLines={1} style={[textStyle, typography.button]}>
199
- {label}
200
- </Text>
201
- ) : null}
202
- </View>
203
- </Pressable>
204
- </Elevation>
205
- );
206
- };
207
-
208
- const styles = StyleSheet.create({
209
- button: {
210
- borderStyle: "solid",
211
- },
212
- content: {
213
- flexDirection: "row",
214
- alignItems: "center",
215
- justifyContent: "center",
216
- },
217
- icon: {
218
- alignItems: "center",
219
- justifyContent: "center",
220
- width: Config.buttonIconSize,
221
- },
222
- fixed: {
223
- left: 0,
224
- right: 0,
225
- bottom: 0,
226
- height: 64,
227
- borderRadius: 0,
228
- },
229
- });
230
-
231
- export default withTheme(FAB);