@draftbit/core 46.4.1 → 46.4.2-48e5c7.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 (198) hide show
  1. package/lib/commonjs/components/Justification.js +5 -1
  2. package/lib/commonjs/components/ResizeMode.js +5 -1
  3. package/lib/commonjs/components/Youtube.js +73 -0
  4. package/lib/commonjs/index.js +8 -0
  5. package/lib/commonjs/mappings/Youtube.js +42 -0
  6. package/lib/module/components/Justification.js +1 -0
  7. package/lib/module/components/ResizeMode.js +1 -0
  8. package/lib/module/components/Youtube.js +59 -0
  9. package/lib/module/index.js +2 -1
  10. package/lib/module/mappings/Youtube.js +33 -0
  11. package/lib/typescript/src/components/Youtube.d.ts +44 -0
  12. package/lib/typescript/src/index.d.ts +1 -0
  13. package/lib/typescript/src/mappings/Youtube.d.ts +36 -0
  14. package/package.json +6 -4
  15. package/src/Provider.js +9 -0
  16. package/src/components/Accordion/AccordionGroup.js +44 -0
  17. package/src/components/Accordion/AccordionItem.js +32 -0
  18. package/src/components/Accordion/index.js +2 -0
  19. package/src/components/ActionSheet/ActionSheet.js +45 -0
  20. package/src/components/ActionSheet/ActionSheetCancel.js +6 -0
  21. package/src/components/ActionSheet/ActionSheetItem.js +30 -0
  22. package/src/components/ActionSheet/index.js +3 -0
  23. package/src/components/AnimatedCircularProgress.js +43 -0
  24. package/src/components/AspectRatio.js +18 -0
  25. package/src/components/AvatarEdit.js +30 -0
  26. package/src/components/Banner.js +109 -0
  27. package/src/components/Button.js +112 -0
  28. package/src/components/Card.js +57 -0
  29. package/src/components/CardBlock.js +54 -0
  30. package/src/components/CardContainer.js +69 -0
  31. package/src/components/CardContainerRating.js +79 -0
  32. package/src/components/CardContainerShortImage.js +33 -0
  33. package/src/components/CardInline.js +36 -0
  34. package/src/components/Carousel.js +68 -0
  35. package/src/components/Checkbox/Checkbox.js +63 -0
  36. package/src/components/Checkbox/CheckboxGroup.js +21 -0
  37. package/src/components/Checkbox/CheckboxGroupRow.js +77 -0
  38. package/src/components/Checkbox/CheckboxRow.js +78 -0
  39. package/src/components/Checkbox/context.js +14 -0
  40. package/src/components/Checkbox/index.js +3 -0
  41. package/src/components/CircleImage.js +8 -0
  42. package/src/components/CircularProgress.js +81 -0
  43. package/src/components/Config.js +64 -0
  44. package/src/components/Container.js +43 -0
  45. package/src/components/DatePicker/DatePicker.js +368 -0
  46. package/src/components/DatePicker/DatePickerComponent.js +13 -0
  47. package/src/components/DatePicker/DatePickerComponent.web.js +30 -0
  48. package/src/components/DatePicker/DatePickerComponentType.js +1 -0
  49. package/src/components/DeprecatedButton.js +95 -0
  50. package/src/components/DeprecatedCardWrapper.js +18 -0
  51. package/src/components/DeprecatedFAB.js +115 -0
  52. package/src/components/Divider.js +13 -0
  53. package/src/components/Elevation.js +20 -0
  54. package/src/components/FAB.js +46 -0
  55. package/src/components/FieldSearchBarFull.js +53 -0
  56. package/src/components/FormRow.js +19 -0
  57. package/src/components/Header.js +44 -0
  58. package/src/components/HeaderLarge.js +7 -0
  59. package/src/components/HeaderMedium.js +7 -0
  60. package/src/components/HeaderOverline.js +7 -0
  61. package/src/components/IconButton.js +35 -0
  62. package/src/components/Image.js +47 -0
  63. package/src/components/Justification.js +1 -0
  64. package/src/components/Layout.js +50 -0
  65. package/src/components/NumberInput.js +49 -0
  66. package/src/components/Picker/Picker.js +267 -0
  67. package/src/components/Picker/PickerComponent.android.js +69 -0
  68. package/src/components/Picker/PickerComponent.ios.js +79 -0
  69. package/src/components/Picker/PickerComponent.web.js +70 -0
  70. package/src/components/Picker/PickerTypes.js +1 -0
  71. package/src/components/Portal/Portal.js +35 -0
  72. package/src/components/Portal/PortalConsumer.js +27 -0
  73. package/src/components/Portal/PortalHost.js +107 -0
  74. package/src/components/Portal/PortalManager.js +32 -0
  75. package/src/components/ProgressBar.js +118 -0
  76. package/src/components/ProgressCircle.js +13 -0
  77. package/src/components/ProgressIndicator.js +27 -0
  78. package/src/components/RadioButton/RadioButton.js +17 -0
  79. package/src/components/RadioButton/RadioButtonFieldGroup.js +17 -0
  80. package/src/components/RadioButton/RadioButtonGroup.js +43 -0
  81. package/src/components/RadioButton/RadioButtonRow.js +76 -0
  82. package/src/components/RadioButton/context.js +14 -0
  83. package/src/components/RadioButton/index.js +4 -0
  84. package/src/components/ResizeMode.js +1 -0
  85. package/src/components/Row.js +48 -0
  86. package/src/components/RowBodyIcon.js +8 -0
  87. package/src/components/RowHeadlineImageCaption.js +12 -0
  88. package/src/components/RowHeadlineImageIcon.js +14 -0
  89. package/src/components/SVG.js +13 -0
  90. package/src/components/ScreenContainer.js +34 -0
  91. package/src/components/Slider.js +63 -0
  92. package/src/components/StarRating.js +50 -0
  93. package/src/components/StepIndicator.js +346 -0
  94. package/src/components/Stepper.js +39 -0
  95. package/src/components/Surface.js +32 -0
  96. package/src/components/Swiper/Swiper.js +29 -0
  97. package/src/components/Swiper/SwiperItem.js +9 -0
  98. package/src/components/Swiper/index.js +2 -0
  99. package/src/components/Switch.js +56 -0
  100. package/src/components/Text.js +27 -0
  101. package/src/components/TextField.js +423 -0
  102. package/src/components/ToggleButton.js +39 -0
  103. package/src/components/Touchable.js +12 -0
  104. package/src/components/Touchable.web.js +2 -0
  105. package/src/components/Typography.js +36 -0
  106. package/src/components/Youtube.js +38 -0
  107. package/src/components/Youtube.tsx +66 -0
  108. package/src/components/useAuthState.js +31 -0
  109. package/src/constants.js +10 -0
  110. package/src/hooks.js +12 -0
  111. package/src/index.js +54 -0
  112. package/src/index.tsx +1 -0
  113. package/src/interfaces/Icon.js +8 -0
  114. package/src/mappings/Accordion.js +41 -0
  115. package/src/mappings/AccordionItem.js +16 -0
  116. package/src/mappings/ActionSheet.js +13 -0
  117. package/src/mappings/ActionSheetCancel.js +19 -0
  118. package/src/mappings/ActionSheetItem.js +23 -0
  119. package/src/mappings/ActivityIndicator.js +58 -0
  120. package/src/mappings/AudioPlayer.js +20 -0
  121. package/src/mappings/AvatarEdit.js +38 -0
  122. package/src/mappings/Banner.js +32 -0
  123. package/src/mappings/BlurView.js +42 -0
  124. package/src/mappings/Button.js +66 -0
  125. package/src/mappings/Card.js +52 -0
  126. package/src/mappings/CardBlock.js +123 -0
  127. package/src/mappings/CardContainer.js +104 -0
  128. package/src/mappings/CardContainerRating.js +126 -0
  129. package/src/mappings/CardContainerShortImage.js +120 -0
  130. package/src/mappings/CardInline.js +52 -0
  131. package/src/mappings/Carousel.js +19 -0
  132. package/src/mappings/Checkbox.js +46 -0
  133. package/src/mappings/CheckboxGroup.js +26 -0
  134. package/src/mappings/CheckboxRow.js +61 -0
  135. package/src/mappings/CircleImage.js +25 -0
  136. package/src/mappings/Container.js +30 -0
  137. package/src/mappings/CustomCode.js +8 -0
  138. package/src/mappings/DatePicker.js +157 -0
  139. package/src/mappings/Divider.js +27 -0
  140. package/src/mappings/FAB.js +37 -0
  141. package/src/mappings/Fetch.js +13 -0
  142. package/src/mappings/FieldSearchBarFull.js +50 -0
  143. package/src/mappings/FlashList.js +33 -0
  144. package/src/mappings/FlatList.js +24 -0
  145. package/src/mappings/HeaderLarge.js +29 -0
  146. package/src/mappings/HeaderMedium.js +55 -0
  147. package/src/mappings/HeaderOverline.js +55 -0
  148. package/src/mappings/Icon.js +32 -0
  149. package/src/mappings/IconButton.js +35 -0
  150. package/src/mappings/Image.js +35 -0
  151. package/src/mappings/ImageBackground.js +29 -0
  152. package/src/mappings/KeyboardAvoidingView.js +41 -0
  153. package/src/mappings/KeyboardAwareScrollView.js +50 -0
  154. package/src/mappings/Layout.js +200 -0
  155. package/src/mappings/LinearGradient.js +77 -0
  156. package/src/mappings/MapCallout.js +21 -0
  157. package/src/mappings/MapMarker.js +47 -0
  158. package/src/mappings/MapView.js +139 -0
  159. package/src/mappings/Modal.js +42 -0
  160. package/src/mappings/NumberInput.js +254 -0
  161. package/src/mappings/Picker.js +148 -0
  162. package/src/mappings/ProgressBar.js +101 -0
  163. package/src/mappings/ProgressCircle.js +109 -0
  164. package/src/mappings/ProgressIndicator.js +181 -0
  165. package/src/mappings/RadioButton.js +51 -0
  166. package/src/mappings/RadioButtonGroup.js +17 -0
  167. package/src/mappings/RadioButtonRow.js +42 -0
  168. package/src/mappings/RowBodyIcon.js +75 -0
  169. package/src/mappings/RowHeadlineImageCaption.js +167 -0
  170. package/src/mappings/RowHeadlineImageIcon.js +99 -0
  171. package/src/mappings/SVG.js +20 -0
  172. package/src/mappings/SafeAreaView.js +33 -0
  173. package/src/mappings/ScrollView.js +31 -0
  174. package/src/mappings/Slider.js +60 -0
  175. package/src/mappings/StarRating.js +43 -0
  176. package/src/mappings/Stepper.js +29 -0
  177. package/src/mappings/Surface.js +14 -0
  178. package/src/mappings/Swiper.js +60 -0
  179. package/src/mappings/SwiperItem.js +8 -0
  180. package/src/mappings/Switch.js +81 -0
  181. package/src/mappings/Text.js +251 -0
  182. package/src/mappings/TextArea.js +263 -0
  183. package/src/mappings/TextField.js +381 -0
  184. package/src/mappings/TextInput.js +391 -0
  185. package/src/mappings/ToggleButton.js +50 -0
  186. package/src/mappings/Touchable.js +17 -0
  187. package/src/mappings/Video.js +81 -0
  188. package/src/mappings/View.js +207 -0
  189. package/src/mappings/WebView.js +88 -0
  190. package/src/mappings/Youtube.js +33 -0
  191. package/src/mappings/Youtube.ts +39 -0
  192. package/src/styles/DarkTheme.js +26 -0
  193. package/src/styles/DefaultTheme.js +111 -0
  194. package/src/styles/fonts.js +62 -0
  195. package/src/styles/overlay.js +60 -0
  196. package/src/styles/shadow.js +51 -0
  197. package/src/theming.js +3 -0
  198. 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,73 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.SEED_DATA = void 0;
7
+
8
+ var _types = require("@draftbit/types");
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _reactNativeYoutubeIframe = _interopRequireDefault(require("react-native-youtube-iframe"));
13
+
14
+ var _utilities = require("../utilities");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ const Youtube = _ref => {
19
+ let {
20
+ videoId,
21
+ playlist,
22
+ style,
23
+ mute,
24
+ autoplay
25
+ } = _ref;
26
+ const {
27
+ viewStyles: {
28
+ height,
29
+ width
30
+ }
31
+ } = (0, _utilities.extractStyles)(style);
32
+ return /*#__PURE__*/_react.default.createElement(_reactNativeYoutubeIframe.default, {
33
+ height: height,
34
+ width: width,
35
+ play: autoplay,
36
+ videoId: videoId,
37
+ playList: playlist,
38
+ mute: mute
39
+ });
40
+ };
41
+
42
+ var _default = Youtube;
43
+ exports.default = _default;
44
+ const SEED_DATA = {
45
+ name: "Youtube",
46
+ tag: "Youtube",
47
+ description: "Youtube Component",
48
+ category: _types.COMPONENT_TYPES.media,
49
+ layout: {
50
+ width: "100%"
51
+ },
52
+ props: {
53
+ videoId: (0, _types.createTextProp)({
54
+ label: "VideoId",
55
+ description: "Youtube Video ID"
56
+ }),
57
+ playlist: (0, _types.createTextProp)({
58
+ label: "PlayList",
59
+ description: "Playlist ID"
60
+ }),
61
+ mute: (0, _types.createBoolProp)({
62
+ label: "Mute",
63
+ description: "Whether to mute video",
64
+ defaultValue: false
65
+ }),
66
+ autoplay: (0, _types.createBoolProp)({
67
+ label: "Autoplay",
68
+ description: "Whether to Autoplay video",
69
+ defaultValue: false
70
+ })
71
+ }
72
+ };
73
+ exports.SEED_DATA = SEED_DATA;
@@ -393,6 +393,12 @@ Object.defineProperty(exports, "Touchable", {
393
393
  return _Touchable.default;
394
394
  }
395
395
  });
396
+ Object.defineProperty(exports, "Youtube", {
397
+ enumerable: true,
398
+ get: function () {
399
+ return _Youtube.default;
400
+ }
401
+ });
396
402
  Object.defineProperty(exports, "injectIcon", {
397
403
  enumerable: true,
398
404
  get: function () {
@@ -512,6 +518,8 @@ var _Stepper = _interopRequireDefault(require("./components/Stepper"));
512
518
 
513
519
  var _useAuthState = require("./components/useAuthState");
514
520
 
521
+ var _Youtube = _interopRequireDefault(require("./components/Youtube"));
522
+
515
523
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
516
524
 
517
525
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -0,0 +1,42 @@
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 = {
11
+ name: "Youtube",
12
+ tag: "Youtube",
13
+ description: "Given a VideoId orPlaylist and play Youtube video",
14
+ doc_link: "https://lonelycpp.github.io/react-native-youtube-iframe",
15
+ code_link: "https://github.com/LonelyCpp/react-native-youtube-iframe",
16
+ category: _types.COMPONENT_TYPES.media,
17
+ stylesPanelSections: [_types.StylesPanelSections.Size, _types.StylesPanelSections.Position],
18
+ layout: {
19
+ height: 250
20
+ },
21
+ props: {
22
+ videoId: (0, _types.createTextProp)({
23
+ label: "Video ID",
24
+ description: "VideoId of the Youtube video.",
25
+ defaultValue: "nwMUpDESXrI"
26
+ }),
27
+ playlist: (0, _types.createTextProp)({
28
+ label: "Playlist",
29
+ description: "Playlist of the Youtube videos.",
30
+ defaultValue: "PLUa6TiXzjIrwowt6P-uGCJm8ovm-9S1Ks"
31
+ }),
32
+ mute: (0, _types.createStaticBoolProp)({
33
+ label: "Mute Audio",
34
+ description: "Mute the audio of the video."
35
+ }),
36
+ autoplay: (0, _types.createStaticBoolProp)({
37
+ label: "Auto Play",
38
+ description: "Autoplay the video on load."
39
+ })
40
+ }
41
+ };
42
+ exports.SEED_DATA = SEED_DATA;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,59 @@
1
+ import { COMPONENT_TYPES, createBoolProp, createTextProp } from "@draftbit/types";
2
+ import React from "react";
3
+ import YoutubePlayer from "react-native-youtube-iframe";
4
+ import { extractStyles } from "../utilities";
5
+
6
+ const Youtube = _ref => {
7
+ let {
8
+ videoId,
9
+ playlist,
10
+ style,
11
+ mute,
12
+ autoplay
13
+ } = _ref;
14
+ const {
15
+ viewStyles: {
16
+ height,
17
+ width
18
+ }
19
+ } = extractStyles(style);
20
+ return /*#__PURE__*/React.createElement(YoutubePlayer, {
21
+ height: height,
22
+ width: width,
23
+ play: autoplay,
24
+ videoId: videoId,
25
+ playList: playlist,
26
+ mute: mute
27
+ });
28
+ };
29
+
30
+ export default Youtube;
31
+ export const SEED_DATA = {
32
+ name: "Youtube",
33
+ tag: "Youtube",
34
+ description: "Youtube Component",
35
+ category: COMPONENT_TYPES.media,
36
+ layout: {
37
+ width: "100%"
38
+ },
39
+ props: {
40
+ videoId: createTextProp({
41
+ label: "VideoId",
42
+ description: "Youtube Video ID"
43
+ }),
44
+ playlist: createTextProp({
45
+ label: "PlayList",
46
+ description: "Playlist ID"
47
+ }),
48
+ mute: createBoolProp({
49
+ label: "Mute",
50
+ description: "Whether to mute video",
51
+ defaultValue: false
52
+ }),
53
+ autoplay: createBoolProp({
54
+ label: "Autoplay",
55
+ description: "Whether to Autoplay video",
56
+ defaultValue: false
57
+ })
58
+ }
59
+ };
@@ -50,4 +50,5 @@ export { default as RowHeadlineImageCaption } from "./components/RowHeadlineImag
50
50
  export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIcon";
51
51
  export { default as Slider } from "./components/Slider";
52
52
  export { default as Stepper } from "./components/Stepper";
53
- export { useAuthState } from "./components/useAuthState"; // a comment to fix sourcemap comment issue
53
+ export { useAuthState } from "./components/useAuthState";
54
+ export { default as Youtube } from "./components/Youtube"; // a comment to fix sourcemap comment issue
@@ -0,0 +1,33 @@
1
+ import { COMPONENT_TYPES, createStaticBoolProp, createTextProp, StylesPanelSections } from "@draftbit/types";
2
+ export const SEED_DATA = {
3
+ name: "Youtube",
4
+ tag: "Youtube",
5
+ description: "Given a VideoId orPlaylist and play Youtube video",
6
+ doc_link: "https://lonelycpp.github.io/react-native-youtube-iframe",
7
+ code_link: "https://github.com/LonelyCpp/react-native-youtube-iframe",
8
+ category: COMPONENT_TYPES.media,
9
+ stylesPanelSections: [StylesPanelSections.Size, StylesPanelSections.Position],
10
+ layout: {
11
+ height: 250
12
+ },
13
+ props: {
14
+ videoId: createTextProp({
15
+ label: "Video ID",
16
+ description: "VideoId of the Youtube video.",
17
+ defaultValue: "nwMUpDESXrI"
18
+ }),
19
+ playlist: createTextProp({
20
+ label: "Playlist",
21
+ description: "Playlist of the Youtube videos.",
22
+ defaultValue: "PLUa6TiXzjIrwowt6P-uGCJm8ovm-9S1Ks"
23
+ }),
24
+ mute: createStaticBoolProp({
25
+ label: "Mute Audio",
26
+ description: "Mute the audio of the video."
27
+ }),
28
+ autoplay: createStaticBoolProp({
29
+ label: "Auto Play",
30
+ description: "Autoplay the video on load."
31
+ })
32
+ }
33
+ };
@@ -0,0 +1,44 @@
1
+ /// <reference types="react" />
2
+ import { StyleProp, ViewStyle } from "react-native";
3
+ declare type Props = {
4
+ videoId: string;
5
+ playlist: string;
6
+ style: StyleProp<ViewStyle>;
7
+ mute: boolean;
8
+ autoplay: boolean;
9
+ };
10
+ declare const Youtube: ({ videoId, playlist, style, mute, autoplay }: Props) => JSX.Element;
11
+ export default Youtube;
12
+ export declare const SEED_DATA: {
13
+ name: string;
14
+ tag: string;
15
+ description: string;
16
+ category: string;
17
+ layout: {
18
+ width: string;
19
+ };
20
+ props: {
21
+ videoId: any;
22
+ playlist: any;
23
+ mute: {
24
+ label: string;
25
+ description: string;
26
+ formType: string;
27
+ propType: string;
28
+ defaultValue: boolean;
29
+ editable: boolean;
30
+ required: boolean;
31
+ group: string;
32
+ };
33
+ autoplay: {
34
+ label: string;
35
+ description: string;
36
+ formType: string;
37
+ propType: string;
38
+ defaultValue: boolean;
39
+ editable: boolean;
40
+ required: boolean;
41
+ group: string;
42
+ };
43
+ };
44
+ };
@@ -49,3 +49,4 @@ export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIc
49
49
  export { default as Slider } from "./components/Slider";
50
50
  export { default as Stepper } from "./components/Stepper";
51
51
  export { useAuthState } from "./components/useAuthState";
52
+ export { default as Youtube } from "./components/Youtube";
@@ -0,0 +1,36 @@
1
+ export declare const SEED_DATA: {
2
+ name: string;
3
+ tag: string;
4
+ description: string;
5
+ doc_link: string;
6
+ code_link: string;
7
+ category: string;
8
+ stylesPanelSections: string[];
9
+ layout: {
10
+ height: number;
11
+ };
12
+ props: {
13
+ videoId: any;
14
+ playlist: any;
15
+ mute: {
16
+ label: string;
17
+ description: string;
18
+ formType: string;
19
+ propType: string;
20
+ defaultValue: boolean;
21
+ editable: boolean;
22
+ required: boolean;
23
+ group: string;
24
+ };
25
+ autoplay: {
26
+ label: string;
27
+ description: string;
28
+ formType: string;
29
+ propType: string;
30
+ defaultValue: boolean;
31
+ editable: boolean;
32
+ required: boolean;
33
+ group: string;
34
+ };
35
+ };
36
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.4.1",
3
+ "version": "46.4.2-48e5c7.2+48e5c7e",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -41,7 +41,7 @@
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.1",
44
+ "@draftbit/types": "^46.4.2-48e5c7.2+48e5c7e",
45
45
  "@material-ui/core": "^4.11.0",
46
46
  "@material-ui/pickers": "^3.2.10",
47
47
  "@react-native-community/slider": "4.2.3",
@@ -56,7 +56,9 @@
56
56
  "react-native-modal-datetime-picker": "^13.0.0",
57
57
  "react-native-svg": "12.3.0",
58
58
  "react-native-typography": "^1.4.1",
59
- "react-native-web-swiper": "^2.2.3"
59
+ "react-native-web-swiper": "^2.2.3",
60
+ "react-native-web-webview": "^1.0.2",
61
+ "react-native-youtube-iframe": "^2.2.2"
60
62
  },
61
63
  "devDependencies": {
62
64
  "@types/color": "^3.0.1",
@@ -81,5 +83,5 @@
81
83
  ]
82
84
  ]
83
85
  },
84
- "gitHead": "4858e190e0c41f028a3280bf08fd4021cdbc9b0e"
86
+ "gitHead": "48e5c7eca62e2bdd56ee2cb7a45187c855bc95d0"
85
87
  }
@@ -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);