@draftbit/core 46.10.3-0bad1e.2 → 46.10.3-1b8e7d.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 (71) hide show
  1. package/lib/commonjs/components/Accordion/AccordionItem.js +23 -4
  2. package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +23 -5
  3. package/lib/commonjs/components/FAB.js +4 -18
  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 +25 -14
  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 +26 -15
  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/Table/TableRow.d.ts +14 -0
  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 +42 -16
  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 +34 -11
  51. package/src/mappings/NativeBase/Layout.ts +40 -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/DeprecatedFAB.js +0 -157
  56. package/lib/commonjs/mappings/Container.js +0 -37
  57. package/lib/module/components/Container.js +0 -83
  58. package/lib/module/components/DeprecatedFAB.js +0 -147
  59. package/lib/module/mappings/Container.js +0 -30
  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/DeprecatedFAB.d.ts +0 -56
  63. package/lib/typescript/src/components/DeprecatedFAB.d.ts.map +0 -1
  64. package/lib/typescript/src/mappings/Container.d.ts +0 -55
  65. package/lib/typescript/src/mappings/Container.d.ts.map +0 -1
  66. package/src/components/Container.js +0 -43
  67. package/src/components/Container.tsx +0 -116
  68. package/src/components/DeprecatedFAB.js +0 -114
  69. package/src/components/DeprecatedFAB.tsx +0 -231
  70. package/src/mappings/Container.js +0 -30
  71. package/src/mappings/Container.ts +0 -41
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.SEED_DATA = void 0;
7
- var _types = require("@draftbit/types");
8
- const SEED_DATA = {
9
- name: "Container",
10
- tag: "Container",
11
- description: "A container component with gutter padding",
12
- category: _types.COMPONENT_TYPES.deprecated,
13
- stylesPanelSections: _types.CONTAINER_COMPONENT_STYLES_SECTIONS,
14
- layout: {
15
- height: 250
16
- },
17
- props: {
18
- useThemeGutterPadding: {
19
- group: _types.GROUPS.basic,
20
- label: "Use gutter padding",
21
- description: "When true, uses the theme gutter spacing as the container's horizontal padding",
22
- formType: _types.FORM_TYPES.boolean,
23
- propType: _types.PROP_TYPES.BOOLEAN,
24
- defaultValue: false,
25
- editable: false,
26
- required: true
27
- },
28
- backgroundImage: (0, _types.createImageProp)({
29
- label: "Background Image",
30
- description: "Apply a custom background image",
31
- defaultValue: null
32
- }),
33
- backgroundImageResizeMode: (0, _types.createResizeModeProp)(),
34
- elevation: (0, _types.createElevationType)(0)
35
- }
36
- };
37
- exports.SEED_DATA = SEED_DATA;
@@ -1,83 +0,0 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from "react";
3
- import { View, ImageBackground, StyleSheet } from "react-native";
4
- import { withTheme } from "../theming";
5
- import Elevation from "./Elevation";
6
- const Container = _ref => {
7
- let {
8
- useThemeGutterPadding,
9
- borderColor,
10
- borderWidth,
11
- backgroundColor,
12
- backgroundImage,
13
- backgroundImageResizeMode,
14
- elevation,
15
- style,
16
- children,
17
- theme,
18
- // eslint-disable-line @typescript-eslint/no-unused-vars
19
- ...rest
20
- } = _ref;
21
- const {
22
- flex,
23
- flexGrow,
24
- flexWrap,
25
- flexBasis,
26
- flexShrink,
27
- flexDirection,
28
- alignContent,
29
- justifyContent,
30
- alignItems,
31
- padding,
32
- paddingTop,
33
- paddingBottom,
34
- paddingLeft,
35
- paddingRight,
36
- paddingVertical,
37
- paddingHorizontal,
38
- ...styleProp
39
- } = StyleSheet.flatten(style) || {};
40
- const containerStyle = {
41
- backgroundColor,
42
- borderColor,
43
- borderWidth,
44
- width: "100%",
45
- ...styleProp
46
- };
47
- const innerStyle = {
48
- flex,
49
- flexGrow,
50
- flexWrap,
51
- flexBasis,
52
- flexShrink,
53
- flexDirection,
54
- alignContent,
55
- justifyContent,
56
- alignItems,
57
- padding,
58
- paddingTop,
59
- paddingBottom,
60
- paddingLeft,
61
- paddingRight,
62
- paddingVertical,
63
- paddingHorizontal: paddingHorizontal || useThemeGutterPadding ? 16 : 0
64
- };
65
- const Wrap = elevation ? Elevation : View;
66
- if (elevation) containerStyle.elevation = elevation;
67
- return /*#__PURE__*/React.createElement(Wrap, _extends({
68
- style: [containerStyle, style]
69
- }, rest), backgroundImage ? /*#__PURE__*/React.createElement(ImageBackground, {
70
- source: typeof backgroundImage === "string" ? {
71
- uri: backgroundImage
72
- } : backgroundImage,
73
- resizeMode: backgroundImageResizeMode,
74
- style: {
75
- flex: 1
76
- }
77
- }, /*#__PURE__*/React.createElement(View, {
78
- style: innerStyle
79
- }, children)) : /*#__PURE__*/React.createElement(View, {
80
- style: innerStyle
81
- }, children));
82
- };
83
- export default withTheme(Container);
@@ -1,147 +0,0 @@
1
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
- import * as React from "react";
3
- import { ActivityIndicator, View, StyleSheet, Pressable } from "react-native";
4
- import color from "color";
5
- import Config from "./Config";
6
- import Text from "./Text";
7
- import Elevation from "./Elevation";
8
- import { withTheme } from "../theming";
9
- const FAB = _ref => {
10
- let {
11
- Icon,
12
- icon,
13
- disabled = false,
14
- type = "solid",
15
- loading = false,
16
- color: colorOverride,
17
- label,
18
- onPress,
19
- elevation = 0,
20
- style,
21
- theme: {
22
- colors,
23
- disabledOpacity,
24
- roundness,
25
- typography
26
- },
27
- ...rest
28
- } = _ref;
29
- let backgroundColor, borderColor, textColor, borderWidth;
30
- const buttonColor = colorOverride || colors.primary;
31
- if (type === "standard" || type === "extended" || type === "fixed") {
32
- backgroundColor = buttonColor;
33
- if (disabled) {
34
- textColor = color(colors.surface).alpha(disabledOpacity).rgb().string();
35
- } else {
36
- textColor = colors.surface;
37
- }
38
- } else {
39
- backgroundColor = "transparent";
40
- if (disabled) {
41
- textColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
42
- } else {
43
- textColor = buttonColor;
44
- }
45
- }
46
- if (type === "outline") {
47
- if (disabled) {
48
- borderColor = color(buttonColor).alpha(disabledOpacity).rgb().string();
49
- } else {
50
- borderColor = buttonColor;
51
- }
52
- borderWidth = StyleSheet.hairlineWidth;
53
- } else {
54
- borderColor = "transparent";
55
- borderWidth = 0;
56
- }
57
- const buttonStyle = {
58
- backgroundColor,
59
- borderColor,
60
- borderWidth,
61
- borderRadius: roundness,
62
- alignItems: "center",
63
- justifyContent: "center"
64
- };
65
- const buttonStyles = [styles.button, buttonStyle];
66
- const contentStyle = [styles.content];
67
- const textStyle = {
68
- textAlign: "center",
69
- color: textColor
70
- };
71
- const iconStyle = [styles.icon, {
72
- width: Config.buttonIconSize
73
- }];
74
- if (type === "standard" || type === "outline") {
75
- buttonStyle.width = Config.FABSize;
76
- buttonStyle.height = Config.FABSize;
77
- buttonStyle.borderRadius = Config.FABBorderRadius;
78
- contentStyle.push({
79
- width: Config.FABSize,
80
- height: Config.FABSize
81
- });
82
- }
83
- if (type === "extended" || type === "fixed") {
84
- iconStyle.push({
85
- marginLeft: 16,
86
- marginRight: -8
87
- });
88
- textStyle.margin = 16;
89
- }
90
- if (type === "fixed") {
91
- buttonStyles.push({
92
- height: Config.FABFixedHeight,
93
- alignSelf: "stretch"
94
- });
95
- }
96
- return /*#__PURE__*/React.createElement(Elevation, {
97
- style: [{
98
- elevation
99
- }, style]
100
- }, /*#__PURE__*/React.createElement(Pressable, _extends({}, rest, {
101
- onPress: onPress,
102
- accessibilityState: {
103
- disabled
104
- },
105
- accessibilityRole: "button",
106
- disabled: disabled || loading,
107
- style: buttonStyles
108
- }), /*#__PURE__*/React.createElement(View, {
109
- style: styles.content
110
- }, icon && loading !== true ? /*#__PURE__*/React.createElement(View, {
111
- style: iconStyle
112
- }, /*#__PURE__*/React.createElement(Icon, {
113
- name: icon,
114
- size: Config.buttonIconSize,
115
- color: textColor
116
- })) : null, loading ? /*#__PURE__*/React.createElement(ActivityIndicator, {
117
- size: "small",
118
- color: textColor,
119
- style: iconStyle
120
- }) : null, label ? /*#__PURE__*/React.createElement(Text, {
121
- numberOfLines: 1,
122
- style: [textStyle, typography.button]
123
- }, label) : null)));
124
- };
125
- const styles = StyleSheet.create({
126
- button: {
127
- borderStyle: "solid"
128
- },
129
- content: {
130
- flexDirection: "row",
131
- alignItems: "center",
132
- justifyContent: "center"
133
- },
134
- icon: {
135
- alignItems: "center",
136
- justifyContent: "center",
137
- width: Config.buttonIconSize
138
- },
139
- fixed: {
140
- left: 0,
141
- right: 0,
142
- bottom: 0,
143
- height: 64,
144
- borderRadius: 0
145
- }
146
- });
147
- export default withTheme(FAB);
@@ -1,30 +0,0 @@
1
- import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, createElevationType, createImageProp, createResizeModeProp, CONTAINER_COMPONENT_STYLES_SECTIONS } from "@draftbit/types";
2
- export const SEED_DATA = {
3
- name: "Container",
4
- tag: "Container",
5
- description: "A container component with gutter padding",
6
- category: COMPONENT_TYPES.deprecated,
7
- stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
8
- layout: {
9
- height: 250
10
- },
11
- props: {
12
- useThemeGutterPadding: {
13
- group: GROUPS.basic,
14
- label: "Use gutter padding",
15
- description: "When true, uses the theme gutter spacing as the container's horizontal padding",
16
- formType: FORM_TYPES.boolean,
17
- propType: PROP_TYPES.BOOLEAN,
18
- defaultValue: false,
19
- editable: false,
20
- required: true
21
- },
22
- backgroundImage: createImageProp({
23
- label: "Background Image",
24
- description: "Apply a custom background image",
25
- defaultValue: null
26
- }),
27
- backgroundImageResizeMode: createResizeModeProp(),
28
- elevation: createElevationType(0)
29
- }
30
- };
@@ -1,21 +0,0 @@
1
- import * as React from "react";
2
- import { ImageSourcePropType, StyleProp, ViewStyle } from "react-native";
3
- import type { Theme } from "../styles/DefaultTheme";
4
- import { ResizeModeType } from "./ResizeMode";
5
- declare type Props = {
6
- theme: Theme;
7
- useThemeGutterPadding: boolean;
8
- borderColor: string;
9
- borderWidth: number;
10
- backgroundColor: string;
11
- backgroundImage?: string | ImageSourcePropType;
12
- backgroundImageResizeMode?: ResizeModeType;
13
- elevation?: number;
14
- style?: StyleProp<ViewStyle>;
15
- children?: React.ReactNode;
16
- };
17
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<Props>, "theme"> & {
18
- theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
19
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<Props>> & React.FC<React.PropsWithChildren<Props>>, {}>;
20
- export default _default;
21
- //# sourceMappingURL=Container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../src/components/Container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,mBAAmB,EACnB,SAAS,EAET,SAAS,EACV,MAAM,cAAc,CAAC;AAItB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,aAAK,KAAK,GAAG;IACX,KAAK,EAAE,KAAK,CAAC;IACb,qBAAqB,EAAE,OAAO,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,GAAG,mBAAmB,CAAC;IAC/C,yBAAyB,CAAC,EAAE,cAAc,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;;;;AAyFF,wBAAoC"}
@@ -1,56 +0,0 @@
1
- import * as React from "react";
2
- import { StyleProp, ViewStyle, PressableProps } from "react-native";
3
- import type { Theme } from "../styles/DefaultTheme";
4
- import type { IconSlot } from "../interfaces/Icon";
5
- /**
6
- * A floating action button represents the primary action in an application.
7
- *
8
- * <div class="screenshots">
9
- * <img src="screenshots/fab-1.png" />
10
- * <img src="screenshots/fab-2.png" />
11
- * </div>
12
- *
13
- * ## Usage
14
- * ```js
15
- * import * as React from 'react';
16
- * import { StyleSheet } from 'react-native';
17
- * import { FAB } from '@draftbit/ui';
18
- *
19
- * const MyComponent = () => (
20
- * <FAB
21
- * style={styles.fab}
22
- * type="outline"
23
- * icon="add"
24
- * onPress={() => console.log('Pressed')}
25
- * />
26
- * );
27
- *
28
- * const styles = StyleSheet.create({
29
- * fab: {
30
- * position: 'absolute',
31
- * margin: 16,
32
- * right: 0,
33
- * bottom: 0,
34
- * },
35
- * })
36
- *
37
- * export default MyComponent;
38
- * ```
39
- */
40
- declare type Props = {
41
- disabled?: boolean;
42
- type?: "solid" | "extended" | "outline" | "fixed" | "standard";
43
- loading?: boolean;
44
- icon?: string;
45
- color?: string;
46
- label?: string;
47
- onPress: () => void;
48
- elevation?: number;
49
- theme: Theme;
50
- style?: StyleProp<ViewStyle>;
51
- } & PressableProps & IconSlot;
52
- declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<React.PropsWithChildren<Props>, "theme"> & {
53
- theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
54
- }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<React.PropsWithChildren<Props>> & React.FC<React.PropsWithChildren<Props>>, {}>;
55
- export default _default;
56
- //# sourceMappingURL=DeprecatedFAB.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DeprecatedFAB.d.ts","sourceRoot":"","sources":["../../../../src/components/DeprecatedFAB.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAIL,SAAS,EACT,SAAS,EAGT,cAAc,EACf,MAAM,cAAc,CAAC;AAOtB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,aAAK,KAAK,GAAG;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B,GAAG,cAAc,GAChB,QAAQ,CAAC;;;;AAkKX,wBAA8B"}
@@ -1,55 +0,0 @@
1
- export declare const SEED_DATA: {
2
- name: string;
3
- tag: string;
4
- description: string;
5
- category: string;
6
- stylesPanelSections: string[];
7
- layout: {
8
- height: number;
9
- };
10
- props: {
11
- useThemeGutterPadding: {
12
- group: string;
13
- label: string;
14
- description: string;
15
- formType: string;
16
- propType: string;
17
- defaultValue: boolean;
18
- editable: boolean;
19
- required: boolean;
20
- };
21
- backgroundImage: {
22
- label: string;
23
- description: string;
24
- group: string;
25
- formType: string;
26
- propType: string;
27
- defaultValue: string;
28
- editable: boolean;
29
- required: boolean;
30
- };
31
- backgroundImageResizeMode: {
32
- group: string;
33
- label: string;
34
- description: string;
35
- editable: boolean;
36
- required: boolean;
37
- defaultValue: string;
38
- formType: string;
39
- propType: string;
40
- options: string[];
41
- };
42
- elevation: {
43
- defaultValue: any;
44
- label: string;
45
- description: string;
46
- formType: string;
47
- propType: string;
48
- options: number[];
49
- editable: boolean;
50
- required: boolean;
51
- group: string;
52
- };
53
- };
54
- };
55
- //# sourceMappingURL=Container.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../../../src/mappings/Container.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrB,CAAC"}
@@ -1,43 +0,0 @@
1
- import * as React from "react";
2
- import { View, ImageBackground, StyleSheet, } from "react-native";
3
- import { withTheme } from "../theming";
4
- import Elevation from "./Elevation";
5
- const Container = ({ useThemeGutterPadding, borderColor, borderWidth, backgroundColor, backgroundImage, backgroundImageResizeMode, elevation, style, children, theme, // eslint-disable-line @typescript-eslint/no-unused-vars
6
- ...rest }) => {
7
- const { flex, flexGrow, flexWrap, flexBasis, flexShrink, flexDirection, alignContent, justifyContent, alignItems, padding, paddingTop, paddingBottom, paddingLeft, paddingRight, paddingVertical, paddingHorizontal, ...styleProp } = StyleSheet.flatten(style) || {};
8
- const containerStyle = {
9
- backgroundColor,
10
- borderColor,
11
- borderWidth,
12
- width: "100%",
13
- ...styleProp,
14
- };
15
- const innerStyle = {
16
- flex,
17
- flexGrow,
18
- flexWrap,
19
- flexBasis,
20
- flexShrink,
21
- flexDirection,
22
- alignContent,
23
- justifyContent,
24
- alignItems,
25
- padding,
26
- paddingTop,
27
- paddingBottom,
28
- paddingLeft,
29
- paddingRight,
30
- paddingVertical,
31
- paddingHorizontal: paddingHorizontal || useThemeGutterPadding ? 16 : 0,
32
- };
33
- const Wrap = elevation ? Elevation : View;
34
- if (elevation)
35
- containerStyle.elevation = elevation;
36
- return (React.createElement(Wrap, { style: [containerStyle, style], ...rest }, backgroundImage ? (React.createElement(ImageBackground, { source: typeof backgroundImage === "string"
37
- ? { uri: backgroundImage }
38
- : backgroundImage, resizeMode: backgroundImageResizeMode, style: {
39
- flex: 1,
40
- } },
41
- React.createElement(View, { style: innerStyle }, children))) : (React.createElement(View, { style: innerStyle }, children))));
42
- };
43
- export default withTheme(Container);
@@ -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);