@draftbit/core 43.4.11-421a19.2 → 43.4.11-6db873.5

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 (64) hide show
  1. package/lib/commonjs/components/Accordion/AccordionGroup.js +2 -2
  2. package/lib/commonjs/components/Accordion/AccordionGroup.js.map +1 -1
  3. package/lib/commonjs/components/Accordion/index.js.map +1 -1
  4. package/lib/commonjs/components/Checkbox/index.js.map +1 -1
  5. package/lib/commonjs/components/Divider.js +13 -3
  6. package/lib/commonjs/components/Divider.js.map +1 -1
  7. package/lib/commonjs/components/Elevation.js +3 -14
  8. package/lib/commonjs/components/Elevation.js.map +1 -1
  9. package/lib/commonjs/components/FAB.js +5 -19
  10. package/lib/commonjs/components/FAB.js.map +1 -1
  11. package/lib/commonjs/components/Header.js.map +1 -1
  12. package/lib/commonjs/components/Picker/PickerComponent.android.js +20 -6
  13. package/lib/commonjs/components/Picker/PickerComponent.android.js.map +1 -1
  14. package/lib/commonjs/components/TabView/TabView.js +103 -0
  15. package/lib/commonjs/components/TabView/TabView.js.map +1 -0
  16. package/lib/commonjs/components/TabView/TabViewItem.js +27 -0
  17. package/lib/commonjs/components/TabView/TabViewItem.js.map +1 -0
  18. package/lib/commonjs/components/TabView/index.js +24 -0
  19. package/lib/commonjs/components/TabView/index.js.map +1 -0
  20. package/lib/commonjs/components/TextField.js +8 -5
  21. package/lib/commonjs/components/TextField.js.map +1 -1
  22. package/lib/commonjs/index.js +14 -0
  23. package/lib/commonjs/index.js.map +1 -1
  24. package/lib/commonjs/mappings/FAB.js.map +1 -1
  25. package/lib/commonjs/mappings/RowHeadlineImageCaption.js.map +1 -1
  26. package/lib/commonjs/mappings/TabView.js +80 -0
  27. package/lib/commonjs/mappings/TabView.js.map +1 -0
  28. package/lib/module/components/Accordion/AccordionGroup.js +2 -2
  29. package/lib/module/components/Accordion/AccordionGroup.js.map +1 -1
  30. package/lib/module/components/Swiper/Swiper.js.map +1 -1
  31. package/lib/module/components/TabView/TabView.js +88 -0
  32. package/lib/module/components/TabView/TabView.js.map +1 -0
  33. package/lib/module/components/TabView/TabViewItem.js +19 -0
  34. package/lib/module/components/TabView/TabViewItem.js.map +1 -0
  35. package/lib/module/components/TabView/index.js +3 -0
  36. package/lib/module/components/TabView/index.js.map +1 -0
  37. package/lib/module/components/TextField.js +8 -5
  38. package/lib/module/components/TextField.js.map +1 -1
  39. package/lib/module/components/Typography.js.map +1 -1
  40. package/lib/module/index.js +1 -0
  41. package/lib/module/index.js.map +1 -1
  42. package/lib/module/mappings/AvatarEdit.js.map +1 -1
  43. package/lib/module/mappings/TabView.js +71 -0
  44. package/lib/module/mappings/TabView.js.map +1 -0
  45. package/lib/typescript/src/components/TabView/TabView.d.ts +19 -0
  46. package/lib/typescript/src/components/TabView/TabViewItem.d.ts +10 -0
  47. package/lib/typescript/src/components/TabView/index.d.ts +2 -0
  48. package/lib/typescript/src/index.d.ts +1 -0
  49. package/lib/typescript/src/mappings/TabView.d.ts +111 -0
  50. package/package.json +4 -2
  51. package/src/components/Accordion/AccordionGroup.js +1 -1
  52. package/src/components/Accordion/AccordionGroup.tsx +1 -1
  53. package/src/components/TabView/TabView.js +33 -0
  54. package/src/components/TabView/TabView.tsx +97 -0
  55. package/src/components/TabView/TabViewItem.js +5 -0
  56. package/src/components/TabView/TabViewItem.tsx +21 -0
  57. package/src/components/TabView/index.js +2 -0
  58. package/src/components/TabView/index.ts +2 -0
  59. package/src/components/TextField.js +5 -4
  60. package/src/components/TextField.tsx +6 -5
  61. package/src/index.js +1 -0
  62. package/src/index.tsx +1 -0
  63. package/src/mappings/TabView.js +73 -0
  64. package/src/mappings/TabView.ts +80 -0
@@ -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";
@@ -231,6 +231,7 @@ class TextField extends React.Component {
231
231
  : leftIconMode === "outset"
232
232
  ? 16
233
233
  : 0,
234
+ marginLeft: leftIconMode === "inset" && type === "solid" ? 16 : 0,
234
235
  };
235
236
  const labelStyle = {
236
237
  ...typography.subtitle1,
@@ -355,10 +356,10 @@ class TextField extends React.Component {
355
356
  opacity: hasActiveOutline ? this.state.labeled : 1,
356
357
  },
357
358
  ], numberOfLines: 1 }, label))) : null,
358
- leftIconName && leftIconMode === "inset" ? (React.createElement(Icon, { ...leftIconProps, style: {
359
- ...leftIconStyle,
360
- marginLeft: type === "solid" ? 16 : 0,
361
- } })) : null,
359
+ leftIconName && leftIconMode === "inset" ? (React.createElement(View, { style: {
360
+ justifyContent: type === "solid" ? "center" : undefined,
361
+ } },
362
+ React.createElement(Icon, { ...leftIconProps, style: leftIconStyle }))) : null,
362
363
  render({
363
364
  ref: (c) => {
364
365
  this._root = c;
@@ -359,6 +359,7 @@ class TextField extends React.Component<Props, State> {
359
359
  : leftIconMode === "outset"
360
360
  ? 16
361
361
  : 0,
362
+ marginLeft: leftIconMode === "inset" && type === "solid" ? 16 : 0,
362
363
  };
363
364
 
364
365
  const labelStyle = {
@@ -536,13 +537,13 @@ class TextField extends React.Component<Props, State> {
536
537
  ) : null}
537
538
 
538
539
  {leftIconName && leftIconMode === "inset" ? (
539
- <Icon
540
- {...leftIconProps}
540
+ <View
541
541
  style={{
542
- ...leftIconStyle,
543
- marginLeft: type === "solid" ? 16 : 0,
542
+ justifyContent: type === "solid" ? "center" : undefined,
544
543
  }}
545
- />
544
+ >
545
+ <Icon {...leftIconProps} style={leftIconStyle} />
546
+ </View>
546
547
  ) : null}
547
548
 
548
549
  {render({
package/src/index.js CHANGED
@@ -27,6 +27,7 @@ export { default as Touchable } from "./components/Touchable";
27
27
  export { AccordionGroup, AccordionItem } from "./components/Accordion";
28
28
  export { ActionSheet, ActionSheetItem, ActionSheetCancel, } from "./components/ActionSheet";
29
29
  export { Swiper, SwiperItem } from "./components/Swiper";
30
+ export { TabView, TabViewItem } from "./components/TabView";
30
31
  export { Center, Circle, Square, Row, Stack, Spacer, } from "./components/Layout";
31
32
  export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from "./components/RadioButton/index";
32
33
  /* Deprecated: Fix or Delete! */
package/src/index.tsx CHANGED
@@ -32,6 +32,7 @@ export {
32
32
  ActionSheetCancel,
33
33
  } from "./components/ActionSheet";
34
34
  export { Swiper, SwiperItem } from "./components/Swiper";
35
+ export { TabView, TabViewItem } from "./components/TabView";
35
36
 
36
37
  export {
37
38
  Center,
@@ -0,0 +1,73 @@
1
+ import { COMPONENT_TYPES, createTextProp, createTextEnumProp, createBoolProp, createColorProp, } from "@draftbit/types";
2
+ export const SEED_DATA = [
3
+ {
4
+ name: "TabView",
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: "TabViewItem",
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: "TabView",
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: "TabViewItem",
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
+ ];