@draftbit/core 46.4.3 → 46.4.4-04eaf1.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 (189) hide show
  1. package/lib/commonjs/components/Justification.js +5 -1
  2. package/lib/commonjs/components/ResizeMode.js +5 -1
  3. package/lib/commonjs/mappings/Elements.js +121 -0
  4. package/lib/module/components/Justification.js +1 -0
  5. package/lib/module/components/ResizeMode.js +1 -0
  6. package/lib/module/mappings/Elements.js +112 -0
  7. package/lib/typescript/src/mappings/Elements.d.ts +30 -0
  8. package/package.json +4 -3
  9. package/src/Provider.js +9 -0
  10. package/src/components/Accordion/AccordionGroup.js +44 -0
  11. package/src/components/Accordion/AccordionItem.js +32 -0
  12. package/src/components/Accordion/index.js +2 -0
  13. package/src/components/ActionSheet/ActionSheet.js +45 -0
  14. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  15. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  16. package/src/components/ActionSheet/index.js +3 -0
  17. package/src/components/AnimatedCircularProgress.js +43 -0
  18. package/src/components/AspectRatio.js +18 -0
  19. package/src/components/AvatarEdit.js +30 -0
  20. package/src/components/Banner.js +109 -0
  21. package/src/components/Button.js +114 -0
  22. package/src/components/Card.js +57 -0
  23. package/src/components/CardBlock.js +54 -0
  24. package/src/components/CardContainer.js +69 -0
  25. package/src/components/CardContainerRating.js +79 -0
  26. package/src/components/CardContainerShortImage.js +33 -0
  27. package/src/components/CardInline.js +36 -0
  28. package/src/components/Carousel.js +68 -0
  29. package/src/components/Checkbox/Checkbox.js +63 -0
  30. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  31. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  32. package/src/components/Checkbox/CheckboxRow.js +78 -0
  33. package/src/components/Checkbox/context.js +14 -0
  34. package/src/components/Checkbox/index.js +3 -0
  35. package/src/components/CircleImage.js +8 -0
  36. package/src/components/CircularProgress.js +81 -0
  37. package/src/components/Config.js +64 -0
  38. package/src/components/Container.js +43 -0
  39. package/src/components/DatePicker/DatePicker.js +368 -0
  40. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  41. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  42. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  43. package/src/components/DeprecatedButton.js +95 -0
  44. package/src/components/DeprecatedCardWrapper.js +18 -0
  45. package/src/components/DeprecatedFAB.js +115 -0
  46. package/src/components/Divider.js +13 -0
  47. package/src/components/Elevation.js +20 -0
  48. package/src/components/FAB.js +46 -0
  49. package/src/components/FieldSearchBarFull.js +53 -0
  50. package/src/components/FormRow.js +19 -0
  51. package/src/components/Header.js +44 -0
  52. package/src/components/HeaderLarge.js +7 -0
  53. package/src/components/HeaderMedium.js +7 -0
  54. package/src/components/HeaderOverline.js +7 -0
  55. package/src/components/IconButton.js +35 -0
  56. package/src/components/Image.js +47 -0
  57. package/src/components/Justification.js +1 -0
  58. package/src/components/Layout.js +50 -0
  59. package/src/components/NumberInput.js +49 -0
  60. package/src/components/Picker/Picker.js +267 -0
  61. package/src/components/Picker/PickerComponent.android.js +69 -0
  62. package/src/components/Picker/PickerComponent.ios.js +79 -0
  63. package/src/components/Picker/PickerComponent.web.js +70 -0
  64. package/src/components/Picker/PickerTypes.js +1 -0
  65. package/src/components/Portal/Portal.js +35 -0
  66. package/src/components/Portal/PortalConsumer.js +27 -0
  67. package/src/components/Portal/PortalHost.js +107 -0
  68. package/src/components/Portal/PortalManager.js +32 -0
  69. package/src/components/ProgressBar.js +118 -0
  70. package/src/components/ProgressCircle.js +13 -0
  71. package/src/components/ProgressIndicator.js +27 -0
  72. package/src/components/RadioButton/RadioButton.js +17 -0
  73. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  74. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  75. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  76. package/src/components/RadioButton/context.js +14 -0
  77. package/src/components/RadioButton/index.js +4 -0
  78. package/src/components/ResizeMode.js +1 -0
  79. package/src/components/Row.js +48 -0
  80. package/src/components/RowBodyIcon.js +8 -0
  81. package/src/components/RowHeadlineImageCaption.js +12 -0
  82. package/src/components/RowHeadlineImageIcon.js +14 -0
  83. package/src/components/SVG.js +13 -0
  84. package/src/components/ScreenContainer.js +34 -0
  85. package/src/components/Slider.js +63 -0
  86. package/src/components/StarRating.js +50 -0
  87. package/src/components/StepIndicator.js +346 -0
  88. package/src/components/Stepper.js +39 -0
  89. package/src/components/Surface.js +32 -0
  90. package/src/components/Swiper/Swiper.js +29 -0
  91. package/src/components/Swiper/SwiperItem.js +9 -0
  92. package/src/components/Swiper/index.js +2 -0
  93. package/src/components/Switch.js +56 -0
  94. package/src/components/Text.js +27 -0
  95. package/src/components/TextField.js +423 -0
  96. package/src/components/ToggleButton.js +39 -0
  97. package/src/components/Touchable.js +12 -0
  98. package/src/components/Touchable.web.js +2 -0
  99. package/src/components/Typography.js +36 -0
  100. package/src/components/useAuthState.js +31 -0
  101. package/src/constants.js +10 -0
  102. package/src/hooks.js +12 -0
  103. package/src/index.js +52 -0
  104. package/src/interfaces/Icon.js +8 -0
  105. package/src/mappings/Accordion.js +41 -0
  106. package/src/mappings/AccordionItem.js +16 -0
  107. package/src/mappings/ActionSheet.js +13 -0
  108. package/src/mappings/ActionSheetCancel.js +19 -0
  109. package/src/mappings/ActionSheetItem.js +23 -0
  110. package/src/mappings/ActivityIndicator.js +58 -0
  111. package/src/mappings/AudioPlayer.js +20 -0
  112. package/src/mappings/AvatarEdit.js +38 -0
  113. package/src/mappings/Banner.js +32 -0
  114. package/src/mappings/BlurView.js +42 -0
  115. package/src/mappings/Button.js +87 -0
  116. package/src/mappings/Card.js +52 -0
  117. package/src/mappings/CardBlock.js +123 -0
  118. package/src/mappings/CardContainer.js +104 -0
  119. package/src/mappings/CardContainerRating.js +126 -0
  120. package/src/mappings/CardContainerShortImage.js +120 -0
  121. package/src/mappings/CardInline.js +52 -0
  122. package/src/mappings/Carousel.js +19 -0
  123. package/src/mappings/Checkbox.js +46 -0
  124. package/src/mappings/CheckboxGroup.js +26 -0
  125. package/src/mappings/CheckboxRow.js +61 -0
  126. package/src/mappings/CircleImage.js +25 -0
  127. package/src/mappings/Container.js +30 -0
  128. package/src/mappings/CustomCode.js +8 -0
  129. package/src/mappings/DatePicker.js +157 -0
  130. package/src/mappings/Divider.js +27 -0
  131. package/src/mappings/Elements.js +135 -0
  132. package/src/mappings/Elements.ts +145 -0
  133. package/src/mappings/FAB.js +37 -0
  134. package/src/mappings/Fetch.js +13 -0
  135. package/src/mappings/FieldSearchBarFull.js +50 -0
  136. package/src/mappings/FlashList.js +33 -0
  137. package/src/mappings/FlatList.js +24 -0
  138. package/src/mappings/HeaderLarge.js +29 -0
  139. package/src/mappings/HeaderMedium.js +55 -0
  140. package/src/mappings/HeaderOverline.js +55 -0
  141. package/src/mappings/Icon.js +32 -0
  142. package/src/mappings/IconButton.js +35 -0
  143. package/src/mappings/Image.js +35 -0
  144. package/src/mappings/ImageBackground.js +29 -0
  145. package/src/mappings/KeyboardAvoidingView.js +41 -0
  146. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  147. package/src/mappings/Layout.js +200 -0
  148. package/src/mappings/LinearGradient.js +77 -0
  149. package/src/mappings/MapCallout.js +21 -0
  150. package/src/mappings/MapMarker.js +47 -0
  151. package/src/mappings/MapView.js +139 -0
  152. package/src/mappings/Modal.js +42 -0
  153. package/src/mappings/NumberInput.js +254 -0
  154. package/src/mappings/Picker.js +148 -0
  155. package/src/mappings/ProgressBar.js +101 -0
  156. package/src/mappings/ProgressCircle.js +109 -0
  157. package/src/mappings/ProgressIndicator.js +181 -0
  158. package/src/mappings/RadioButton.js +51 -0
  159. package/src/mappings/RadioButtonGroup.js +17 -0
  160. package/src/mappings/RadioButtonRow.js +42 -0
  161. package/src/mappings/RowBodyIcon.js +75 -0
  162. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  163. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  164. package/src/mappings/SVG.js +20 -0
  165. package/src/mappings/SafeAreaView.js +33 -0
  166. package/src/mappings/ScrollView.js +31 -0
  167. package/src/mappings/Slider.js +60 -0
  168. package/src/mappings/StarRating.js +43 -0
  169. package/src/mappings/Stepper.js +29 -0
  170. package/src/mappings/Surface.js +14 -0
  171. package/src/mappings/Swiper.js +60 -0
  172. package/src/mappings/SwiperItem.js +8 -0
  173. package/src/mappings/Switch.js +81 -0
  174. package/src/mappings/Text.js +251 -0
  175. package/src/mappings/TextArea.js +263 -0
  176. package/src/mappings/TextField.js +381 -0
  177. package/src/mappings/TextInput.js +391 -0
  178. package/src/mappings/ToggleButton.js +50 -0
  179. package/src/mappings/Touchable.js +17 -0
  180. package/src/mappings/Video.js +81 -0
  181. package/src/mappings/View.js +207 -0
  182. package/src/mappings/WebView.js +88 -0
  183. package/src/styles/DarkTheme.js +26 -0
  184. package/src/styles/DefaultTheme.js +111 -0
  185. package/src/styles/fonts.js +62 -0
  186. package/src/styles/overlay.js +60 -0
  187. package/src/styles/shadow.js +51 -0
  188. package/src/theming.js +3 -0
  189. package/src/utilities.js +102 -0
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -1 +1,5 @@
1
- "use strict";
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SEED_DATA = void 0;
7
+
8
+ var _types = require("@draftbit/types");
9
+
10
+ const SEED_DATA_TRIGGERS = [_types.Triggers.OnValueChange];
11
+ const ELEMENT_PROPS = {
12
+ category: _types.COMPONENT_TYPES.element,
13
+ stylesPanelSections: _types.BLOCK_STYLES_SECTIONS,
14
+ layout: {
15
+ margin: 0
16
+ },
17
+ triggers: SEED_DATA_TRIGGERS
18
+ };
19
+ const HEADING_PROPS = { ...ELEMENT_PROPS
20
+ };
21
+ const SEED_DATA = [{
22
+ name: "H1",
23
+ tag: "H1",
24
+ ...HEADING_PROPS
25
+ }, {
26
+ name: "H2",
27
+ tag: "H2",
28
+ ...HEADING_PROPS
29
+ }, {
30
+ name: "H3",
31
+ tag: "H3",
32
+ ...HEADING_PROPS
33
+ }, {
34
+ name: "H4",
35
+ tag: "H4",
36
+ ...HEADING_PROPS
37
+ }, {
38
+ name: "H5",
39
+ tag: "H5",
40
+ ...HEADING_PROPS
41
+ }, {
42
+ name: "H6",
43
+ tag: "H6",
44
+ ...HEADING_PROPS
45
+ }, {
46
+ name: "Anchor",
47
+ tag: "A",
48
+ ...ELEMENT_PROPS,
49
+ props: {
50
+ href: (0, _types.createTextProp)({
51
+ label: "href",
52
+ description: "Specify the URL",
53
+ defaultValue: ""
54
+ }),
55
+ target: {
56
+ group: _types.GROUPS.basic,
57
+ label: "target",
58
+ description: "decide where link should open",
59
+ formType: _types.FORM_TYPES.flatArray,
60
+ defaultValue: "_blank",
61
+ options: ["_blank", "_self", "_parent", "_top"]
62
+ }
63
+ }
64
+ }, {
65
+ name: "Paragraph",
66
+ tag: "P",
67
+ ...ELEMENT_PROPS
68
+ }, {
69
+ name: "Strong",
70
+ tag: "Strong",
71
+ ...ELEMENT_PROPS
72
+ }, {
73
+ name: "Strike",
74
+ tag: "S",
75
+ ...ELEMENT_PROPS
76
+ }, {
77
+ name: "Italic",
78
+ tag: "I",
79
+ ...ELEMENT_PROPS
80
+ }, {
81
+ name: "Code",
82
+ tag: "Code",
83
+ ...ELEMENT_PROPS
84
+ }, {
85
+ name: "Pre",
86
+ tag: "Pre",
87
+ ...ELEMENT_PROPS
88
+ }, {
89
+ name: "Mark",
90
+ tag: "Mark",
91
+ ...ELEMENT_PROPS
92
+ }, {
93
+ name: "BR",
94
+ tag: "BR",
95
+ ...ELEMENT_PROPS
96
+ }, {
97
+ name: "Quote",
98
+ tag: "Q",
99
+ ...ELEMENT_PROPS
100
+ }, {
101
+ name: "BlockQuote",
102
+ tag: "BlockQuote",
103
+ ...ELEMENT_PROPS
104
+ }, {
105
+ name: "Time",
106
+ tag: "Time",
107
+ ...ELEMENT_PROPS
108
+ }, {
109
+ name: "UL",
110
+ tag: "UL",
111
+ ...ELEMENT_PROPS
112
+ }, {
113
+ name: "LI",
114
+ tag: "LI",
115
+ ...ELEMENT_PROPS
116
+ }, {
117
+ name: "HR",
118
+ tag: "HR",
119
+ ...ELEMENT_PROPS
120
+ }];
121
+ exports.SEED_DATA = SEED_DATA;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,112 @@
1
+ import { BLOCK_STYLES_SECTIONS, COMPONENT_TYPES, createTextProp, FORM_TYPES, GROUPS, Triggers } from "@draftbit/types";
2
+ const SEED_DATA_TRIGGERS = [Triggers.OnValueChange];
3
+ const ELEMENT_PROPS = {
4
+ category: COMPONENT_TYPES.element,
5
+ stylesPanelSections: BLOCK_STYLES_SECTIONS,
6
+ layout: {
7
+ margin: 0
8
+ },
9
+ triggers: SEED_DATA_TRIGGERS
10
+ };
11
+ const HEADING_PROPS = { ...ELEMENT_PROPS
12
+ };
13
+ export const SEED_DATA = [{
14
+ name: "H1",
15
+ tag: "H1",
16
+ ...HEADING_PROPS
17
+ }, {
18
+ name: "H2",
19
+ tag: "H2",
20
+ ...HEADING_PROPS
21
+ }, {
22
+ name: "H3",
23
+ tag: "H3",
24
+ ...HEADING_PROPS
25
+ }, {
26
+ name: "H4",
27
+ tag: "H4",
28
+ ...HEADING_PROPS
29
+ }, {
30
+ name: "H5",
31
+ tag: "H5",
32
+ ...HEADING_PROPS
33
+ }, {
34
+ name: "H6",
35
+ tag: "H6",
36
+ ...HEADING_PROPS
37
+ }, {
38
+ name: "Anchor",
39
+ tag: "A",
40
+ ...ELEMENT_PROPS,
41
+ props: {
42
+ href: createTextProp({
43
+ label: "href",
44
+ description: "Specify the URL",
45
+ defaultValue: ""
46
+ }),
47
+ target: {
48
+ group: GROUPS.basic,
49
+ label: "target",
50
+ description: "decide where link should open",
51
+ formType: FORM_TYPES.flatArray,
52
+ defaultValue: "_blank",
53
+ options: ["_blank", "_self", "_parent", "_top"]
54
+ }
55
+ }
56
+ }, {
57
+ name: "Paragraph",
58
+ tag: "P",
59
+ ...ELEMENT_PROPS
60
+ }, {
61
+ name: "Strong",
62
+ tag: "Strong",
63
+ ...ELEMENT_PROPS
64
+ }, {
65
+ name: "Strike",
66
+ tag: "S",
67
+ ...ELEMENT_PROPS
68
+ }, {
69
+ name: "Italic",
70
+ tag: "I",
71
+ ...ELEMENT_PROPS
72
+ }, {
73
+ name: "Code",
74
+ tag: "Code",
75
+ ...ELEMENT_PROPS
76
+ }, {
77
+ name: "Pre",
78
+ tag: "Pre",
79
+ ...ELEMENT_PROPS
80
+ }, {
81
+ name: "Mark",
82
+ tag: "Mark",
83
+ ...ELEMENT_PROPS
84
+ }, {
85
+ name: "BR",
86
+ tag: "BR",
87
+ ...ELEMENT_PROPS
88
+ }, {
89
+ name: "Quote",
90
+ tag: "Q",
91
+ ...ELEMENT_PROPS
92
+ }, {
93
+ name: "BlockQuote",
94
+ tag: "BlockQuote",
95
+ ...ELEMENT_PROPS
96
+ }, {
97
+ name: "Time",
98
+ tag: "Time",
99
+ ...ELEMENT_PROPS
100
+ }, {
101
+ name: "UL",
102
+ tag: "UL",
103
+ ...ELEMENT_PROPS
104
+ }, {
105
+ name: "LI",
106
+ tag: "LI",
107
+ ...ELEMENT_PROPS
108
+ }, {
109
+ name: "HR",
110
+ tag: "HR",
111
+ ...ELEMENT_PROPS
112
+ }];
@@ -0,0 +1,30 @@
1
+ export declare const SEED_DATA: ({
2
+ category: string;
3
+ stylesPanelSections: string[];
4
+ layout: {
5
+ margin: number;
6
+ };
7
+ triggers: string[];
8
+ name: string;
9
+ tag: string;
10
+ } | {
11
+ props: {
12
+ href: any;
13
+ target: {
14
+ group: string;
15
+ label: string;
16
+ description: string;
17
+ formType: string;
18
+ defaultValue: string;
19
+ options: string[];
20
+ };
21
+ };
22
+ category: string;
23
+ stylesPanelSections: string[];
24
+ layout: {
25
+ margin: number;
26
+ };
27
+ triggers: string[];
28
+ name: string;
29
+ tag: string;
30
+ })[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.4.3",
3
+ "version": "46.4.4-04eaf1.2+04eaf19",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -41,7 +41,8 @@
41
41
  "dependencies": {
42
42
  "@date-io/date-fns": "^1.3.13",
43
43
  "@draftbit/react-theme-provider": "^2.1.1",
44
- "@draftbit/types": "^46.4.3",
44
+ "@draftbit/types": "^46.4.4-04eaf1.2+04eaf19",
45
+ "@expo/html-elements": "^0.2.0",
45
46
  "@material-ui/core": "^4.11.0",
46
47
  "@material-ui/pickers": "^3.2.10",
47
48
  "@react-native-community/slider": "4.2.3",
@@ -81,5 +82,5 @@
81
82
  ]
82
83
  ]
83
84
  },
84
- "gitHead": "f00c60f60d56a77b673bd43bfa9fc04b314329d5"
85
+ "gitHead": "04eaf19a6f0f35bb910fbe3bd16d8f5be1b5fb55"
85
86
  }
@@ -0,0 +1,9 @@
1
+ import * as React from "react";
2
+ import { ThemeProvider } from "./theming";
3
+ import PortalHost from "./components/Portal/PortalHost";
4
+ export default class Provider extends React.Component {
5
+ render() {
6
+ return (React.createElement(PortalHost, null,
7
+ React.createElement(ThemeProvider, { theme: this.props.theme }, this.props.children)));
8
+ }
9
+ }
@@ -0,0 +1,44 @@
1
+ import * as React from "react";
2
+ import { View, StyleSheet, Pressable, } from "react-native";
3
+ import Text from "../Text";
4
+ import { withTheme } from "../../theming";
5
+ import { extractStyles } from "../../utilities";
6
+ const AccordionGroup = ({ label, expanded: expandedProp = false, openColor, closedColor, caretColor: caretColorProp, caretSize = 24, icon, iconSize = 24, style, children, theme, Icon, }) => {
7
+ const [expanded, setExpanded] = React.useState(expandedProp);
8
+ const { textStyles, viewStyles } = extractStyles(style);
9
+ const expandedColor = openColor || theme.colors.primary;
10
+ const collapsedColor = closedColor || theme.colors.primary;
11
+ const labelColor = expanded ? expandedColor : collapsedColor;
12
+ const caretColor = caretColorProp || labelColor;
13
+ const handlePressAction = () => {
14
+ setExpanded(!expanded);
15
+ };
16
+ return (React.createElement(React.Fragment, null,
17
+ React.createElement(Pressable, { style: [styles.row, viewStyles], onPress: handlePressAction, accessibilityRole: "button" },
18
+ icon ? (React.createElement(Icon, { name: icon, size: iconSize, color: labelColor, style: styles.icon })) : null,
19
+ React.createElement(View, { style: styles.content },
20
+ React.createElement(Text, { selectable: false, style: [
21
+ textStyles,
22
+ {
23
+ color: labelColor,
24
+ },
25
+ ] }, label)),
26
+ React.createElement(Icon, { name: expanded
27
+ ? "MaterialIcons/keyboard-arrow-up"
28
+ : "MaterialIcons/keyboard-arrow-down", color: caretColor, size: caretSize })),
29
+ expanded ? children : null));
30
+ };
31
+ const styles = StyleSheet.create({
32
+ row: {
33
+ flexDirection: "row",
34
+ alignItems: "center",
35
+ },
36
+ content: {
37
+ flex: 1,
38
+ justifyContent: "center",
39
+ },
40
+ icon: {
41
+ marginRight: 8,
42
+ },
43
+ });
44
+ export default withTheme(AccordionGroup);
@@ -0,0 +1,32 @@
1
+ import * as React from "react";
2
+ import { Pressable, StyleSheet, View, } from "react-native";
3
+ import Text from "../Text";
4
+ import { extractStyles } from "../../utilities";
5
+ import { withTheme } from "../../theming";
6
+ const AccordionItem = ({ Icon, icon, label, style, iconColor, theme, ...rest }) => {
7
+ const { textStyles, viewStyles } = extractStyles(style);
8
+ return (React.createElement(Pressable, { style: [styles.container, viewStyles], ...rest },
9
+ React.createElement(View, { style: styles.row },
10
+ icon ? (React.createElement(Icon, { name: icon, size: 24, color: iconColor || theme.colors.primary })) : null,
11
+ React.createElement(View, { style: [styles.item, styles.content] },
12
+ React.createElement(Text, { selectable: false, style: textStyles }, label)))));
13
+ };
14
+ const styles = StyleSheet.create({
15
+ container: {
16
+ padding: 8,
17
+ },
18
+ row: {
19
+ flexDirection: "row",
20
+ alignItems: "center",
21
+ paddingLeft: 8,
22
+ },
23
+ item: {
24
+ marginVertical: 6,
25
+ paddingLeft: 8,
26
+ },
27
+ content: {
28
+ flex: 1,
29
+ justifyContent: "center",
30
+ },
31
+ });
32
+ export default withTheme(AccordionItem);
@@ -0,0 +1,2 @@
1
+ export { default as AccordionGroup } from "./AccordionGroup";
2
+ export { default as AccordionItem } from "./AccordionItem";
@@ -0,0 +1,45 @@
1
+ import React from "react";
2
+ import { View, StyleSheet } from "react-native";
3
+ import Portal from "../Portal/Portal";
4
+ import Touchable from "../Touchable";
5
+ import ActionSheetCancel from "./ActionSheetCancel";
6
+ const ActionSheet = ({ visible = false, onClose, children }) => {
7
+ return visible ? (React.createElement(Portal, null,
8
+ React.createElement(Touchable, { style: styles.wrapper, onPress: onClose },
9
+ React.createElement(View, { style: styles.overlay }),
10
+ React.createElement(View, { style: styles.groupWrapper },
11
+ React.createElement(View, { style: styles.group }, React.Children.toArray(children).filter((child) => (child === null || child === void 0 ? void 0 : child.type) !== ActionSheetCancel)),
12
+ React.createElement(View, { style: styles.group }, React.Children.toArray(children).filter((child) => child.type === ActionSheetCancel)))))) : (React.createElement(React.Fragment, null));
13
+ };
14
+ const styles = StyleSheet.create({
15
+ wrapper: {
16
+ flex: 1,
17
+ display: "flex",
18
+ flexDirection: "column",
19
+ },
20
+ overlay: {
21
+ position: "absolute",
22
+ top: 0,
23
+ left: 0,
24
+ right: 0,
25
+ bottom: 0,
26
+ backgroundColor: "#000000",
27
+ opacity: 0.3,
28
+ },
29
+ groupWrapper: {
30
+ flex: 1,
31
+ flexDirection: "column",
32
+ justifyContent: "flex-end",
33
+ display: "flex",
34
+ marginBottom: 25,
35
+ },
36
+ group: {
37
+ display: "flex",
38
+ flexDirection: "column",
39
+ borderRadius: 10,
40
+ marginHorizontal: 7,
41
+ marginVertical: 2.5,
42
+ overflow: "hidden",
43
+ },
44
+ });
45
+ export default ActionSheet;
@@ -0,0 +1,6 @@
1
+ import React from "react";
2
+ import ActionSheetItem from "./ActionSheetItem";
3
+ const ActionSheetCancel = ({ label = "Cancel", color, style, onPress, }) => {
4
+ return (React.createElement(ActionSheetItem, { label: label, color: color || "#FF453A", style: [style], onPress: onPress }));
5
+ };
6
+ export default ActionSheetCancel;
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { Text, StyleSheet, TouchableOpacity, } from "react-native";
3
+ import { extractStyles } from "../../utilities";
4
+ const ActionSheetItem = ({ label, style, color, onPress, }) => {
5
+ const { textStyles, viewStyles } = extractStyles(style);
6
+ return (React.createElement(TouchableOpacity, { activeOpacity: 0.7, style: [styles.wrapper, viewStyles], onPress: onPress },
7
+ React.createElement(Text, { style: [styles.label, textStyles, { color }] }, label)));
8
+ };
9
+ const styles = StyleSheet.create({
10
+ wrapper: {
11
+ borderBottomWidth: StyleSheet.hairlineWidth,
12
+ borderBottomColor: "#CCCCCC",
13
+ backgroundColor: "#F1F1F1",
14
+ minHeight: 50,
15
+ overflow: "hidden",
16
+ display: "flex",
17
+ justifyContent: "center",
18
+ },
19
+ label: {
20
+ fontSize: 16,
21
+ textAlign: "center",
22
+ color: "#0A84FF",
23
+ fontWeight: "500",
24
+ overflow: "hidden",
25
+ paddingHorizontal: 20,
26
+ paddingVertical: 10,
27
+ alignSelf: "center",
28
+ },
29
+ });
30
+ export default ActionSheetItem;
@@ -0,0 +1,3 @@
1
+ export { default as ActionSheet } from "./ActionSheet";
2
+ export { default as ActionSheetItem } from "./ActionSheetItem";
3
+ export { default as ActionSheetCancel } from "./ActionSheetCancel";
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { Animated, Easing, } from "react-native";
3
+ import CircularProgress from "./CircularProgress";
4
+ const AnimatedProgress = Animated.createAnimatedComponent(CircularProgress);
5
+ const AnimatedCircularProgress = ({ duration = 500, easing = Easing.out(Easing.ease), fill, prefill = 0, useNativeDriver = false, tintColorSecondary, onAnimationComplete, tintColor = "black", ...other }) => {
6
+ const [fillAnimation] = React.useState(new Animated.Value(prefill));
7
+ const animate = React.useCallback((toVal = -1, dur, ease) => {
8
+ const toValue = toVal >= 0 ? toVal : fill;
9
+ const dura = dur || duration;
10
+ const eas = ease || easing;
11
+ const useNative = useNativeDriver;
12
+ const anim = Animated.timing(fillAnimation, {
13
+ useNativeDriver: useNative,
14
+ toValue,
15
+ easing: eas,
16
+ duration: dura,
17
+ });
18
+ anim.start(onAnimationComplete);
19
+ return anim;
20
+ }, [
21
+ duration,
22
+ easing,
23
+ fill,
24
+ useNativeDriver,
25
+ fillAnimation,
26
+ onAnimationComplete,
27
+ ]);
28
+ const animateColor = () => {
29
+ if (!tintColorSecondary) {
30
+ return tintColor;
31
+ }
32
+ const tintAnimation = fillAnimation.interpolate({
33
+ inputRange: [0, 100],
34
+ outputRange: [tintColor, tintColorSecondary],
35
+ });
36
+ return tintAnimation;
37
+ };
38
+ React.useEffect(() => {
39
+ animate();
40
+ }, [fill, animate]);
41
+ return (React.createElement(AnimatedProgress, { ...other, style: other.style, childrenContainerStyle: other.childrenContainerStyle, fill: fillAnimation, tintColor: animateColor() }));
42
+ };
43
+ export default AnimatedCircularProgress;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { View, StyleSheet, } from "react-native";
3
+ const AspectRatio = (props) => {
4
+ const [layout, setLayout] = React.useState(null);
5
+ const { aspectRatio = 1, ...inputStyle } = StyleSheet.flatten(props.style) || {};
6
+ const style = [inputStyle, { aspectRatio }];
7
+ if (layout) {
8
+ const { width = 0, height = 0 } = layout;
9
+ if (width === 0) {
10
+ style.push({ width: height * (1 / aspectRatio), height });
11
+ }
12
+ else {
13
+ style.push({ width, height: width * (1 / aspectRatio) });
14
+ }
15
+ }
16
+ return (React.createElement(View, { ...props, style: style, onLayout: ({ nativeEvent: { layout: l } }) => setLayout(l) }, props.children));
17
+ };
18
+ export default AspectRatio;
@@ -0,0 +1,30 @@
1
+ import * as React from "react";
2
+ import { View } from "react-native";
3
+ import Touchable from "./Touchable";
4
+ import CircleImage from "./CircleImage";
5
+ import { withTheme } from "../theming";
6
+ const AvatarEdit = ({ Icon, image, size = 80, onPress = () => { }, style, theme, ...rest }) => {
7
+ const colorStyles = {
8
+ editBackgroundColor: theme.colors.primary,
9
+ editIconColor: theme.colors.surface,
10
+ editBorderColor: theme.colors.surface,
11
+ };
12
+ const dimensions = {
13
+ width: size,
14
+ height: size,
15
+ };
16
+ return (React.createElement(View, { style: [style, dimensions], ...rest },
17
+ React.createElement(Touchable, { onPress: onPress },
18
+ React.createElement(CircleImage, { source: image, size: size }),
19
+ React.createElement(View, { style: {
20
+ position: "absolute",
21
+ top: -3,
22
+ right: -3,
23
+ borderColor: colorStyles.editBorderColor,
24
+ backgroundColor: colorStyles.editBackgroundColor,
25
+ borderRadius: size * (3 / 16),
26
+ padding: size * (3 / 32),
27
+ } },
28
+ React.createElement(Icon, { name: "MaterialIcons/edit", color: colorStyles.editIconColor, size: size * (3 / 16) })))));
29
+ };
30
+ export default withTheme(AvatarEdit);