@draftbit/core 46.2.4-4eaebb.5 → 46.2.4-54d316.5

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 (57) hide show
  1. package/lib/commonjs/components/Accordion/AccordionItem.js +25 -5
  2. package/lib/commonjs/components/Table/index.js +55 -0
  3. package/lib/commonjs/components/Table/table.js +35 -0
  4. package/lib/commonjs/components/Table/tableCell.js +50 -0
  5. package/lib/commonjs/components/Table/tableHeader.js +41 -0
  6. package/lib/commonjs/components/Table/tablePaginator.js +17 -0
  7. package/lib/commonjs/components/Table/tableRow.js +47 -0
  8. package/lib/commonjs/components/Table/tableTitle.js +60 -0
  9. package/lib/commonjs/index.js +38 -0
  10. package/lib/commonjs/mappings/SVG.js +0 -1
  11. package/lib/commonjs/mappings/table.js +103 -0
  12. package/lib/commonjs/utilities.js +2 -2
  13. package/lib/module/components/Table/index.js +6 -0
  14. package/lib/module/components/Table/table.js +23 -0
  15. package/lib/module/components/Table/tableCell.js +37 -0
  16. package/lib/module/components/Table/tableHeader.js +27 -0
  17. package/lib/module/components/Table/tablePaginator.js +6 -0
  18. package/lib/module/components/Table/tableRow.js +33 -0
  19. package/lib/module/components/Table/tableTitle.js +47 -0
  20. package/lib/module/index.js +1 -0
  21. package/lib/module/mappings/SVG.js +1 -2
  22. package/lib/module/mappings/table.js +94 -0
  23. package/lib/module/utilities.js +3 -3
  24. package/lib/typescript/src/components/Table/index.d.ts +6 -0
  25. package/lib/typescript/src/components/Table/table.d.ts +8 -0
  26. package/lib/typescript/src/components/Table/tableCell.d.ts +10 -0
  27. package/lib/typescript/src/components/Table/tableHeader.d.ts +12 -0
  28. package/lib/typescript/src/components/Table/tablePaginator.d.ts +3 -0
  29. package/lib/typescript/src/components/Table/tableRow.d.ts +12 -0
  30. package/lib/typescript/src/components/Table/tableTitle.d.ts +12 -0
  31. package/lib/typescript/src/index.d.ts +1 -0
  32. package/lib/typescript/src/mappings/SVG.d.ts +0 -1
  33. package/lib/typescript/src/mappings/table.d.ts +153 -0
  34. package/lib/typescript/src/utilities.d.ts +3 -3
  35. package/package.json +2 -2
  36. package/src/components/Table/index.js +6 -0
  37. package/src/components/Table/index.tsx +6 -0
  38. package/src/components/Table/table.js +10 -0
  39. package/src/components/Table/table.tsx +22 -0
  40. package/src/components/Table/tableCell.js +21 -0
  41. package/src/components/Table/tableCell.tsx +44 -0
  42. package/src/components/Table/tableHeader.js +11 -0
  43. package/src/components/Table/tableHeader.tsx +28 -0
  44. package/src/components/Table/tablePaginator.js +5 -0
  45. package/src/components/Table/tablePaginator.tsx +10 -0
  46. package/src/components/Table/tableRow.js +16 -0
  47. package/src/components/Table/tableRow.tsx +31 -0
  48. package/src/components/Table/tableTitle.js +28 -0
  49. package/src/components/Table/tableTitle.tsx +58 -0
  50. package/src/index.js +1 -0
  51. package/src/index.tsx +9 -0
  52. package/src/mappings/SVG.js +1 -7
  53. package/src/mappings/SVG.ts +1 -11
  54. package/src/mappings/table.js +137 -0
  55. package/src/mappings/table.ts +145 -0
  56. package/src/utilities.js +5 -2
  57. package/src/utilities.ts +13 -2
@@ -0,0 +1,47 @@
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
+
3
+ import React from "react";
4
+ import { View, Text, StyleSheet } from "react-native";
5
+ import { extractStyles } from "../../utilities";
6
+
7
+ const TableTitle = _ref => {
8
+ let {
9
+ children,
10
+ style,
11
+ numeric = false,
12
+ isAscending = false,
13
+ numberOfLines = 1,
14
+ title,
15
+ ...rest
16
+ } = _ref;
17
+ const {
18
+ textStyles,
19
+ viewStyles
20
+ } = extractStyles(style);
21
+ return /*#__PURE__*/React.createElement(View, _extends({}, rest, {
22
+ style: [styles.wrapper, numeric && styles.right, viewStyles]
23
+ }), /*#__PURE__*/React.createElement(Text, {
24
+ style: [isAscending ? styles.sorted : {
25
+ color: "gray"
26
+ }, textStyles],
27
+ numberOfLines: numberOfLines
28
+ }, children, title));
29
+ };
30
+
31
+ const styles = StyleSheet.create({
32
+ wrapper: {
33
+ flex: 1,
34
+ display: "flex",
35
+ flexDirection: "row"
36
+ },
37
+ right: {
38
+ justifyContent: "flex-end"
39
+ },
40
+ sorted: {// marginLeft: 8,
41
+ },
42
+ icon: {
43
+ height: 24,
44
+ justifyContent: "center"
45
+ }
46
+ });
47
+ export default TableTitle;
@@ -31,6 +31,7 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/Ac
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
32
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
33
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
34
+ export { Table, TableRow, TablePaginator, TableHeader, TableCell, TableTitle } from "./components/Table";
34
35
  /* Deprecated: Fix or Delete! */
35
36
 
36
37
  export { default as Button } from "./components/DeprecatedButton";
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, createSvgProp, StylesPanelSections } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createSvgProp } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "SVG",
4
4
  tag: "SVG",
@@ -8,7 +8,6 @@ export const SEED_DATA = {
8
8
  width: 100,
9
9
  height: 100
10
10
  },
11
- stylesPanelSections: [StylesPanelSections.Size, StylesPanelSections.Margins, StylesPanelSections.Position, StylesPanelSections.Effects],
12
11
  props: {
13
12
  source: createSvgProp()
14
13
  }
@@ -0,0 +1,94 @@
1
+ import { COMPONENT_TYPES, GROUPS, createBoolProp, createTextProp, createNumberProp, StylesPanelSections } from "@draftbit/types";
2
+ export const SEED_DATA = [{
3
+ name: "Table",
4
+ tag: "Table",
5
+ category: COMPONENT_TYPES.container,
6
+ stylesPanelSections: [StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
7
+ layout: {
8
+ width: "100%"
9
+ },
10
+ props: {}
11
+ }, {
12
+ name: "Table Row",
13
+ tag: "TableRow",
14
+ category: COMPONENT_TYPES.container,
15
+ stylesPanelSections: [StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
16
+ layout: {
17
+ paddingLeft: 16,
18
+ paddingRight: 16,
19
+ borderBottomWidth: 1,
20
+ borderStyle: "solid"
21
+ },
22
+ props: {}
23
+ }, {
24
+ name: "Table Cell",
25
+ tag: "TableCell",
26
+ category: COMPONENT_TYPES.container,
27
+ layout: {
28
+ paddingTop: 16,
29
+ paddingBottom: 16,
30
+ paddingLeft: 8,
31
+ paddingRight: 8
32
+ },
33
+ stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
34
+ props: {
35
+ numeric: createBoolProp({
36
+ label: "Is Numeric Cell?",
37
+ description: "Does the cell contain a numeric value?",
38
+ group: GROUPS.data
39
+ }),
40
+ value: createTextProp({
41
+ label: "Cell Value",
42
+ description: "Table Cell Value",
43
+ group: GROUPS.data
44
+ })
45
+ }
46
+ }, {
47
+ name: "Table Header",
48
+ tag: "TableHeader",
49
+ category: COMPONENT_TYPES.container,
50
+ stylesPanelSections: [StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
51
+ layout: {
52
+ paddingLeft: 16,
53
+ paddingRight: 16,
54
+ borderBottomWidth: 1,
55
+ borderStyle: "solid",
56
+ backgroundColor: "#EFEFEF"
57
+ },
58
+ props: {}
59
+ }, {
60
+ name: "Table Title",
61
+ tag: "TableTitle",
62
+ category: COMPONENT_TYPES.container,
63
+ stylesPanelSections: [StylesPanelSections.Typography, StylesPanelSections.Background, StylesPanelSections.Borders, StylesPanelSections.Size, StylesPanelSections.MarginsAndPaddings, StylesPanelSections.Position, StylesPanelSections.Effects],
64
+ layout: {
65
+ fontSize: 14,
66
+ fontWeight: "500",
67
+ paddingTop: 16,
68
+ paddingBottom: 16,
69
+ paddingLeft: 8,
70
+ paddingRight: 8
71
+ },
72
+ props: {
73
+ numeric: createBoolProp({
74
+ label: "Is Numeric Cell?",
75
+ description: "Does the cell contain a numeric value?",
76
+ group: GROUPS.data
77
+ }),
78
+ value: createTextProp({
79
+ label: "Cell Value",
80
+ description: "Table Cell Value",
81
+ group: GROUPS.data
82
+ }),
83
+ isAscending: createBoolProp({
84
+ label: "Is Ascending?",
85
+ description: "Does the cell contain a numeric value?",
86
+ group: GROUPS.data
87
+ }),
88
+ numberOfLines: createNumberProp({
89
+ label: "Number of Lines",
90
+ description: "Number of Lines",
91
+ group: GROUPS.basic
92
+ })
93
+ }
94
+ }];
@@ -1,5 +1,5 @@
1
1
  import { StyleSheet } from "react-native";
2
- import { isString, isNumber, pick, pickBy, identity } from "lodash";
2
+ import { isString, isNumber, pick, pickBy, identity, omitBy, isNil } from "lodash";
3
3
  export function extractStyles(style) {
4
4
  const {
5
5
  color,
@@ -29,8 +29,8 @@ export function extractStyles(style) {
29
29
  textDecorationStyle
30
30
  };
31
31
  return {
32
- viewStyles,
33
- textStyles
32
+ viewStyles: omitBy(viewStyles, isNil),
33
+ textStyles: omitBy(textStyles, isNil)
34
34
  };
35
35
  }
36
36
  export const borderStyleNames = ["borderRadius", "borderBottomColor", "borderBottomEndRadius", "borderBottomLeftRadius", "borderBottomRightRadius", "borderBottomStartRadius", "borderBottomWidth", "borderColor", "borderEndColor", "borderLeftColor", "borderLeftWidth", "borderRadius", "borderRightColor", "borderRightWidth", "borderStartColor", "borderStyle", "borderTopColor", "borderTopEndRadius", "borderTopLeftRadius", "borderTopRightRadius", "borderTopStartRadius", "borderTopWidth", "borderWidth"];
@@ -0,0 +1,6 @@
1
+ export { default as Table } from "./table";
2
+ export { default as TableHeader } from "./tableHeader";
3
+ export { default as TablePaginator } from "./tablePaginator";
4
+ export { default as TableRow } from "./tableRow";
5
+ export { default as TableCell } from "./tableCell";
6
+ export { default as TableTitle } from "./tableTitle";
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ export interface TableProps {
4
+ children: React.ReactNode;
5
+ style?: StyleProp<ViewStyle>;
6
+ }
7
+ declare const Table: ({ children, style, ...rest }: TableProps) => JSX.Element;
8
+ export default Table;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ export interface TableCellProps {
4
+ children: React.ReactNode;
5
+ numeric?: boolean;
6
+ style?: StyleProp<ViewStyle>;
7
+ value: string;
8
+ }
9
+ declare const TableCell: ({ children, style, numeric, value, ...rest }: TableCellProps) => JSX.Element;
10
+ export default TableCell;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ import { Theme } from "../../styles/DefaultTheme";
4
+ export interface TableHeaderProps {
5
+ children: React.ReactNode;
6
+ style?: StyleProp<ViewStyle>;
7
+ theme: Theme;
8
+ }
9
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<TableHeaderProps, "theme"> & {
10
+ theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
11
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<TableHeaderProps> & (({ children, style, theme, ...rest }: TableHeaderProps) => JSX.Element), {}>;
12
+ export default _default;
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const TablePaginator: () => JSX.Element;
3
+ export default TablePaginator;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ import { Theme } from "../../styles/DefaultTheme";
4
+ export interface TableRowProps {
5
+ children: React.ReactNode;
6
+ style?: StyleProp<ViewStyle>;
7
+ theme: Theme;
8
+ }
9
+ declare const _default: React.ComponentType<import("@draftbit/react-theme-provider").$Without<TableRowProps, "theme"> & {
10
+ theme?: import("@draftbit/react-theme-provider").$DeepPartial<any> | undefined;
11
+ }> & import("@draftbit/react-theme-provider/typings/hoist-non-react-statics").NonReactStatics<React.ComponentType<TableRowProps> & (({ children, style, theme, ...rest }: TableRowProps) => JSX.Element), {}>;
12
+ export default _default;
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ export interface TableCellProps {
4
+ children: React.ReactNode;
5
+ numeric?: boolean;
6
+ isAscending: boolean;
7
+ numberOfLines?: number;
8
+ title?: string;
9
+ style?: StyleProp<ViewStyle>;
10
+ }
11
+ declare const TableTitle: ({ children, style, numeric, isAscending, numberOfLines, title, ...rest }: TableCellProps) => JSX.Element;
12
+ export default TableTitle;
@@ -31,6 +31,7 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/A
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
32
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
33
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
34
+ export { Table, TableRow, TablePaginator, TableHeader, TableCell, TableTitle, } from "./components/Table";
34
35
  export { default as Button } from "./components/DeprecatedButton";
35
36
  export { default as CardBlock } from "./components/CardBlock";
36
37
  export { default as CardContainer } from "./components/CardContainer";
@@ -7,7 +7,6 @@ export declare const SEED_DATA: {
7
7
  width: number;
8
8
  height: number;
9
9
  };
10
- stylesPanelSections: string[];
11
10
  props: {
12
11
  source: {
13
12
  label: string;
@@ -0,0 +1,153 @@
1
+ export declare const SEED_DATA: ({
2
+ name: string;
3
+ tag: string;
4
+ category: string;
5
+ stylesPanelSections: string[];
6
+ layout: {
7
+ width: string;
8
+ paddingLeft?: undefined;
9
+ paddingRight?: undefined;
10
+ borderBottomWidth?: undefined;
11
+ borderStyle?: undefined;
12
+ paddingTop?: undefined;
13
+ paddingBottom?: undefined;
14
+ backgroundColor?: undefined;
15
+ fontSize?: undefined;
16
+ fontWeight?: undefined;
17
+ };
18
+ props: {
19
+ numeric?: undefined;
20
+ value?: undefined;
21
+ isAscending?: undefined;
22
+ numberOfLines?: undefined;
23
+ };
24
+ } | {
25
+ name: string;
26
+ tag: string;
27
+ category: string;
28
+ stylesPanelSections: string[];
29
+ layout: {
30
+ paddingLeft: number;
31
+ paddingRight: number;
32
+ borderBottomWidth: number;
33
+ borderStyle: string;
34
+ width?: undefined;
35
+ paddingTop?: undefined;
36
+ paddingBottom?: undefined;
37
+ backgroundColor?: undefined;
38
+ fontSize?: undefined;
39
+ fontWeight?: undefined;
40
+ };
41
+ props: {
42
+ numeric?: undefined;
43
+ value?: undefined;
44
+ isAscending?: undefined;
45
+ numberOfLines?: undefined;
46
+ };
47
+ } | {
48
+ name: string;
49
+ tag: string;
50
+ category: string;
51
+ layout: {
52
+ paddingTop: number;
53
+ paddingBottom: number;
54
+ paddingLeft: number;
55
+ paddingRight: number;
56
+ width?: undefined;
57
+ borderBottomWidth?: undefined;
58
+ borderStyle?: undefined;
59
+ backgroundColor?: undefined;
60
+ fontSize?: undefined;
61
+ fontWeight?: undefined;
62
+ };
63
+ stylesPanelSections: string[];
64
+ props: {
65
+ numeric: {
66
+ label: string;
67
+ description: string;
68
+ formType: string;
69
+ propType: string;
70
+ defaultValue: boolean;
71
+ editable: boolean;
72
+ required: boolean;
73
+ group: string;
74
+ };
75
+ value: any;
76
+ isAscending?: undefined;
77
+ numberOfLines?: undefined;
78
+ };
79
+ } | {
80
+ name: string;
81
+ tag: string;
82
+ category: string;
83
+ stylesPanelSections: string[];
84
+ layout: {
85
+ paddingLeft: number;
86
+ paddingRight: number;
87
+ borderBottomWidth: number;
88
+ borderStyle: string;
89
+ backgroundColor: string;
90
+ width?: undefined;
91
+ paddingTop?: undefined;
92
+ paddingBottom?: undefined;
93
+ fontSize?: undefined;
94
+ fontWeight?: undefined;
95
+ };
96
+ props: {
97
+ numeric?: undefined;
98
+ value?: undefined;
99
+ isAscending?: undefined;
100
+ numberOfLines?: undefined;
101
+ };
102
+ } | {
103
+ name: string;
104
+ tag: string;
105
+ category: string;
106
+ stylesPanelSections: string[];
107
+ layout: {
108
+ fontSize: number;
109
+ fontWeight: string;
110
+ paddingTop: number;
111
+ paddingBottom: number;
112
+ paddingLeft: number;
113
+ paddingRight: number;
114
+ width?: undefined;
115
+ borderBottomWidth?: undefined;
116
+ borderStyle?: undefined;
117
+ backgroundColor?: undefined;
118
+ };
119
+ props: {
120
+ numeric: {
121
+ label: string;
122
+ description: string;
123
+ formType: string;
124
+ propType: string;
125
+ defaultValue: boolean;
126
+ editable: boolean;
127
+ required: boolean;
128
+ group: string;
129
+ };
130
+ value: any;
131
+ isAscending: {
132
+ label: string;
133
+ description: string;
134
+ formType: string;
135
+ propType: string;
136
+ defaultValue: boolean;
137
+ editable: boolean;
138
+ required: boolean;
139
+ group: string;
140
+ };
141
+ numberOfLines: {
142
+ label: string;
143
+ description: string;
144
+ formType: string;
145
+ propType: string;
146
+ group: string;
147
+ defaultValue: null;
148
+ editable: boolean;
149
+ required: boolean;
150
+ step: number;
151
+ };
152
+ };
153
+ })[];
@@ -1,8 +1,8 @@
1
1
  /// <reference types="lodash" />
2
- import { StyleProp, TextStyle } from "react-native";
2
+ import { StyleProp } from "react-native";
3
3
  export declare function extractStyles(style: StyleProp<any>): {
4
- viewStyles: any;
5
- textStyles: TextStyle;
4
+ viewStyles: Partial<any>;
5
+ textStyles: import("lodash").Dictionary<any>;
6
6
  };
7
7
  export declare const borderStyleNames: string[];
8
8
  export declare const marginStyleNames: string[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.2.4-4eaebb.5+4eaebbda",
3
+ "version": "46.2.4-54d316.5+54d3168f",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "4eaebbdada62757854c56d81d6398121ef2d7efa"
83
+ "gitHead": "54d3168fcd7786b51099bb324e615f1d2bcf3ddd"
84
84
  }
@@ -0,0 +1,6 @@
1
+ export { default as Table } from "./table";
2
+ export { default as TableHeader } from "./tableHeader";
3
+ export { default as TablePaginator } from "./tablePaginator";
4
+ export { default as TableRow } from "./tableRow";
5
+ export { default as TableCell } from "./tableCell";
6
+ export { default as TableTitle } from "./tableTitle";
@@ -0,0 +1,6 @@
1
+ export { default as Table } from "./table";
2
+ export { default as TableHeader } from "./tableHeader";
3
+ export { default as TablePaginator } from "./tablePaginator";
4
+ export { default as TableRow } from "./tableRow";
5
+ export { default as TableCell } from "./tableCell";
6
+ export { default as TableTitle } from "./tableTitle";
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ const Table = ({ children, style, ...rest }) => (React.createElement(View, { ...rest, style: [styles.wrapper, style] }, children));
4
+ const styles = StyleSheet.create({
5
+ wrapper: {
6
+ display: "flex",
7
+ flexDirection: "column",
8
+ },
9
+ });
10
+ export default Table;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { View, StyleProp, ViewStyle, StyleSheet } from "react-native";
3
+
4
+ export interface TableProps {
5
+ children: React.ReactNode;
6
+ style?: StyleProp<ViewStyle>;
7
+ }
8
+
9
+ const Table = ({ children, style, ...rest }: TableProps) => (
10
+ <View {...rest} style={[styles.wrapper, style]}>
11
+ {children}
12
+ </View>
13
+ );
14
+
15
+ const styles = StyleSheet.create({
16
+ wrapper: {
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ },
20
+ });
21
+
22
+ export default Table;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ import { View, Text, StyleSheet } from "react-native";
3
+ import { extractStyles } from "../../utilities";
4
+ const TableCell = ({ children, style, numeric, value, ...rest }) => {
5
+ const { textStyles, viewStyles } = extractStyles(style);
6
+ return (React.createElement(View, { ...rest, style: [styles.wrapper, numeric && styles.right, viewStyles] },
7
+ React.createElement(Text, { numberOfLines: 1, style: textStyles },
8
+ children,
9
+ value)));
10
+ };
11
+ const styles = StyleSheet.create({
12
+ wrapper: {
13
+ flex: 1,
14
+ display: "flex",
15
+ flexDirection: "row",
16
+ },
17
+ right: {
18
+ justifyContent: "flex-end",
19
+ },
20
+ });
21
+ export default TableCell;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { View, Text, StyleProp, ViewStyle, StyleSheet } from "react-native";
3
+ import { extractStyles } from "../../utilities";
4
+
5
+ export interface TableCellProps {
6
+ children: React.ReactNode;
7
+ numeric?: boolean;
8
+ style?: StyleProp<ViewStyle>;
9
+ value: string;
10
+ }
11
+
12
+ const TableCell = ({
13
+ children,
14
+ style,
15
+ numeric,
16
+ value,
17
+ ...rest
18
+ }: TableCellProps) => {
19
+ const { textStyles, viewStyles } = extractStyles(style);
20
+ return (
21
+ <View
22
+ {...rest}
23
+ style={[styles.wrapper, numeric && styles.right, viewStyles]}
24
+ >
25
+ <Text numberOfLines={1} style={textStyles}>
26
+ {children}
27
+ {value}
28
+ </Text>
29
+ </View>
30
+ );
31
+ };
32
+
33
+ const styles = StyleSheet.create({
34
+ wrapper: {
35
+ flex: 1,
36
+ display: "flex",
37
+ flexDirection: "row",
38
+ },
39
+ right: {
40
+ justifyContent: "flex-end",
41
+ },
42
+ });
43
+
44
+ export default TableCell;
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ import { withTheme } from "../../theming";
4
+ const TableHeader = ({ children, style, theme, ...rest }) => (React.createElement(View, { ...rest, style: [styles.wrapper, { borderBottomColor: theme.colors.medium }, style] }, children));
5
+ const styles = StyleSheet.create({
6
+ wrapper: {
7
+ display: "flex",
8
+ flexDirection: "row",
9
+ },
10
+ });
11
+ export default withTheme(TableHeader);
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { View, StyleProp, ViewStyle, StyleSheet } from "react-native";
3
+ import { Theme } from "../../styles/DefaultTheme";
4
+ import { withTheme } from "../../theming";
5
+
6
+ export interface TableHeaderProps {
7
+ children: React.ReactNode;
8
+ style?: StyleProp<ViewStyle>;
9
+ theme: Theme;
10
+ }
11
+
12
+ const TableHeader = ({ children, style, theme, ...rest }: TableHeaderProps) => (
13
+ <View
14
+ {...rest}
15
+ style={[styles.wrapper, { borderBottomColor: theme.colors.medium }, style]}
16
+ >
17
+ {children}
18
+ </View>
19
+ );
20
+
21
+ const styles = StyleSheet.create({
22
+ wrapper: {
23
+ display: "flex",
24
+ flexDirection: "row",
25
+ },
26
+ });
27
+
28
+ export default withTheme(TableHeader);
@@ -0,0 +1,5 @@
1
+ import React from "react";
2
+ import { View, Text } from "react-native";
3
+ const TablePaginator = () => (React.createElement(View, null,
4
+ React.createElement(Text, null, "Table Paginator")));
5
+ export default TablePaginator;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ import { View, Text } from "react-native";
3
+
4
+ const TablePaginator = () => (
5
+ <View>
6
+ <Text>Table Paginator</Text>
7
+ </View>
8
+ );
9
+
10
+ export default TablePaginator;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ import { withTheme } from "../../theming";
4
+ const TableRow = ({ children, style, theme, ...rest }) => (React.createElement(View, { ...rest, style: [styles.container, { borderBottomColor: theme.colors.light }, style] },
5
+ React.createElement(View, { style: styles.content }, children)));
6
+ const styles = StyleSheet.create({
7
+ container: {
8
+ display: "flex",
9
+ flexDirection: "row",
10
+ },
11
+ content: {
12
+ flex: 1,
13
+ flexDirection: "row",
14
+ },
15
+ });
16
+ export default withTheme(TableRow);