@draftbit/core 46.4.4-7f27fb.2 → 46.4.4-929d79.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 (38) hide show
  1. package/lib/commonjs/components/Container.js +5 -17
  2. package/lib/commonjs/components/Youtube.js +73 -0
  3. package/lib/commonjs/index.js +8 -14
  4. package/lib/commonjs/mappings/Youtube.js +42 -0
  5. package/lib/module/components/ToggleButton.js +3 -17
  6. package/lib/module/components/Youtube.js +59 -0
  7. package/lib/module/index.js +2 -2
  8. package/lib/module/mappings/Youtube.js +33 -0
  9. package/lib/typescript/src/components/Youtube.d.ts +44 -0
  10. package/lib/typescript/src/index.d.ts +1 -1
  11. package/lib/typescript/src/mappings/Youtube.d.ts +36 -0
  12. package/package.json +7 -7
  13. package/src/components/Youtube.js +38 -0
  14. package/src/components/Youtube.tsx +66 -0
  15. package/src/index.js +1 -1
  16. package/src/index.tsx +1 -1
  17. package/src/mappings/Youtube.js +33 -0
  18. package/src/mappings/Youtube.ts +39 -0
  19. package/lib/commonjs/components/TabView/TabView.js +0 -102
  20. package/lib/commonjs/components/TabView/TabViewItem.js +0 -26
  21. package/lib/commonjs/components/TabView/index.js +0 -23
  22. package/lib/commonjs/mappings/TabView.js +0 -79
  23. package/lib/module/components/TabView/TabView.js +0 -87
  24. package/lib/module/components/TabView/TabViewItem.js +0 -18
  25. package/lib/module/components/TabView/index.js +0 -2
  26. package/lib/module/mappings/TabView.js +0 -70
  27. package/lib/typescript/src/components/TabView/TabView.d.ts +0 -19
  28. package/lib/typescript/src/components/TabView/TabViewItem.d.ts +0 -10
  29. package/lib/typescript/src/components/TabView/index.d.ts +0 -2
  30. package/lib/typescript/src/mappings/TabView.d.ts +0 -111
  31. package/src/components/TabView/TabView.js +0 -34
  32. package/src/components/TabView/TabView.tsx +0 -97
  33. package/src/components/TabView/TabViewItem.js +0 -5
  34. package/src/components/TabView/TabViewItem.tsx +0 -21
  35. package/src/components/TabView/index.js +0 -2
  36. package/src/components/TabView/index.tsx +0 -2
  37. package/src/mappings/TabView.js +0 -73
  38. package/src/mappings/TabView.ts +0 -80
@@ -19,6 +19,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
19
19
 
20
20
  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; }
21
21
 
22
+ 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); }
23
+
22
24
  const Container = _ref => {
23
25
  let {
24
26
  useThemeGutterPadding,
@@ -80,10 +82,9 @@ const Container = _ref => {
80
82
  };
81
83
  const Wrap = elevation ? _Elevation.default : _reactNative.View;
82
84
  if (elevation) containerStyle.elevation = elevation;
83
- return /*#__PURE__*/React.createElement(Wrap, {
84
- style: [containerStyle, style],
85
- ...rest
86
- }, backgroundImage ? /*#__PURE__*/React.createElement(_reactNative.ImageBackground, {
85
+ return /*#__PURE__*/React.createElement(Wrap, _extends({
86
+ style: [containerStyle, style]
87
+ }, rest), backgroundImage ? /*#__PURE__*/React.createElement(_reactNative.ImageBackground, {
87
88
  source: typeof backgroundImage === "string" ? {
88
89
  uri: backgroundImage
89
90
  } : backgroundImage,
@@ -100,17 +101,4 @@ const Container = _ref => {
100
101
 
101
102
  var _default = (0, _theming.withTheme)(Container);
102
103
 
103
- exports.default = _default;izeMode: backgroundImageResizeMode,
104
- style: {
105
- flex: 1
106
- }
107
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
108
- style: innerStyle
109
- }, children)) : /*#__PURE__*/React.createElement(_reactNative.View, {
110
- style: innerStyle
111
- }, children));
112
- };
113
-
114
- var _default = (0, _theming.withTheme)(Container);
115
-
116
104
  exports.default = _default;
@@ -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;
@@ -369,18 +369,6 @@ Object.defineProperty(exports, "SwitchRow", {
369
369
  return _Switch.SwitchRow;
370
370
  }
371
371
  });
372
- Object.defineProperty(exports, "TabView", {
373
- enumerable: true,
374
- get: function () {
375
- return _TabView.TabView;
376
- }
377
- });
378
- Object.defineProperty(exports, "TabViewItem", {
379
- enumerable: true,
380
- get: function () {
381
- return _TabView.TabViewItem;
382
- }
383
- });
384
372
  Object.defineProperty(exports, "TextField", {
385
373
  enumerable: true,
386
374
  get: function () {
@@ -405,6 +393,12 @@ Object.defineProperty(exports, "Touchable", {
405
393
  return _Touchable.default;
406
394
  }
407
395
  });
396
+ Object.defineProperty(exports, "Youtube", {
397
+ enumerable: true,
398
+ get: function () {
399
+ return _Youtube.default;
400
+ }
401
+ });
408
402
  Object.defineProperty(exports, "injectIcon", {
409
403
  enumerable: true,
410
404
  get: function () {
@@ -484,8 +478,6 @@ var _ActionSheet = require("./components/ActionSheet");
484
478
 
485
479
  var _Swiper = require("./components/Swiper");
486
480
 
487
- var _TabView = require("./components/TabView");
488
-
489
481
  var _Layout = require("./components/Layout");
490
482
 
491
483
  var _index = require("./components/RadioButton/index");
@@ -524,6 +516,8 @@ var _Stepper = _interopRequireDefault(require("./components/Stepper"));
524
516
 
525
517
  var _useAuthState = require("./components/useAuthState");
526
518
 
519
+ var _Youtube = _interopRequireDefault(require("./components/Youtube"));
520
+
527
521
  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); }
528
522
 
529
523
  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;
@@ -1,3 +1,5 @@
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
+
1
3
  import * as React from "react";
2
4
  import { withTheme } from "../theming";
3
5
  import { StyleSheet } from "react-native";
@@ -40,29 +42,13 @@ const ToggleButton = _ref => {
40
42
  onPress(!internalValue);
41
43
  };
42
44
 
43
- return /*#__PURE__*/React.createElement(IconButton, {
45
+ return /*#__PURE__*/React.createElement(IconButton, _extends({
44
46
  Icon: Icon,
45
47
  icon: icon,
46
48
  size: iconSize,
47
49
  color: internalValue ? colors[color] : colors[colorSecondary],
48
50
  onPress: handlePress,
49
51
  disabled: disabled,
50
- style: [styles.mainContainer, {
51
- width,
52
- height,
53
- backgroundColor: internalValue ? colors[colorSecondary] : colors[color],
54
- borderColor: colors[borderColor]
55
- }, style],
56
- ...rest
57
- });
58
- };
59
-
60
- const styles = StyleSheet.create({
61
- mainContainer: {
62
- borderWidth: 1
63
- }
64
- });
65
- export default withTheme(ToggleButton);: disabled,
66
52
  style: [styles.mainContainer, {
67
53
  width,
68
54
  height,
@@ -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
+ };
@@ -29,7 +29,6 @@ export { default as Touchable } from "./components/Touchable";
29
29
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
30
30
  export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/ActionSheet";
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
- export { TabView, TabViewItem } from "./components/TabView";
33
32
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
34
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
35
34
  /* Deprecated: Fix or Delete! */
@@ -50,4 +49,5 @@ export { default as RowHeadlineImageCaption } from "./components/RowHeadlineImag
50
49
  export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIcon";
51
50
  export { default as Slider } from "./components/Slider";
52
51
  export { default as Stepper } from "./components/Stepper";
53
- export { useAuthState } from "./components/useAuthState"; // a comment to fix sourcemap comment issue
52
+ export { useAuthState } from "./components/useAuthState";
53
+ 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
+ };
@@ -29,7 +29,6 @@ export { default as Touchable } from "./components/Touchable";
29
29
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
30
30
  export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/ActionSheet";
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
- export { TabView, TabViewItem } from "./components/TabView";
33
32
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
34
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
35
34
  export { default as CardBlock } from "./components/CardBlock";
@@ -49,3 +48,4 @@ export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIc
49
48
  export { default as Slider } from "./components/Slider";
50
49
  export { default as Stepper } from "./components/Stepper";
51
50
  export { useAuthState } from "./components/useAuthState";
51
+ 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.4-7f27fb.2+7f27fbc",
3
+ "version": "46.4.4-929d79.2+929d79d",
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.4-7f27fb.2+7f27fbc",
44
+ "@draftbit/types": "^46.4.4-929d79.2+929d79d",
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",
@@ -54,11 +54,11 @@
54
54
  "lodash.omit": "^4.5.0",
55
55
  "lodash.tonumber": "^4.0.3",
56
56
  "react-native-modal-datetime-picker": "^13.0.0",
57
- "react-native-pager-view": "5.4.24",
58
- "react-native-svg": "^12.3.0",
59
- "react-native-tab-view": "^3.0.0",
57
+ "react-native-svg": "12.3.0",
60
58
  "react-native-typography": "^1.4.1",
61
- "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"
62
62
  },
63
63
  "devDependencies": {
64
64
  "@types/color": "^3.0.1",
@@ -83,5 +83,5 @@
83
83
  ]
84
84
  ]
85
85
  },
86
- "gitHead": "7f27fbcfba08665618ffd741070ea655167cfafa"
86
+ "gitHead": "929d79dcdad189a0c0c98afa23b7893cf37ffe7d"
87
87
  }
@@ -0,0 +1,38 @@
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
+ const Youtube = ({ videoId, playlist, style, mute, autoplay }) => {
6
+ const { viewStyles: { height, width }, } = extractStyles(style);
7
+ return (React.createElement(YoutubePlayer, { height: height, width: width, play: autoplay, videoId: videoId, playList: playlist, mute: mute }));
8
+ };
9
+ export default Youtube;
10
+ export const SEED_DATA = {
11
+ name: "Youtube",
12
+ tag: "Youtube",
13
+ description: "Youtube Component",
14
+ category: COMPONENT_TYPES.media,
15
+ layout: {
16
+ width: "100%",
17
+ },
18
+ props: {
19
+ videoId: createTextProp({
20
+ label: "VideoId",
21
+ description: "Youtube Video ID",
22
+ }),
23
+ playlist: createTextProp({
24
+ label: "PlayList",
25
+ description: "Playlist ID",
26
+ }),
27
+ mute: createBoolProp({
28
+ label: "Mute",
29
+ description: "Whether to mute video",
30
+ defaultValue: false,
31
+ }),
32
+ autoplay: createBoolProp({
33
+ label: "Autoplay",
34
+ description: "Whether to Autoplay video",
35
+ defaultValue: false,
36
+ }),
37
+ },
38
+ };
@@ -0,0 +1,66 @@
1
+ import {
2
+ COMPONENT_TYPES,
3
+ createBoolProp,
4
+ createTextProp,
5
+ } from "@draftbit/types";
6
+ import React from "react";
7
+ import { StyleProp, ViewStyle } from "react-native";
8
+ import YoutubePlayer from "react-native-youtube-iframe";
9
+ import { extractStyles } from "../utilities";
10
+
11
+ type Props = {
12
+ videoId: string;
13
+ playlist: string;
14
+ style: StyleProp<ViewStyle>;
15
+ mute: boolean;
16
+ autoplay: boolean;
17
+ };
18
+
19
+ const Youtube = ({ videoId, playlist, style, mute, autoplay }: Props) => {
20
+ const {
21
+ viewStyles: { height, width },
22
+ } = extractStyles(style);
23
+
24
+ return (
25
+ <YoutubePlayer
26
+ height={height}
27
+ width={width}
28
+ play={autoplay}
29
+ videoId={videoId}
30
+ playList={playlist}
31
+ mute={mute}
32
+ />
33
+ );
34
+ };
35
+
36
+ export default Youtube;
37
+
38
+ export const SEED_DATA = {
39
+ name: "Youtube",
40
+ tag: "Youtube",
41
+ description: "Youtube Component",
42
+ category: COMPONENT_TYPES.media,
43
+ layout: {
44
+ width: "100%",
45
+ },
46
+ props: {
47
+ videoId: createTextProp({
48
+ label: "VideoId",
49
+ description: "Youtube Video ID",
50
+ }),
51
+ playlist: createTextProp({
52
+ label: "PlayList",
53
+ description: "Playlist ID",
54
+ }),
55
+ mute: createBoolProp({
56
+ label: "Mute",
57
+ description: "Whether to mute video",
58
+ defaultValue: false,
59
+ }),
60
+ autoplay: createBoolProp({
61
+ label: "Autoplay",
62
+ description: "Whether to Autoplay video",
63
+ defaultValue: false,
64
+ }),
65
+ },
66
+ };
package/src/index.js CHANGED
@@ -29,7 +29,6 @@ export { default as Touchable } from "./components/Touchable";
29
29
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
30
30
  export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/ActionSheet";
31
31
  export { Swiper, SwiperItem } from "./components/Swiper";
32
- export { TabView, TabViewItem } from "./components/TabView";
33
32
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
34
33
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
35
34
  /* Deprecated: Fix or Delete! */
@@ -50,4 +49,5 @@ export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIc
50
49
  export { default as Slider } from "./components/Slider";
51
50
  export { default as Stepper } from "./components/Stepper";
52
51
  export { useAuthState } from "./components/useAuthState";
52
+ export { default as Youtube } from "./components/Youtube";
53
53
  // a comment to fix sourcemap comment issue
package/src/index.tsx CHANGED
@@ -34,7 +34,6 @@ export {
34
34
  ActionSheetCancel,
35
35
  } from "./components/ActionSheet";
36
36
  export { Swiper, SwiperItem } from "./components/Swiper";
37
- export { TabView, TabViewItem } from "./components/TabView";
38
37
 
39
38
  export {
40
39
  Center,
@@ -70,5 +69,6 @@ export { default as RowHeadlineImageIcon } from "./components/RowHeadlineImageIc
70
69
  export { default as Slider } from "./components/Slider";
71
70
  export { default as Stepper } from "./components/Stepper";
72
71
  export { useAuthState } from "./components/useAuthState";
72
+ export { default as Youtube } from "./components/Youtube";
73
73
 
74
74
  // 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
+ };