@tecsinapse/react-web-kit 1.12.8 → 1.12.9
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/molecules/DatePicker/DatePicker.d.ts +2 -0
- package/dist/components/molecules/DatePicker/DatePicker.js +38 -0
- package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -0
- package/dist/components/molecules/DatePicker/Modal.d.ts +3 -0
- package/dist/components/molecules/DatePicker/Modal.js +41 -0
- package/dist/components/molecules/DatePicker/Modal.js.map +1 -0
- package/dist/components/molecules/DatePicker/index.d.ts +1 -0
- package/dist/components/molecules/DatePicker/index.js +19 -0
- package/dist/components/molecules/DatePicker/index.js.map +1 -0
- package/dist/components/molecules/DatePicker/styled.d.ts +7 -0
- package/dist/components/molecules/DatePicker/styled.js +51 -0
- package/dist/components/molecules/DatePicker/styled.js.map +1 -0
- package/dist/components/molecules/DateTimePicker/DateTimePicker.d.ts +3 -0
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +37 -0
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/components/molecules/DateTimePicker/Modal.d.ts +2 -0
- package/dist/components/molecules/DateTimePicker/Modal.js +40 -0
- package/dist/components/molecules/DateTimePicker/Modal.js.map +1 -0
- package/dist/components/molecules/DateTimePicker/index.d.ts +1 -0
- package/dist/components/molecules/DateTimePicker/index.js +19 -0
- package/dist/components/molecules/DateTimePicker/index.js.map +1 -0
- package/dist/components/molecules/DateTimePicker/styled.d.ts +7 -0
- package/dist/components/molecules/DateTimePicker/styled.js +50 -0
- package/dist/components/molecules/DateTimePicker/styled.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +19 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/src/components/molecules/DatePicker/DatePicker.stories.tsx +44 -0
- package/src/components/molecules/DatePicker/DatePicker.tsx +27 -0
- package/src/components/molecules/DatePicker/Modal.tsx +26 -0
- package/src/components/molecules/DatePicker/index.ts +1 -0
- package/src/components/molecules/DatePicker/styled.ts +36 -0
- package/src/components/molecules/DateTimePicker/DateTimePicker.stories.tsx +27 -0
- package/src/components/molecules/DateTimePicker/DateTimePicker.tsx +26 -0
- package/src/components/molecules/DateTimePicker/Modal.tsx +30 -0
- package/src/components/molecules/DateTimePicker/index.ts +1 -0
- package/src/components/molecules/DateTimePicker/styled.ts +37 -0
- package/src/index.ts +2 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.12.9](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.12.8...@tecsinapse/react-web-kit@1.12.9) (2022-01-18)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @tecsinapse/react-web-kit
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
6
14
|
## [1.12.8](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.12.7...@tecsinapse/react-web-kit@1.12.8) (2022-01-17)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @tecsinapse/react-web-kit
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DatePicker = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactCore = require("@tecsinapse/react-core");
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Modal = require("./Modal");
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
19
|
+
|
|
20
|
+
const DatePicker = ({ ...rest
|
|
21
|
+
}) => {
|
|
22
|
+
const [visible, setVisible] = (0, _react.useState)(false);
|
|
23
|
+
const show = (0, _react.useCallback)(() => setVisible(true), []);
|
|
24
|
+
const close = (0, _react.useCallback)(() => setVisible(false), []);
|
|
25
|
+
return _react.default.createElement(_reactCore.DatePicker, _extends({}, rest, {
|
|
26
|
+
CalendarComponent: _reactCore.Calendar,
|
|
27
|
+
requestShowCalendar: show,
|
|
28
|
+
requestCloseCalendar: close,
|
|
29
|
+
renderCalendar: calendar => _react.default.createElement(_Modal.Modal, {
|
|
30
|
+
animationType: "fade",
|
|
31
|
+
visible: visible,
|
|
32
|
+
onRequestClose: close
|
|
33
|
+
}, calendar)
|
|
34
|
+
}));
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.DatePicker = DatePicker;
|
|
38
|
+
//# sourceMappingURL=DatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/DatePicker.tsx"],"names":["DatePicker","rest","visible","setVisible","show","close","Calendar","calendar"],"mappings":";;;;;;;AAAA;;AAIA;;AACA;;;;;;;;AAEO,MAAMA,UAAU,GAAG,CAA0B,EAAE,GAAGC;AAAL,CAA1B,KAA0K;AAElM,QAAM,CAAEC,OAAF,EAAWC,UAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,QAAMC,IAAI,GAAG,wBAAY,MAAMD,UAAU,CAAC,IAAD,CAA5B,EAAoC,EAApC,CAAb;AACA,QAAME,KAAK,GAAG,wBAAY,MAAMF,UAAU,CAAC,KAAD,CAA5B,EAAqC,EAArC,CAAd;AAEA,SACE,6BAAC,qBAAD,eACMF,IADN;AAEE,IAAA,iBAAiB,EAAEK,mBAFrB;AAGE,IAAA,mBAAmB,EAAEF,IAHvB;AAIE,IAAA,oBAAoB,EAAEC,KAJxB;AAKE,IAAA,cAAc,EAAGE,QAAD,IACd,6BAAC,YAAD;AAAO,MAAA,aAAa,EAAC,MAArB;AAA4B,MAAA,OAAO,EAAEL,OAArC;AAA8C,MAAA,cAAc,EAAEG;AAA9D,OACGE,QADH;AANJ,KADF;AAaD,CAnBM","sourcesContent":["import {\n Calendar,\n DatePicker as DatePickerCore, DatePickerProps, SelectionType\n} from '@tecsinapse/react-core';\nimport React, { useCallback, useState } from 'react';\nimport { Modal } from './Modal';\n\nexport const DatePicker = <T extends SelectionType>({ ...rest }: Omit<DatePickerProps<T>, 'CalendarComponent' | 'renderCalendar' | 'requestCloseCalendar' | 'requestShowCalendar'>): JSX.Element => {\n\n const [ visible, setVisible ] = useState(false)\n const show = useCallback(() => setVisible(true), [])\n const close = useCallback(() => setVisible(false), [])\n \n return (\n <DatePickerCore\n {...rest}\n CalendarComponent={Calendar}\n requestShowCalendar={show}\n requestCloseCalendar={close}\n renderCalendar={(calendar) => (\n <Modal animationType='fade' visible={visible} onRequestClose={close}>\n {calendar}\n </Modal>\n )}\n />\n );\n};"],"file":"DatePicker.js"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Modal = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactCore = require("@tecsinapse/react-core");
|
|
9
|
+
|
|
10
|
+
var React = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _reactNativeWeb = require("react-native-web");
|
|
13
|
+
|
|
14
|
+
var _styled = require("./styled");
|
|
15
|
+
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
|
|
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
|
+
|
|
20
|
+
function _extends() { _extends = Object.assign || 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
|
+
const Component = ({
|
|
23
|
+
onRequestClose,
|
|
24
|
+
children,
|
|
25
|
+
...modalProps
|
|
26
|
+
}) => {
|
|
27
|
+
return React.createElement(_reactNativeWeb.Modal, _extends({
|
|
28
|
+
transparent: true,
|
|
29
|
+
hardwareAccelerated: true,
|
|
30
|
+
statusBarTranslucent: true
|
|
31
|
+
}, modalProps, {
|
|
32
|
+
onRequestClose: onRequestClose
|
|
33
|
+
}), React.createElement(_styled.Backdrop, {
|
|
34
|
+
onPress: onRequestClose,
|
|
35
|
+
effect: "none"
|
|
36
|
+
}, React.createElement(_reactCore.PressableSurface, null, React.createElement(_styled.ModalContent, null, children))));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const Modal = Component;
|
|
40
|
+
exports.Modal = Modal;
|
|
41
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/Modal.tsx"],"names":["Component","onRequestClose","children","modalProps","Modal"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,SAAS,GAAG,CAA0B;AAAEC,EAAAA,cAAF;AAAkBC,EAAAA,QAAlB;AAA4B,KAAGC;AAA/B,CAA1B,KAAkJ;AAClK,SACE,oBAAC,qBAAD;AACE,IAAA,WAAW,MADb;AAEE,IAAA,mBAAmB,MAFrB;AAGE,IAAA,oBAAoB;AAHtB,KAIMA,UAJN;AAKE,IAAA,cAAc,EAAEF;AALlB,MAOE,oBAAC,gBAAD;AAAU,IAAA,OAAO,EAAEA,cAAnB;AAAmC,IAAA,MAAM,EAAC;AAA1C,KACE,oBAAC,2BAAD,QACE,oBAAC,oBAAD,QACGC,QADH,CADF,CADF,CAPF,CADF;AAiBD,CAlBD;;AAoBO,MAAME,KAAK,GAAGJ,SAAd","sourcesContent":["import { CalendarProps, PressableSurface, SelectionType } from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { Modal as RNModal, ModalProps } from 'react-native';\nimport { Backdrop, ModalContent } from './styled';\n\nconst Component = <T extends SelectionType>({ onRequestClose, children, ...modalProps }: CalendarProps<T> & ModalProps & { children: JSX.Element }): JSX.Element => {\n return (\n <RNModal\n transparent\n hardwareAccelerated\n statusBarTranslucent\n {...modalProps}\n onRequestClose={onRequestClose}\n >\n <Backdrop onPress={onRequestClose} effect=\"none\">\n <PressableSurface>\n <ModalContent>\n {children}\n </ModalContent>\n </PressableSurface>\n </Backdrop>\n </RNModal>\n );\n};\n\nexport const Modal = Component;\n"],"file":"Modal.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DatePicker';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _DatePicker = require("./DatePicker");
|
|
8
|
+
|
|
9
|
+
Object.keys(_DatePicker).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _DatePicker[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _DatePicker[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './DatePicker'"],"file":"index.js"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Backdrop: import("@emotion/native").StyledComponent<any, {}, {
|
|
3
|
+
ref?: import("react").Ref<any> | undefined;
|
|
4
|
+
}>;
|
|
5
|
+
export declare const ModalContent: import("@emotion/native").StyledComponent<any, {}, {
|
|
6
|
+
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ModalContent = exports.Backdrop = void 0;
|
|
7
|
+
|
|
8
|
+
var _native = _interopRequireWildcard(require("@emotion/native"));
|
|
9
|
+
|
|
10
|
+
var _reactCore = require("@tecsinapse/react-core");
|
|
11
|
+
|
|
12
|
+
var _reactNativeWeb = require("react-native-web");
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
const isWeb = _reactNativeWeb.Platform.OS === 'web';
|
|
19
|
+
const Backdrop = (0, _native.default)(_reactCore.PressableSurface)`
|
|
20
|
+
${({
|
|
21
|
+
theme
|
|
22
|
+
}) => isWeb ? (0, _native.css)`
|
|
23
|
+
justify-content: center;
|
|
24
|
+
align-items: center;
|
|
25
|
+
background-color: ${(0, _reactCore.hex2rgba)(theme.miscellaneous.overlay, 0.5)};
|
|
26
|
+
height: 100vh;
|
|
27
|
+
` : (0, _native.css)`
|
|
28
|
+
justify-content: flex-end;
|
|
29
|
+
background-color: ${(0, _reactCore.hex2rgba)(theme.miscellaneous.overlay, 0.5)};
|
|
30
|
+
height: 100%;
|
|
31
|
+
`}
|
|
32
|
+
`;
|
|
33
|
+
exports.Backdrop = Backdrop;
|
|
34
|
+
const ModalContent = _native.default.View`
|
|
35
|
+
background-color: transparent;
|
|
36
|
+
${({
|
|
37
|
+
theme: {
|
|
38
|
+
borderRadius
|
|
39
|
+
}
|
|
40
|
+
}) => (0, _native.css)`
|
|
41
|
+
${isWeb ? `
|
|
42
|
+
border-radius: ${borderRadius.micro};
|
|
43
|
+
` : `
|
|
44
|
+
border-top-left-radius: ${borderRadius.deca};
|
|
45
|
+
border-top-right-radius: ${borderRadius.deca};
|
|
46
|
+
`}
|
|
47
|
+
`}
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
`;
|
|
50
|
+
exports.ModalContent = ModalContent;
|
|
51
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/styled.ts"],"names":["isWeb","Platform","OS","Backdrop","PressableSurface","theme","miscellaneous","overlay","ModalContent","styled","View","borderRadius","micro","deca"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,MAAMA,KAAK,GAAGC,yBAASC,EAAT,KAAgB,KAA9B;AAEO,MAAMC,QAAQ,GAAG,qBAAOC,2BAAP,CAA8C;AACtE,IAAI,CAAC;AAAEC,EAAAA;AAAF,CAAD,KACAL,KAAK,GACD,gBAAI;AACZ;AACA;AACA,8BAA8B,yBAASK,KAAK,CAACC,aAAN,CAAoBC,OAA7B,EAAsC,GAAtC,CAA2C;AACzE;AACA,SANS,GAOD,gBAAI;AACZ;AACA,8BAA8B,yBAASF,KAAK,CAACC,aAAN,CAAoBC,OAA7B,EAAsC,GAAtC,CAA2C;AACzE;AACA,SAAU;AACV,CAdO;;AAgBA,MAAMC,YAAY,GAAGC,gBAAOC,IAA0B;AAC7D;AACA,IAAI,CAAC;AAAEL,EAAAA,KAAK,EAAE;AAAEM,IAAAA;AAAF;AAAT,CAAD,KAAiC,gBAAI;AACzC,MAAMX,KAAK,GACF;AACT,uBAAuBW,YAAY,CAACC,KAAM;AAC1C,KAHW,GAIF;AACT,gCAAgCD,YAAY,CAACE,IAAK;AAClD,iCAAiCF,YAAY,CAACE,IAAK;AACnD,KAAM;AACN,GAAI;AACJ;AACA,CAbO","sourcesContent":["import styled, { css } from \"@emotion/native\";\nimport { hex2rgba, PressableSurface, StyleProps } from \"@tecsinapse/react-core\";\nimport { Platform } from \"react-native\";\n\nconst isWeb = Platform.OS === 'web';\n\nexport const Backdrop = styled(PressableSurface)<Partial<StyleProps>>`\n ${({ theme }) =>\n isWeb\n ? css`\n justify-content: center;\n align-items: center;\n background-color: ${hex2rgba(theme.miscellaneous.overlay, 0.5)};\n height: 100vh;\n `\n : css`\n justify-content: flex-end;\n background-color: ${hex2rgba(theme.miscellaneous.overlay, 0.5)};\n height: 100%;\n `}\n`;\n\nexport const ModalContent = styled.View<Partial<StyleProps>>`\n background-color: transparent;\n ${({ theme: { borderRadius } }) => css`\n ${isWeb\n ? `\n border-radius: ${borderRadius.micro};\n `\n : `\n border-top-left-radius: ${borderRadius.deca};\n border-top-right-radius: ${borderRadius.deca};\n `}\n `}\n overflow: hidden;\n`;\n"],"file":"styled.js"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DateTimePicker = void 0;
|
|
7
|
+
|
|
8
|
+
var _reactCore = require("@tecsinapse/react-core");
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
|
+
|
|
12
|
+
var _Modal = require("./Modal");
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
19
|
+
|
|
20
|
+
const DateTimePicker = ({ ...rest
|
|
21
|
+
}) => {
|
|
22
|
+
const [visible, setVisible] = (0, _react.useState)(false);
|
|
23
|
+
const show = (0, _react.useCallback)(() => setVisible(true), []);
|
|
24
|
+
const close = (0, _react.useCallback)(() => setVisible(false), []);
|
|
25
|
+
return _react.default.createElement(_reactCore.DateTimePicker, _extends({}, rest, {
|
|
26
|
+
requestShowSelector: show,
|
|
27
|
+
requestCloseSelector: close,
|
|
28
|
+
renderSelector: selector => _react.default.createElement(_Modal.Modal, {
|
|
29
|
+
animationType: "fade",
|
|
30
|
+
visible: visible,
|
|
31
|
+
onRequestClose: close
|
|
32
|
+
}, selector)
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
exports.DateTimePicker = DateTimePicker;
|
|
37
|
+
//# sourceMappingURL=DateTimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"names":["DateTimePicker","rest","visible","setVisible","show","close","selector"],"mappings":";;;;;;;AAAA;;AAIA;;AACA;;;;;;;;AAEO,MAAMA,cAAuC,GAAG,CAAC,EAAE,GAAGC;AAAL,CAAD,KAAiB;AAEpE,QAAM,CAAEC,OAAF,EAAWC,UAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,QAAMC,IAAI,GAAG,wBAAY,MAAMD,UAAU,CAAC,IAAD,CAA5B,EAAoC,EAApC,CAAb;AACA,QAAME,KAAK,GAAG,wBAAY,MAAMF,UAAU,CAAC,KAAD,CAA5B,EAAqC,EAArC,CAAd;AAEA,SACI,6BAAC,yBAAD,eACQF,IADR;AAEI,IAAA,mBAAmB,EAAEG,IAFzB;AAGI,IAAA,oBAAoB,EAAEC,KAH1B;AAII,IAAA,cAAc,EAAGC,QAAD,IACZ,6BAAC,YAAD;AAAO,MAAA,aAAa,EAAC,MAArB;AAA4B,MAAA,OAAO,EAAEJ,OAArC;AAA8C,MAAA,cAAc,EAAEG;AAA9D,OACKC,QADL;AALR,KADJ;AAYH,CAlBM","sourcesContent":["import {\n DateTimePicker as DateTimePickerCore,\n DateTimePickerProps\n} from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useState } from 'react';\nimport { Modal } from './Modal';\n\nexport const DateTimePicker: FC<DateTimePickerProps> = ({ ...rest }) => {\n\n const [ visible, setVisible ] = useState(false)\n const show = useCallback(() => setVisible(true), [])\n const close = useCallback(() => setVisible(false), [])\n\n return (\n <DateTimePickerCore\n {...rest}\n requestShowSelector={show}\n requestCloseSelector={close}\n renderSelector={(selector) => (\n <Modal animationType='fade' visible={visible} onRequestClose={close}>\n {selector}\n </Modal>\n )}\n />\n );\n};\n"],"file":"DateTimePicker.js"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.Modal = void 0;
|
|
7
|
+
|
|
8
|
+
var React = _interopRequireWildcard(require("react"));
|
|
9
|
+
|
|
10
|
+
var _reactNativeWeb = require("react-native-web");
|
|
11
|
+
|
|
12
|
+
var _styled = require("./styled");
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _extends() { _extends = Object.assign || 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); }
|
|
19
|
+
|
|
20
|
+
const Component = ({
|
|
21
|
+
onRequestClose,
|
|
22
|
+
onChange,
|
|
23
|
+
children,
|
|
24
|
+
...rest
|
|
25
|
+
}) => {
|
|
26
|
+
return React.createElement(_reactNativeWeb.Modal, _extends({
|
|
27
|
+
transparent: true,
|
|
28
|
+
hardwareAccelerated: true,
|
|
29
|
+
statusBarTranslucent: true
|
|
30
|
+
}, rest, {
|
|
31
|
+
onRequestClose: onRequestClose
|
|
32
|
+
}), React.createElement(_styled.Backdrop, {
|
|
33
|
+
onPress: onRequestClose,
|
|
34
|
+
effect: "none"
|
|
35
|
+
}, React.createElement(_styled.ModalContent, null, children)));
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
const Modal = Component;
|
|
39
|
+
exports.Modal = Modal;
|
|
40
|
+
//# sourceMappingURL=Modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/Modal.tsx"],"names":["Component","onRequestClose","onChange","children","rest","Modal"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,SAAuD,GAAG,CAAC;AAC/DC,EAAAA,cAD+D;AAE/DC,EAAAA,QAF+D;AAG/DC,EAAAA,QAH+D;AAI/D,KAAGC;AAJ4D,CAAD,KAK1D;AAEJ,SACE,oBAAC,qBAAD;AACE,IAAA,WAAW,MADb;AAEE,IAAA,mBAAmB,MAFrB;AAGE,IAAA,oBAAoB;AAHtB,KAIMA,IAJN;AAKE,IAAA,cAAc,EAAEH;AALlB,MAOE,oBAAC,gBAAD;AAAU,IAAA,OAAO,EAAEA,cAAnB;AAAmC,IAAA,MAAM,EAAC;AAA1C,KACE,oBAAC,oBAAD,QACGE,QADH,CADF,CAPF,CADF;AAeD,CAtBD;;AAwBO,MAAME,KAAK,GAAGL,SAAd","sourcesContent":["import { DateTimeSelectorProps } from '@tecsinapse/react-core';\nimport * as React from 'react';\nimport { Modal as RNModal, ModalProps } from 'react-native';\nimport { Backdrop, ModalContent } from './styled';\n\nconst Component: React.FC<DateTimeSelectorProps & ModalProps> = ({\n onRequestClose,\n onChange,\n children,\n ...rest\n}) => {\n\n return (\n <RNModal\n transparent\n hardwareAccelerated\n statusBarTranslucent\n {...rest}\n onRequestClose={onRequestClose}\n >\n <Backdrop onPress={onRequestClose} effect=\"none\">\n <ModalContent>\n {children}\n </ModalContent>\n </Backdrop>\n </RNModal>\n );\n};\n\nexport const Modal = Component;\n"],"file":"Modal.js"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DateTimePicker';
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
|
|
7
|
+
var _DateTimePicker = require("./DateTimePicker");
|
|
8
|
+
|
|
9
|
+
Object.keys(_DateTimePicker).forEach(function (key) {
|
|
10
|
+
if (key === "default" || key === "__esModule") return;
|
|
11
|
+
if (key in exports && exports[key] === _DateTimePicker[key]) return;
|
|
12
|
+
Object.defineProperty(exports, key, {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _DateTimePicker[key];
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
});
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/index.ts"],"names":[],"mappings":";;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './DateTimePicker'"],"file":"index.js"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const Backdrop: import("@emotion/native").StyledComponent<any, {}, {
|
|
3
|
+
ref?: import("react").Ref<any> | undefined;
|
|
4
|
+
}>;
|
|
5
|
+
export declare const ModalContent: import("@emotion/native").StyledComponent<any, {}, {
|
|
6
|
+
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
7
|
+
}>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.ModalContent = exports.Backdrop = void 0;
|
|
7
|
+
|
|
8
|
+
var _native = _interopRequireWildcard(require("@emotion/native"));
|
|
9
|
+
|
|
10
|
+
var _reactCore = require("@tecsinapse/react-core");
|
|
11
|
+
|
|
12
|
+
var _reactNativeWeb = require("react-native-web");
|
|
13
|
+
|
|
14
|
+
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); }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
const isWeb = _reactNativeWeb.Platform.OS === 'web';
|
|
19
|
+
const Backdrop = (0, _native.default)(_reactCore.PressableSurface)`
|
|
20
|
+
${isWeb ? (0, _native.css)`
|
|
21
|
+
justify-content: center;
|
|
22
|
+
align-items: center;
|
|
23
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
24
|
+
height: 100vh;
|
|
25
|
+
` : (0, _native.css)`
|
|
26
|
+
justify-content: flex-end;
|
|
27
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
28
|
+
height: 100%;
|
|
29
|
+
`}
|
|
30
|
+
`;
|
|
31
|
+
exports.Backdrop = Backdrop;
|
|
32
|
+
const ModalContent = _native.default.View`
|
|
33
|
+
background-color: transparent;
|
|
34
|
+
${({
|
|
35
|
+
theme: {
|
|
36
|
+
borderRadius
|
|
37
|
+
}
|
|
38
|
+
}) => (0, _native.css)`
|
|
39
|
+
${isWeb ? `
|
|
40
|
+
width: ${(0, _reactCore.RFValueStr)('375px')};
|
|
41
|
+
border-radius: ${borderRadius.micro};
|
|
42
|
+
` : `
|
|
43
|
+
border-top-left-radius: ${borderRadius.deca};
|
|
44
|
+
border-top-right-radius: ${borderRadius.deca};
|
|
45
|
+
`}
|
|
46
|
+
`}
|
|
47
|
+
overflow: hidden;
|
|
48
|
+
`;
|
|
49
|
+
exports.ModalContent = ModalContent;
|
|
50
|
+
//# sourceMappingURL=styled.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/styled.ts"],"names":["isWeb","Platform","OS","Backdrop","PressableSurface","ModalContent","styled","View","theme","borderRadius","micro","deca"],"mappings":";;;;;;;AAAA;;AACA;;AAEA;;;;;;AAEA,MAAMA,KAAK,GAAGC,yBAASC,EAAT,KAAgB,KAA9B;AAEO,MAAMC,QAAQ,GAAG,qBAAOC,2BAAP,CAA8C;AACtE,IAAIJ,KAAK,GACH,gBAAI;AACV;AACA;AACA;AACA;AACA,OANS,GAOH,gBAAI;AACV;AACA;AACA;AACA,OAAQ;AACR,CAbO;;AAeA,MAAMK,YAAY,GAAGC,gBAAOC,IAA0B;AAC7D;AACA,IAAI,CAAC;AAAEC,EAAAA,KAAK,EAAE;AAAEC,IAAAA;AAAF;AAAT,CAAD,KAAiC,gBAAI;AACzC,MAAMT,KAAK,GACF;AACT,eAAe,2BAAW,OAAX,CAAoB;AACnC,uBAAuBS,YAAY,CAACC,KAAM;AAC1C,KAJW,GAKF;AACT,gCAAgCD,YAAY,CAACE,IAAK;AAClD,iCAAiCF,YAAY,CAACE,IAAK;AACnD,KAAM;AACN,GAAI;AACJ;AACA,CAdO","sourcesContent":["import styled, { css } from \"@emotion/native\";\nimport { DateTimeSelectorProps, PressableSurface, RFValueStr, StyleProps } from \"@tecsinapse/react-core\";\nimport { FC } from \"react\";\nimport { Platform } from \"react-native\";\n\nconst isWeb = Platform.OS === 'web';\n\nexport const Backdrop = styled(PressableSurface)<Partial<StyleProps>>`\n ${isWeb\n ? css`\n justify-content: center;\n align-items: center;\n background-color: rgba(0, 0, 0, 0.5);\n height: 100vh;\n `\n : css`\n justify-content: flex-end;\n background-color: rgba(0, 0, 0, 0.5);\n height: 100%;\n `}\n`;\n\nexport const ModalContent = styled.View<Partial<StyleProps>>`\n background-color: transparent;\n ${({ theme: { borderRadius } }) => css`\n ${isWeb\n ? `\n width: ${RFValueStr('375px')};\n border-radius: ${borderRadius.micro};\n `\n : `\n border-top-left-radius: ${borderRadius.deca};\n border-top-right-radius: ${borderRadius.deca};\n `}\n `}\n overflow: hidden;\n`;"],"file":"styled.js"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,3 +16,5 @@ export { Modal, ModalProps } from './components/atoms/Modal';
|
|
|
16
16
|
export { TextArea, TextAreaProps } from './components/molecules/TextArea';
|
|
17
17
|
export { Tooltip, ITooltip } from './components/atoms/Tooltip';
|
|
18
18
|
export * from './hooks';
|
|
19
|
+
export { DatePicker } from './components/molecules/DatePicker';
|
|
20
|
+
export { DateTimePicker } from './components/molecules/DateTimePicker';
|
package/dist/index.js
CHANGED
|
@@ -41,7 +41,9 @@ var _exportNames = {
|
|
|
41
41
|
TextArea: true,
|
|
42
42
|
TextAreaProps: true,
|
|
43
43
|
Tooltip: true,
|
|
44
|
-
ITooltip: true
|
|
44
|
+
ITooltip: true,
|
|
45
|
+
DatePicker: true,
|
|
46
|
+
DateTimePicker: true
|
|
45
47
|
};
|
|
46
48
|
Object.defineProperty(exports, "Badge", {
|
|
47
49
|
enumerable: true,
|
|
@@ -271,6 +273,18 @@ Object.defineProperty(exports, "ITooltip", {
|
|
|
271
273
|
return _Tooltip.ITooltip;
|
|
272
274
|
}
|
|
273
275
|
});
|
|
276
|
+
Object.defineProperty(exports, "DatePicker", {
|
|
277
|
+
enumerable: true,
|
|
278
|
+
get: function () {
|
|
279
|
+
return _DatePicker.DatePicker;
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
Object.defineProperty(exports, "DateTimePicker", {
|
|
283
|
+
enumerable: true,
|
|
284
|
+
get: function () {
|
|
285
|
+
return _DateTimePicker.DateTimePicker;
|
|
286
|
+
}
|
|
287
|
+
});
|
|
274
288
|
|
|
275
289
|
var _reactCore = require("@tecsinapse/react-core");
|
|
276
290
|
|
|
@@ -332,6 +346,10 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
332
346
|
});
|
|
333
347
|
});
|
|
334
348
|
|
|
349
|
+
var _DatePicker = require("./components/molecules/DatePicker");
|
|
350
|
+
|
|
351
|
+
var _DateTimePicker = require("./components/molecules/DateTimePicker");
|
|
352
|
+
|
|
335
353
|
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); }
|
|
336
354
|
|
|
337
355
|
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; }
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAIA;;AAKA;;AACA;;AACA;;AAIA;;AAOA;;AACA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AACA","sourcesContent":["export * from '@tecsinapse/react-core';\nexport {\n default as Badge,\n BadgeWebProps,\n} from './components/atoms/Badge/Badge';\nexport {\n Button,\n useMouseHover,\n WebButtonProps,\n} from './components/atoms/Button';\nexport { Input, InputWebProps } from './components/atoms/Input';\nexport { Tag, TagProps } from './components/atoms/Tag';\nexport {\n InputPassword,\n InputPasswordWebProps,\n} from './components/molecules/InputPassword';\nexport {\n Menubar,\n MenubarProps,\n MenubarOptionsType,\n MenubarItemsOptions,\n MenubarMostUsedType,\n} from './components/molecules/Menubar';\nexport { Drawer, DrawerProps } from './components/molecules/Drawer';\nexport { Select, SelectProps } from './components/molecules/Select';\nexport { Snackbar, SnackbarWebProps } from './components/molecules/Snackbar';\nexport {\n Breadcrumbs,\n BreadcrumbsProps,\n BreadcrumbType,\n} from './components/molecules/Breadcrumbs';\nexport { Skeleton, SkeletonProps } from './components/atoms/Skeleton';\nexport { Accordion, AccordionProps } from './components/atoms/Accordion';\nexport {\n DataGrid,\n DataGridProps,\n HeadersType,\n} from './components/organisms/DataGrid';\nexport { Modal, ModalProps } from './components/atoms/Modal';\nexport { TextArea, TextAreaProps } from './components/molecules/TextArea';\nexport { Tooltip, ITooltip } from './components/atoms/Tooltip';\nexport * from './hooks';\nexport { DatePicker } from './components/molecules/DatePicker'\nexport { DateTimePicker } from './components/molecules/DateTimePicker'"],"file":"index.js"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tecsinapse/react-web-kit",
|
|
3
3
|
"description": "TecSinapse React components",
|
|
4
|
-
"version": "1.12.
|
|
4
|
+
"version": "1.12.9",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"license": "MIT",
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@emotion/native": "^11.0.0",
|
|
15
15
|
"@emotion/react": "^11.4.1",
|
|
16
16
|
"@emotion/styled": "^11.3.0",
|
|
17
|
-
"@tecsinapse/react-core": "^1.12.
|
|
17
|
+
"@tecsinapse/react-core": "^1.12.9",
|
|
18
18
|
"@types/react-native": "^0.64.4",
|
|
19
19
|
"react-native-vector-icons": "^8.1.0",
|
|
20
20
|
"react-transition-group": "^4.4.2"
|
|
@@ -33,5 +33,5 @@
|
|
|
33
33
|
"react-dom": ">=16.8.0",
|
|
34
34
|
"react-native-web": "^0.17.1"
|
|
35
35
|
},
|
|
36
|
-
"gitHead": "
|
|
36
|
+
"gitHead": "7b090c696311b6aa4d412b8839fba00ccf5f7fd6"
|
|
37
37
|
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Story } from '@storybook/react';
|
|
2
|
+
import { DatePickerProps, DateRange } from '@tecsinapse/react-core';
|
|
3
|
+
import { ptBR } from 'date-fns/locale';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { DatePicker } from './DatePicker';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Web/Date Picker',
|
|
9
|
+
component: DatePicker,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const Template: Story<DatePickerProps<'range'>> = args => {
|
|
13
|
+
const [value, setValue] = React.useState<DateRange>();
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<DatePicker {...args} value={value} onChange={setValue} locale={ptBR} />
|
|
17
|
+
);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export const Range = Template.bind({});
|
|
21
|
+
|
|
22
|
+
Range.args = {
|
|
23
|
+
label: 'Select date',
|
|
24
|
+
placeholder: 'Select date',
|
|
25
|
+
type: 'range',
|
|
26
|
+
closeOnPick: true,
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const TemplateDay: Story<DatePickerProps<'day'>> = args => {
|
|
30
|
+
const [value, setValue] = React.useState<Date>();
|
|
31
|
+
|
|
32
|
+
return (
|
|
33
|
+
<DatePicker {...args} value={value} onChange={setValue} locale={ptBR} />
|
|
34
|
+
);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const Day = TemplateDay.bind({});
|
|
38
|
+
|
|
39
|
+
Day.args = {
|
|
40
|
+
label: 'Select date',
|
|
41
|
+
placeholder: 'Select date',
|
|
42
|
+
type: 'day',
|
|
43
|
+
closeOnPick: true,
|
|
44
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Calendar,
|
|
3
|
+
DatePicker as DatePickerCore, DatePickerProps, SelectionType
|
|
4
|
+
} from '@tecsinapse/react-core';
|
|
5
|
+
import React, { useCallback, useState } from 'react';
|
|
6
|
+
import { Modal } from './Modal';
|
|
7
|
+
|
|
8
|
+
export const DatePicker = <T extends SelectionType>({ ...rest }: Omit<DatePickerProps<T>, 'CalendarComponent' | 'renderCalendar' | 'requestCloseCalendar' | 'requestShowCalendar'>): JSX.Element => {
|
|
9
|
+
|
|
10
|
+
const [ visible, setVisible ] = useState(false)
|
|
11
|
+
const show = useCallback(() => setVisible(true), [])
|
|
12
|
+
const close = useCallback(() => setVisible(false), [])
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<DatePickerCore
|
|
16
|
+
{...rest}
|
|
17
|
+
CalendarComponent={Calendar}
|
|
18
|
+
requestShowCalendar={show}
|
|
19
|
+
requestCloseCalendar={close}
|
|
20
|
+
renderCalendar={(calendar) => (
|
|
21
|
+
<Modal animationType='fade' visible={visible} onRequestClose={close}>
|
|
22
|
+
{calendar}
|
|
23
|
+
</Modal>
|
|
24
|
+
)}
|
|
25
|
+
/>
|
|
26
|
+
);
|
|
27
|
+
};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { CalendarProps, PressableSurface, SelectionType } from '@tecsinapse/react-core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Modal as RNModal, ModalProps } from 'react-native';
|
|
4
|
+
import { Backdrop, ModalContent } from './styled';
|
|
5
|
+
|
|
6
|
+
const Component = <T extends SelectionType>({ onRequestClose, children, ...modalProps }: CalendarProps<T> & ModalProps & { children: JSX.Element }): JSX.Element => {
|
|
7
|
+
return (
|
|
8
|
+
<RNModal
|
|
9
|
+
transparent
|
|
10
|
+
hardwareAccelerated
|
|
11
|
+
statusBarTranslucent
|
|
12
|
+
{...modalProps}
|
|
13
|
+
onRequestClose={onRequestClose}
|
|
14
|
+
>
|
|
15
|
+
<Backdrop onPress={onRequestClose} effect="none">
|
|
16
|
+
<PressableSurface>
|
|
17
|
+
<ModalContent>
|
|
18
|
+
{children}
|
|
19
|
+
</ModalContent>
|
|
20
|
+
</PressableSurface>
|
|
21
|
+
</Backdrop>
|
|
22
|
+
</RNModal>
|
|
23
|
+
);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const Modal = Component;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DatePicker'
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import styled, { css } from "@emotion/native";
|
|
2
|
+
import { hex2rgba, PressableSurface, StyleProps } from "@tecsinapse/react-core";
|
|
3
|
+
import { Platform } from "react-native";
|
|
4
|
+
|
|
5
|
+
const isWeb = Platform.OS === 'web';
|
|
6
|
+
|
|
7
|
+
export const Backdrop = styled(PressableSurface)<Partial<StyleProps>>`
|
|
8
|
+
${({ theme }) =>
|
|
9
|
+
isWeb
|
|
10
|
+
? css`
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
background-color: ${hex2rgba(theme.miscellaneous.overlay, 0.5)};
|
|
14
|
+
height: 100vh;
|
|
15
|
+
`
|
|
16
|
+
: css`
|
|
17
|
+
justify-content: flex-end;
|
|
18
|
+
background-color: ${hex2rgba(theme.miscellaneous.overlay, 0.5)};
|
|
19
|
+
height: 100%;
|
|
20
|
+
`}
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
export const ModalContent = styled.View<Partial<StyleProps>>`
|
|
24
|
+
background-color: transparent;
|
|
25
|
+
${({ theme: { borderRadius } }) => css`
|
|
26
|
+
${isWeb
|
|
27
|
+
? `
|
|
28
|
+
border-radius: ${borderRadius.micro};
|
|
29
|
+
`
|
|
30
|
+
: `
|
|
31
|
+
border-top-left-radius: ${borderRadius.deca};
|
|
32
|
+
border-top-right-radius: ${borderRadius.deca};
|
|
33
|
+
`}
|
|
34
|
+
`}
|
|
35
|
+
overflow: hidden;
|
|
36
|
+
`;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Story } from '@storybook/react';
|
|
2
|
+
import { DateTimePickerProps } from '@tecsinapse/react-core';
|
|
3
|
+
import { ptBR } from 'date-fns/locale';
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { DateTimePicker } from './DateTimePicker';
|
|
6
|
+
|
|
7
|
+
export default {
|
|
8
|
+
title: 'Web/Date Time Picker',
|
|
9
|
+
component: DateTimePicker,
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const Template: Story<DateTimePickerProps> = ({ ...args }) => {
|
|
13
|
+
const [value, setValue] = React.useState<Date>();
|
|
14
|
+
|
|
15
|
+
return (
|
|
16
|
+
<DateTimePicker
|
|
17
|
+
label={'Select date and time'}
|
|
18
|
+
placeholder={'Select date and time'}
|
|
19
|
+
mode={'datetime'}
|
|
20
|
+
value={value}
|
|
21
|
+
onChange={setValue}
|
|
22
|
+
locale={ptBR}
|
|
23
|
+
/>
|
|
24
|
+
);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const Base = Template.bind({});
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DateTimePicker as DateTimePickerCore,
|
|
3
|
+
DateTimePickerProps
|
|
4
|
+
} from '@tecsinapse/react-core';
|
|
5
|
+
import React, { FC, useCallback, useState } from 'react';
|
|
6
|
+
import { Modal } from './Modal';
|
|
7
|
+
|
|
8
|
+
export const DateTimePicker: FC<DateTimePickerProps> = ({ ...rest }) => {
|
|
9
|
+
|
|
10
|
+
const [ visible, setVisible ] = useState(false)
|
|
11
|
+
const show = useCallback(() => setVisible(true), [])
|
|
12
|
+
const close = useCallback(() => setVisible(false), [])
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<DateTimePickerCore
|
|
16
|
+
{...rest}
|
|
17
|
+
requestShowSelector={show}
|
|
18
|
+
requestCloseSelector={close}
|
|
19
|
+
renderSelector={(selector) => (
|
|
20
|
+
<Modal animationType='fade' visible={visible} onRequestClose={close}>
|
|
21
|
+
{selector}
|
|
22
|
+
</Modal>
|
|
23
|
+
)}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { DateTimeSelectorProps } from '@tecsinapse/react-core';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Modal as RNModal, ModalProps } from 'react-native';
|
|
4
|
+
import { Backdrop, ModalContent } from './styled';
|
|
5
|
+
|
|
6
|
+
const Component: React.FC<DateTimeSelectorProps & ModalProps> = ({
|
|
7
|
+
onRequestClose,
|
|
8
|
+
onChange,
|
|
9
|
+
children,
|
|
10
|
+
...rest
|
|
11
|
+
}) => {
|
|
12
|
+
|
|
13
|
+
return (
|
|
14
|
+
<RNModal
|
|
15
|
+
transparent
|
|
16
|
+
hardwareAccelerated
|
|
17
|
+
statusBarTranslucent
|
|
18
|
+
{...rest}
|
|
19
|
+
onRequestClose={onRequestClose}
|
|
20
|
+
>
|
|
21
|
+
<Backdrop onPress={onRequestClose} effect="none">
|
|
22
|
+
<ModalContent>
|
|
23
|
+
{children}
|
|
24
|
+
</ModalContent>
|
|
25
|
+
</Backdrop>
|
|
26
|
+
</RNModal>
|
|
27
|
+
);
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
export const Modal = Component;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './DateTimePicker'
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import styled, { css } from "@emotion/native";
|
|
2
|
+
import { DateTimeSelectorProps, PressableSurface, RFValueStr, StyleProps } from "@tecsinapse/react-core";
|
|
3
|
+
import { FC } from "react";
|
|
4
|
+
import { Platform } from "react-native";
|
|
5
|
+
|
|
6
|
+
const isWeb = Platform.OS === 'web';
|
|
7
|
+
|
|
8
|
+
export const Backdrop = styled(PressableSurface)<Partial<StyleProps>>`
|
|
9
|
+
${isWeb
|
|
10
|
+
? css`
|
|
11
|
+
justify-content: center;
|
|
12
|
+
align-items: center;
|
|
13
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
14
|
+
height: 100vh;
|
|
15
|
+
`
|
|
16
|
+
: css`
|
|
17
|
+
justify-content: flex-end;
|
|
18
|
+
background-color: rgba(0, 0, 0, 0.5);
|
|
19
|
+
height: 100%;
|
|
20
|
+
`}
|
|
21
|
+
`;
|
|
22
|
+
|
|
23
|
+
export const ModalContent = styled.View<Partial<StyleProps>>`
|
|
24
|
+
background-color: transparent;
|
|
25
|
+
${({ theme: { borderRadius } }) => css`
|
|
26
|
+
${isWeb
|
|
27
|
+
? `
|
|
28
|
+
width: ${RFValueStr('375px')};
|
|
29
|
+
border-radius: ${borderRadius.micro};
|
|
30
|
+
`
|
|
31
|
+
: `
|
|
32
|
+
border-top-left-radius: ${borderRadius.deca};
|
|
33
|
+
border-top-right-radius: ${borderRadius.deca};
|
|
34
|
+
`}
|
|
35
|
+
`}
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
`;
|
package/src/index.ts
CHANGED
|
@@ -40,3 +40,5 @@ export { Modal, ModalProps } from './components/atoms/Modal';
|
|
|
40
40
|
export { TextArea, TextAreaProps } from './components/molecules/TextArea';
|
|
41
41
|
export { Tooltip, ITooltip } from './components/atoms/Tooltip';
|
|
42
42
|
export * from './hooks';
|
|
43
|
+
export { DatePicker } from './components/molecules/DatePicker'
|
|
44
|
+
export { DateTimePicker } from './components/molecules/DateTimePicker'
|