@draftbit/core 47.1.1-2bc708.2 → 47.1.1-832f38.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 (77) hide show
  1. package/lib/commonjs/components/Accordion/AccordionItem.js +23 -4
  2. package/lib/commonjs/components/Container.js +15 -4
  3. package/lib/commonjs/components/Table/Table.js +28 -0
  4. package/lib/commonjs/components/Table/TableCell.js +42 -0
  5. package/lib/commonjs/components/Table/TableHeader.js +32 -0
  6. package/lib/commonjs/components/Table/TablePaginator.js +12 -0
  7. package/lib/commonjs/components/Table/TableRow.js +38 -0
  8. package/lib/commonjs/components/Table/TableTitle.js +53 -0
  9. package/lib/commonjs/components/Table/index.js +48 -0
  10. package/lib/commonjs/constants.js +1 -1
  11. package/lib/commonjs/index.js +37 -0
  12. package/lib/commonjs/mappings/FlashList.js +0 -4
  13. package/lib/commonjs/mappings/ScrollView.js +2 -0
  14. package/lib/commonjs/mappings/Table.js +100 -0
  15. package/lib/commonjs/utilities.js +2 -2
  16. package/lib/module/components/Table/Table.js +20 -0
  17. package/lib/module/components/Table/TableCell.js +34 -0
  18. package/lib/module/components/Table/TableHeader.js +24 -0
  19. package/lib/module/components/Table/TablePaginator.js +4 -0
  20. package/lib/module/components/Table/TableRow.js +30 -0
  21. package/lib/module/components/Table/TableTitle.js +45 -0
  22. package/lib/module/components/Table/index.js +6 -0
  23. package/lib/module/constants.js +0 -1
  24. package/lib/module/index.js +1 -0
  25. package/lib/module/mappings/FlashList.js +0 -4
  26. package/lib/module/mappings/ScrollView.js +3 -1
  27. package/lib/module/mappings/Table.js +93 -0
  28. package/lib/module/utilities.js +3 -3
  29. package/lib/typescript/src/components/Table/Table.d.ts +9 -0
  30. package/lib/typescript/src/components/Table/Table.d.ts.map +1 -0
  31. package/lib/typescript/src/components/Table/TableCell.d.ts +11 -0
  32. package/lib/typescript/src/components/Table/TableCell.d.ts.map +1 -0
  33. package/lib/typescript/src/components/Table/TableHeader.d.ts +13 -0
  34. package/lib/typescript/src/components/Table/TableHeader.d.ts.map +1 -0
  35. package/lib/typescript/src/components/Table/TablePaginator.d.ts +4 -0
  36. package/lib/typescript/src/components/Table/TablePaginator.d.ts.map +1 -0
  37. package/lib/typescript/src/components/Table/TableRow.d.ts +13 -0
  38. package/lib/typescript/src/components/Table/TableRow.d.ts.map +1 -0
  39. package/lib/typescript/src/components/Table/TableTitle.d.ts +13 -0
  40. package/lib/typescript/src/components/Table/TableTitle.d.ts.map +1 -0
  41. package/lib/typescript/src/components/Table/index.d.ts +7 -0
  42. package/lib/typescript/src/components/Table/index.d.ts.map +1 -0
  43. package/lib/typescript/src/index.d.ts +1 -0
  44. package/lib/typescript/src/index.d.ts.map +1 -1
  45. package/lib/typescript/src/mappings/FlashList.d.ts +0 -11
  46. package/lib/typescript/src/mappings/FlashList.d.ts.map +1 -1
  47. package/lib/typescript/src/mappings/ScrollView.d.ts +11 -0
  48. package/lib/typescript/src/mappings/ScrollView.d.ts.map +1 -1
  49. package/lib/typescript/src/mappings/Table.d.ts +149 -0
  50. package/lib/typescript/src/mappings/Table.d.ts.map +1 -0
  51. package/lib/typescript/src/utilities.d.ts +3 -3
  52. package/lib/typescript/src/utilities.d.ts.map +1 -1
  53. package/package.json +3 -3
  54. package/src/components/Table/Table.js +10 -0
  55. package/src/components/Table/Table.tsx +22 -0
  56. package/src/components/Table/TableCell.js +21 -0
  57. package/src/components/Table/TableCell.tsx +44 -0
  58. package/src/components/Table/TableHeader.js +11 -0
  59. package/src/components/Table/TableHeader.tsx +28 -0
  60. package/src/components/Table/TablePaginator.js +5 -0
  61. package/src/components/Table/TablePaginator.tsx +10 -0
  62. package/src/components/Table/TableRow.js +16 -0
  63. package/src/components/Table/TableRow.tsx +31 -0
  64. package/src/components/Table/TableTitle.js +28 -0
  65. package/src/components/Table/TableTitle.tsx +58 -0
  66. package/src/components/Table/index.js +6 -0
  67. package/src/components/Table/index.tsx +6 -0
  68. package/src/index.js +1 -0
  69. package/src/index.tsx +9 -0
  70. package/src/mappings/FlashList.js +0 -4
  71. package/src/mappings/FlashList.ts +0 -5
  72. package/src/mappings/ScrollView.js +3 -1
  73. package/src/mappings/ScrollView.ts +4 -0
  74. package/src/mappings/Table.js +136 -0
  75. package/src/mappings/Table.ts +144 -0
  76. package/src/utilities.js +5 -2
  77. package/src/utilities.ts +13 -2
@@ -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);
@@ -0,0 +1,31 @@
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
+ export interface TableRowProps {
6
+ children: React.ReactNode;
7
+ style?: StyleProp<ViewStyle>;
8
+ theme: Theme;
9
+ }
10
+
11
+ const TableRow = ({ children, style, theme, ...rest }: TableRowProps) => (
12
+ <View
13
+ {...rest}
14
+ style={[styles.container, { borderBottomColor: theme.colors.light }, style]}
15
+ >
16
+ <View style={styles.content}>{children}</View>
17
+ </View>
18
+ );
19
+
20
+ const styles = StyleSheet.create({
21
+ container: {
22
+ display: "flex",
23
+ flexDirection: "row",
24
+ },
25
+ content: {
26
+ flex: 1,
27
+ flexDirection: "row",
28
+ },
29
+ });
30
+
31
+ export default withTheme(TableRow);
@@ -0,0 +1,28 @@
1
+ import React from "react";
2
+ import { View, Text, StyleSheet } from "react-native";
3
+ import { extractStyles } from "../../utilities";
4
+ const TableTitle = ({ children, style, numeric = false, isAscending = false, numberOfLines = 1, title, ...rest }) => {
5
+ const { textStyles, viewStyles } = extractStyles(style);
6
+ return (React.createElement(View, { ...rest, style: [styles.wrapper, numeric && styles.right, viewStyles] },
7
+ React.createElement(Text, { style: [isAscending ? styles.sorted : { color: "gray" }, textStyles], numberOfLines: numberOfLines },
8
+ children,
9
+ title)));
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
+ sorted: {
21
+ // marginLeft: 8,
22
+ },
23
+ icon: {
24
+ height: 24,
25
+ justifyContent: "center",
26
+ },
27
+ });
28
+ export default TableTitle;
@@ -0,0 +1,58 @@
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
+ isAscending: boolean;
9
+ numberOfLines?: number;
10
+ title?: string;
11
+ style?: StyleProp<ViewStyle>;
12
+ }
13
+
14
+ const TableTitle = ({
15
+ children,
16
+ style,
17
+ numeric = false,
18
+ isAscending = false,
19
+ numberOfLines = 1,
20
+ title,
21
+ ...rest
22
+ }: TableCellProps) => {
23
+ const { textStyles, viewStyles } = extractStyles(style);
24
+ return (
25
+ <View
26
+ {...rest}
27
+ style={[styles.wrapper, numeric && styles.right, viewStyles]}
28
+ >
29
+ <Text
30
+ style={[isAscending ? styles.sorted : { color: "gray" }, textStyles]}
31
+ numberOfLines={numberOfLines}
32
+ >
33
+ {children}
34
+ {title}
35
+ </Text>
36
+ </View>
37
+ );
38
+ };
39
+
40
+ const styles = StyleSheet.create({
41
+ wrapper: {
42
+ flex: 1,
43
+ display: "flex",
44
+ flexDirection: "row",
45
+ },
46
+ right: {
47
+ justifyContent: "flex-end",
48
+ },
49
+ sorted: {
50
+ // marginLeft: 8,
51
+ },
52
+ icon: {
53
+ height: 24,
54
+ justifyContent: "center",
55
+ },
56
+ });
57
+
58
+ export default 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,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";
package/src/index.js CHANGED
@@ -32,6 +32,7 @@ export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/A
32
32
  export { Swiper, SwiperItem } from "./components/Swiper";
33
33
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
34
34
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
35
+ export { Table, TableRow, TablePaginator, TableHeader, TableCell, TableTitle, } from "./components/Table";
35
36
  /* Deprecated: Fix or Delete! */
36
37
  export { default as CardBlock } from "./components/CardBlock";
37
38
  export { default as CardContainer } from "./components/CardContainer";
package/src/index.tsx CHANGED
@@ -52,6 +52,15 @@ export {
52
52
  RadioButtonFieldGroup,
53
53
  } from "./components/RadioButton/index";
54
54
 
55
+ export {
56
+ Table,
57
+ TableRow,
58
+ TablePaginator,
59
+ TableHeader,
60
+ TableCell,
61
+ TableTitle,
62
+ } from "./components/Table";
63
+
55
64
  /* Deprecated: Fix or Delete! */
56
65
  export { default as CardBlock } from "./components/CardBlock";
57
66
  export { default as CardContainer } from "./components/CardContainer";
@@ -25,10 +25,6 @@ export const SEED_DATA = [
25
25
  step: 1,
26
26
  precision: 0,
27
27
  }),
28
- optimizeItemArrangement: createStaticBoolProp({
29
- label: "Optimize Item Arrangement",
30
- description: "If enabled, MasonryFlashList will try to reduce difference in column height by modifying item order. If true, specifying overrideItemLayout is required. Default value is false.",
31
- }),
32
28
  initialNumToRender: createStaticNumberProp({
33
29
  label: "Initial Num To Render",
34
30
  description: "How many items to render in the initial batch",
@@ -36,11 +36,6 @@ export const SEED_DATA = [
36
36
  step: 1,
37
37
  precision: 0,
38
38
  }),
39
- optimizeItemArrangement: createStaticBoolProp({
40
- label: "Optimize Item Arrangement",
41
- description:
42
- "If enabled, MasonryFlashList will try to reduce difference in column height by modifying item order. If true, specifying overrideItemLayout is required. Default value is false.",
43
- }),
44
39
  initialNumToRender: createStaticNumberProp({
45
40
  label: "Initial Num To Render",
46
41
  description: "How many items to render in the initial batch",
@@ -1,4 +1,4 @@
1
- import { COMPONENT_TYPES, createStaticBoolProp, CONTAINER_COMPONENT_STYLES_SECTIONS, } from "@draftbit/types";
1
+ import { COMPONENT_TYPES, createStaticBoolProp, CONTAINER_COMPONENT_STYLES_SECTIONS, Triggers, createActionProp, } from "@draftbit/types";
2
2
  export const SEED_DATA = {
3
3
  name: "Scroll View",
4
4
  tag: "ScrollView",
@@ -6,7 +6,9 @@ export const SEED_DATA = {
6
6
  category: COMPONENT_TYPES.view,
7
7
  stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
8
8
  layout: {},
9
+ triggers: [Triggers.OnRefresh],
9
10
  props: {
11
+ onRefresh: createActionProp(),
10
12
  horizontal: createStaticBoolProp({
11
13
  label: "Horizontal",
12
14
  description: "Render your list horizontally",
@@ -2,6 +2,8 @@ import {
2
2
  COMPONENT_TYPES,
3
3
  createStaticBoolProp,
4
4
  CONTAINER_COMPONENT_STYLES_SECTIONS,
5
+ Triggers,
6
+ createActionProp,
5
7
  } from "@draftbit/types";
6
8
 
7
9
  export const SEED_DATA = {
@@ -11,7 +13,9 @@ export const SEED_DATA = {
11
13
  category: COMPONENT_TYPES.view,
12
14
  stylesPanelSections: CONTAINER_COMPONENT_STYLES_SECTIONS,
13
15
  layout: {},
16
+ triggers: [Triggers.OnRefresh],
14
17
  props: {
18
+ onRefresh: createActionProp(),
15
19
  horizontal: createStaticBoolProp({
16
20
  label: "Horizontal",
17
21
  description: "Render your list horizontally",
@@ -0,0 +1,136 @@
1
+ import { COMPONENT_TYPES, GROUPS, createBoolProp, createTextProp, createNumberProp, StylesPanelSections, } from "@draftbit/types";
2
+ export const SEED_DATA = [
3
+ {
4
+ name: "Table",
5
+ tag: "Table",
6
+ category: COMPONENT_TYPES.container,
7
+ stylesPanelSections: [
8
+ StylesPanelSections.Background,
9
+ StylesPanelSections.Borders,
10
+ StylesPanelSections.Size,
11
+ StylesPanelSections.MarginsAndPaddings,
12
+ StylesPanelSections.Position,
13
+ StylesPanelSections.Effects,
14
+ ],
15
+ layout: {
16
+ width: "100%",
17
+ },
18
+ props: {},
19
+ },
20
+ {
21
+ name: "Table Row",
22
+ tag: "TableRow",
23
+ category: COMPONENT_TYPES.container,
24
+ stylesPanelSections: [
25
+ StylesPanelSections.Background,
26
+ StylesPanelSections.Borders,
27
+ StylesPanelSections.Size,
28
+ StylesPanelSections.MarginsAndPaddings,
29
+ StylesPanelSections.Position,
30
+ StylesPanelSections.Effects,
31
+ ],
32
+ layout: {
33
+ paddingLeft: 16,
34
+ paddingRight: 16,
35
+ borderBottomWidth: 1,
36
+ borderStyle: "solid",
37
+ },
38
+ props: {},
39
+ },
40
+ {
41
+ name: "Table Cell",
42
+ tag: "TableCell",
43
+ category: COMPONENT_TYPES.container,
44
+ layout: {
45
+ paddingTop: 16,
46
+ paddingBottom: 16,
47
+ paddingLeft: 8,
48
+ paddingRight: 8,
49
+ },
50
+ stylesPanelSections: [
51
+ StylesPanelSections.Typography,
52
+ StylesPanelSections.Background,
53
+ StylesPanelSections.Borders,
54
+ StylesPanelSections.Size,
55
+ StylesPanelSections.MarginsAndPaddings,
56
+ StylesPanelSections.Position,
57
+ StylesPanelSections.Effects,
58
+ ],
59
+ props: {
60
+ numeric: createBoolProp({
61
+ label: "Is Numeric Cell?",
62
+ description: "Does the cell contain a numeric value?",
63
+ group: GROUPS.data,
64
+ }),
65
+ value: createTextProp({
66
+ label: "Cell Value",
67
+ description: "Table Cell Value",
68
+ group: GROUPS.data,
69
+ }),
70
+ },
71
+ },
72
+ {
73
+ name: "Table Header",
74
+ tag: "TableHeader",
75
+ category: COMPONENT_TYPES.container,
76
+ stylesPanelSections: [
77
+ StylesPanelSections.Background,
78
+ StylesPanelSections.Borders,
79
+ StylesPanelSections.Size,
80
+ StylesPanelSections.MarginsAndPaddings,
81
+ StylesPanelSections.Position,
82
+ StylesPanelSections.Effects,
83
+ ],
84
+ layout: {
85
+ paddingLeft: 16,
86
+ paddingRight: 16,
87
+ borderBottomWidth: 1,
88
+ borderStyle: "solid",
89
+ backgroundColor: "#EFEFEF",
90
+ },
91
+ props: {},
92
+ },
93
+ {
94
+ name: "Table Title",
95
+ tag: "TableTitle",
96
+ category: COMPONENT_TYPES.container,
97
+ stylesPanelSections: [
98
+ StylesPanelSections.Typography,
99
+ StylesPanelSections.Background,
100
+ StylesPanelSections.Borders,
101
+ StylesPanelSections.Size,
102
+ StylesPanelSections.MarginsAndPaddings,
103
+ StylesPanelSections.Position,
104
+ StylesPanelSections.Effects,
105
+ ],
106
+ layout: {
107
+ fontSize: 14,
108
+ paddingTop: 16,
109
+ paddingBottom: 16,
110
+ paddingLeft: 8,
111
+ paddingRight: 8,
112
+ },
113
+ props: {
114
+ numeric: createBoolProp({
115
+ label: "Is Numeric Cell?",
116
+ description: "Does the cell contain a numeric value?",
117
+ group: GROUPS.data,
118
+ }),
119
+ value: createTextProp({
120
+ label: "Cell Value",
121
+ description: "Table Cell Value",
122
+ group: GROUPS.data,
123
+ }),
124
+ isAscending: createBoolProp({
125
+ label: "Is Ascending?",
126
+ description: "Does the cell contain a numeric value?",
127
+ group: GROUPS.data,
128
+ }),
129
+ numberOfLines: createNumberProp({
130
+ label: "Number of Lines",
131
+ description: "Number of Lines",
132
+ group: GROUPS.basic,
133
+ }),
134
+ },
135
+ },
136
+ ];
@@ -0,0 +1,144 @@
1
+ import {
2
+ COMPONENT_TYPES,
3
+ GROUPS,
4
+ createBoolProp,
5
+ createTextProp,
6
+ createNumberProp,
7
+ StylesPanelSections,
8
+ } from "@draftbit/types";
9
+
10
+ export const SEED_DATA = [
11
+ {
12
+ name: "Table",
13
+ tag: "Table",
14
+ category: COMPONENT_TYPES.container,
15
+ stylesPanelSections: [
16
+ StylesPanelSections.Background,
17
+ StylesPanelSections.Borders,
18
+ StylesPanelSections.Size,
19
+ StylesPanelSections.MarginsAndPaddings,
20
+ StylesPanelSections.Position,
21
+ StylesPanelSections.Effects,
22
+ ],
23
+ layout: {
24
+ width: "100%",
25
+ },
26
+ props: {},
27
+ },
28
+ {
29
+ name: "Table Row",
30
+ tag: "TableRow",
31
+ category: COMPONENT_TYPES.container,
32
+ stylesPanelSections: [
33
+ StylesPanelSections.Background,
34
+ StylesPanelSections.Borders,
35
+ StylesPanelSections.Size,
36
+ StylesPanelSections.MarginsAndPaddings,
37
+ StylesPanelSections.Position,
38
+ StylesPanelSections.Effects,
39
+ ],
40
+ layout: {
41
+ paddingLeft: 16,
42
+ paddingRight: 16,
43
+ borderBottomWidth: 1,
44
+ borderStyle: "solid",
45
+ },
46
+ props: {},
47
+ },
48
+ {
49
+ name: "Table Cell",
50
+ tag: "TableCell",
51
+ category: COMPONENT_TYPES.container,
52
+ layout: {
53
+ paddingTop: 16,
54
+ paddingBottom: 16,
55
+ paddingLeft: 8,
56
+ paddingRight: 8,
57
+ },
58
+ stylesPanelSections: [
59
+ StylesPanelSections.Typography,
60
+ StylesPanelSections.Background,
61
+ StylesPanelSections.Borders,
62
+ StylesPanelSections.Size,
63
+ StylesPanelSections.MarginsAndPaddings,
64
+ StylesPanelSections.Position,
65
+ StylesPanelSections.Effects,
66
+ ],
67
+ props: {
68
+ numeric: createBoolProp({
69
+ label: "Is Numeric Cell?",
70
+ description: "Does the cell contain a numeric value?",
71
+ group: GROUPS.data,
72
+ }),
73
+ value: createTextProp({
74
+ label: "Cell Value",
75
+ description: "Table Cell Value",
76
+ group: GROUPS.data,
77
+ }),
78
+ },
79
+ },
80
+ {
81
+ name: "Table Header",
82
+ tag: "TableHeader",
83
+ category: COMPONENT_TYPES.container,
84
+ stylesPanelSections: [
85
+ StylesPanelSections.Background,
86
+ StylesPanelSections.Borders,
87
+ StylesPanelSections.Size,
88
+ StylesPanelSections.MarginsAndPaddings,
89
+ StylesPanelSections.Position,
90
+ StylesPanelSections.Effects,
91
+ ],
92
+ layout: {
93
+ paddingLeft: 16,
94
+ paddingRight: 16,
95
+ borderBottomWidth: 1,
96
+ borderStyle: "solid",
97
+ backgroundColor: "#EFEFEF",
98
+ },
99
+ props: {},
100
+ },
101
+ {
102
+ name: "Table Title",
103
+ tag: "TableTitle",
104
+ category: COMPONENT_TYPES.container,
105
+ stylesPanelSections: [
106
+ StylesPanelSections.Typography,
107
+ StylesPanelSections.Background,
108
+ StylesPanelSections.Borders,
109
+ StylesPanelSections.Size,
110
+ StylesPanelSections.MarginsAndPaddings,
111
+ StylesPanelSections.Position,
112
+ StylesPanelSections.Effects,
113
+ ],
114
+ layout: {
115
+ fontSize: 14,
116
+ paddingTop: 16,
117
+ paddingBottom: 16,
118
+ paddingLeft: 8,
119
+ paddingRight: 8,
120
+ },
121
+ props: {
122
+ numeric: createBoolProp({
123
+ label: "Is Numeric Cell?",
124
+ description: "Does the cell contain a numeric value?",
125
+ group: GROUPS.data,
126
+ }),
127
+ value: createTextProp({
128
+ label: "Cell Value",
129
+ description: "Table Cell Value",
130
+ group: GROUPS.data,
131
+ }),
132
+ isAscending: createBoolProp({
133
+ label: "Is Ascending?",
134
+ description: "Does the cell contain a numeric value?",
135
+ group: GROUPS.data,
136
+ }),
137
+ numberOfLines: createNumberProp({
138
+ label: "Number of Lines",
139
+ description: "Number of Lines",
140
+ group: GROUPS.basic,
141
+ }),
142
+ },
143
+ },
144
+ ];
package/src/utilities.js CHANGED
@@ -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 { color, fontFamily, fontWeight, fontSize, lineHeight, letterSpacing, textTransform, textAlign, textDecorationLine, textDecorationColor, textDecorationStyle, ...viewStyles } = StyleSheet.flatten(style || {});
5
5
  const textStyles = {
@@ -15,7 +15,10 @@ export function extractStyles(style) {
15
15
  textDecorationColor,
16
16
  textDecorationStyle,
17
17
  };
18
- return { viewStyles, textStyles };
18
+ return {
19
+ viewStyles: omitBy(viewStyles, isNil),
20
+ textStyles: omitBy(textStyles, isNil),
21
+ };
19
22
  }
20
23
  export const borderStyleNames = [
21
24
  "borderRadius",