@draftbit/core 46.2.4-fba591.5 → 46.3.0
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.
- package/lib/commonjs/components/Accordion/AccordionItem.js +5 -25
- package/lib/commonjs/components/AnimatedCircularProgress.js +2 -12
- package/lib/commonjs/components/AvatarEdit.js +5 -17
- package/lib/commonjs/components/Carousel.js +10 -34
- package/lib/commonjs/components/Checkbox/CheckboxGroupRow.js +6 -24
- package/lib/commonjs/components/IconButton.js +5 -22
- package/lib/commonjs/components/Justification.js +1 -5
- package/lib/commonjs/components/Picker/PickerComponent.web.js +5 -24
- package/lib/commonjs/components/Portal/PortalConsumer.js +8 -10
- package/lib/commonjs/components/ProgressBar.js +7 -23
- package/lib/commonjs/components/RadioButton/RadioButtonFieldGroup.js +2 -11
- package/lib/commonjs/components/RadioButton/RadioButtonGroup.js +3 -16
- package/lib/commonjs/components/RadioButton/context.js +1 -1
- package/lib/commonjs/components/ResizeMode.js +1 -5
- package/lib/commonjs/components/Slider.js +5 -24
- package/lib/commonjs/components/TextField.js +30 -63
- package/lib/commonjs/components/ToggleButton.js +3 -18
- package/lib/module/components/Justification.js +0 -1
- package/lib/module/components/ResizeMode.js +0 -1
- package/package.json +4 -4
- package/src/Provider.js +0 -9
- package/src/components/Accordion/AccordionGroup.js +0 -44
- package/src/components/Accordion/AccordionItem.js +0 -32
- package/src/components/Accordion/index.js +0 -2
- package/src/components/ActionSheet/ActionSheet.js +0 -45
- package/src/components/ActionSheet/ActionSheetCancel.js +0 -6
- package/src/components/ActionSheet/ActionSheetItem.js +0 -30
- package/src/components/ActionSheet/index.js +0 -3
- package/src/components/AnimatedCircularProgress.js +0 -43
- package/src/components/AspectRatio.js +0 -18
- package/src/components/AvatarEdit.js +0 -30
- package/src/components/Banner.js +0 -109
- package/src/components/Button.js +0 -112
- package/src/components/Card.js +0 -57
- package/src/components/CardBlock.js +0 -54
- package/src/components/CardContainer.js +0 -69
- package/src/components/CardContainerRating.js +0 -79
- package/src/components/CardContainerShortImage.js +0 -33
- package/src/components/CardInline.js +0 -36
- package/src/components/Carousel.js +0 -68
- package/src/components/Checkbox/Checkbox.js +0 -63
- package/src/components/Checkbox/CheckboxGroup.js +0 -21
- package/src/components/Checkbox/CheckboxGroupRow.js +0 -77
- package/src/components/Checkbox/CheckboxRow.js +0 -78
- package/src/components/Checkbox/context.js +0 -14
- package/src/components/Checkbox/index.js +0 -3
- package/src/components/CircleImage.js +0 -8
- package/src/components/CircularProgress.js +0 -81
- package/src/components/Config.js +0 -64
- package/src/components/Container.js +0 -43
- package/src/components/DatePicker/DatePicker.js +0 -368
- package/src/components/DatePicker/DatePickerComponent.js +0 -13
- package/src/components/DatePicker/DatePickerComponent.web.js +0 -30
- package/src/components/DatePicker/DatePickerComponentType.js +0 -1
- package/src/components/DeprecatedButton.js +0 -95
- package/src/components/DeprecatedCardWrapper.js +0 -18
- package/src/components/DeprecatedFAB.js +0 -115
- package/src/components/Divider.js +0 -13
- package/src/components/Elevation.js +0 -20
- package/src/components/FAB.js +0 -46
- package/src/components/FieldSearchBarFull.js +0 -53
- package/src/components/FormRow.js +0 -19
- package/src/components/Header.js +0 -44
- package/src/components/HeaderLarge.js +0 -7
- package/src/components/HeaderMedium.js +0 -7
- package/src/components/HeaderOverline.js +0 -7
- package/src/components/IconButton.js +0 -35
- package/src/components/Image.js +0 -47
- package/src/components/Justification.js +0 -1
- package/src/components/Layout.js +0 -50
- package/src/components/NumberInput.js +0 -49
- package/src/components/Picker/Picker.js +0 -267
- package/src/components/Picker/PickerComponent.android.js +0 -69
- package/src/components/Picker/PickerComponent.ios.js +0 -79
- package/src/components/Picker/PickerComponent.web.js +0 -70
- package/src/components/Picker/PickerTypes.js +0 -1
- package/src/components/Portal/Portal.js +0 -35
- package/src/components/Portal/PortalConsumer.js +0 -27
- package/src/components/Portal/PortalHost.js +0 -107
- package/src/components/Portal/PortalManager.js +0 -32
- package/src/components/ProgressBar.js +0 -118
- package/src/components/ProgressCircle.js +0 -13
- package/src/components/ProgressIndicator.js +0 -27
- package/src/components/RadioButton/RadioButton.js +0 -17
- package/src/components/RadioButton/RadioButtonFieldGroup.js +0 -17
- package/src/components/RadioButton/RadioButtonGroup.js +0 -43
- package/src/components/RadioButton/RadioButtonRow.js +0 -76
- package/src/components/RadioButton/context.js +0 -14
- package/src/components/RadioButton/index.js +0 -4
- package/src/components/ResizeMode.js +0 -1
- package/src/components/Row.js +0 -48
- package/src/components/RowBodyIcon.js +0 -8
- package/src/components/RowHeadlineImageCaption.js +0 -12
- package/src/components/RowHeadlineImageIcon.js +0 -14
- package/src/components/SVG.js +0 -13
- package/src/components/ScreenContainer.js +0 -34
- package/src/components/Slider.js +0 -63
- package/src/components/StarRating.js +0 -50
- package/src/components/StepIndicator.js +0 -346
- package/src/components/Stepper.js +0 -39
- package/src/components/Surface.js +0 -32
- package/src/components/Swiper/Swiper.js +0 -29
- package/src/components/Swiper/SwiperItem.js +0 -9
- package/src/components/Swiper/index.js +0 -2
- package/src/components/Switch.js +0 -56
- package/src/components/Text.js +0 -27
- package/src/components/TextField.js +0 -423
- package/src/components/ToggleButton.js +0 -39
- package/src/components/Touchable.js +0 -12
- package/src/components/Touchable.web.js +0 -2
- package/src/components/Typography.js +0 -36
- package/src/components/useAuthState.js +0 -31
- package/src/constants.js +0 -10
- package/src/hooks.js +0 -12
- package/src/index.js +0 -53
- package/src/interfaces/Icon.js +0 -8
- package/src/mappings/Accordion.js +0 -41
- package/src/mappings/AccordionItem.js +0 -16
- package/src/mappings/ActionSheet.js +0 -13
- package/src/mappings/ActionSheetCancel.js +0 -19
- package/src/mappings/ActionSheetItem.js +0 -23
- package/src/mappings/ActivityIndicator.js +0 -58
- package/src/mappings/AudioPlayer.js +0 -20
- package/src/mappings/AvatarEdit.js +0 -38
- package/src/mappings/Banner.js +0 -32
- package/src/mappings/BlurView.js +0 -42
- package/src/mappings/Button.js +0 -74
- package/src/mappings/Card.js +0 -52
- package/src/mappings/CardBlock.js +0 -123
- package/src/mappings/CardContainer.js +0 -104
- package/src/mappings/CardContainerRating.js +0 -126
- package/src/mappings/CardContainerShortImage.js +0 -120
- package/src/mappings/CardInline.js +0 -52
- package/src/mappings/Carousel.js +0 -19
- package/src/mappings/Checkbox.js +0 -46
- package/src/mappings/CheckboxGroup.js +0 -26
- package/src/mappings/CheckboxRow.js +0 -61
- package/src/mappings/CircleImage.js +0 -25
- package/src/mappings/Container.js +0 -30
- package/src/mappings/CustomCode.js +0 -8
- package/src/mappings/DatePicker.js +0 -157
- package/src/mappings/Divider.js +0 -27
- package/src/mappings/FAB.js +0 -37
- package/src/mappings/Fetch.js +0 -13
- package/src/mappings/FieldSearchBarFull.js +0 -50
- package/src/mappings/FlatList.js +0 -24
- package/src/mappings/HeaderLarge.js +0 -29
- package/src/mappings/HeaderMedium.js +0 -55
- package/src/mappings/HeaderOverline.js +0 -55
- package/src/mappings/Icon.js +0 -32
- package/src/mappings/IconButton.js +0 -35
- package/src/mappings/Image.js +0 -21
- package/src/mappings/ImageBackground.js +0 -29
- package/src/mappings/KeyboardAvoidingView.js +0 -41
- package/src/mappings/KeyboardAwareScrollView.js +0 -50
- package/src/mappings/Layout.js +0 -200
- package/src/mappings/LinearGradient.js +0 -77
- package/src/mappings/MapCallout.js +0 -21
- package/src/mappings/MapMarker.js +0 -47
- package/src/mappings/MapView.js +0 -139
- package/src/mappings/Modal.js +0 -42
- package/src/mappings/NumberInput.js +0 -254
- package/src/mappings/Picker.js +0 -148
- package/src/mappings/ProgressBar.js +0 -101
- package/src/mappings/ProgressCircle.js +0 -109
- package/src/mappings/ProgressIndicator.js +0 -181
- package/src/mappings/RadioButton.js +0 -51
- package/src/mappings/RadioButtonGroup.js +0 -17
- package/src/mappings/RadioButtonRow.js +0 -42
- package/src/mappings/RowBodyIcon.js +0 -75
- package/src/mappings/RowHeadlineImageCaption.js +0 -167
- package/src/mappings/RowHeadlineImageIcon.js +0 -99
- package/src/mappings/SVG.js +0 -20
- package/src/mappings/SafeAreaView.js +0 -33
- package/src/mappings/ScrollView.js +0 -31
- package/src/mappings/Slider.js +0 -60
- package/src/mappings/StarRating.js +0 -43
- package/src/mappings/Stepper.js +0 -29
- package/src/mappings/Surface.js +0 -14
- package/src/mappings/Swiper.js +0 -60
- package/src/mappings/SwiperItem.js +0 -8
- package/src/mappings/Switch.js +0 -81
- package/src/mappings/Text.js +0 -251
- package/src/mappings/TextArea.js +0 -263
- package/src/mappings/TextField.js +0 -381
- package/src/mappings/TextInput.js +0 -391
- package/src/mappings/ToggleButton.js +0 -50
- package/src/mappings/Touchable.js +0 -17
- package/src/mappings/Video.js +0 -81
- package/src/mappings/View.js +0 -207
- package/src/mappings/WebView.js +0 -88
- package/src/styles/DarkTheme.js +0 -26
- package/src/styles/DefaultTheme.js +0 -111
- package/src/styles/fonts.js +0 -62
- package/src/styles/overlay.js +0 -60
- package/src/styles/shadow.js +0 -51
- package/src/theming.js +0 -3
- package/src/utilities.js +0 -102
|
@@ -17,6 +17,10 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
17
17
|
|
|
18
18
|
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; }
|
|
19
19
|
|
|
20
|
+
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); }
|
|
21
|
+
|
|
22
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
23
|
+
|
|
20
24
|
const AnimatedText = _reactNative.Animated.createAnimatedComponent(_reactNative.Text);
|
|
21
25
|
|
|
22
26
|
const FOCUS_ANIMATION_DURATION = 150;
|
|
@@ -26,7 +30,8 @@ const ICON_SIZE = 24;
|
|
|
26
30
|
class TextField extends React.Component {
|
|
27
31
|
constructor() {
|
|
28
32
|
super(...arguments);
|
|
29
|
-
|
|
33
|
+
|
|
34
|
+
_defineProperty(this, "state", {
|
|
30
35
|
labeled: new _reactNative.Animated.Value(this.props.value || this.props.error ? 0 : 1),
|
|
31
36
|
focused: false,
|
|
32
37
|
placeholder: this.props.error ? this.props.placeholder : "",
|
|
@@ -34,35 +39,36 @@ class TextField extends React.Component {
|
|
|
34
39
|
measured: false,
|
|
35
40
|
width: 0
|
|
36
41
|
}
|
|
37
|
-
};
|
|
38
|
-
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
_defineProperty(this, "_timer", setTimeout(() => {}, 0));
|
|
39
45
|
|
|
40
|
-
this
|
|
46
|
+
_defineProperty(this, "_showPlaceholder", () => {
|
|
41
47
|
clearTimeout(this._timer); // Set the placeholder in a delay to offset the label animation
|
|
42
48
|
// If we show it immediately, they'll overlap and look ugly
|
|
43
49
|
|
|
44
50
|
this._timer = setTimeout(() => this.setState({
|
|
45
51
|
placeholder: this.props.placeholder
|
|
46
52
|
}), 50);
|
|
47
|
-
};
|
|
53
|
+
});
|
|
48
54
|
|
|
49
|
-
this
|
|
55
|
+
_defineProperty(this, "_hidePlaceholder", () => this.setState({
|
|
50
56
|
placeholder: ""
|
|
51
|
-
});
|
|
57
|
+
}));
|
|
52
58
|
|
|
53
|
-
this
|
|
59
|
+
_defineProperty(this, "_restoreLabel", () => _reactNative.Animated.timing(this.state.labeled, {
|
|
54
60
|
toValue: 1,
|
|
55
61
|
duration: FOCUS_ANIMATION_DURATION,
|
|
56
62
|
useNativeDriver: true
|
|
57
|
-
}).start();
|
|
63
|
+
}).start());
|
|
58
64
|
|
|
59
|
-
this
|
|
65
|
+
_defineProperty(this, "_minmizeLabel", () => _reactNative.Animated.timing(this.state.labeled, {
|
|
60
66
|
toValue: 0,
|
|
61
67
|
duration: BLUR_ANIMATION_DURATION,
|
|
62
68
|
useNativeDriver: true
|
|
63
|
-
}).start();
|
|
69
|
+
}).start());
|
|
64
70
|
|
|
65
|
-
this
|
|
71
|
+
_defineProperty(this, "_handleFocus", () => {
|
|
66
72
|
if (this.props.disabled) {
|
|
67
73
|
return;
|
|
68
74
|
}
|
|
@@ -70,9 +76,9 @@ class TextField extends React.Component {
|
|
|
70
76
|
this.setState({
|
|
71
77
|
focused: true
|
|
72
78
|
});
|
|
73
|
-
};
|
|
79
|
+
});
|
|
74
80
|
|
|
75
|
-
this
|
|
81
|
+
_defineProperty(this, "_handleBlur", () => {
|
|
76
82
|
if (this.props.disabled) {
|
|
77
83
|
return;
|
|
78
84
|
}
|
|
@@ -80,9 +86,9 @@ class TextField extends React.Component {
|
|
|
80
86
|
this.setState({
|
|
81
87
|
focused: false
|
|
82
88
|
});
|
|
83
|
-
};
|
|
89
|
+
});
|
|
84
90
|
|
|
85
|
-
this
|
|
91
|
+
_defineProperty(this, "_handleChangeText", value => {
|
|
86
92
|
if (this.props.disabled) {
|
|
87
93
|
return;
|
|
88
94
|
}
|
|
@@ -98,9 +104,9 @@ class TextField extends React.Component {
|
|
|
98
104
|
});
|
|
99
105
|
this.props.onChangeText && this.props.onChangeText(value.nativeEvent.text);
|
|
100
106
|
}
|
|
101
|
-
};
|
|
107
|
+
});
|
|
102
108
|
|
|
103
|
-
this
|
|
109
|
+
_defineProperty(this, "_root", undefined);
|
|
104
110
|
}
|
|
105
111
|
|
|
106
112
|
static getDerivedStateFromProps(nextProps, prevState) {
|
|
@@ -151,11 +157,10 @@ class TextField extends React.Component {
|
|
|
151
157
|
focused: !prevState.focused
|
|
152
158
|
}));
|
|
153
159
|
}
|
|
160
|
+
|
|
154
161
|
/**
|
|
155
162
|
* @internal
|
|
156
163
|
*/
|
|
157
|
-
|
|
158
|
-
|
|
159
164
|
setNativeProps(args) {
|
|
160
165
|
return this._root && this._root.setNativeProps(args);
|
|
161
166
|
}
|
|
@@ -198,8 +203,7 @@ class TextField extends React.Component {
|
|
|
198
203
|
roundness,
|
|
199
204
|
disabledOpacity
|
|
200
205
|
},
|
|
201
|
-
render = props => /*#__PURE__*/React.createElement(_reactNative.TextInput,
|
|
202
|
-
}),
|
|
206
|
+
render = props => /*#__PURE__*/React.createElement(_reactNative.TextInput, props),
|
|
203
207
|
...rest
|
|
204
208
|
} = this.props;
|
|
205
209
|
const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
|
|
@@ -353,9 +357,9 @@ class TextField extends React.Component {
|
|
|
353
357
|
|
|
354
358
|
return /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
355
359
|
style: [styles.container, styleProp]
|
|
356
|
-
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon, {
|
|
360
|
+
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
|
|
357
361
|
style: leftIconStyle
|
|
358
|
-
}) : null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
362
|
+
})) : null, /*#__PURE__*/React.createElement(_reactNative.View, {
|
|
359
363
|
style: (0, _utilities.applyStyles)([containerStyle], {
|
|
360
364
|
height: style === null || style === void 0 ? void 0 : style.height,
|
|
361
365
|
backgroundColor: bgColor,
|
|
@@ -422,9 +426,9 @@ class TextField extends React.Component {
|
|
|
422
426
|
style: {
|
|
423
427
|
justifyContent: type === "solid" ? "center" : undefined
|
|
424
428
|
}
|
|
425
|
-
}, /*#__PURE__*/React.createElement(Icon, {
|
|
429
|
+
}, /*#__PURE__*/React.createElement(Icon, _extends({}, leftIconProps, {
|
|
426
430
|
style: leftIconStyle
|
|
427
|
-
})) : null, render({
|
|
431
|
+
}))) : null, render({
|
|
428
432
|
ref: c => {
|
|
429
433
|
this._root = c;
|
|
430
434
|
},
|
|
@@ -465,43 +469,6 @@ var _default = (0, _theming.withTheme)(TextField);
|
|
|
465
469
|
|
|
466
470
|
exports.default = _default;
|
|
467
471
|
|
|
468
|
-
const styles = _reactNative.StyleSheet.create({
|
|
469
|
-
container: {
|
|
470
|
-
alignSelf: "stretch"
|
|
471
|
-
},
|
|
472
|
-
placeholder: {
|
|
473
|
-
position: "absolute",
|
|
474
|
-
left: 0
|
|
475
|
-
},
|
|
476
|
-
underline: {
|
|
477
|
-
position: "absolute",
|
|
478
|
-
left: 0,
|
|
479
|
-
right: 0,
|
|
480
|
-
bottom: 0,
|
|
481
|
-
height: 2
|
|
482
|
-
},
|
|
483
|
-
input: {
|
|
484
|
-
flexGrow: 1,
|
|
485
|
-
justifyContent: "center",
|
|
486
|
-
textAlignVertical: "center",
|
|
487
|
-
margin: 0,
|
|
488
|
-
textAlign: _reactNative.I18nManager.isRTL ? "right" : "left"
|
|
489
|
-
}
|
|
490
|
-
});? /*#__PURE__*/React.createElement(_reactNative.Text, {
|
|
491
|
-
style: [{
|
|
492
|
-
color: error ? colors.error : colors.light,
|
|
493
|
-
marginTop: 8,
|
|
494
|
-
marginLeft: assistiveTextLeftMargin
|
|
495
|
-
}]
|
|
496
|
-
}, assistiveText) : null);
|
|
497
|
-
}
|
|
498
|
-
|
|
499
|
-
}
|
|
500
|
-
|
|
501
|
-
var _default = (0, _theming.withTheme)(TextField);
|
|
502
|
-
|
|
503
|
-
exports.default = _default;
|
|
504
|
-
|
|
505
472
|
const styles = _reactNative.StyleSheet.create({
|
|
506
473
|
container: {
|
|
507
474
|
alignSelf: "stretch"
|
|
@@ -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 ToggleButton = _ref => {
|
|
23
25
|
let {
|
|
24
26
|
Icon,
|
|
@@ -56,7 +58,7 @@ const ToggleButton = _ref => {
|
|
|
56
58
|
onPress(!internalValue);
|
|
57
59
|
};
|
|
58
60
|
|
|
59
|
-
return /*#__PURE__*/React.createElement(_IconButton.default, {
|
|
61
|
+
return /*#__PURE__*/React.createElement(_IconButton.default, _extends({
|
|
60
62
|
Icon: Icon,
|
|
61
63
|
icon: icon,
|
|
62
64
|
size: iconSize,
|
|
@@ -68,23 +70,6 @@ const ToggleButton = _ref => {
|
|
|
68
70
|
height,
|
|
69
71
|
backgroundColor: internalValue ? colors[colorSecondary] : colors[color],
|
|
70
72
|
borderColor: colors[borderColor]
|
|
71
|
-
}, style],
|
|
72
|
-
...rest
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
|
|
76
|
-
const styles = _reactNative.StyleSheet.create({
|
|
77
|
-
mainContainer: {
|
|
78
|
-
borderWidth: 1
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
|
|
82
|
-
var _default = (0, _theming.withTheme)(ToggleButton);
|
|
83
|
-
|
|
84
|
-
exports.default = _default;th,
|
|
85
|
-
height,
|
|
86
|
-
backgroundColor: internalValue ? colors[colorSecondary] : colors[color],
|
|
87
|
-
borderColor: colors[borderColor]
|
|
88
73
|
}, style]
|
|
89
74
|
}, rest));
|
|
90
75
|
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@draftbit/core",
|
|
3
|
-
"version": "46.
|
|
3
|
+
"version": "46.3.0",
|
|
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.
|
|
44
|
+
"@draftbit/types": "^46.3.0",
|
|
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",
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
"lodash.omit": "^4.5.0",
|
|
54
54
|
"lodash.tonumber": "^4.0.3",
|
|
55
55
|
"react-native-modal-datetime-picker": "^13.0.0",
|
|
56
|
-
"react-native-svg": "
|
|
56
|
+
"react-native-svg": "12.3.0",
|
|
57
57
|
"react-native-typography": "^1.4.1",
|
|
58
58
|
"react-native-web-swiper": "^2.2.3"
|
|
59
59
|
},
|
|
@@ -80,5 +80,5 @@
|
|
|
80
80
|
]
|
|
81
81
|
]
|
|
82
82
|
},
|
|
83
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "90a944afbd74ef9350ee8c97f512b0f067642532"
|
|
84
84
|
}
|
package/src/Provider.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,44 +0,0 @@
|
|
|
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);
|
|
@@ -1,32 +0,0 @@
|
|
|
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);
|
|
@@ -1,45 +0,0 @@
|
|
|
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;
|
|
@@ -1,6 +0,0 @@
|
|
|
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;
|
|
@@ -1,30 +0,0 @@
|
|
|
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;
|
|
@@ -1,43 +0,0 @@
|
|
|
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;
|
|
@@ -1,18 +0,0 @@
|
|
|
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;
|
|
@@ -1,30 +0,0 @@
|
|
|
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);
|
package/src/components/Banner.js
DELETED
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
import { Button, Text, View, StyleSheet, Animated, } from "react-native";
|
|
3
|
-
import Surface from "./Surface";
|
|
4
|
-
import shadow from "../styles/shadow";
|
|
5
|
-
import { withTheme } from "../theming";
|
|
6
|
-
const ELEVATION = 1;
|
|
7
|
-
const DEFAULT_MAX_WIDTH = 960;
|
|
8
|
-
const Banner = ({ initiallyVisible = true, dismissable = true, icon, buttonColor, content, contentStyle, style, theme, Icon, ...rest }) => {
|
|
9
|
-
const [visible, setVisible] = React.useState(initiallyVisible);
|
|
10
|
-
React.useEffect(() => {
|
|
11
|
-
if (initiallyVisible) {
|
|
12
|
-
setVisible(true);
|
|
13
|
-
}
|
|
14
|
-
}, [initiallyVisible]);
|
|
15
|
-
const { current: position } = React.useRef(new Animated.Value(visible ? 1 : 0));
|
|
16
|
-
const [layout, setLayout] = React.useState({
|
|
17
|
-
height: 0,
|
|
18
|
-
measured: false,
|
|
19
|
-
});
|
|
20
|
-
React.useEffect(() => {
|
|
21
|
-
if (visible) {
|
|
22
|
-
// show
|
|
23
|
-
Animated.timing(position, {
|
|
24
|
-
duration: 250,
|
|
25
|
-
toValue: 1,
|
|
26
|
-
useNativeDriver: false,
|
|
27
|
-
}).start();
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
// hide
|
|
31
|
-
Animated.timing(position, {
|
|
32
|
-
duration: 200,
|
|
33
|
-
toValue: 0,
|
|
34
|
-
useNativeDriver: false,
|
|
35
|
-
}).start();
|
|
36
|
-
}
|
|
37
|
-
}, [visible, position]);
|
|
38
|
-
const handleLayout = ({ nativeEvent }) => {
|
|
39
|
-
const { height } = nativeEvent.layout;
|
|
40
|
-
setLayout({ height, measured: true });
|
|
41
|
-
};
|
|
42
|
-
// The banner animation has 2 parts:
|
|
43
|
-
// 1. Blank spacer element which animates its height to move the content
|
|
44
|
-
// 2. Actual banner which animates its translateY
|
|
45
|
-
// In initial render, we position everything normally and measure the height of the banner
|
|
46
|
-
// Once we have the height, we apply the height to the spacer and switch the banner to position: absolute
|
|
47
|
-
// We need this because we need to move the content below as if banner's height was being animated
|
|
48
|
-
// However we can't animated banner's height directly as it'll also resize the content inside
|
|
49
|
-
const height = Animated.multiply(position, layout.height);
|
|
50
|
-
const translateY = Animated.multiply(Animated.add(position, -1), layout.height);
|
|
51
|
-
return (React.createElement(Surface, { ...rest, style: [styles.container, shadow(ELEVATION), style] },
|
|
52
|
-
React.createElement(View, { style: [styles.wrapper, contentStyle] },
|
|
53
|
-
React.createElement(Animated.View, { style: { height } }),
|
|
54
|
-
React.createElement(Animated.View, { onLayout: handleLayout, style: [
|
|
55
|
-
layout.measured || !visible
|
|
56
|
-
? // If we have measured banner's height or it's invisible,
|
|
57
|
-
// Position it absolutely, the layout will be taken care of the spacer
|
|
58
|
-
[styles.absolute, { transform: [{ translateY }] }]
|
|
59
|
-
: // Otherwise position it normally
|
|
60
|
-
null,
|
|
61
|
-
!layout.measured && !visible
|
|
62
|
-
? // If we haven't measured banner's height yet and it's invisible,
|
|
63
|
-
// hide it with opacity: 0 so user doesn't see it
|
|
64
|
-
{ opacity: 0 }
|
|
65
|
-
: null,
|
|
66
|
-
] },
|
|
67
|
-
React.createElement(View, { style: [styles.content, { marginBottom: dismissable ? 0 : 16 }] },
|
|
68
|
-
icon ? (React.createElement(View, { style: styles.icon },
|
|
69
|
-
React.createElement(Icon, { name: icon, size: 40 }))) : null,
|
|
70
|
-
React.createElement(Text, { style: [styles.message, { color: theme.colors.text }], accessibilityLiveRegion: visible ? "polite" : "none", accessibilityRole: "alert" }, content)),
|
|
71
|
-
dismissable ? (React.createElement(View, { style: styles.actions },
|
|
72
|
-
React.createElement(Button, { color: buttonColor || theme.colors.primary, title: "Close", onPress: () => setVisible(false) }))) : null))));
|
|
73
|
-
};
|
|
74
|
-
const styles = StyleSheet.create({
|
|
75
|
-
container: {
|
|
76
|
-
elevation: ELEVATION,
|
|
77
|
-
},
|
|
78
|
-
wrapper: {
|
|
79
|
-
overflow: "hidden",
|
|
80
|
-
alignSelf: "center",
|
|
81
|
-
width: "100%",
|
|
82
|
-
maxWidth: DEFAULT_MAX_WIDTH,
|
|
83
|
-
},
|
|
84
|
-
absolute: {
|
|
85
|
-
position: "absolute",
|
|
86
|
-
top: 0,
|
|
87
|
-
width: "100%",
|
|
88
|
-
},
|
|
89
|
-
content: {
|
|
90
|
-
flexDirection: "row",
|
|
91
|
-
justifyContent: "flex-start",
|
|
92
|
-
marginHorizontal: 8,
|
|
93
|
-
marginTop: 16,
|
|
94
|
-
marginBottom: 0,
|
|
95
|
-
},
|
|
96
|
-
icon: {
|
|
97
|
-
margin: 8,
|
|
98
|
-
},
|
|
99
|
-
message: {
|
|
100
|
-
flex: 1,
|
|
101
|
-
margin: 8,
|
|
102
|
-
},
|
|
103
|
-
actions: {
|
|
104
|
-
flexDirection: "row",
|
|
105
|
-
justifyContent: "flex-end",
|
|
106
|
-
margin: 8,
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
export default withTheme(Banner);
|