@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.
Files changed (40) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/components/molecules/DatePicker/DatePicker.d.ts +2 -0
  3. package/dist/components/molecules/DatePicker/DatePicker.js +38 -0
  4. package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -0
  5. package/dist/components/molecules/DatePicker/Modal.d.ts +3 -0
  6. package/dist/components/molecules/DatePicker/Modal.js +41 -0
  7. package/dist/components/molecules/DatePicker/Modal.js.map +1 -0
  8. package/dist/components/molecules/DatePicker/index.d.ts +1 -0
  9. package/dist/components/molecules/DatePicker/index.js +19 -0
  10. package/dist/components/molecules/DatePicker/index.js.map +1 -0
  11. package/dist/components/molecules/DatePicker/styled.d.ts +7 -0
  12. package/dist/components/molecules/DatePicker/styled.js +51 -0
  13. package/dist/components/molecules/DatePicker/styled.js.map +1 -0
  14. package/dist/components/molecules/DateTimePicker/DateTimePicker.d.ts +3 -0
  15. package/dist/components/molecules/DateTimePicker/DateTimePicker.js +37 -0
  16. package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -0
  17. package/dist/components/molecules/DateTimePicker/Modal.d.ts +2 -0
  18. package/dist/components/molecules/DateTimePicker/Modal.js +40 -0
  19. package/dist/components/molecules/DateTimePicker/Modal.js.map +1 -0
  20. package/dist/components/molecules/DateTimePicker/index.d.ts +1 -0
  21. package/dist/components/molecules/DateTimePicker/index.js +19 -0
  22. package/dist/components/molecules/DateTimePicker/index.js.map +1 -0
  23. package/dist/components/molecules/DateTimePicker/styled.d.ts +7 -0
  24. package/dist/components/molecules/DateTimePicker/styled.js +50 -0
  25. package/dist/components/molecules/DateTimePicker/styled.js.map +1 -0
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +19 -1
  28. package/dist/index.js.map +1 -1
  29. package/package.json +3 -3
  30. package/src/components/molecules/DatePicker/DatePicker.stories.tsx +44 -0
  31. package/src/components/molecules/DatePicker/DatePicker.tsx +27 -0
  32. package/src/components/molecules/DatePicker/Modal.tsx +26 -0
  33. package/src/components/molecules/DatePicker/index.ts +1 -0
  34. package/src/components/molecules/DatePicker/styled.ts +36 -0
  35. package/src/components/molecules/DateTimePicker/DateTimePicker.stories.tsx +27 -0
  36. package/src/components/molecules/DateTimePicker/DateTimePicker.tsx +26 -0
  37. package/src/components/molecules/DateTimePicker/Modal.tsx +30 -0
  38. package/src/components/molecules/DateTimePicker/index.ts +1 -0
  39. package/src/components/molecules/DateTimePicker/styled.ts +37 -0
  40. 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,2 @@
1
+ import { DatePickerProps } from '@tecsinapse/react-core';
2
+ export declare const DatePicker: <T extends any>({ ...rest }: Omit<any, "CalendarComponent" | "renderCalendar" | "requestCloseCalendar" | "requestShowCalendar">) => JSX.Element;
@@ -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,3 @@
1
+ import { CalendarProps } from '@tecsinapse/react-core';
2
+ import { ModalProps } from 'react-native';
3
+ export declare const Modal: <T extends any>({ onRequestClose, children, ...modalProps }: any) => JSX.Element;
@@ -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,3 @@
1
+ import { DateTimePickerProps } from '@tecsinapse/react-core';
2
+ import { FC } from 'react';
3
+ export declare const DateTimePicker: FC<DateTimePickerProps>;
@@ -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,2 @@
1
+ import * as React from 'react';
2
+ export declare const Modal: React.FC<any>;
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","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';\n"],"file":"index.js"}
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.8",
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.8",
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": "5ae217bb1d1226eb9d83e1b7d7630ccc177df104"
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'