@tecsinapse/react-native-kit 1.20.0 → 1.21.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/CHANGELOG.md +8 -0
- package/dist/components/atoms/Avatar/Avatar.js +3 -1
- package/dist/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/components/atoms/Avatar/index.js +9 -4
- package/dist/components/atoms/Avatar/index.js.map +1 -1
- package/dist/components/atoms/Badge/Badge.js +10 -7
- package/dist/components/atoms/Badge/Badge.js.map +1 -1
- package/dist/components/atoms/Badge/index.js +15 -5
- package/dist/components/atoms/Badge/index.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/BottomNavigator.js +12 -9
- package/dist/components/atoms/BottomNavigator/BottomNavigator.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/Item.js +10 -7
- package/dist/components/atoms/BottomNavigator/Item.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/index.js +21 -7
- package/dist/components/atoms/BottomNavigator/index.js.map +1 -1
- package/dist/components/atoms/BottomNavigator/styled.js +63 -44
- package/dist/components/atoms/BottomNavigator/styled.js.map +1 -1
- package/dist/components/atoms/Button/Button.js +10 -7
- package/dist/components/atoms/Button/Button.js.map +1 -1
- package/dist/components/atoms/Button/States/Error.js +3 -1
- package/dist/components/atoms/Button/States/Error.js.map +1 -1
- package/dist/components/atoms/Button/States/Loading.js +3 -1
- package/dist/components/atoms/Button/States/Loading.js.map +1 -1
- package/dist/components/atoms/Button/States/Success.js +3 -1
- package/dist/components/atoms/Button/States/Success.js.map +1 -1
- package/dist/components/atoms/Button/States/index.js +21 -8
- package/dist/components/atoms/Button/States/index.js.map +1 -1
- package/dist/components/atoms/Button/index.js +33 -9
- package/dist/components/atoms/Button/index.js.map +1 -1
- package/dist/components/atoms/GroupButton/GroupButtonOption.js +3 -1
- package/dist/components/atoms/GroupButton/GroupButtonOption.js.map +1 -1
- package/dist/components/atoms/GroupButton/index.js +9 -4
- package/dist/components/atoms/GroupButton/index.js.map +1 -1
- package/dist/components/atoms/Header/Header.js +18 -15
- package/dist/components/atoms/Header/Header.js.map +1 -1
- package/dist/components/atoms/Header/index.js +15 -5
- package/dist/components/atoms/Header/index.js.map +1 -1
- package/dist/components/atoms/Header/styled.js +16 -16
- package/dist/components/atoms/Header/styled.js.map +1 -1
- package/dist/components/atoms/Input/Input.js +30 -26
- package/dist/components/atoms/Input/Input.js.map +1 -1
- package/dist/components/atoms/Input/index.js +15 -5
- package/dist/components/atoms/Input/index.js.map +1 -1
- package/dist/components/atoms/Input/styled.js +13 -8
- package/dist/components/atoms/Input/styled.js.map +1 -1
- package/dist/components/atoms/InputMask/InputMask.js +31 -27
- package/dist/components/atoms/InputMask/InputMask.js.map +1 -1
- package/dist/components/atoms/InputMask/index.js +15 -5
- package/dist/components/atoms/InputMask/index.js.map +1 -1
- package/dist/components/atoms/InputMask/styled.js +14 -11
- package/dist/components/atoms/InputMask/styled.js.map +1 -1
- package/dist/components/atoms/Modal/ModalGroupManager.js +8 -5
- package/dist/components/atoms/Modal/ModalGroupManager.js.map +1 -1
- package/dist/components/atoms/Modal/ModalLifecycleHandler.js +87 -72
- package/dist/components/atoms/Modal/ModalLifecycleHandler.js.map +1 -1
- package/dist/components/atoms/Modal/index.js +45 -8
- package/dist/components/atoms/Modal/index.js.map +1 -1
- package/dist/components/atoms/Modal/ui/BaseModalView.js +15 -12
- package/dist/components/atoms/Modal/ui/BaseModalView.js.map +1 -1
- package/dist/components/atoms/Modal/ui/styled.js +18 -20
- package/dist/components/atoms/Modal/ui/styled.js.map +1 -1
- package/dist/components/atoms/Modal/ui/types.js +3 -1
- package/dist/components/atoms/Modal/useLazyModalManager.js +4 -2
- package/dist/components/atoms/Modal/useLazyModalManager.js.map +1 -1
- package/dist/components/atoms/Modal/useModalManager.js +4 -2
- package/dist/components/atoms/Modal/useModalManager.js.map +1 -1
- package/dist/components/atoms/Modal/useModalRemoteControl.js +3 -1
- package/dist/components/atoms/Modal/useModalRemoteControl.js.map +1 -1
- package/dist/components/atoms/Skeleton/Pulse.js +16 -11
- package/dist/components/atoms/Skeleton/Pulse.js.map +1 -1
- package/dist/components/atoms/Skeleton/Skeleton.js +13 -10
- package/dist/components/atoms/Skeleton/Skeleton.js.map +1 -1
- package/dist/components/atoms/Skeleton/Wave.js +17 -12
- package/dist/components/atoms/Skeleton/Wave.js.map +1 -1
- package/dist/components/atoms/Skeleton/animation.js +3 -1
- package/dist/components/atoms/Skeleton/animation.js.map +1 -1
- package/dist/components/atoms/Skeleton/index.js +15 -5
- package/dist/components/atoms/Skeleton/index.js.map +1 -1
- package/dist/components/atoms/Skeleton/styled.js +25 -15
- package/dist/components/atoms/Skeleton/styled.js.map +1 -1
- package/dist/components/atoms/Skeleton/types.js +3 -1
- package/dist/components/atoms/SnappingSlider/SnappingSlider.js +11 -8
- package/dist/components/atoms/SnappingSlider/SnappingSlider.js.map +1 -1
- package/dist/components/atoms/SnappingSlider/index.js +15 -5
- package/dist/components/atoms/SnappingSlider/index.js.map +1 -1
- package/dist/components/atoms/Tag/Tag.js +8 -5
- package/dist/components/atoms/Tag/Tag.js.map +1 -1
- package/dist/components/atoms/Tag/index.js +15 -5
- package/dist/components/atoms/Tag/index.js.map +1 -1
- package/dist/components/atoms/Text/Text.js +8 -5
- package/dist/components/atoms/Text/Text.js.map +1 -1
- package/dist/components/atoms/Text/index.js +15 -5
- package/dist/components/atoms/Text/index.js.map +1 -1
- package/dist/components/atoms/Text/styled.js +16 -12
- package/dist/components/atoms/Text/styled.js.map +1 -1
- package/dist/components/atoms/TextArea/TextArea.js +30 -27
- package/dist/components/atoms/TextArea/TextArea.js.map +1 -1
- package/dist/components/atoms/TextArea/index.js +15 -5
- package/dist/components/atoms/TextArea/index.js.map +1 -1
- package/dist/components/atoms/TextArea/styled.js +3 -1
- package/dist/components/atoms/TextArea/styled.js.map +1 -1
- package/dist/components/molecules/Calendar/Calendar.js +9 -6
- package/dist/components/molecules/Calendar/Calendar.js.map +1 -1
- package/dist/components/molecules/Calendar/index.js +9 -4
- package/dist/components/molecules/Calendar/index.js.map +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.js +16 -12
- package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/molecules/DatePicker/index.js +15 -5
- package/dist/components/molecules/DatePicker/index.js.map +1 -1
- package/dist/components/molecules/DatePicker/styled.js +13 -6
- package/dist/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +14 -10
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/index.js +15 -5
- package/dist/components/molecules/DateTimePicker/index.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js +9 -6
- package/dist/components/molecules/DateTimeSelector/DateTimeSelector.js.map +1 -1
- package/dist/components/molecules/DateTimeSelector/index.js +9 -4
- package/dist/components/molecules/DateTimeSelector/index.js.map +1 -1
- package/dist/components/molecules/Grid/Grid.js +19 -13
- package/dist/components/molecules/Grid/Grid.js.map +1 -1
- package/dist/components/molecules/Grid/Item/Item.js +28 -25
- package/dist/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/components/molecules/Grid/Item/index.js +15 -5
- package/dist/components/molecules/Grid/Item/index.js.map +1 -1
- package/dist/components/molecules/Grid/index.js +15 -6
- package/dist/components/molecules/Grid/index.js.map +1 -1
- package/dist/components/molecules/IconTextButton/IconTextButton.js +13 -10
- package/dist/components/molecules/IconTextButton/IconTextButton.js.map +1 -1
- package/dist/components/molecules/IconTextButton/TextComponent.js +17 -12
- package/dist/components/molecules/IconTextButton/TextComponent.js.map +1 -1
- package/dist/components/molecules/IconTextButton/index.js +15 -5
- package/dist/components/molecules/IconTextButton/index.js.map +1 -1
- package/dist/components/molecules/IconTextButton/styled.js +31 -29
- package/dist/components/molecules/IconTextButton/styled.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPassword.js +8 -5
- package/dist/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/components/molecules/InputPassword/index.js +15 -5
- package/dist/components/molecules/InputPassword/index.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/LabelComponent.js +16 -11
- package/dist/components/molecules/LabeledSwitch/LabelComponent.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js +14 -11
- package/dist/components/molecules/LabeledSwitch/LabeledSwitch.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/index.js +15 -5
- package/dist/components/molecules/LabeledSwitch/index.js.map +1 -1
- package/dist/components/molecules/LabeledSwitch/styled.js +15 -18
- package/dist/components/molecules/LabeledSwitch/styled.js.map +1 -1
- package/dist/components/molecules/Select/Modal.js +43 -36
- package/dist/components/molecules/Select/Modal.js.map +1 -1
- package/dist/components/molecules/Select/Select.js +36 -33
- package/dist/components/molecules/Select/Select.js.map +1 -1
- package/dist/components/molecules/Select/index.js +15 -5
- package/dist/components/molecules/Select/index.js.map +1 -1
- package/dist/components/molecules/Select/styled.js +77 -84
- package/dist/components/molecules/Select/styled.js.map +1 -1
- package/dist/components/molecules/Snackbar/Snackbar.js +12 -9
- package/dist/components/molecules/Snackbar/Snackbar.js.map +1 -1
- package/dist/components/molecules/Snackbar/index.js +15 -5
- package/dist/components/molecules/Snackbar/index.js.map +1 -1
- package/dist/components/molecules/Snackbar/styled.js +18 -9
- package/dist/components/molecules/Snackbar/styled.js.map +1 -1
- package/dist/index.js +321 -79
- package/dist/index.js.map +1 -1
- package/dist/utils/date.js +3 -1
- package/dist/utils/date.js.map +1 -1
- package/package.json +3 -3
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
4
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "LabeledSwitch", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _LabeledSwitch.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "LabeledSwitchNativeProps", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _LabeledSwitch.LabeledSwitchNativeProps;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
5
18
|
|
|
6
19
|
var _LabeledSwitch = _interopRequireWildcard(require("./LabeledSwitch"));
|
|
7
20
|
|
|
8
|
-
exports.LabeledSwitch = _LabeledSwitch.default;
|
|
9
|
-
exports.LabeledSwitchNativeProps = _LabeledSwitch.LabeledSwitchNativeProps;
|
|
10
|
-
|
|
11
21
|
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
22
|
|
|
13
23
|
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; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/LabeledSwitch/index.ts"],"sourcesContent":["export {\n default as LabeledSwitch,\n LabeledSwitchNativeProps,\n} from './LabeledSwitch';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/LabeledSwitch/index.ts"],"sourcesContent":["export {\n default as LabeledSwitch,\n LabeledSwitchNativeProps,\n} from './LabeledSwitch';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
4
6
|
exports.StyledView = exports.StyledLabel = void 0;
|
|
5
7
|
|
|
6
8
|
var _native = _interopRequireWildcard(require("@emotion/native"));
|
|
@@ -9,27 +11,22 @@ var _reactNative = require("react-native");
|
|
|
9
11
|
|
|
10
12
|
var _Text = require("../../atoms/Text");
|
|
11
13
|
|
|
14
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4;
|
|
15
|
+
|
|
12
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); }
|
|
13
17
|
|
|
14
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; }
|
|
15
19
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
flex-direction: row;
|
|
19
|
-
align-items: center;
|
|
20
|
-
`;
|
|
20
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
21
|
+
|
|
22
|
+
const StyledView = (0, _native.default)(_reactNative.View)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n"])));
|
|
21
23
|
exports.StyledView = StyledView;
|
|
22
|
-
const StyledLabel = (0, _native.default)(_Text.Text)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
if (labelPosition === 'right') return (0, _native.css)
|
|
28
|
-
|
|
29
|
-
`;else if (labelPosition === 'left') return (0, _native.css)`
|
|
30
|
-
margin-right: ${theme == null ? void 0 : theme.spacing.centi};
|
|
31
|
-
`;
|
|
32
|
-
}}
|
|
33
|
-
`;
|
|
24
|
+
const StyledLabel = (0, _native.default)(_Text.Text)(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n ", "\n"])), _ref => {
|
|
25
|
+
let {
|
|
26
|
+
theme,
|
|
27
|
+
labelPosition
|
|
28
|
+
} = _ref;
|
|
29
|
+
if (labelPosition === 'right') return (0, _native.css)(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["\n margin-left: ", ";\n "])), theme === null || theme === void 0 ? void 0 : theme.spacing.centi);else if (labelPosition === 'left') return (0, _native.css)(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["\n margin-right: ", ";\n "])), theme === null || theme === void 0 ? void 0 : theme.spacing.centi);
|
|
30
|
+
});
|
|
34
31
|
exports.StyledLabel = StyledLabel;
|
|
35
32
|
//# sourceMappingURL=styled.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styled.js","names":["StyledView","styled","View","StyledLabel","Text","theme","labelPosition","css","spacing","centi"],"sources":["../../../../src/components/molecules/LabeledSwitch/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { LabelPositionOptions, StyleProps } from '@tecsinapse/react-core';\nimport { View } from 'react-native';\nimport { Text } from '../../atoms/Text';\n\nexport const StyledView = styled(View)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledLabel = styled(Text)<\n Partial<StyleProps> & {\n labelPosition: LabelPositionOptions;\n }\n>`\n ${({ theme, labelPosition }) => {\n if (labelPosition === 'right')\n return css`\n margin-left: ${theme?.spacing.centi};\n `;\n else if (labelPosition === 'left')\n return css`\n margin-right: ${theme?.spacing.centi};\n `;\n }}\n`;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"styled.js","names":["StyledView","styled","View","StyledLabel","Text","theme","labelPosition","css","spacing","centi"],"sources":["../../../../src/components/molecules/LabeledSwitch/styled.ts"],"sourcesContent":["import styled, { css } from '@emotion/native';\nimport { LabelPositionOptions, StyleProps } from '@tecsinapse/react-core';\nimport { View } from 'react-native';\nimport { Text } from '../../atoms/Text';\n\nexport const StyledView = styled(View)`\n display: flex;\n flex-direction: row;\n align-items: center;\n`;\n\nexport const StyledLabel = styled(Text)<\n Partial<StyleProps> & {\n labelPosition: LabelPositionOptions;\n }\n>`\n ${({ theme, labelPosition }) => {\n if (labelPosition === 'right')\n return css`\n margin-left: ${theme?.spacing.centi};\n `;\n else if (labelPosition === 'left')\n return css`\n margin-right: ${theme?.spacing.centi};\n `;\n }}\n`;\n"],"mappings":";;;;;;;AAAA;;AAEA;;AACA;;;;;;;;;;AAEO,MAAMA,UAAU,GAAG,IAAAC,eAAA,EAAOC,iBAAP,CAAH,yIAAhB;;AAMA,MAAMC,WAAW,GAAG,IAAAF,eAAA,EAAOG,UAAP,CAAH,kFAKpB,QAA8B;EAAA,IAA7B;IAAEC,KAAF;IAASC;EAAT,CAA6B;EAC9B,IAAIA,aAAa,KAAK,OAAtB,EACE,WAAOC,WAAP,6GACiBF,KADjB,aACiBA,KADjB,uBACiBA,KAAK,CAAEG,OAAP,CAAeC,KADhC,EADF,KAIK,IAAIH,aAAa,KAAK,MAAtB,EACH,WAAOC,WAAP,8GACkBF,KADlB,aACkBA,KADlB,uBACkBA,KAAK,CAAEG,OAAP,CAAeC,KADjC;AAGH,CAdqB,CAAjB"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
4
6
|
exports.Modal = void 0;
|
|
5
7
|
|
|
6
8
|
var _reactCore = require("@tecsinapse/react-core");
|
|
@@ -27,25 +29,26 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
29
|
|
|
28
30
|
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); }
|
|
29
31
|
|
|
30
|
-
const Component =
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
32
|
+
const Component = _ref => {
|
|
33
|
+
let {
|
|
34
|
+
options,
|
|
35
|
+
keyExtractor,
|
|
36
|
+
labelExtractor,
|
|
37
|
+
hideSearchBar,
|
|
38
|
+
searchBarPlaceholder,
|
|
39
|
+
focused,
|
|
40
|
+
type,
|
|
41
|
+
value,
|
|
42
|
+
onSelect,
|
|
43
|
+
onSearch,
|
|
44
|
+
selectModalTitle,
|
|
45
|
+
selectModalTitleComponent,
|
|
46
|
+
confirmButtonText,
|
|
47
|
+
loading,
|
|
48
|
+
close,
|
|
49
|
+
closeOnPick,
|
|
50
|
+
...others
|
|
51
|
+
} = _ref;
|
|
49
52
|
const [selectedValues, setSelectedValues] = React.useState([]);
|
|
50
53
|
const [searchArg, setSearchArg] = (0, _reactCore.useDebouncedState)('', onSearch);
|
|
51
54
|
const ModalComponent = React.useMemo(() => (0, _styled.getStyledModal)((0, _reactCore.getStatusBarHeight)(true)), []);
|
|
@@ -56,7 +59,7 @@ const Component = ({
|
|
|
56
59
|
setSelectedValues(value ? type === 'multi' ? value : [value] : []);
|
|
57
60
|
}, [value, focused, setSelectedValues]);
|
|
58
61
|
const getData = React.useCallback(options => {
|
|
59
|
-
return options
|
|
62
|
+
return options === null || options === void 0 ? void 0 : options.map((option, index) => ({ ...option,
|
|
60
63
|
_checked: type === 'multi' ? !!selectedValues.find(value => keyExtractor(option, index) == keyExtractor(value, index)) : keyExtractor(selectedValues[0] || {}, index) == keyExtractor(option, index)
|
|
61
64
|
}));
|
|
62
65
|
}, [keyExtractor, selectedValues, type]);
|
|
@@ -85,16 +88,19 @@ const Component = ({
|
|
|
85
88
|
}, [selectedValues[0], value, closeOnPick]);
|
|
86
89
|
const handleConfirm = React.useCallback(() => {
|
|
87
90
|
onSelect(type === 'single' ? selectedValues[0] : selectedValues);
|
|
88
|
-
close
|
|
91
|
+
close === null || close === void 0 ? void 0 : close();
|
|
89
92
|
}, [selectedValues]);
|
|
90
|
-
const optionBuilder = React.useCallback(
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
93
|
+
const optionBuilder = React.useCallback(_ref2 => {
|
|
94
|
+
let {
|
|
95
|
+
item
|
|
96
|
+
} = _ref2;
|
|
97
|
+
return React.createElement(MemoizedOption, {
|
|
98
|
+
item: item,
|
|
99
|
+
type: type,
|
|
100
|
+
handlePressItem: handlePressItem,
|
|
101
|
+
labelExtractor: labelExtractor
|
|
102
|
+
});
|
|
103
|
+
}, []);
|
|
98
104
|
const anyChecked = data.filter(item => item._checked).length;
|
|
99
105
|
const dataLengthChanged = data.length;
|
|
100
106
|
const memoizedFlatlist = React.useMemo(() => React.createElement(_reactNative.FlatList, {
|
|
@@ -148,12 +154,13 @@ const Component = ({
|
|
|
148
154
|
}, confirmButtonText))));
|
|
149
155
|
};
|
|
150
156
|
|
|
151
|
-
const MemoizedOption =
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
+
const MemoizedOption = _ref3 => {
|
|
158
|
+
let {
|
|
159
|
+
handlePressItem,
|
|
160
|
+
labelExtractor,
|
|
161
|
+
item,
|
|
162
|
+
type
|
|
163
|
+
} = _ref3;
|
|
157
164
|
return React.useMemo(() => {
|
|
158
165
|
const label = labelExtractor(item);
|
|
159
166
|
return React.createElement(_styled.ListItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","names":["Component","options","keyExtractor","labelExtractor","hideSearchBar","searchBarPlaceholder","focused","type","value","onSelect","onSearch","selectModalTitle","selectModalTitleComponent","confirmButtonText","loading","close","closeOnPick","others","selectedValues","setSelectedValues","React","useState","searchArg","setSearchArg","useDebouncedState","ModalComponent","useMemo","getStyledModal","getStatusBarHeight","_closeOnPick","useEffect","getData","useCallback","map","option","index","_checked","find","data","handlePressItem","newArr","found","push","handleConfirm","optionBuilder","item","anyChecked","filter","length","dataLengthChanged","memoizedFlatlist","titleTextModal","maxWidth","RFValue","headerContent","onPress","icon","name","fontColor","text","MemoizedOption","label","Modal"],"sources":["../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={text => setSearchArg(text)}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Modal.js","names":["Component","options","keyExtractor","labelExtractor","hideSearchBar","searchBarPlaceholder","focused","type","value","onSelect","onSearch","selectModalTitle","selectModalTitleComponent","confirmButtonText","loading","close","closeOnPick","others","selectedValues","setSelectedValues","React","useState","searchArg","setSearchArg","useDebouncedState","ModalComponent","useMemo","getStyledModal","getStatusBarHeight","_closeOnPick","useEffect","getData","useCallback","map","option","index","_checked","find","data","handlePressItem","newArr","found","push","handleConfirm","optionBuilder","item","anyChecked","filter","length","dataLengthChanged","memoizedFlatlist","titleTextModal","maxWidth","RFValue","headerContent","onPress","icon","name","fontColor","text","MemoizedOption","label","Modal"],"sources":["../../../../src/components/molecules/Select/Modal.tsx"],"sourcesContent":["import {\n Checkbox,\n getStatusBarHeight,\n RadioButton,\n RFValue,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { FlatList, ListRenderItemInfo, View } from 'react-native';\nimport { Button } from '../../atoms/Button';\nimport { Header } from '../../atoms/Header';\nimport { Input } from '../../atoms/Input';\nimport { IBaseModal, ModalView } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { SelectNativeProps } from './Select';\nimport {\n FetchIndicator,\n getStyledModal,\n ListItem,\n ModalFooter,\n SearchBarContainer,\n SelectIcon,\n TextTitleModal,\n} from './styled';\n\ninterface LoadingProps {\n loading?: boolean;\n}\n\nconst Component = <Data, Type extends 'single' | 'multi'>({\n options,\n keyExtractor,\n labelExtractor,\n hideSearchBar,\n searchBarPlaceholder,\n focused,\n type,\n value,\n onSelect,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n confirmButtonText,\n loading,\n close,\n closeOnPick,\n ...others\n}: SelectNativeProps<Data, Type> & LoadingProps & IBaseModal): JSX.Element => {\n const [selectedValues, setSelectedValues] = React.useState<Data[]>([]);\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const ModalComponent = React.useMemo(\n () => getStyledModal(getStatusBarHeight(true)),\n []\n );\n const _closeOnPick = closeOnPick && type === 'single';\n\n // Resets the temporary state to the initial state whenever the\n // modal is reopened or the value changes\n React.useEffect(() => {\n setSelectedValues(\n (value ? (type === 'multi' ? value : [value]) : []) as Data[]\n );\n }, [value, focused, setSelectedValues]);\n\n const getData = React.useCallback(\n (options: Data[]) => {\n return options?.map((option, index) => ({\n ...option,\n _checked:\n type === 'multi'\n ? !!selectedValues.find(\n value =>\n keyExtractor(option, index) == keyExtractor(value, index)\n )\n : keyExtractor((selectedValues[0] || {}) as Data, index) ==\n keyExtractor(option, index),\n }));\n },\n [keyExtractor, selectedValues, type]\n );\n\n const data = React.useMemo(\n () => (typeof options !== 'function' ? getData(options) : []),\n [options, getData]\n );\n\n const handlePressItem = React.useCallback(\n (option: Data) => {\n setSelectedValues(selectedValues => {\n if (type === 'multi') {\n const newArr: Data[] = [];\n let found = false;\n for (const value of selectedValues) {\n if (keyExtractor(value) != keyExtractor(option)) newArr.push(value);\n else found = true;\n }\n if (!found) newArr.push(option);\n return newArr;\n }\n return keyExtractor((selectedValues[0] || {}) as Data) ===\n keyExtractor(option)\n ? []\n : [option];\n });\n },\n [selectedValues, setSelectedValues, keyExtractor, type]\n );\n\n React.useEffect(() => {\n if (_closeOnPick && selectedValues[0] && selectedValues[0] !== value) {\n handleConfirm();\n }\n }, [selectedValues[0], value, closeOnPick]);\n\n const handleConfirm = React.useCallback(() => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n onSelect(\n (type === 'single' ? selectedValues[0] : selectedValues) as OnSelectArg\n );\n close?.();\n }, [selectedValues]);\n\n const optionBuilder = React.useCallback(\n ({ item }: ListRenderItemInfo<Data & { _checked: boolean }>) => (\n <MemoizedOption\n item={item}\n type={type}\n handlePressItem={handlePressItem}\n labelExtractor={labelExtractor}\n />\n ),\n []\n );\n\n const anyChecked = data.filter(item => item._checked).length;\n const dataLengthChanged = data.length;\n\n const memoizedFlatlist = React.useMemo(\n () => (\n <FlatList\n data={data}\n keyExtractor={keyExtractor}\n fadingEdgeLength={200}\n renderItem={optionBuilder}\n />\n ),\n [selectedValues, anyChecked, dataLengthChanged]\n );\n\n const titleTextModal = selectModalTitle ? (\n <TextTitleModal\n typography=\"h4\"\n fontWeight=\"bold\"\n numberOfLines={3}\n style={{ maxWidth: RFValue(250) }}\n >\n {selectModalTitle}\n </TextTitleModal>\n ) : null;\n\n const headerContent = selectModalTitleComponent\n ? selectModalTitleComponent\n : titleTextModal;\n\n return (\n <ModalView {...others} BoxComponent={ModalComponent} showCloseBar={false}>\n <Header\n rightButton={{\n onPress: close,\n icon: {\n name: 'close',\n type: 'material-community',\n fontColor: 'light',\n },\n }}\n >\n {headerContent}\n </Header>\n\n {!hideSearchBar && (\n <SearchBarContainer>\n <Input\n placeholder={searchBarPlaceholder}\n value={searchArg}\n onChange={text => setSearchArg(text)}\n leftComponent={\n <SelectIcon name=\"search\" type=\"ionicon\" size=\"centi\" />\n }\n />\n </SearchBarContainer>\n )}\n\n {loading && (\n <FetchIndicator animating={true} color={'grey'} size={'large'} />\n )}\n\n {memoizedFlatlist}\n\n {!_closeOnPick && (\n <ModalFooter>\n <Button\n variant={'filled'}\n color={'primary'}\n onPress={handleConfirm}\n disabled={loading}\n >\n <Text fontColor={'light'} fontWeight=\"bold\">\n {confirmButtonText}\n </Text>\n </Button>\n </ModalFooter>\n )}\n </ModalView>\n );\n};\n\ninterface IOption<T> {\n item: T & { _checked: boolean };\n type: 'single' | 'multi';\n labelExtractor: (option: T) => string;\n handlePressItem: (option: T) => void;\n}\n\nconst MemoizedOption = <T,>({\n handlePressItem,\n labelExtractor,\n item,\n type,\n}: IOption<T>): JSX.Element => {\n return React.useMemo(() => {\n const label = labelExtractor(item);\n return (\n <ListItem onPress={() => handlePressItem(item)}>\n <View pointerEvents={'none'}>\n {type === 'multi' ? (\n <Checkbox\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </Checkbox>\n ) : (\n <RadioButton\n color={'primary'}\n labelPosition={'right'}\n checked={item._checked}\n >\n <Text fontWeight={item._checked ? 'bold' : 'regular'}>\n {label}\n </Text>\n </RadioButton>\n )}\n </View>\n </ListItem>\n );\n }, [item._checked]);\n};\n\nexport const Modal = Component;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
4
6
|
exports.default = void 0;
|
|
5
7
|
|
|
6
8
|
var _reactCore = require("@tecsinapse/react-core");
|
|
@@ -21,35 +23,36 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
21
23
|
|
|
22
24
|
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
25
|
|
|
24
|
-
function Select({
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
26
|
+
function Select(_ref) {
|
|
27
|
+
let {
|
|
28
|
+
value,
|
|
29
|
+
options,
|
|
30
|
+
keyExtractor,
|
|
31
|
+
groupKeyExtractor,
|
|
32
|
+
onSelect,
|
|
33
|
+
type,
|
|
34
|
+
labelExtractor,
|
|
35
|
+
placeholder,
|
|
36
|
+
onFocus,
|
|
37
|
+
onBlur,
|
|
38
|
+
disabled,
|
|
39
|
+
onSearch,
|
|
40
|
+
selectModalTitle,
|
|
41
|
+
selectModalTitleComponent,
|
|
42
|
+
searchBarPlaceholder,
|
|
43
|
+
hideSearchBar,
|
|
44
|
+
confirmButtonText,
|
|
45
|
+
rightComponent,
|
|
46
|
+
variant = 'default',
|
|
47
|
+
hintComponent,
|
|
48
|
+
hint,
|
|
49
|
+
style,
|
|
50
|
+
controlComponent,
|
|
51
|
+
closeOnPick = type === 'single',
|
|
52
|
+
label,
|
|
53
|
+
numberOfLines,
|
|
54
|
+
...rest
|
|
55
|
+
} = _ref;
|
|
53
56
|
const {
|
|
54
57
|
focused,
|
|
55
58
|
handleBlur,
|
|
@@ -118,12 +121,12 @@ function Select({
|
|
|
118
121
|
if (Array.isArray(value)) {
|
|
119
122
|
if (value.length === 0) return _placeholder;else {
|
|
120
123
|
const options = selectOptions.length > 0 ? selectOptions : value;
|
|
121
|
-
return options
|
|
124
|
+
return options === null || options === void 0 ? void 0 : options.reduce((acc, option, index) => value.find(key => keyExtractor(option, index) == keyExtractor(key, index)) ? acc + labelExtractor(option) + ', ' : acc, '').slice(0, -2);
|
|
122
125
|
}
|
|
123
126
|
} else {
|
|
124
127
|
if (!value) return _placeholder;
|
|
125
|
-
const selectedOption = selectOptions
|
|
126
|
-
return labelExtractor(selectedOption
|
|
128
|
+
const selectedOption = selectOptions === null || selectOptions === void 0 ? void 0 : selectOptions.find((option, index) => keyExtractor(option, index) == keyExtractor(value, index));
|
|
129
|
+
return labelExtractor(selectedOption !== null && selectedOption !== void 0 ? selectedOption : value);
|
|
127
130
|
}
|
|
128
131
|
}, [_placeholder, value, selectOptions]);
|
|
129
132
|
modal.sync(React.createElement(_Modal2.Modal, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["Select","value","options","keyExtractor","groupKeyExtractor","onSelect","type","labelExtractor","placeholder","onFocus","onBlur","disabled","onSearch","selectModalTitle","selectModalTitleComponent","searchBarPlaceholder","hideSearchBar","confirmButtonText","rightComponent","variant","hintComponent","hint","style","controlComponent","closeOnPick","label","numberOfLines","rest","focused","handleBlur","handleFocus","useInputFocus","selectOptions","setSelectOptions","useState","modal","useLazyModalManager","loading","setLoading","onlyLabel","hasValue","length","_placeholder","_label","undefined","useEffect","handleLazyFocus","React","useCallback","result","find","v","e","handleOnSearch","searchInput","selectedValues","filter","current","requestUpdate","getDisplayValue","Array","isArray","reduce","acc","option","index","key","slice","selectedOption","sync","handlePressInput","show","Text"],"sources":["../../../../src/components/molecules/Select/Select.tsx"],"sourcesContent":["import {\n HintInputContainer,\n InputContainerProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useLazyModalManager } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { Modal } from './Modal';\nimport { SelectIcon, StyledSelectionText } from './styled';\n\nexport interface SelectNativeProps<Data, Type extends 'single' | 'multi'>\n extends Omit<InputContainerProps, 'value' | 'onChange' | 'onChangeText'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | null | undefined : Data[];\n type: Type;\n\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n groupKeyExtractor?: (t: Data) => string;\n\n hideSearchBar?: boolean;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n confirmButtonText?: string;\n selectModalTitle?: string;\n selectModalTitleComponent?: JSX.Element;\n closeOnPick?: boolean;\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n numberOfLines?: number;\n}\n\nfunction Select<Data, Type extends 'single' | 'multi'>({\n /** Select props */\n value,\n options,\n keyExtractor,\n groupKeyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n searchBarPlaceholder,\n hideSearchBar,\n confirmButtonText,\n rightComponent,\n variant = 'default',\n hintComponent,\n hint,\n style,\n controlComponent,\n closeOnPick = type === 'single',\n label,\n numberOfLines,\n ...rest\n}: SelectNativeProps<Data, Type>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const modal = useLazyModalManager();\n\n // TODO: Add Skeleton to modal height when loading is true\n const [loading, setLoading] = useState<boolean>(false);\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n const handleLazyFocus = React.useCallback(async () => {\n if (typeof options === 'function') {\n setLoading(true);\n try {\n const result = await options();\n if (result) {\n if (\n value &&\n !result.find(v => keyExtractor(value as Data) === keyExtractor(v))\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n setLoading(false);\n }\n }\n }, [options, value, setSelectOptions]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch) {\n setLoading(true);\n try {\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n modal.requestUpdate();\n setLoading(false);\n }\n }\n },\n [options, value, keyExtractor]\n );\n\n const getDisplayValue = React.useCallback(() => {\n if (Array.isArray(value)) {\n if (value.length === 0) return _placeholder;\n else {\n const options =\n selectOptions.length > 0 ? selectOptions : (value as Data[]);\n return options\n ?.reduce(\n (acc, option, index) =>\n value.find(\n key => keyExtractor(option, index) == keyExtractor(key, index)\n )\n ? acc + labelExtractor(option) + ', '\n : acc,\n ''\n )\n .slice(0, -2);\n }\n } else {\n if (!value) return _placeholder;\n const selectedOption = selectOptions?.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return labelExtractor(selectedOption ?? (value as Data));\n }\n }, [_placeholder, value, selectOptions]);\n\n modal.sync(\n <Modal\n options={selectOptions || []}\n focused={true}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n groupKeyExtractor={groupKeyExtractor}\n searchBarPlaceholder={searchBarPlaceholder}\n type={type}\n onSelect={onSelect}\n value={value}\n hideSearchBar={hideSearchBar}\n onSearch={handleOnSearch}\n selectModalTitle={selectModalTitle}\n selectModalTitleComponent={selectModalTitleComponent}\n confirmButtonText={confirmButtonText}\n loading={loading}\n onClose={handleBlur}\n closeOnPick={closeOnPick}\n />\n );\n\n const handlePressInput = async () => {\n modal.show();\n handleFocus();\n await handleLazyFocus();\n };\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handlePressInput, getDisplayValue() || '')\n ) : (\n <HintInputContainer\n viewStyle={style}\n onPress={handlePressInput}\n focused={focused}\n disabled={disabled}\n LabelComponent={Text}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n label={_label}\n rightComponent={\n <>\n <SelectIcon name=\"chevron-down\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledSelectionText\n numberOfLines={numberOfLines}\n fontWeight=\"bold\"\n disabled={disabled}\n >\n {getDisplayValue() || ' '}\n </StyledSelectionText>\n </HintInputContainer>\n )}\n </>\n );\n}\n\nexport default Select;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["Select","value","options","keyExtractor","groupKeyExtractor","onSelect","type","labelExtractor","placeholder","onFocus","onBlur","disabled","onSearch","selectModalTitle","selectModalTitleComponent","searchBarPlaceholder","hideSearchBar","confirmButtonText","rightComponent","variant","hintComponent","hint","style","controlComponent","closeOnPick","label","numberOfLines","rest","focused","handleBlur","handleFocus","useInputFocus","selectOptions","setSelectOptions","useState","modal","useLazyModalManager","loading","setLoading","onlyLabel","hasValue","length","_placeholder","_label","undefined","useEffect","handleLazyFocus","React","useCallback","result","find","v","e","handleOnSearch","searchInput","selectedValues","filter","current","requestUpdate","getDisplayValue","Array","isArray","reduce","acc","option","index","key","slice","selectedOption","sync","handlePressInput","show","Text"],"sources":["../../../../src/components/molecules/Select/Select.tsx"],"sourcesContent":["import {\n HintInputContainer,\n InputContainerProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { useEffect, useState } from 'react';\nimport { useLazyModalManager } from '../../atoms/Modal';\nimport { Text } from '../../atoms/Text';\nimport { Modal } from './Modal';\nimport { SelectIcon, StyledSelectionText } from './styled';\n\nexport interface SelectNativeProps<Data, Type extends 'single' | 'multi'>\n extends Omit<InputContainerProps, 'value' | 'onChange' | 'onChangeText'> {\n options: ((searchInput?: string) => Promise<Data[]>) | Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | null | undefined : Data[];\n type: Type;\n\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n groupKeyExtractor?: (t: Data) => string;\n\n hideSearchBar?: boolean;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n onSearch?:\n | ((searchArg: string) => void)\n | ((searchInput?: string) => Promise<Data[]>)\n | never;\n searchBarPlaceholder?: string;\n confirmButtonText?: string;\n selectModalTitle?: string;\n selectModalTitleComponent?: JSX.Element;\n closeOnPick?: boolean;\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n numberOfLines?: number;\n}\n\nfunction Select<Data, Type extends 'single' | 'multi'>({\n /** Select props */\n value,\n options,\n keyExtractor,\n groupKeyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n onSearch,\n selectModalTitle,\n selectModalTitleComponent,\n searchBarPlaceholder,\n hideSearchBar,\n confirmButtonText,\n rightComponent,\n variant = 'default',\n hintComponent,\n hint,\n style,\n controlComponent,\n closeOnPick = type === 'single',\n label,\n numberOfLines,\n ...rest\n}: SelectNativeProps<Data, Type>): JSX.Element {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const [selectOptions, setSelectOptions] = useState<Data[]>([]);\n const modal = useLazyModalManager();\n\n // TODO: Add Skeleton to modal height when loading is true\n const [loading, setLoading] = useState<boolean>(false);\n\n const onlyLabel = label && !placeholder;\n const hasValue =\n type === 'single' ? !!value : ((value || []) as []).length > 0;\n const _placeholder = onlyLabel ? label : placeholder;\n const _label = hasValue ? label : undefined;\n\n useEffect(() => {\n if (typeof options !== 'function') {\n setSelectOptions(options);\n }\n }, [options]);\n\n const handleLazyFocus = React.useCallback(async () => {\n if (typeof options === 'function') {\n setLoading(true);\n try {\n const result = await options();\n if (result) {\n if (\n value &&\n !result.find(v => keyExtractor(value as Data) === keyExtractor(v))\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n setLoading(false);\n }\n }\n }, [options, value, setSelectOptions]);\n\n const handleOnSearch = React.useCallback(\n async (searchInput: string | undefined) => {\n if (searchInput !== undefined && onSearch) {\n setLoading(true);\n try {\n const result = await onSearch(searchInput);\n if (result) {\n if (type === 'single') {\n if (\n value &&\n !result.find(\n v => keyExtractor(value as Data) === keyExtractor(v)\n )\n ) {\n setSelectOptions([value as Data, ...result]);\n } else setSelectOptions(result);\n } else {\n if ((value as Data[]).length > 0) {\n const selectedValues =\n (value as Data[]).filter(\n v =>\n !result.find(\n current =>\n keyExtractor(v as Data) === keyExtractor(current)\n )\n ) || [];\n setSelectOptions([...selectedValues, ...result]);\n } else {\n setSelectOptions(result);\n }\n }\n }\n } catch (e) {\n // TODO: Catch error\n } finally {\n modal.requestUpdate();\n setLoading(false);\n }\n }\n },\n [options, value, keyExtractor]\n );\n\n const getDisplayValue = React.useCallback(() => {\n if (Array.isArray(value)) {\n if (value.length === 0) return _placeholder;\n else {\n const options =\n selectOptions.length > 0 ? selectOptions : (value as Data[]);\n return options\n ?.reduce(\n (acc, option, index) =>\n value.find(\n key => keyExtractor(option, index) == keyExtractor(key, index)\n )\n ? acc + labelExtractor(option) + ', '\n : acc,\n ''\n )\n .slice(0, -2);\n }\n } else {\n if (!value) return _placeholder;\n const selectedOption = selectOptions?.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return labelExtractor(selectedOption ?? (value as Data));\n }\n }, [_placeholder, value, selectOptions]);\n\n modal.sync(\n <Modal\n options={selectOptions || []}\n focused={true}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n groupKeyExtractor={groupKeyExtractor}\n searchBarPlaceholder={searchBarPlaceholder}\n type={type}\n onSelect={onSelect}\n value={value}\n hideSearchBar={hideSearchBar}\n onSearch={handleOnSearch}\n selectModalTitle={selectModalTitle}\n selectModalTitleComponent={selectModalTitleComponent}\n confirmButtonText={confirmButtonText}\n loading={loading}\n onClose={handleBlur}\n closeOnPick={closeOnPick}\n />\n );\n\n const handlePressInput = async () => {\n modal.show();\n handleFocus();\n await handleLazyFocus();\n };\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handlePressInput, getDisplayValue() || '')\n ) : (\n <HintInputContainer\n viewStyle={style}\n onPress={handlePressInput}\n focused={focused}\n disabled={disabled}\n LabelComponent={Text}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n label={_label}\n rightComponent={\n <>\n <SelectIcon name=\"chevron-down\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledSelectionText\n numberOfLines={numberOfLines}\n fontWeight=\"bold\"\n disabled={disabled}\n >\n {getDisplayValue() || ' '}\n </StyledSelectionText>\n </HintInputContainer>\n )}\n </>\n );\n}\n\nexport default Select;\n"],"mappings":"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"}
|
|
@@ -1,13 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
exports
|
|
4
|
-
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "Select", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _Select.default;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "SelectNativeProps", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _Select.SelectNativeProps;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
5
18
|
|
|
6
19
|
var _Select = _interopRequireWildcard(require("./Select"));
|
|
7
20
|
|
|
8
|
-
exports.Select = _Select.default;
|
|
9
|
-
exports.SelectNativeProps = _Select.SelectNativeProps;
|
|
10
|
-
|
|
11
21
|
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
22
|
|
|
13
23
|
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; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/Select/index.ts"],"sourcesContent":["export { default as Select, SelectNativeProps } from './Select';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/molecules/Select/index.ts"],"sourcesContent":["export { default as Select, SelectNativeProps } from './Select';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA"}
|