@tecsinapse/react-core 1.12.5 → 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 +35 -0
- package/dist/components/atoms/Input/hooks/useCurrencyMask.js +2 -2
- package/dist/components/atoms/Input/hooks/useCurrencyMask.js.map +1 -1
- package/dist/components/atoms/Input/hooks/useMask.js +2 -2
- package/dist/components/atoms/Input/hooks/useMask.js.map +1 -1
- package/dist/components/atoms/ProgressBar/ProgressBar.d.ts +1 -1
- package/dist/components/atoms/ProgressBar/ProgressBar.js +6 -6
- package/dist/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/components/atoms/Switch/Switch.js +30 -22
- package/dist/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/components/atoms/Switch/animation.d.ts +1 -1
- package/dist/components/atoms/Switch/animation.js +24 -16
- package/dist/components/atoms/Switch/animation.js.map +1 -1
- package/dist/components/atoms/Switch/styled.d.ts +3 -2
- package/dist/components/atoms/Switch/styled.js +7 -3
- package/dist/components/atoms/Switch/styled.js.map +1 -1
- package/dist/components/atoms/shared/PaperAndCard.js +3 -4
- package/dist/components/atoms/shared/PaperAndCard.js.map +1 -1
- package/dist/components/molecules/Calendar/index.d.ts +1 -1
- package/dist/components/molecules/Calendar/index.js +6 -0
- package/dist/components/molecules/Calendar/index.js.map +1 -1
- package/dist/components/molecules/Calendar/styled.js +0 -17
- package/dist/components/molecules/Calendar/styled.js.map +1 -1
- package/dist/components/molecules/DatePicker/DatePicker.d.ts +6 -5
- package/dist/components/molecules/DatePicker/DatePicker.js +22 -32
- package/dist/components/molecules/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/molecules/DatePicker/styled.d.ts +0 -14
- package/dist/components/molecules/DatePicker/styled.js +1 -46
- package/dist/components/molecules/DatePicker/styled.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/DateTimePicker.d.ts +5 -4
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js +35 -37
- package/dist/components/molecules/DateTimePicker/DateTimePicker.js.map +1 -1
- package/dist/components/molecules/DateTimePicker/styled.d.ts +0 -21
- package/dist/components/molecules/DateTimePicker/styled.js +3 -51
- package/dist/components/molecules/DateTimePicker/styled.js.map +1 -1
- package/dist/components/molecules/Grid/Item/Item.d.ts +1 -1
- package/dist/components/molecules/Grid/Item/Item.js +7 -5
- package/dist/components/molecules/Grid/Item/Item.js.map +1 -1
- package/dist/components/molecules/HintInputContainer/HintInputContainer.d.ts +3 -2
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js +4 -4
- package/dist/components/molecules/HintInputContainer/HintInputContainer.js.map +1 -1
- package/dist/components/molecules/TextArea/TextArea.d.ts +3 -1
- package/dist/components/molecules/TextArea/TextArea.js +4 -4
- package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/styles/definitions.js +1 -1
- package/dist/styles/definitions.js.map +1 -1
- package/dist/utils/extractNumbersFromString.js +1 -1
- package/dist/utils/extractNumbersFromString.js.map +1 -1
- package/package.json +2 -2
- package/src/components/atoms/Input/hooks/useCurrencyMask.ts +2 -2
- package/src/components/atoms/Input/hooks/useMask.ts +1 -1
- package/src/components/atoms/ProgressBar/ProgressBar.tsx +5 -5
- package/src/components/atoms/Switch/Switch.tsx +29 -32
- package/src/components/atoms/Switch/animation.ts +26 -16
- package/src/components/atoms/Switch/styled.ts +6 -4
- package/src/components/atoms/shared/PaperAndCard.ts +4 -5
- package/src/components/molecules/Calendar/index.ts +1 -0
- package/src/components/molecules/Calendar/styled.ts +0 -22
- package/src/components/molecules/DatePicker/DatePicker.tsx +32 -41
- package/src/components/molecules/DatePicker/styled.ts +0 -40
- package/src/components/molecules/DateTimePicker/DateTimePicker.tsx +46 -52
- package/src/components/molecules/DateTimePicker/styled.ts +1 -49
- package/src/components/molecules/Grid/Item/Item.tsx +3 -5
- package/src/components/molecules/HintInputContainer/HintInputContainer.tsx +3 -8
- package/src/components/molecules/TextArea/TextArea.tsx +3 -9
- package/src/index.ts +1 -0
- package/src/styles/definitions.ts +1 -1
- package/src/utils/extractNumbersFromString.ts +4 -5
- package/dist/components/molecules/DatePicker/Modal.d.ts +0 -8
- package/dist/components/molecules/DatePicker/Modal.js +0 -60
- package/dist/components/molecules/DatePicker/Modal.js.map +0 -1
- package/dist/components/molecules/DateTimePicker/Modal.d.ts +0 -7
- package/dist/components/molecules/DateTimePicker/Modal.js +0 -89
- package/dist/components/molecules/DateTimePicker/Modal.js.map +0 -1
- package/src/components/molecules/DatePicker/DatePicker.stories.tsx +0 -44
- package/src/components/molecules/DatePicker/Modal.tsx +0 -51
- package/src/components/molecules/DateTimePicker/DateTimePicker.stories.tsx +0 -26
- package/src/components/molecules/DateTimePicker/Modal.tsx +0 -84
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ModalBaseProps } from 'react-native';
|
|
3
2
|
import { InputContainerProps } from '../../atoms/Input';
|
|
4
3
|
import { TextProps } from '../../atoms/Text';
|
|
5
4
|
import { CalendarProps, SelectionType } from '../Calendar';
|
|
6
|
-
|
|
7
|
-
export interface DatePickerProps<T extends SelectionType> extends InputContainerProps, DatePickerModalProps<T>, Omit<CalendarProps<T>, 'style'> {
|
|
5
|
+
export interface DatePickerProps<T extends SelectionType> extends InputContainerProps, Omit<CalendarProps<T>, 'style'> {
|
|
8
6
|
controlComponent?: (onPress: () => void, displayValue?: string) => JSX.Element;
|
|
9
7
|
TextComponent?: React.FC<TextProps>;
|
|
10
|
-
|
|
8
|
+
CalendarComponent: React.FC<CalendarProps<T>>;
|
|
11
9
|
placeholder?: string;
|
|
12
10
|
onFocus?: () => void | never;
|
|
13
11
|
onBlur?: () => void | never;
|
|
14
12
|
format?: string;
|
|
15
13
|
closeOnPick?: boolean;
|
|
14
|
+
renderCalendar: (calendar: React.ReactElement, blur?: () => void) => JSX.Element | null;
|
|
15
|
+
requestShowCalendar: () => void;
|
|
16
|
+
requestCloseCalendar: () => void;
|
|
16
17
|
}
|
|
17
|
-
declare function DatePicker<T extends SelectionType>({ month, year, onChange, value, type, format, placeholder, onFocus, onBlur, disabled, controlComponent, hintComponent, hint, variant, TextComponent, CalendarComponent,
|
|
18
|
+
declare function DatePicker<T extends SelectionType>({ month, year, onChange, value, type, format, placeholder, onFocus, onBlur, disabled, controlComponent, hintComponent, hint, variant, TextComponent, CalendarComponent, rightComponent, style, locale, closeOnPick, renderCalendar, requestShowCalendar, requestCloseCalendar, ...rest }: DatePickerProps<T>): JSX.Element;
|
|
18
19
|
export default DatePicker;
|
|
@@ -13,12 +13,10 @@ var _Input = require("../../atoms/Input");
|
|
|
13
13
|
|
|
14
14
|
var _Text = require("../../atoms/Text");
|
|
15
15
|
|
|
16
|
-
var
|
|
16
|
+
var _HintInputContainer = require("../HintInputContainer");
|
|
17
17
|
|
|
18
18
|
var _styled = require("./styled");
|
|
19
19
|
|
|
20
|
-
var _HintInputContainer = require("../HintInputContainer");
|
|
21
|
-
|
|
22
20
|
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); }
|
|
23
21
|
|
|
24
22
|
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; }
|
|
@@ -42,12 +40,13 @@ function DatePicker({
|
|
|
42
40
|
variant,
|
|
43
41
|
TextComponent = _Text.Text,
|
|
44
42
|
CalendarComponent,
|
|
45
|
-
bottomOffset,
|
|
46
43
|
rightComponent,
|
|
47
|
-
animationType = 'fade',
|
|
48
44
|
style,
|
|
49
45
|
locale,
|
|
50
46
|
closeOnPick = false,
|
|
47
|
+
renderCalendar,
|
|
48
|
+
requestShowCalendar,
|
|
49
|
+
requestCloseCalendar,
|
|
51
50
|
...rest
|
|
52
51
|
}) {
|
|
53
52
|
const {
|
|
@@ -55,15 +54,10 @@ function DatePicker({
|
|
|
55
54
|
handleBlur,
|
|
56
55
|
handleFocus
|
|
57
56
|
} = (0, _Input.useInputFocus)(onFocus, onBlur, !disabled);
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
setModalVisible(true);
|
|
57
|
+
const handleShowCalendar = React.useCallback(() => {
|
|
58
|
+
requestShowCalendar();
|
|
61
59
|
handleFocus();
|
|
62
|
-
}, [handleFocus,
|
|
63
|
-
const handleCloseModal = React.useCallback(() => {
|
|
64
|
-
setModalVisible(false);
|
|
65
|
-
handleBlur();
|
|
66
|
-
}, [handleBlur, setModalVisible]);
|
|
60
|
+
}, [handleFocus, requestShowCalendar]);
|
|
67
61
|
|
|
68
62
|
const getDisplayValue = () => {
|
|
69
63
|
if (!value) return placeholder;
|
|
@@ -90,7 +84,7 @@ function DatePicker({
|
|
|
90
84
|
const StyledText = (0, _styled.getStyledTextComponent)(TextComponent);
|
|
91
85
|
(0, React.useEffect)(() => {
|
|
92
86
|
if (closeOnPick && value && type === 'day') {
|
|
93
|
-
setTimeout(
|
|
87
|
+
setTimeout(requestCloseCalendar, 200);
|
|
94
88
|
}
|
|
95
89
|
|
|
96
90
|
if (closeOnPick && value && type === 'range') {
|
|
@@ -98,13 +92,22 @@ function DatePicker({
|
|
|
98
92
|
lowest,
|
|
99
93
|
highest
|
|
100
94
|
} = value;
|
|
101
|
-
lowest && highest && setTimeout(
|
|
95
|
+
lowest && highest && setTimeout(requestCloseCalendar, 200);
|
|
102
96
|
}
|
|
103
|
-
}, [value, closeOnPick, type,
|
|
104
|
-
|
|
97
|
+
}, [value, closeOnPick, type, requestCloseCalendar]);
|
|
98
|
+
const calendar = React.createElement(CalendarComponent, {
|
|
99
|
+
pointerEvents: 'box-none',
|
|
100
|
+
type: type,
|
|
101
|
+
value: value,
|
|
102
|
+
month: month,
|
|
103
|
+
year: year,
|
|
104
|
+
onChange: onChange,
|
|
105
|
+
locale: locale
|
|
106
|
+
});
|
|
107
|
+
return React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowCalendar, getDisplayValue()) : React.createElement(_HintInputContainer.HintInputContainer, _extends({
|
|
105
108
|
focused: focused,
|
|
106
109
|
viewStyle: style,
|
|
107
|
-
onPress:
|
|
110
|
+
onPress: handleShowCalendar,
|
|
108
111
|
disabled: disabled,
|
|
109
112
|
hintComponent: hintComponent,
|
|
110
113
|
LabelComponent: TextComponent,
|
|
@@ -118,20 +121,7 @@ function DatePicker({
|
|
|
118
121
|
}, rest), React.createElement(StyledText, {
|
|
119
122
|
fontWeight: "bold",
|
|
120
123
|
disabled: disabled
|
|
121
|
-
}, getDisplayValue() || ' ')),
|
|
122
|
-
CalendarComponent: CalendarComponent,
|
|
123
|
-
bottomOffset: bottomOffset,
|
|
124
|
-
visible: modalVisible,
|
|
125
|
-
onRequestClose: handleCloseModal,
|
|
126
|
-
animated: true,
|
|
127
|
-
animationType: animationType,
|
|
128
|
-
month: month,
|
|
129
|
-
year: year,
|
|
130
|
-
onChange: onChange,
|
|
131
|
-
value: value,
|
|
132
|
-
type: type,
|
|
133
|
-
locale: locale
|
|
134
|
-
}));
|
|
124
|
+
}, getDisplayValue() || ' ')), renderCalendar(calendar, handleBlur));
|
|
135
125
|
}
|
|
136
126
|
|
|
137
127
|
var _default = DatePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/DatePicker.tsx"],"names":["DatePicker","month","year","onChange","value","type","format","placeholder","onFocus","onBlur","disabled","controlComponent","hintComponent","hint","variant","TextComponent","Text","CalendarComponent","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/DatePicker.tsx"],"names":["DatePicker","month","year","onChange","value","type","format","placeholder","onFocus","onBlur","disabled","controlComponent","hintComponent","hint","variant","TextComponent","Text","CalendarComponent","rightComponent","style","locale","closeOnPick","renderCalendar","requestShowCalendar","requestCloseCalendar","rest","focused","handleBlur","handleFocus","handleShowCalendar","React","useCallback","getDisplayValue","lowest","highest","StyledText","setTimeout","calendar"],"mappings":"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","sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { useEffect } from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarProps, DateRange, SelectionType } from '../Calendar';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { CalendarIcon, getStyledTextComponent } from './styled';\n\nexport interface DatePickerProps<T extends SelectionType> extends InputContainerProps, Omit<CalendarProps<T>, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n CalendarComponent: React.FC<CalendarProps<T>>\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n format?: string;\n closeOnPick?: boolean;\n renderCalendar: (calendar: React.ReactElement, blur?: () => void) => JSX.Element|null\n requestShowCalendar: () => void\n requestCloseCalendar: () => void\n}\n\nfunction DatePicker<T extends SelectionType>({\n /** DatePicker props */\n month,\n year,\n onChange,\n value,\n type,\n format = 'yyyy-MM-dd',\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant,\n TextComponent = Text,\n CalendarComponent,\n rightComponent,\n style,\n locale,\n closeOnPick = false,\n renderCalendar,\n requestShowCalendar,\n requestCloseCalendar,\n ...rest\n}: DatePickerProps<T>): JSX.Element {\n \n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowCalendar = React.useCallback(() => {\n requestShowCalendar()\n handleFocus();\n }, [handleFocus, requestShowCalendar]);\n\n const getDisplayValue = () => {\n if (!value) return placeholder;\n if (type === 'day') {\n return formatDate(value as Date, format, { locale: locale });\n } else {\n const { lowest, highest } = value as DateRange;\n if (highest)\n return `${formatDate(lowest, format, {\n locale: locale,\n })} - ${formatDate(highest, format, { locale: locale })}`;\n else return formatDate(lowest, format, { locale: locale });\n }\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n\n useEffect(() => {\n if (closeOnPick && value && type === 'day') {\n setTimeout(requestCloseCalendar, 200);\n }\n if (closeOnPick && value && type === 'range') {\n const { lowest, highest } = value as DateRange;\n lowest && highest && setTimeout(requestCloseCalendar, 200);\n }\n }, [value, closeOnPick, type, requestCloseCalendar]);\n\n const calendar = (\n <CalendarComponent\n pointerEvents={'box-none'}\n type={type}\n value={value}\n month={month}\n year={year}\n onChange={onChange}\n locale={locale}\n />\n )\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowCalendar, getDisplayValue())\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowCalendar}\n disabled={disabled}\n hintComponent={hintComponent}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {getDisplayValue() || ' '}\n </StyledText>\n </HintInputContainer>\n )}\n {renderCalendar(calendar, handleBlur)}\n </>\n );\n}\n\nexport default DatePicker;\n"],"file":"DatePicker.js"}
|
|
@@ -1,20 +1,6 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { InputContainerProps } from '../../atoms/Input';
|
|
3
3
|
import { TextProps } from '../../atoms/Text';
|
|
4
|
-
export declare const Backdrop: import("@emotion/native").StyledComponent<import("../../atoms/PressableSurface").PressableSurfaceProps & {
|
|
5
|
-
children?: import("react").ReactNode;
|
|
6
|
-
} & {
|
|
7
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
-
as?: import("react").ElementType<any> | undefined;
|
|
9
|
-
} & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
|
|
10
|
-
export declare const ModalContent: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
|
|
11
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
12
|
-
as?: import("react").ElementType<any> | undefined;
|
|
13
|
-
} & {
|
|
14
|
-
offset: number;
|
|
15
|
-
} & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {
|
|
16
|
-
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
17
|
-
}>;
|
|
18
4
|
export declare const getStyledTextComponent: (component: FC<TextProps>) => import("@emotion/native").StyledComponent<TextProps & {
|
|
19
5
|
children?: import("react").ReactNode;
|
|
20
6
|
} & {
|
|
@@ -3,63 +3,18 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.CalendarIcon = exports.getStyledTextComponent =
|
|
6
|
+
exports.CalendarIcon = exports.getStyledTextComponent = void 0;
|
|
7
7
|
|
|
8
8
|
var _native = _interopRequireWildcard(require("@emotion/native"));
|
|
9
9
|
|
|
10
|
-
var _reactNative = require("react-native");
|
|
11
|
-
|
|
12
|
-
var _definitions = require("../../../styles/definitions");
|
|
13
|
-
|
|
14
|
-
var _utils = require("../../../utils");
|
|
15
|
-
|
|
16
10
|
var _Icon = require("../../atoms/Icon");
|
|
17
11
|
|
|
18
12
|
var _Input = require("../../atoms/Input");
|
|
19
13
|
|
|
20
|
-
var _PressableSurface = require("../../atoms/PressableSurface");
|
|
21
|
-
|
|
22
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); }
|
|
23
15
|
|
|
24
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; }
|
|
25
17
|
|
|
26
|
-
const isWeb = _reactNative.Platform.OS === 'web';
|
|
27
|
-
const Backdrop = (0, _native.default)(_PressableSurface.PressableSurface)`
|
|
28
|
-
${({
|
|
29
|
-
theme
|
|
30
|
-
}) => isWeb ? (0, _native.css)`
|
|
31
|
-
justify-content: center;
|
|
32
|
-
align-items: center;
|
|
33
|
-
background-color: ${(0, _definitions.hex2rgba)(theme.miscellaneous.overlay, 0.5)};
|
|
34
|
-
height: 100vh;
|
|
35
|
-
` : (0, _native.css)`
|
|
36
|
-
justify-content: flex-end;
|
|
37
|
-
background-color: ${(0, _definitions.hex2rgba)(theme.miscellaneous.overlay, 0.5)};
|
|
38
|
-
height: 100%;
|
|
39
|
-
`}
|
|
40
|
-
`;
|
|
41
|
-
exports.Backdrop = Backdrop;
|
|
42
|
-
const ModalContent = _native.default.View`
|
|
43
|
-
background-color: transparent;
|
|
44
|
-
padding-bottom: ${({
|
|
45
|
-
offset
|
|
46
|
-
}) => `${(0, _utils.RFValue)(offset)}px`};
|
|
47
|
-
${({
|
|
48
|
-
theme: {
|
|
49
|
-
borderRadius
|
|
50
|
-
}
|
|
51
|
-
}) => (0, _native.css)`
|
|
52
|
-
${isWeb ? `
|
|
53
|
-
border-radius: ${borderRadius.micro};
|
|
54
|
-
` : `
|
|
55
|
-
border-top-left-radius: ${borderRadius.deca};
|
|
56
|
-
border-top-right-radius: ${borderRadius.deca};
|
|
57
|
-
`}
|
|
58
|
-
`}
|
|
59
|
-
overflow: hidden;
|
|
60
|
-
`;
|
|
61
|
-
exports.ModalContent = ModalContent;
|
|
62
|
-
|
|
63
18
|
const getStyledTextComponent = component => {
|
|
64
19
|
return (0, _native.default)(component)(props => {
|
|
65
20
|
var _props$theme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/styled.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DatePicker/styled.ts"],"names":["getStyledTextComponent","component","props","theme","typography","h5","lineHeight","CalendarIcon","Icon","spacing","centi","color","secondary","medium"],"mappings":";;;;;;;AAAA;;AAGA;;AACA;;;;;;AAGO,MAAMA,sBAAsB,GAAIC,SAAD,IAA8B;AAClE,SAAO,qBAAOA,SAAP,EACJC,KAAD;AAAA;;AAAA,WAA+D,gBAAI;AACvE,qBADsE,gBACjDA,KAAK,CAACC,KAD2C,iDACjD,aAAaC,UAAb,CAAwBC,EAAxB,CAA2BC,UAAW;AAC3D,QAAQ,gCAAoBJ,KAApB,CAA2B;AACnC,KAHI;AAAA,GADK,CAAP;AAMD,CAPM;;;AASA,MAAMK,YAAY,GAAG,qBAAOC,UAAP,CAAkC;AAC9D,aAAa,CAAC;AAAEL,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACM,OAAN,CAAcC,KAAM;AAChD,WAAW,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACQ,KAAN,CAAYC,SAAZ,CAAsBC,MAAO;AACvD,CAHO","sourcesContent":["import styled, { css } from '@emotion/native';\nimport { FC } from 'react';\nimport { StyleProps } from '../../../types/defaults';\nimport { Icon } from '../../atoms/Icon';\nimport { disabledInputStyles, InputContainerProps } from '../../atoms/Input';\nimport { TextProps } from '../../atoms/Text';\n\nexport const getStyledTextComponent = (component: FC<TextProps>) => {\n return styled(component)(\n (props: Partial<InputContainerProps> & Partial<StyleProps>) => css`\n line-height: ${props.theme?.typography.h5.lineHeight};\n ${disabledInputStyles(props)}\n `\n );\n};\n\nexport const CalendarIcon = styled(Icon)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.centi};\n color: ${({ theme }) => theme.color.secondary.medium};\n`;\n"],"file":"styled.js"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { ModalBaseProps } from 'react-native';
|
|
3
2
|
import { InputContainerProps } from '../../atoms/Input';
|
|
4
3
|
import { TextProps } from '../../atoms/Text';
|
|
5
4
|
import { DateTimeSelectorProps } from '../DateTimeSelector';
|
|
6
|
-
|
|
7
|
-
export interface DateTimePickerProps extends InputContainerProps, DateTimePickerModalProps, Omit<DateTimeSelectorProps, 'style'> {
|
|
5
|
+
export interface DateTimePickerProps extends InputContainerProps, Omit<DateTimeSelectorProps, 'style'> {
|
|
8
6
|
controlComponent?: (onPress: () => void, displayValue?: string) => JSX.Element;
|
|
9
7
|
TextComponent?: React.FC<TextProps>;
|
|
10
|
-
|
|
8
|
+
DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;
|
|
11
9
|
placeholder?: string;
|
|
12
10
|
onFocus?: () => void | never;
|
|
13
11
|
onBlur?: () => void | never;
|
|
12
|
+
renderSelector: (selector: React.ReactElement, blur?: () => void) => JSX.Element | null;
|
|
13
|
+
requestShowSelector: () => void;
|
|
14
|
+
requestCloseSelector: () => void;
|
|
14
15
|
}
|
|
15
16
|
declare const DateTimePicker: React.FC<DateTimePickerProps>;
|
|
16
17
|
export default DateTimePicker;
|
|
@@ -15,10 +15,12 @@ var _Text = require("../../atoms/Text");
|
|
|
15
15
|
|
|
16
16
|
var _styled = require("../DatePicker/styled");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _DateTimeSelector = require("../DateTimeSelector");
|
|
19
19
|
|
|
20
20
|
var _HintInputContainer = require("../HintInputContainer");
|
|
21
21
|
|
|
22
|
+
var _styled2 = require("./styled");
|
|
23
|
+
|
|
22
24
|
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); }
|
|
23
25
|
|
|
24
26
|
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; }
|
|
@@ -54,11 +56,12 @@ const DateTimePicker = ({
|
|
|
54
56
|
hint,
|
|
55
57
|
variant = 'default',
|
|
56
58
|
TextComponent = _Text.Text,
|
|
57
|
-
DateTimeSelectorComponent,
|
|
58
|
-
bottomOffset,
|
|
59
|
+
DateTimeSelectorComponent = _DateTimeSelector.DateTimeSelector,
|
|
59
60
|
rightComponent,
|
|
60
|
-
animationType = 'fade',
|
|
61
61
|
style,
|
|
62
|
+
renderSelector,
|
|
63
|
+
requestShowSelector,
|
|
64
|
+
requestCloseSelector,
|
|
62
65
|
...rest
|
|
63
66
|
}) => {
|
|
64
67
|
const {
|
|
@@ -66,47 +69,23 @@ const DateTimePicker = ({
|
|
|
66
69
|
handleBlur,
|
|
67
70
|
handleFocus
|
|
68
71
|
} = (0, _Input.useInputFocus)(onFocus, onBlur, !disabled);
|
|
69
|
-
const [modalVisible, setModalVisible] = React.useState(false);
|
|
70
72
|
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
+
const handleShowSelector = () => {
|
|
74
|
+
requestShowSelector();
|
|
73
75
|
handleFocus();
|
|
74
76
|
};
|
|
75
77
|
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
const handleChoosing = value => {
|
|
79
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(value);
|
|
80
|
+
requestCloseSelector();
|
|
79
81
|
};
|
|
80
82
|
|
|
81
83
|
const StyledText = (0, _styled.getStyledTextComponent)(TextComponent);
|
|
82
84
|
const displayValue = (value ? (0, _dateFns.format)(value, format, {
|
|
83
85
|
locale: locale
|
|
84
86
|
}) : placeholder) || ' ';
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
viewStyle: style,
|
|
88
|
-
onPress: handlePressInput,
|
|
89
|
-
disabled: disabled,
|
|
90
|
-
LabelComponent: TextComponent,
|
|
91
|
-
variant: variant,
|
|
92
|
-
hint: hint,
|
|
93
|
-
hintComponent: hintComponent,
|
|
94
|
-
rightComponent: React.createElement(React.Fragment, null, React.createElement(_styled.CalendarIcon, {
|
|
95
|
-
name: "calendar-sharp",
|
|
96
|
-
type: "ionicon",
|
|
97
|
-
size: "centi"
|
|
98
|
-
}), rightComponent)
|
|
99
|
-
}, rest), React.createElement(StyledText, {
|
|
100
|
-
fontWeight: "bold",
|
|
101
|
-
disabled: disabled
|
|
102
|
-
}, displayValue)), React.createElement(_Modal.Modal, {
|
|
103
|
-
DateTimeSelectorComponent: DateTimeSelectorComponent,
|
|
104
|
-
bottomOffset: bottomOffset,
|
|
105
|
-
visible: modalVisible,
|
|
106
|
-
onRequestClose: handleCloseModal,
|
|
107
|
-
animated: true,
|
|
108
|
-
animationType: animationType,
|
|
109
|
-
onChange: onChange,
|
|
87
|
+
const StyledDateTimeSelector = (0, _styled2.getStyledDateTimeSelector)(DateTimeSelectorComponent);
|
|
88
|
+
const dateTimeSelector = React.createElement(StyledDateTimeSelector, {
|
|
110
89
|
value: value,
|
|
111
90
|
mode: mode,
|
|
112
91
|
format: format,
|
|
@@ -124,8 +103,27 @@ const DateTimePicker = ({
|
|
|
124
103
|
monthLabel: monthLabel,
|
|
125
104
|
yearLabel: yearLabel,
|
|
126
105
|
hourLabel: hourLabel,
|
|
127
|
-
minuteLabel: minuteLabel
|
|
128
|
-
|
|
106
|
+
minuteLabel: minuteLabel,
|
|
107
|
+
onChange: handleChoosing
|
|
108
|
+
});
|
|
109
|
+
return React.createElement(React.Fragment, null, controlComponent ? controlComponent(handleShowSelector, displayValue) : React.createElement(_HintInputContainer.HintInputContainer, _extends({
|
|
110
|
+
focused: focused,
|
|
111
|
+
viewStyle: style,
|
|
112
|
+
onPress: handleShowSelector,
|
|
113
|
+
disabled: disabled,
|
|
114
|
+
LabelComponent: TextComponent,
|
|
115
|
+
variant: variant,
|
|
116
|
+
hint: hint,
|
|
117
|
+
hintComponent: hintComponent,
|
|
118
|
+
rightComponent: React.createElement(React.Fragment, null, React.createElement(_styled.CalendarIcon, {
|
|
119
|
+
name: "calendar-sharp",
|
|
120
|
+
type: "ionicon",
|
|
121
|
+
size: "centi"
|
|
122
|
+
}), rightComponent)
|
|
123
|
+
}, rest), React.createElement(StyledText, {
|
|
124
|
+
fontWeight: "bold",
|
|
125
|
+
disabled: disabled
|
|
126
|
+
}, displayValue)), renderSelector(dateTimeSelector, handleBlur));
|
|
129
127
|
};
|
|
130
128
|
|
|
131
129
|
var _default = DateTimePicker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"names":["DateTimePicker","onChange","value","mode","format","locale","upperDateThreshold","lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","placeholder","onFocus","onBlur","disabled","controlComponent","hintComponent","hint","variant","TextComponent","Text","DateTimeSelectorComponent","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/DateTimePicker.tsx"],"names":["DateTimePicker","onChange","value","mode","format","locale","upperDateThreshold","lowerDateThreshold","offsetThreshold","upperOffsetThreshold","lowerOffsetThreshold","dateModalTitle","timeModalTitle","dateConfirmButtonText","timeConfirmButtonText","dayLabel","monthLabel","yearLabel","hourLabel","minuteLabel","placeholder","onFocus","onBlur","disabled","controlComponent","hintComponent","hint","variant","TextComponent","Text","DateTimeSelectorComponent","DateTimeSelector","rightComponent","style","renderSelector","requestShowSelector","requestCloseSelector","rest","focused","handleBlur","handleFocus","handleShowSelector","handleChoosing","StyledText","displayValue","StyledDateTimeSelector","dateTimeSelector"],"mappings":"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","sourcesContent":["import { format as formatDate } from 'date-fns';\nimport * as React from 'react';\nimport { InputContainerProps, useInputFocus } from '../../atoms/Input';\nimport { Text, TextProps } from '../../atoms/Text';\nimport { CalendarIcon, getStyledTextComponent } from '../DatePicker/styled';\nimport { DateTimeSelector, DateTimeSelectorProps } from '../DateTimeSelector';\nimport { HintInputContainer } from '../HintInputContainer';\nimport { getStyledDateTimeSelector } from './styled';\n\nexport interface DateTimePickerProps extends InputContainerProps, Omit<DateTimeSelectorProps, 'style'> {\n controlComponent?: (\n onPress: () => void,\n displayValue?: string\n ) => JSX.Element;\n TextComponent?: React.FC<TextProps>;\n DateTimeSelectorComponent: React.FC<DateTimeSelectorProps>;\n placeholder?: string;\n onFocus?: () => void | never;\n onBlur?: () => void | never;\n renderSelector: (selector: React.ReactElement, blur?: () => void) => JSX.Element|null\n requestShowSelector: () => void\n requestCloseSelector: () => void\n}\n\nconst DateTimePicker: React.FC<DateTimePickerProps> = ({\n onChange,\n value,\n mode = 'date',\n format = 'yyyy-MM-dd hh:mm:ss',\n locale,\n upperDateThreshold,\n lowerDateThreshold,\n offsetThreshold,\n upperOffsetThreshold,\n lowerOffsetThreshold,\n dateModalTitle,\n timeModalTitle,\n dateConfirmButtonText,\n timeConfirmButtonText,\n dayLabel,\n monthLabel,\n yearLabel,\n hourLabel,\n minuteLabel,\n placeholder,\n onFocus,\n onBlur,\n disabled,\n controlComponent,\n hintComponent,\n hint,\n variant = 'default',\n TextComponent = Text,\n DateTimeSelectorComponent = DateTimeSelector,\n rightComponent,\n style,\n renderSelector,\n requestShowSelector,\n requestCloseSelector,\n ...rest\n}) => {\n \n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n const handleShowSelector = () => {\n requestShowSelector()\n handleFocus();\n };\n\n const handleChoosing = (value: Date) => {\n onChange?.(value)\n requestCloseSelector()\n };\n\n const StyledText = getStyledTextComponent(TextComponent);\n const displayValue = (value ? formatDate(value, format, { locale: locale }) : placeholder) || ' ';\n const StyledDateTimeSelector = getStyledDateTimeSelector(DateTimeSelectorComponent)\n\n const dateTimeSelector = (\n <StyledDateTimeSelector\n value={value}\n mode={mode}\n format={format}\n locale={locale}\n upperDateThreshold={upperDateThreshold}\n lowerDateThreshold={lowerDateThreshold}\n offsetThreshold={offsetThreshold}\n upperOffsetThreshold={upperOffsetThreshold}\n lowerOffsetThreshold={lowerOffsetThreshold}\n dateModalTitle={dateModalTitle}\n timeModalTitle={timeModalTitle}\n dateConfirmButtonText={dateConfirmButtonText}\n timeConfirmButtonText={timeConfirmButtonText}\n dayLabel={dayLabel}\n monthLabel={monthLabel}\n yearLabel={yearLabel}\n hourLabel={hourLabel}\n minuteLabel={minuteLabel}\n onChange={handleChoosing}\n />\n )\n\n return (\n <>\n {controlComponent ? (\n controlComponent(handleShowSelector, displayValue)\n ) : (\n <HintInputContainer\n focused={focused}\n viewStyle={style}\n onPress={handleShowSelector}\n disabled={disabled}\n LabelComponent={TextComponent}\n variant={variant}\n hint={hint}\n hintComponent={hintComponent}\n rightComponent={\n <>\n <CalendarIcon name=\"calendar-sharp\" type=\"ionicon\" size=\"centi\" />\n {rightComponent}\n </>\n }\n {...rest}\n >\n <StyledText fontWeight=\"bold\" disabled={disabled}>\n {displayValue}\n </StyledText>\n </HintInputContainer>\n )}\n {renderSelector(dateTimeSelector, handleBlur)}\n </>\n );\n};\n\nexport default DateTimePicker;\n"],"file":"DateTimePicker.js"}
|
|
@@ -1,26 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
import { PressableSurfaceProps } from '../../atoms/PressableSurface';
|
|
3
2
|
import { DateTimeSelectorProps } from '../DateTimeSelector';
|
|
4
|
-
export declare const StyledPressableSurface: import("@emotion/native").StyledComponent<PressableSurfaceProps & {
|
|
5
|
-
children?: import("react").ReactNode;
|
|
6
|
-
} & {
|
|
7
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
8
|
-
as?: import("react").ElementType<any> | undefined;
|
|
9
|
-
}, {}, {}>;
|
|
10
|
-
export declare const Backdrop: import("@emotion/native").StyledComponent<PressableSurfaceProps & {
|
|
11
|
-
children?: import("react").ReactNode;
|
|
12
|
-
} & {
|
|
13
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
14
|
-
as?: import("react").ElementType<any> | undefined;
|
|
15
|
-
} & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {}>;
|
|
16
|
-
export declare const ModalContent: import("@emotion/native").StyledComponent<import("react-native").ViewProps & {
|
|
17
|
-
theme?: import("@emotion/react").Theme | undefined;
|
|
18
|
-
as?: import("react").ElementType<any> | undefined;
|
|
19
|
-
} & {
|
|
20
|
-
offset: number;
|
|
21
|
-
} & Partial<import("../../../types/defaults").ThemeProviderProps>, {}, {
|
|
22
|
-
ref?: import("react").Ref<import("react-native").View> | undefined;
|
|
23
|
-
}>;
|
|
24
3
|
export declare const getStyledDateTimeSelector: (component: FC<DateTimeSelectorProps>) => import("@emotion/native").StyledComponent<DateTimeSelectorProps & {
|
|
25
4
|
children?: import("react").ReactNode;
|
|
26
5
|
} & {
|
|
@@ -3,59 +3,11 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.getStyledDateTimeSelector =
|
|
6
|
+
exports.getStyledDateTimeSelector = void 0;
|
|
7
7
|
|
|
8
|
-
var _native =
|
|
8
|
+
var _native = _interopRequireDefault(require("@emotion/native"));
|
|
9
9
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var _utils = require("../../../utils");
|
|
13
|
-
|
|
14
|
-
var _PressableSurface = require("../../atoms/PressableSurface");
|
|
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
|
-
const isWeb = _reactNative.Platform.OS === 'web';
|
|
21
|
-
const StyledPressableSurface = (0, _native.default)(_PressableSurface.PressableSurface)`
|
|
22
|
-
width: 100%;
|
|
23
|
-
`;
|
|
24
|
-
exports.StyledPressableSurface = StyledPressableSurface;
|
|
25
|
-
const Backdrop = (0, _native.default)(_PressableSurface.PressableSurface)`
|
|
26
|
-
${isWeb ? (0, _native.css)`
|
|
27
|
-
justify-content: center;
|
|
28
|
-
align-items: center;
|
|
29
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
30
|
-
height: 100vh;
|
|
31
|
-
` : (0, _native.css)`
|
|
32
|
-
justify-content: flex-end;
|
|
33
|
-
background-color: rgba(0, 0, 0, 0.5);
|
|
34
|
-
height: 100%;
|
|
35
|
-
`}
|
|
36
|
-
`;
|
|
37
|
-
exports.Backdrop = Backdrop;
|
|
38
|
-
const ModalContent = _native.default.View`
|
|
39
|
-
background-color: transparent;
|
|
40
|
-
padding-bottom: ${({
|
|
41
|
-
offset
|
|
42
|
-
}) => `${(0, _utils.RFValue)(offset)}px`};
|
|
43
|
-
${({
|
|
44
|
-
theme: {
|
|
45
|
-
borderRadius
|
|
46
|
-
}
|
|
47
|
-
}) => (0, _native.css)`
|
|
48
|
-
${isWeb ? `
|
|
49
|
-
width: ${(0, _utils.RFValueStr)('375px')};
|
|
50
|
-
border-radius: ${borderRadius.micro};
|
|
51
|
-
` : `
|
|
52
|
-
border-top-left-radius: ${borderRadius.deca};
|
|
53
|
-
border-top-right-radius: ${borderRadius.deca};
|
|
54
|
-
`}
|
|
55
|
-
`}
|
|
56
|
-
overflow: hidden;
|
|
57
|
-
`;
|
|
58
|
-
exports.ModalContent = ModalContent;
|
|
10
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
59
11
|
|
|
60
12
|
const getStyledDateTimeSelector = component => {
|
|
61
13
|
return (0, _native.default)(component)`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/styled.ts"],"names":["
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/molecules/DateTimePicker/styled.ts"],"names":["getStyledDateTimeSelector","component","theme","spacing","deca"],"mappings":";;;;;;;AAAA;;;;AAKO,MAAMA,yBAAyB,GACpCC,SADuC,IAEpC;AACH,SAAO,qBAAOA,SAAP,CAAuC;AAChD,eAAe,CAAC;AAAEC,IAAAA;AAAF,GAAD,KAAeA,KAAK,CAACC,OAAN,CAAcC,IAAK;AACjD,GAFE;AAGD,CANM","sourcesContent":["import styled from '@emotion/native';\nimport { FC } from 'react';\nimport { StyleProps } from '../../../types/defaults';\nimport { DateTimeSelectorProps } from '../DateTimeSelector';\n\nexport const getStyledDateTimeSelector = (\n component: FC<DateTimeSelectorProps>\n) => {\n return styled(component)<Partial<StyleProps>>`\n padding: ${({ theme }) => theme.spacing.deca};\n `;\n};\n"],"file":"styled.js"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { SpacingType } from '
|
|
2
|
+
import { SpacingType } from '../../../../types/defaults';
|
|
3
3
|
declare type FlexPositioning = 'flex-start' | 'flex-end' | 'center';
|
|
4
4
|
declare type FlexAlignBase = FlexPositioning | 'stretch';
|
|
5
5
|
declare type FlexAlignType = FlexAlignBase | 'baseline';
|
|
@@ -7,10 +7,12 @@ exports.default = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
|
|
10
|
-
var _reactCore = require("@tecsinapse/react-core");
|
|
11
|
-
|
|
12
10
|
var _reactNative = require("react-native");
|
|
13
11
|
|
|
12
|
+
var _hooks = require("../../../../hooks");
|
|
13
|
+
|
|
14
|
+
var _utils = require("../../../../utils");
|
|
15
|
+
|
|
14
16
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
17
|
|
|
16
18
|
const GridItem = ({
|
|
@@ -25,7 +27,7 @@ const GridItem = ({
|
|
|
25
27
|
}) => {
|
|
26
28
|
const {
|
|
27
29
|
spacing
|
|
28
|
-
} = (0,
|
|
30
|
+
} = (0, _hooks.useTheme)();
|
|
29
31
|
|
|
30
32
|
if (!_react.default.Children.only(children)) {
|
|
31
33
|
throw new Error('The number of children in GridItem should be one');
|
|
@@ -37,8 +39,8 @@ const GridItem = ({
|
|
|
37
39
|
|
|
38
40
|
const getPadding = pos => {
|
|
39
41
|
if (_spacing) {
|
|
40
|
-
if (typeof _spacing === 'string') return (0,
|
|
41
|
-
return (0,
|
|
42
|
+
if (typeof _spacing === 'string') return (0, _utils.extractNumbersFromString)(spacing[_spacing]);else if (typeof _spacing === 'object' && _spacing[pos]) {
|
|
43
|
+
return (0, _utils.extractNumbersFromString)(spacing[_spacing[pos]]);
|
|
42
44
|
} else return undefined;
|
|
43
45
|
} else return undefined;
|
|
44
46
|
};
|