@draftbit/core 46.4.4-cbd3a5.2 → 46.4.4-d55501.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 (31) hide show
  1. package/lib/commonjs/components/CardBlock.js +4 -13
  2. package/lib/commonjs/components/Container.js +15 -4
  3. package/lib/commonjs/components/DeprecatedFAB.js +3 -21
  4. package/lib/commonjs/components/Picker/Picker.js +1 -1
  5. package/lib/commonjs/components/TabView/TabView.js +87 -0
  6. package/lib/commonjs/components/TabView/TabViewItem.js +24 -0
  7. package/lib/commonjs/components/TabView/index.js +20 -0
  8. package/lib/commonjs/constants.js +1 -1
  9. package/lib/commonjs/index.js +13 -0
  10. package/lib/commonjs/mappings/TabView.js +77 -0
  11. package/lib/module/components/TabView/TabView.js +79 -0
  12. package/lib/module/components/TabView/TabViewItem.js +17 -0
  13. package/lib/module/components/TabView/index.js +2 -0
  14. package/lib/module/index.js +1 -0
  15. package/lib/module/mappings/TabView.js +70 -0
  16. package/lib/typescript/src/components/TabView/TabView.d.ts +19 -0
  17. package/lib/typescript/src/components/TabView/TabViewItem.d.ts +10 -0
  18. package/lib/typescript/src/components/TabView/index.d.ts +2 -0
  19. package/lib/typescript/src/index.d.ts +1 -0
  20. package/lib/typescript/src/mappings/TabView.d.ts +111 -0
  21. package/package.json +6 -4
  22. package/src/components/TabView/TabView.js +34 -0
  23. package/src/components/TabView/TabView.tsx +97 -0
  24. package/src/components/TabView/TabViewItem.js +5 -0
  25. package/src/components/TabView/TabViewItem.tsx +21 -0
  26. package/src/components/TabView/index.js +2 -0
  27. package/src/components/TabView/index.tsx +2 -0
  28. package/src/index.js +1 -0
  29. package/src/index.tsx +1 -0
  30. package/src/mappings/TabView.js +73 -0
  31. package/src/mappings/TabView.ts +80 -0
@@ -12,6 +12,7 @@ var _Elevation = _interopRequireDefault(require("./Elevation"));
12
12
  var _theming = require("../theming");
13
13
  var _Config = _interopRequireDefault(require("./Config"));
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+ 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); }
15
16
  const CardBlock = _ref => {
16
17
  let {
17
18
  image = _Config.default.cardImageUrl,
@@ -48,12 +49,11 @@ const CardBlock = _ref => {
48
49
  const rightDescriptionStyles = [typography.subtitle2, {
49
50
  color: colors.light
50
51
  }];
51
- return /*#__PURE__*/_react.default.createElement(_DeprecatedCardWrapper.default, {
52
+ return /*#__PURE__*/_react.default.createElement(_DeprecatedCardWrapper.default, _extends({
52
53
  style: style,
53
54
  onPress: onPress,
54
- numColumns: numColumns,
55
- ...rest
56
- }, /*#__PURE__*/_react.default.createElement(_reactNative.View, {
55
+ numColumns: numColumns
56
+ }, rest), /*#__PURE__*/_react.default.createElement(_reactNative.View, {
57
57
  style: {
58
58
  backgroundColor: colors.background
59
59
  }
@@ -103,13 +103,4 @@ const CardBlock = _ref => {
103
103
  }, rightDescription) : null) : null));
104
104
  };
105
105
  var _default = (0, _theming.withTheme)(CardBlock);
106
- exports.default = _default;yle: [typography.body2, {
107
- color: colors.medium
108
- }]
109
- }, leftDescription), rightDescription ? /*#__PURE__*/_react.default.createElement(_reactNative.Text, {
110
- numberOfLines: 1,
111
- style: rightDescriptionStyles
112
- }, rightDescription) : null) : null));
113
- };
114
- var _default = (0, _theming.withTheme)(CardBlock);
115
106
  exports.default = _default;
@@ -11,7 +11,6 @@ var _Elevation = _interopRequireDefault(require("./Elevation"));
11
11
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
12
  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); }
13
13
  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; }
14
- 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); }
15
14
  const Container = _ref => {
16
15
  let {
17
16
  useThemeGutterPadding,
@@ -73,9 +72,10 @@ const Container = _ref => {
73
72
  };
74
73
  const Wrap = elevation ? _Elevation.default : _reactNative.View;
75
74
  if (elevation) containerStyle.elevation = elevation;
76
- return /*#__PURE__*/React.createElement(Wrap, _extends({
77
- style: [containerStyle, style]
78
- }, rest), backgroundImage ? /*#__PURE__*/React.createElement(_reactNative.ImageBackground, {
75
+ return /*#__PURE__*/React.createElement(Wrap, {
76
+ style: [containerStyle, style],
77
+ ...rest
78
+ }, backgroundImage ? /*#__PURE__*/React.createElement(_reactNative.ImageBackground, {
79
79
  source: typeof backgroundImage === "string" ? {
80
80
  uri: backgroundImage
81
81
  } : backgroundImage,
@@ -90,4 +90,15 @@ const Container = _ref => {
90
90
  }, children));
91
91
  };
92
92
  var _default = (0, _theming.withTheme)(Container);
93
+ exports.default = _default;sizeMode: backgroundImageResizeMode,
94
+ style: {
95
+ flex: 1
96
+ }
97
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
98
+ style: innerStyle
99
+ }, children)) : /*#__PURE__*/React.createElement(_reactNative.View, {
100
+ style: innerStyle
101
+ }, children));
102
+ };
103
+ var _default = (0, _theming.withTheme)(Container);
93
104
  exports.default = _default;
@@ -15,6 +15,7 @@ var _theming = require("../theming");
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  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); }
17
17
  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; }
18
+ 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); }
18
19
  const FAB = _ref => {
19
20
  let {
20
21
  Icon,
@@ -106,8 +107,7 @@ const FAB = _ref => {
106
107
  style: [{
107
108
  elevation
108
109
  }, style]
109
- }, /*#__PURE__*/React.createElement(_Touchable.default, {
110
- ...rest,
110
+ }, /*#__PURE__*/React.createElement(_Touchable.default, _extends({}, rest, {
111
111
  onPress: onPress,
112
112
  accessibilityState: {
113
113
  disabled
@@ -115,7 +115,7 @@ const FAB = _ref => {
115
115
  accessibilityRole: "button",
116
116
  disabled: disabled || loading,
117
117
  style: buttonStyles
118
- }, /*#__PURE__*/React.createElement(_reactNative.View, {
118
+ }), /*#__PURE__*/React.createElement(_reactNative.View, {
119
119
  style: styles.content
120
120
  }, icon && loading !== true ? /*#__PURE__*/React.createElement(_reactNative.View, {
121
121
  style: iconStyle
@@ -155,22 +155,4 @@ const styles = _reactNative.StyleSheet.create({
155
155
  }
156
156
  });
157
157
  var _default = (0, _theming.withTheme)(FAB);
158
- exports.default = _default;ow",
159
- alignItems: "center",
160
- justifyContent: "center"
161
- },
162
- icon: {
163
- alignItems: "center",
164
- justifyContent: "center",
165
- width: _Config.default.buttonIconSize
166
- },
167
- fixed: {
168
- left: 0,
169
- right: 0,
170
- bottom: 0,
171
- height: 64,
172
- borderRadius: 0
173
- }
174
- });
175
- var _default = (0, _theming.withTheme)(FAB);
176
158
  exports.default = _default;
@@ -324,4 +324,4 @@ const styles = _reactNative.StyleSheet.create({
324
324
  maxWidth: deviceWidth,
325
325
  maxHeight: deviceHeight
326
326
  }
327
- });
327
+ });;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var React = _interopRequireWildcard(require("react"));
8
+ var _reactNativeTabView = require("react-native-tab-view");
9
+ var _TabViewItem = _interopRequireDefault(require("./TabViewItem"));
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ 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); }
12
+ 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; }
13
+ 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); }
14
+ const TabViewComponent = _ref => {
15
+ let {
16
+ Icon,
17
+ tabBarPosition,
18
+ keyboardDismissMode,
19
+ swipeEnabled,
20
+ scrollEnabled,
21
+ activeColor,
22
+ inactiveColor,
23
+ pressColor,
24
+ indicatorColor,
25
+ style,
26
+ children
27
+ } = _ref;
28
+ const [index, setIndex] = React.useState(0);
29
+ const [routes, setRoutes] = React.useState([]);
30
+ const [tabScenes, setTabScenes] = React.useState({});
31
+ React.useEffect(() => {
32
+ const newRoutes = [];
33
+ const scenes = {};
34
+ React.Children.toArray(children).filter(child => child.type === _TabViewItem.default).forEach(child => {
35
+ var _child$props;
36
+ if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.id) {
37
+ var _child$props2, _child$props3;
38
+ newRoutes.push({
39
+ key: child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.id,
40
+ ...(child === null || child === void 0 ? void 0 : child.props)
41
+ });
42
+ scenes[child === null || child === void 0 ? void 0 : (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.id] = () => child;
43
+ }
44
+ });
45
+ setRoutes(newRoutes);
46
+ setTabScenes(scenes);
47
+ }, [children]);
48
+ const indexChangeHandler = i => setIndex(i);
49
+ const renderTabBar = props => {
50
+ console.log(props);
51
+ return /*#__PURE__*/React.createElement(_reactNativeTabView.TabBar, _extends({}, props, {
52
+ activeColor: activeColor,
53
+ inactiveColor: inactiveColor,
54
+ pressColor: pressColor,
55
+ scrollEnabled: scrollEnabled,
56
+ indicatorStyle: {
57
+ backgroundColor: indicatorColor
58
+ },
59
+ renderIcon: _ref2 => {
60
+ let {
61
+ route,
62
+ color
63
+ } = _ref2;
64
+ return route !== null && route !== void 0 && route.icon ? /*#__PURE__*/React.createElement(Icon, {
65
+ name: route.icon,
66
+ color: color,
67
+ size: 36
68
+ }) : null;
69
+ },
70
+ style: style
71
+ }));
72
+ };
73
+ return /*#__PURE__*/React.createElement(_reactNativeTabView.TabView, {
74
+ navigationState: {
75
+ index,
76
+ routes
77
+ },
78
+ renderScene: (0, _reactNativeTabView.SceneMap)(tabScenes),
79
+ renderTabBar: renderTabBar,
80
+ onIndexChange: indexChangeHandler,
81
+ tabBarPosition: tabBarPosition,
82
+ keyboardDismissMode: keyboardDismissMode,
83
+ swipeEnabled: swipeEnabled
84
+ });
85
+ };
86
+ var _default = TabViewComponent;
87
+ exports.default = _default;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const TabViewItem = _ref => {
8
+ let {
9
+ title,
10
+ id,
11
+ icon,
12
+ children,
13
+ accessibilityLabel
14
+ } = _ref;
15
+ console.log({
16
+ title,
17
+ id,
18
+ icon,
19
+ accessibilityLabel
20
+ });
21
+ return children;
22
+ };
23
+ var _default = TabViewItem;
24
+ exports.default = _default;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "TabView", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _TabView.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "TabViewItem", {
13
+ enumerable: true,
14
+ get: function () {
15
+ return _TabViewItem.default;
16
+ }
17
+ });
18
+ var _TabView = _interopRequireDefault(require("./TabView"));
19
+ var _TabViewItem = _interopRequireDefault(require("./TabViewItem"));
20
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
@@ -12,4 +12,4 @@ const APPROX_STATUSBAR_HEIGHT = _reactNative.Platform.select({
12
12
  android: DEFAULT_STATUSBAR_HEIGHT_EXPO,
13
13
  ios: _reactNative.Platform.Version < 11 ? DEFAULT_STATUSBAR_HEIGHT_EXPO : 0
14
14
  });
15
- exports.APPROX_STATUSBAR_HEIGHT = APPROX_STATUSBAR_HEIGHT;
15
+ exports.APPROX_STATUSBAR_HEIGHT = APPROX_STATUSBAR_HEIGHT;AR_HEIGHT;
@@ -369,6 +369,18 @@ 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
+ });
372
384
  Object.defineProperty(exports, "TextField", {
373
385
  enumerable: true,
374
386
  get: function () {
@@ -441,6 +453,7 @@ var _Touchable = _interopRequireDefault(require("./components/Touchable"));
441
453
  var _Accordion = require("./components/Accordion");
442
454
  var _ActionSheet = require("./components/ActionSheet");
443
455
  var _Swiper = require("./components/Swiper");
456
+ var _TabView = require("./components/TabView");
444
457
  var _Layout = require("./components/Layout");
445
458
  var _index = require("./components/RadioButton/index");
446
459
  var _CardBlock = _interopRequireDefault(require("./components/CardBlock"));
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SEED_DATA = void 0;
7
+ var _types = require("@draftbit/types");
8
+ const SEED_DATA = [{
9
+ name: "Tab View",
10
+ tag: "TabView",
11
+ category: _types.COMPONENT_TYPES.container,
12
+ layout: {},
13
+ props: {
14
+ tabBarPosition: (0, _types.createTextEnumProp)({
15
+ label: "Tab Bar Position",
16
+ description: "Tab Bar Position",
17
+ options: ["top", "bottom"],
18
+ defaultValue: "top"
19
+ }),
20
+ keyboardDismissMode: (0, _types.createTextEnumProp)({
21
+ label: "Keyboard Dismiss Mode",
22
+ description: "Keyboard Dismiss Mode",
23
+ options: ["auto", "on-drag", "none"],
24
+ defaultValue: "auto"
25
+ }),
26
+ swipeEnabled: (0, _types.createBoolProp)({
27
+ label: "Swipe Enabled",
28
+ description: "Swipe Enabled",
29
+ defaultValue: true
30
+ }),
31
+ scrollEnabled: (0, _types.createBoolProp)({
32
+ label: "Scroll Enabled",
33
+ description: "Scroll Enabled",
34
+ defaultValue: true
35
+ }),
36
+ activeColor: (0, _types.createColorProp)({
37
+ label: "Active Color",
38
+ description: "Active Color",
39
+ defaultValue: "primary"
40
+ }),
41
+ inactiveColor: (0, _types.createColorProp)({
42
+ label: "Inactive Color",
43
+ description: "Inactive Color",
44
+ defaultValue: null
45
+ }),
46
+ pressColor: (0, _types.createColorProp)({
47
+ label: "Press Color",
48
+ description: "Press Color",
49
+ defaultValue: null
50
+ }),
51
+ indicatorColor: (0, _types.createColorProp)({
52
+ label: "Indicator Color",
53
+ description: "Indicator Color",
54
+ defaultValue: null
55
+ })
56
+ }
57
+ }, {
58
+ name: "Tab View Item",
59
+ tag: "TabViewItem",
60
+ category: _types.COMPONENT_TYPES.container,
61
+ layout: {},
62
+ props: {
63
+ title: (0, _types.createTextProp)({
64
+ label: "Title",
65
+ description: "Tab Title"
66
+ }),
67
+ id: (0, _types.createTextProp)({
68
+ label: "Id",
69
+ description: "Tab Id"
70
+ }),
71
+ accessibilityLabel: (0, _types.createTextProp)({
72
+ label: "Accessibility Label",
73
+ description: "Accessibility Label"
74
+ })
75
+ }
76
+ }];
77
+ exports.SEED_DATA = SEED_DATA;
@@ -0,0 +1,79 @@
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
+ import * as React from "react";
3
+ import { TabView, TabBar, SceneMap } from "react-native-tab-view";
4
+
5
+ // import { withTheme } from "../../theming";
6
+ import TabViewItem from "./TabViewItem";
7
+ const TabViewComponent = _ref => {
8
+ let {
9
+ Icon,
10
+ tabBarPosition,
11
+ keyboardDismissMode,
12
+ swipeEnabled,
13
+ scrollEnabled,
14
+ activeColor,
15
+ inactiveColor,
16
+ pressColor,
17
+ indicatorColor,
18
+ style,
19
+ children
20
+ } = _ref;
21
+ const [index, setIndex] = React.useState(0);
22
+ const [routes, setRoutes] = React.useState([]);
23
+ const [tabScenes, setTabScenes] = React.useState({});
24
+ React.useEffect(() => {
25
+ const newRoutes = [];
26
+ const scenes = {};
27
+ React.Children.toArray(children).filter(child => child.type === TabViewItem).forEach(child => {
28
+ var _child$props;
29
+ if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.id) {
30
+ var _child$props2, _child$props3;
31
+ newRoutes.push({
32
+ key: child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.id,
33
+ ...(child === null || child === void 0 ? void 0 : child.props)
34
+ });
35
+ scenes[child === null || child === void 0 ? void 0 : (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.id] = () => child;
36
+ }
37
+ });
38
+ setRoutes(newRoutes);
39
+ setTabScenes(scenes);
40
+ }, [children]);
41
+ const indexChangeHandler = i => setIndex(i);
42
+ const renderTabBar = props => {
43
+ console.log(props);
44
+ return /*#__PURE__*/React.createElement(TabBar, _extends({}, props, {
45
+ activeColor: activeColor,
46
+ inactiveColor: inactiveColor,
47
+ pressColor: pressColor,
48
+ scrollEnabled: scrollEnabled,
49
+ indicatorStyle: {
50
+ backgroundColor: indicatorColor
51
+ },
52
+ renderIcon: _ref2 => {
53
+ let {
54
+ route,
55
+ color
56
+ } = _ref2;
57
+ return route !== null && route !== void 0 && route.icon ? /*#__PURE__*/React.createElement(Icon, {
58
+ name: route.icon,
59
+ color: color,
60
+ size: 36
61
+ }) : null;
62
+ },
63
+ style: style
64
+ }));
65
+ };
66
+ return /*#__PURE__*/React.createElement(TabView, {
67
+ navigationState: {
68
+ index,
69
+ routes
70
+ },
71
+ renderScene: SceneMap(tabScenes),
72
+ renderTabBar: renderTabBar,
73
+ onIndexChange: indexChangeHandler,
74
+ tabBarPosition: tabBarPosition,
75
+ keyboardDismissMode: keyboardDismissMode,
76
+ swipeEnabled: swipeEnabled
77
+ });
78
+ };
79
+ export default TabViewComponent;
@@ -0,0 +1,17 @@
1
+ const TabViewItem = _ref => {
2
+ let {
3
+ title,
4
+ id,
5
+ icon,
6
+ children,
7
+ accessibilityLabel
8
+ } = _ref;
9
+ console.log({
10
+ title,
11
+ id,
12
+ icon,
13
+ accessibilityLabel
14
+ });
15
+ return children;
16
+ };
17
+ export default TabViewItem;
@@ -0,0 +1,2 @@
1
+ export { default as TabView } from "./TabView";
2
+ export { default as TabViewItem } from "./TabViewItem";
@@ -29,6 +29,7 @@ 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";
32
33
  export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
33
34
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
34
35
 
@@ -0,0 +1,70 @@
1
+ import { COMPONENT_TYPES, createTextProp, createTextEnumProp, createBoolProp, createColorProp } from "@draftbit/types";
2
+ export const SEED_DATA = [{
3
+ name: "Tab View",
4
+ tag: "TabView",
5
+ category: COMPONENT_TYPES.container,
6
+ layout: {},
7
+ props: {
8
+ tabBarPosition: createTextEnumProp({
9
+ label: "Tab Bar Position",
10
+ description: "Tab Bar Position",
11
+ options: ["top", "bottom"],
12
+ defaultValue: "top"
13
+ }),
14
+ keyboardDismissMode: createTextEnumProp({
15
+ label: "Keyboard Dismiss Mode",
16
+ description: "Keyboard Dismiss Mode",
17
+ options: ["auto", "on-drag", "none"],
18
+ defaultValue: "auto"
19
+ }),
20
+ swipeEnabled: createBoolProp({
21
+ label: "Swipe Enabled",
22
+ description: "Swipe Enabled",
23
+ defaultValue: true
24
+ }),
25
+ scrollEnabled: createBoolProp({
26
+ label: "Scroll Enabled",
27
+ description: "Scroll Enabled",
28
+ defaultValue: true
29
+ }),
30
+ activeColor: createColorProp({
31
+ label: "Active Color",
32
+ description: "Active Color",
33
+ defaultValue: "primary"
34
+ }),
35
+ inactiveColor: createColorProp({
36
+ label: "Inactive Color",
37
+ description: "Inactive Color",
38
+ defaultValue: null
39
+ }),
40
+ pressColor: createColorProp({
41
+ label: "Press Color",
42
+ description: "Press Color",
43
+ defaultValue: null
44
+ }),
45
+ indicatorColor: createColorProp({
46
+ label: "Indicator Color",
47
+ description: "Indicator Color",
48
+ defaultValue: null
49
+ })
50
+ }
51
+ }, {
52
+ name: "Tab View Item",
53
+ tag: "TabViewItem",
54
+ category: COMPONENT_TYPES.container,
55
+ layout: {},
56
+ props: {
57
+ title: createTextProp({
58
+ label: "Title",
59
+ description: "Tab Title"
60
+ }),
61
+ id: createTextProp({
62
+ label: "Id",
63
+ description: "Tab Id"
64
+ }),
65
+ accessibilityLabel: createTextProp({
66
+ label: "Accessibility Label",
67
+ description: "Accessibility Label"
68
+ })
69
+ }
70
+ }];
@@ -0,0 +1,19 @@
1
+ import * as React from "react";
2
+ import { StyleProp, TextStyle, ViewStyle } from "react-native";
3
+ import type { IconSlot } from "../../interfaces/Icon";
4
+ declare type TabBarPosition = "top" | "bottom";
5
+ declare type KeyboardDismissMode = "none" | "auto" | "on-drag";
6
+ declare type TabViewProps = {
7
+ tabBarPosition?: TabBarPosition;
8
+ keyboardDismissMode?: KeyboardDismissMode;
9
+ swipeEnabled?: boolean;
10
+ scrollEnabled?: boolean;
11
+ activeColor?: string;
12
+ inactiveColor?: string;
13
+ pressColor?: string;
14
+ indicatorColor?: string;
15
+ style?: StyleProp<TextStyle | ViewStyle>;
16
+ children: React.ReactNode;
17
+ } & IconSlot;
18
+ declare const TabViewComponent: ({ Icon, tabBarPosition, keyboardDismissMode, swipeEnabled, scrollEnabled, activeColor, inactiveColor, pressColor, indicatorColor, style, children, }: TabViewProps) => JSX.Element;
19
+ export default TabViewComponent;
@@ -0,0 +1,10 @@
1
+ import React from "react";
2
+ interface TabViewItemProps {
3
+ title: string;
4
+ id: string;
5
+ icon: string;
6
+ accessibilityLabel: string;
7
+ children: React.ReactNode;
8
+ }
9
+ declare const TabViewItem: ({ title, id, icon, children, accessibilityLabel, }: TabViewItemProps) => React.ReactNode;
10
+ export default TabViewItem;
@@ -0,0 +1,2 @@
1
+ export { default as TabView } from "./TabView";
2
+ export { default as TabViewItem } from "./TabViewItem";
@@ -29,6 +29,7 @@ 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";
32
33
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
33
34
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
34
35
  export { default as CardBlock } from "./components/CardBlock";
@@ -0,0 +1,111 @@
1
+ export declare const SEED_DATA: ({
2
+ name: string;
3
+ tag: string;
4
+ category: string;
5
+ layout: {};
6
+ props: {
7
+ tabBarPosition: {
8
+ group: string;
9
+ label: string;
10
+ description: string;
11
+ editable: boolean;
12
+ required: boolean;
13
+ formType: string;
14
+ propType: string;
15
+ defaultValue: null;
16
+ options: never[];
17
+ };
18
+ keyboardDismissMode: {
19
+ group: string;
20
+ label: string;
21
+ description: string;
22
+ editable: boolean;
23
+ required: boolean;
24
+ formType: string;
25
+ propType: string;
26
+ defaultValue: null;
27
+ options: never[];
28
+ };
29
+ swipeEnabled: {
30
+ label: string;
31
+ description: string;
32
+ formType: string;
33
+ propType: string;
34
+ defaultValue: boolean;
35
+ editable: boolean;
36
+ required: boolean;
37
+ group: string;
38
+ };
39
+ scrollEnabled: {
40
+ label: string;
41
+ description: string;
42
+ formType: string;
43
+ propType: string;
44
+ defaultValue: boolean;
45
+ editable: boolean;
46
+ required: boolean;
47
+ group: string;
48
+ };
49
+ activeColor: {
50
+ group: string;
51
+ label: string;
52
+ description: string;
53
+ editable: boolean;
54
+ required: boolean;
55
+ defaultValue: null;
56
+ formType: string;
57
+ propType: string;
58
+ };
59
+ inactiveColor: {
60
+ group: string;
61
+ label: string;
62
+ description: string;
63
+ editable: boolean;
64
+ required: boolean;
65
+ defaultValue: null;
66
+ formType: string;
67
+ propType: string;
68
+ };
69
+ pressColor: {
70
+ group: string;
71
+ label: string;
72
+ description: string;
73
+ editable: boolean;
74
+ required: boolean;
75
+ defaultValue: null;
76
+ formType: string;
77
+ propType: string;
78
+ };
79
+ indicatorColor: {
80
+ group: string;
81
+ label: string;
82
+ description: string;
83
+ editable: boolean;
84
+ required: boolean;
85
+ defaultValue: null;
86
+ formType: string;
87
+ propType: string;
88
+ };
89
+ title?: undefined;
90
+ id?: undefined;
91
+ accessibilityLabel?: undefined;
92
+ };
93
+ } | {
94
+ name: string;
95
+ tag: string;
96
+ category: string;
97
+ layout: {};
98
+ props: {
99
+ title: any;
100
+ id: any;
101
+ accessibilityLabel: any;
102
+ tabBarPosition?: undefined;
103
+ keyboardDismissMode?: undefined;
104
+ swipeEnabled?: undefined;
105
+ scrollEnabled?: undefined;
106
+ activeColor?: undefined;
107
+ inactiveColor?: undefined;
108
+ pressColor?: undefined;
109
+ indicatorColor?: undefined;
110
+ };
111
+ })[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "46.4.4-cbd3a5.2+cbd3a50",
3
+ "version": "46.4.4-d55501.2+d555017",
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-cbd3a5.2+cbd3a50",
44
+ "@draftbit/types": "^46.4.4-d55501.2+d555017",
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,7 +54,9 @@
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-svg": "12.3.0",
57
+ "react-native-pager-view": "5.4.24",
58
+ "react-native-svg": "^12.3.0",
59
+ "react-native-tab-view": "^3.3.0",
58
60
  "react-native-typography": "^1.4.1",
59
61
  "react-native-web-swiper": "^2.2.3"
60
62
  },
@@ -81,5 +83,5 @@
81
83
  ]
82
84
  ]
83
85
  },
84
- "gitHead": "cbd3a509f711ccc53f3b9c4f8f6e3e6c0e957c5f"
86
+ "gitHead": "d555017e5aa603f019e5ed48664c4acf7e73a980"
85
87
  }
@@ -0,0 +1,34 @@
1
+ import * as React from "react";
2
+ import { TabView, TabBar, SceneMap } from "react-native-tab-view";
3
+ // import { withTheme } from "../../theming";
4
+ import TabViewItem from "./TabViewItem";
5
+ const TabViewComponent = ({ Icon, tabBarPosition, keyboardDismissMode, swipeEnabled, scrollEnabled, activeColor, inactiveColor, pressColor, indicatorColor, style, children, }) => {
6
+ const [index, setIndex] = React.useState(0);
7
+ const [routes, setRoutes] = React.useState([]);
8
+ const [tabScenes, setTabScenes] = React.useState({});
9
+ React.useEffect(() => {
10
+ const newRoutes = [];
11
+ const scenes = {};
12
+ React.Children.toArray(children)
13
+ .filter((child) => child.type === TabViewItem)
14
+ .forEach((child) => {
15
+ var _a, _b, _c;
16
+ if ((_a = child === null || child === void 0 ? void 0 : child.props) === null || _a === void 0 ? void 0 : _a.id) {
17
+ newRoutes.push({
18
+ key: (_b = child === null || child === void 0 ? void 0 : child.props) === null || _b === void 0 ? void 0 : _b.id,
19
+ ...child === null || child === void 0 ? void 0 : child.props,
20
+ });
21
+ scenes[(_c = child === null || child === void 0 ? void 0 : child.props) === null || _c === void 0 ? void 0 : _c.id] = () => child;
22
+ }
23
+ });
24
+ setRoutes(newRoutes);
25
+ setTabScenes(scenes);
26
+ }, [children]);
27
+ const indexChangeHandler = (i) => setIndex(i);
28
+ const renderTabBar = (props) => {
29
+ console.log(props);
30
+ return (React.createElement(TabBar, { ...props, activeColor: activeColor, inactiveColor: inactiveColor, pressColor: pressColor, scrollEnabled: scrollEnabled, indicatorStyle: { backgroundColor: indicatorColor }, renderIcon: ({ route, color }) => (route === null || route === void 0 ? void 0 : route.icon) ? (React.createElement(Icon, { name: route.icon, color: color, size: 36 })) : null, style: style }));
31
+ };
32
+ return (React.createElement(TabView, { navigationState: { index, routes }, renderScene: SceneMap(tabScenes), renderTabBar: renderTabBar, onIndexChange: indexChangeHandler, tabBarPosition: tabBarPosition, keyboardDismissMode: keyboardDismissMode, swipeEnabled: swipeEnabled }));
33
+ };
34
+ export default TabViewComponent;
@@ -0,0 +1,97 @@
1
+ import * as React from "react";
2
+ import { StyleProp, TextStyle, ViewStyle } from "react-native";
3
+ import { TabView, TabBar, SceneMap } from "react-native-tab-view";
4
+
5
+ // import { withTheme } from "../../theming";
6
+ import TabViewItem from "./TabViewItem";
7
+ import type { IconSlot } from "../../interfaces/Icon";
8
+
9
+ type TabBarPosition = "top" | "bottom";
10
+ type KeyboardDismissMode = "none" | "auto" | "on-drag";
11
+
12
+ type TabViewProps = {
13
+ tabBarPosition?: TabBarPosition;
14
+ keyboardDismissMode?: KeyboardDismissMode;
15
+ swipeEnabled?: boolean;
16
+ scrollEnabled?: boolean;
17
+ activeColor?: string;
18
+ inactiveColor?: string;
19
+ pressColor?: string;
20
+ indicatorColor?: string;
21
+ style?: StyleProp<TextStyle | ViewStyle>;
22
+ children: React.ReactNode;
23
+ } & IconSlot;
24
+
25
+ const TabViewComponent = ({
26
+ Icon,
27
+ tabBarPosition,
28
+ keyboardDismissMode,
29
+ swipeEnabled,
30
+ scrollEnabled,
31
+ activeColor,
32
+ inactiveColor,
33
+ pressColor,
34
+ indicatorColor,
35
+ style,
36
+ children,
37
+ }: TabViewProps) => {
38
+ const [index, setIndex] = React.useState(0);
39
+ const [routes, setRoutes] = React.useState([]);
40
+ const [tabScenes, setTabScenes] = React.useState({});
41
+
42
+ React.useEffect(() => {
43
+ const newRoutes: any = [];
44
+ const scenes: any = {};
45
+
46
+ React.Children.toArray(children)
47
+ .filter((child: any) => child.type === TabViewItem)
48
+ .forEach((child: any) => {
49
+ if (child?.props?.id) {
50
+ newRoutes.push({
51
+ key: child?.props?.id,
52
+ ...child?.props,
53
+ });
54
+ scenes[child?.props?.id] = () => child;
55
+ }
56
+ });
57
+
58
+ setRoutes(newRoutes);
59
+ setTabScenes(scenes);
60
+ }, [children]);
61
+
62
+ const indexChangeHandler = (i: any) => setIndex(i);
63
+
64
+ const renderTabBar = (props: any) => {
65
+ console.log(props);
66
+ return (
67
+ <TabBar
68
+ {...props}
69
+ activeColor={activeColor}
70
+ inactiveColor={inactiveColor}
71
+ pressColor={pressColor}
72
+ scrollEnabled={scrollEnabled}
73
+ indicatorStyle={{ backgroundColor: indicatorColor }}
74
+ renderIcon={({ route, color }) =>
75
+ route?.icon ? (
76
+ <Icon name={route.icon} color={color} size={36} />
77
+ ) : null
78
+ }
79
+ style={style}
80
+ />
81
+ );
82
+ };
83
+
84
+ return (
85
+ <TabView
86
+ navigationState={{ index, routes }}
87
+ renderScene={SceneMap(tabScenes)}
88
+ renderTabBar={renderTabBar}
89
+ onIndexChange={indexChangeHandler}
90
+ tabBarPosition={tabBarPosition}
91
+ keyboardDismissMode={keyboardDismissMode}
92
+ swipeEnabled={swipeEnabled}
93
+ />
94
+ );
95
+ };
96
+
97
+ export default TabViewComponent;
@@ -0,0 +1,5 @@
1
+ const TabViewItem = ({ title, id, icon, children, accessibilityLabel, }) => {
2
+ console.log({ title, id, icon, accessibilityLabel });
3
+ return children;
4
+ };
5
+ export default TabViewItem;
@@ -0,0 +1,21 @@
1
+ import React from "react";
2
+ interface TabViewItemProps {
3
+ title: string;
4
+ id: string;
5
+ icon: string;
6
+ accessibilityLabel: string;
7
+ children: React.ReactNode;
8
+ }
9
+
10
+ const TabViewItem = ({
11
+ title,
12
+ id,
13
+ icon,
14
+ children,
15
+ accessibilityLabel,
16
+ }: TabViewItemProps) => {
17
+ console.log({ title, id, icon, accessibilityLabel });
18
+ return children;
19
+ };
20
+
21
+ export default TabViewItem;
@@ -0,0 +1,2 @@
1
+ export { default as TabView } from "./TabView";
2
+ export { default as TabViewItem } from "./TabViewItem";
@@ -0,0 +1,2 @@
1
+ export { default as TabView } from "./TabView";
2
+ export { default as TabViewItem } from "./TabViewItem";
package/src/index.js CHANGED
@@ -29,6 +29,7 @@ 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";
32
33
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
33
34
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
34
35
  /* Deprecated: Fix or Delete! */
package/src/index.tsx CHANGED
@@ -34,6 +34,7 @@ export {
34
34
  ActionSheetCancel,
35
35
  } from "./components/ActionSheet";
36
36
  export { Swiper, SwiperItem } from "./components/Swiper";
37
+ export { TabView, TabViewItem } from "./components/TabView";
37
38
 
38
39
  export {
39
40
  Center,
@@ -0,0 +1,73 @@
1
+ import { COMPONENT_TYPES, createTextProp, createTextEnumProp, createBoolProp, createColorProp, } from "@draftbit/types";
2
+ export const SEED_DATA = [
3
+ {
4
+ name: "Tab View",
5
+ tag: "TabView",
6
+ category: COMPONENT_TYPES.container,
7
+ layout: {},
8
+ props: {
9
+ tabBarPosition: createTextEnumProp({
10
+ label: "Tab Bar Position",
11
+ description: "Tab Bar Position",
12
+ options: ["top", "bottom"],
13
+ defaultValue: "top",
14
+ }),
15
+ keyboardDismissMode: createTextEnumProp({
16
+ label: "Keyboard Dismiss Mode",
17
+ description: "Keyboard Dismiss Mode",
18
+ options: ["auto", "on-drag", "none"],
19
+ defaultValue: "auto",
20
+ }),
21
+ swipeEnabled: createBoolProp({
22
+ label: "Swipe Enabled",
23
+ description: "Swipe Enabled",
24
+ defaultValue: true,
25
+ }),
26
+ scrollEnabled: createBoolProp({
27
+ label: "Scroll Enabled",
28
+ description: "Scroll Enabled",
29
+ defaultValue: true,
30
+ }),
31
+ activeColor: createColorProp({
32
+ label: "Active Color",
33
+ description: "Active Color",
34
+ defaultValue: "primary",
35
+ }),
36
+ inactiveColor: createColorProp({
37
+ label: "Inactive Color",
38
+ description: "Inactive Color",
39
+ defaultValue: null,
40
+ }),
41
+ pressColor: createColorProp({
42
+ label: "Press Color",
43
+ description: "Press Color",
44
+ defaultValue: null,
45
+ }),
46
+ indicatorColor: createColorProp({
47
+ label: "Indicator Color",
48
+ description: "Indicator Color",
49
+ defaultValue: null,
50
+ }),
51
+ },
52
+ },
53
+ {
54
+ name: "Tab View Item",
55
+ tag: "TabViewItem",
56
+ category: COMPONENT_TYPES.container,
57
+ layout: {},
58
+ props: {
59
+ title: createTextProp({
60
+ label: "Title",
61
+ description: "Tab Title",
62
+ }),
63
+ id: createTextProp({
64
+ label: "Id",
65
+ description: "Tab Id",
66
+ }),
67
+ accessibilityLabel: createTextProp({
68
+ label: "Accessibility Label",
69
+ description: "Accessibility Label",
70
+ }),
71
+ },
72
+ },
73
+ ];
@@ -0,0 +1,80 @@
1
+ import {
2
+ COMPONENT_TYPES,
3
+ createTextProp,
4
+ createTextEnumProp,
5
+ createBoolProp,
6
+ createColorProp,
7
+ } from "@draftbit/types";
8
+
9
+ export const SEED_DATA = [
10
+ {
11
+ name: "Tab View",
12
+ tag: "TabView",
13
+ category: COMPONENT_TYPES.container,
14
+ layout: {},
15
+ props: {
16
+ tabBarPosition: createTextEnumProp({
17
+ label: "Tab Bar Position",
18
+ description: "Tab Bar Position",
19
+ options: ["top", "bottom"],
20
+ defaultValue: "top",
21
+ }),
22
+ keyboardDismissMode: createTextEnumProp({
23
+ label: "Keyboard Dismiss Mode",
24
+ description: "Keyboard Dismiss Mode",
25
+ options: ["auto", "on-drag", "none"],
26
+ defaultValue: "auto",
27
+ }),
28
+ swipeEnabled: createBoolProp({
29
+ label: "Swipe Enabled",
30
+ description: "Swipe Enabled",
31
+ defaultValue: true,
32
+ }),
33
+ scrollEnabled: createBoolProp({
34
+ label: "Scroll Enabled",
35
+ description: "Scroll Enabled",
36
+ defaultValue: true,
37
+ }),
38
+ activeColor: createColorProp({
39
+ label: "Active Color",
40
+ description: "Active Color",
41
+ defaultValue: "primary",
42
+ }),
43
+ inactiveColor: createColorProp({
44
+ label: "Inactive Color",
45
+ description: "Inactive Color",
46
+ defaultValue: null,
47
+ }),
48
+ pressColor: createColorProp({
49
+ label: "Press Color",
50
+ description: "Press Color",
51
+ defaultValue: null,
52
+ }),
53
+ indicatorColor: createColorProp({
54
+ label: "Indicator Color",
55
+ description: "Indicator Color",
56
+ defaultValue: null,
57
+ }),
58
+ },
59
+ },
60
+ {
61
+ name: "Tab View Item",
62
+ tag: "TabViewItem",
63
+ category: COMPONENT_TYPES.container,
64
+ layout: {},
65
+ props: {
66
+ title: createTextProp({
67
+ label: "Title",
68
+ description: "Tab Title",
69
+ }),
70
+ id: createTextProp({
71
+ label: "Id",
72
+ description: "Tab Id",
73
+ }),
74
+ accessibilityLabel: createTextProp({
75
+ label: "Accessibility Label",
76
+ description: "Accessibility Label",
77
+ }),
78
+ },
79
+ },
80
+ ];