oolib 2.166.1 → 2.167.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/stories/v2/components/Date.stories.d.ts +47 -0
- package/dist/stories/v2/components/Date.stories.js +45 -1
- package/dist/v2/components/DatePicker/index.d.ts +22 -0
- package/dist/v2/components/DatePicker/index.js +39 -0
- package/dist/v2/components/DatePicker/styled.d.ts +2 -0
- package/dist/v2/components/DatePicker/styled.js +14 -0
- package/dist/v2/components/DatePicker/utils/useDatePickerState.d.ts +23 -0
- package/dist/v2/components/DatePicker/utils/useDatePickerState.js +81 -0
- package/dist/v2/components/DateRangePicker/index.d.ts +15 -1
- package/dist/v2/components/DateRangePicker/index.js +12 -27
- package/dist/v2/components/DateRangePicker/styled.d.ts +0 -2
- package/dist/v2/components/DateRangePicker/styled.js +3 -8
- package/package.json +1 -1
|
@@ -42,3 +42,50 @@ export namespace DateRangePicker_ {
|
|
|
42
42
|
export let withPortal: boolean;
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
export function DatePicker_(args: any): import("react").JSX.Element;
|
|
46
|
+
export namespace DatePicker_ {
|
|
47
|
+
export namespace argTypes_1 {
|
|
48
|
+
export namespace previousDateOnly_2 {
|
|
49
|
+
let name_5: string;
|
|
50
|
+
export { name_5 as name };
|
|
51
|
+
}
|
|
52
|
+
export { previousDateOnly_2 as previousDateOnly };
|
|
53
|
+
export namespace futureDateOnly_2 {
|
|
54
|
+
let name_6: string;
|
|
55
|
+
export { name_6 as name };
|
|
56
|
+
}
|
|
57
|
+
export { futureDateOnly_2 as futureDateOnly };
|
|
58
|
+
export namespace disabled_2 {
|
|
59
|
+
let name_7: string;
|
|
60
|
+
export { name_7 as name };
|
|
61
|
+
}
|
|
62
|
+
export { disabled_2 as disabled };
|
|
63
|
+
export namespace readOnly_2 {
|
|
64
|
+
let name_8: string;
|
|
65
|
+
export { name_8 as name };
|
|
66
|
+
}
|
|
67
|
+
export { readOnly_2 as readOnly };
|
|
68
|
+
export namespace pickerLabel {
|
|
69
|
+
let name_9: string;
|
|
70
|
+
export { name_9 as name };
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
export { argTypes_1 as argTypes };
|
|
74
|
+
export namespace args_1 {
|
|
75
|
+
let previousDateOnly_3: boolean;
|
|
76
|
+
export { previousDateOnly_3 as previousDateOnly };
|
|
77
|
+
let futureDateOnly_3: boolean;
|
|
78
|
+
export { futureDateOnly_3 as futureDateOnly };
|
|
79
|
+
let disabled_3: boolean;
|
|
80
|
+
export { disabled_3 as disabled };
|
|
81
|
+
let readOnly_3: boolean;
|
|
82
|
+
export { readOnly_3 as readOnly };
|
|
83
|
+
let debug_1: boolean;
|
|
84
|
+
export { debug_1 as debug };
|
|
85
|
+
let withPortal_1: boolean;
|
|
86
|
+
export { withPortal_1 as withPortal };
|
|
87
|
+
let pickerLabel_1: string;
|
|
88
|
+
export { pickerLabel_1 as pickerLabel };
|
|
89
|
+
}
|
|
90
|
+
export { args_1 as args };
|
|
91
|
+
}
|
|
@@ -10,10 +10,14 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
13
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.DateRangePicker_ = void 0;
|
|
17
|
+
exports.DatePicker_ = exports.DateRangePicker_ = void 0;
|
|
15
18
|
var react_1 = require("react");
|
|
16
19
|
var DateRangePicker_1 = require("../../../v2/components/DateRangePicker");
|
|
20
|
+
var DatePicker_1 = __importDefault(require("../../../v2/components/DatePicker"));
|
|
17
21
|
exports.default = {
|
|
18
22
|
title: 'Oolib V 2.0/components/Date',
|
|
19
23
|
};
|
|
@@ -60,3 +64,43 @@ exports.DateRangePicker_.args = {
|
|
|
60
64
|
endDateLabel: "",
|
|
61
65
|
withPortal: false
|
|
62
66
|
};
|
|
67
|
+
var DatePicker_ = function (args) {
|
|
68
|
+
var _a = (0, react_1.useState)(undefined), date = _a[0], setDate = _a[1];
|
|
69
|
+
var handleChange = function (date) {
|
|
70
|
+
setDate(date);
|
|
71
|
+
};
|
|
72
|
+
return (React.createElement("div", { style: {
|
|
73
|
+
width: '45vw',
|
|
74
|
+
height: '95vh',
|
|
75
|
+
backgroundColor: args.invert && greyColor100,
|
|
76
|
+
padding: '1rem',
|
|
77
|
+
} },
|
|
78
|
+
React.createElement(DatePicker_1.default, __assign({}, args, { onChange: function (date) { return handleChange(date); }, value: date, label: "Date Picker", sublabel: "Calendar pickers default to showing today’s date when opened and only one month is shown at a time. Calendar pickers allow users to navigate through months and years, however they work best when used for recent or near future dates." }))));
|
|
79
|
+
};
|
|
80
|
+
exports.DatePicker_ = DatePicker_;
|
|
81
|
+
exports.DatePicker_.argTypes = {
|
|
82
|
+
previousDateOnly: {
|
|
83
|
+
name: 'Previous Date Only',
|
|
84
|
+
},
|
|
85
|
+
futureDateOnly: {
|
|
86
|
+
name: 'Future Date Only',
|
|
87
|
+
},
|
|
88
|
+
disabled: {
|
|
89
|
+
name: 'Disabled',
|
|
90
|
+
},
|
|
91
|
+
readOnly: {
|
|
92
|
+
name: 'Read Only',
|
|
93
|
+
},
|
|
94
|
+
pickerLabel: {
|
|
95
|
+
name: "Picker Label"
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
exports.DatePicker_.args = {
|
|
99
|
+
previousDateOnly: false,
|
|
100
|
+
futureDateOnly: false,
|
|
101
|
+
disabled: false,
|
|
102
|
+
readOnly: false,
|
|
103
|
+
debug: false,
|
|
104
|
+
withPortal: false,
|
|
105
|
+
pickerLabel: ""
|
|
106
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import 'react-datepicker/dist/react-datepicker.css';
|
|
3
|
+
interface DatePickerProps {
|
|
4
|
+
value: Date | null;
|
|
5
|
+
onChange: (date: Date | null) => void;
|
|
6
|
+
id: string;
|
|
7
|
+
readOnly?: boolean;
|
|
8
|
+
previousDateOnly?: boolean;
|
|
9
|
+
futureDateOnly?: boolean;
|
|
10
|
+
invert?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
debug?: boolean;
|
|
13
|
+
withPortal?: boolean;
|
|
14
|
+
label?: string;
|
|
15
|
+
portalId?: string;
|
|
16
|
+
minDate?: Date;
|
|
17
|
+
maxDate?: Date;
|
|
18
|
+
pickerLabel?: string;
|
|
19
|
+
}
|
|
20
|
+
declare function DatePicker_(props: DatePickerProps): React.JSX.Element;
|
|
21
|
+
declare const _default: React.MemoExoticComponent<typeof DatePicker_>;
|
|
22
|
+
export default _default;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
var react_1 = __importDefault(require("react"));
|
|
18
|
+
var BlockLabel_1 = require("../BlockLabel");
|
|
19
|
+
var getBlockLabelProps_1 = require("../../../utils/getBlockLabelProps");
|
|
20
|
+
var Typo2_1 = require("../Typo2");
|
|
21
|
+
var useDatePickerState_1 = require("./utils/useDatePickerState");
|
|
22
|
+
var styled_1 = require("./styled");
|
|
23
|
+
require("react-datepicker/dist/react-datepicker.css");
|
|
24
|
+
function DatePicker_(props) {
|
|
25
|
+
var value = props.value, onChange = props.onChange, readOnly = props.readOnly, disabled = props.disabled, _a = props.withPortal, withPortal = _a === void 0 ? false : _a, _b = props.portalId, portalId = _b === void 0 ? 'date-picker-portal' : _b, minDate = props.minDate, maxDate = props.maxDate, pickerLabel = props.pickerLabel;
|
|
26
|
+
var _c = (0, useDatePickerState_1.useDatePickerState)({
|
|
27
|
+
withPortal: withPortal,
|
|
28
|
+
portalId: portalId,
|
|
29
|
+
onDateSelect: onChange
|
|
30
|
+
}), datePickerProps = _c.datePickerProps, isOpen = _c.isOpen;
|
|
31
|
+
var baseProps = __assign({ className: 'UI_BODY_SM', selected: value, minDate: minDate, maxDate: maxDate, readOnly: readOnly, disabled: disabled, dateFormat: "MM/dd/yyyy" }, datePickerProps);
|
|
32
|
+
return (react_1.default.createElement("div", { style: { display: "flex", flexDirection: "column" } },
|
|
33
|
+
react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props))),
|
|
34
|
+
react_1.default.createElement("div", { style: {} },
|
|
35
|
+
pickerLabel && react_1.default.createElement(Typo2_1.UI_CAPTION, null, pickerLabel),
|
|
36
|
+
react_1.default.createElement(styled_1.StyledDatePicker, __assign({}, baseProps))),
|
|
37
|
+
props.debug && (react_1.default.createElement("pre", null, JSON.stringify({ value: value }, null, 2)))));
|
|
38
|
+
}
|
|
39
|
+
exports.default = react_1.default.memo(DatePicker_);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
+
return cooked;
|
|
5
|
+
};
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.StyledDatePicker = void 0;
|
|
11
|
+
var react_datepicker_1 = __importDefault(require("react-datepicker"));
|
|
12
|
+
var styled_components_1 = __importDefault(require("styled-components"));
|
|
13
|
+
exports.StyledDatePicker = (0, styled_components_1.default)(react_datepicker_1.default)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n padding: 8px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 16px;\n width: 120px;\n &:disabled {\n background-color: #f0f0f0;\n cursor: not-allowed;\n }\n"], ["\n padding: 8px;\n border: 1px solid #ccc;\n border-radius: 4px;\n font-size: 16px;\n width: 120px;\n &:disabled {\n background-color: #f0f0f0;\n cursor: not-allowed;\n }\n"])));
|
|
14
|
+
var templateObject_1;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
interface UseDatePickerStateProps {
|
|
2
|
+
withPortal?: boolean;
|
|
3
|
+
portalId: string;
|
|
4
|
+
onDateSelect?: (date: Date | null) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const useDatePickerState: ({ withPortal, portalId, onDateSelect }: UseDatePickerStateProps) => {
|
|
7
|
+
datePickerProps: {
|
|
8
|
+
withPortal: boolean;
|
|
9
|
+
portalId: string;
|
|
10
|
+
onCalendarOpen: () => void;
|
|
11
|
+
onCalendarClose: () => void;
|
|
12
|
+
open: boolean;
|
|
13
|
+
onInputClick: () => void;
|
|
14
|
+
onChange: (date: Date | null) => void;
|
|
15
|
+
} | {
|
|
16
|
+
onClickOutside: () => void;
|
|
17
|
+
open: boolean;
|
|
18
|
+
onInputClick: () => void;
|
|
19
|
+
onChange: (date: Date | null) => void;
|
|
20
|
+
};
|
|
21
|
+
isOpen: boolean;
|
|
22
|
+
};
|
|
23
|
+
export {};
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.useDatePickerState = void 0;
|
|
15
|
+
var react_1 = require("react");
|
|
16
|
+
// handles auto closing of date picker popper in both conditions - withPoral true and false
|
|
17
|
+
var useDatePickerState = function (_a) {
|
|
18
|
+
var _b = _a.withPortal, withPortal = _b === void 0 ? false : _b, portalId = _a.portalId, onDateSelect = _a.onDateSelect;
|
|
19
|
+
var _c = (0, react_1.useState)(false), isOpen = _c[0], setIsOpen = _c[1];
|
|
20
|
+
var _d = (0, react_1.useState)(false), portalOpen = _d[0], setPortalOpen = _d[1];
|
|
21
|
+
var cleanupPortalBackdrop = (0, react_1.useCallback)(function (id) {
|
|
22
|
+
var portal = document.getElementById(id);
|
|
23
|
+
if (portal) {
|
|
24
|
+
var portalOverlay = portal.querySelector('.react-datepicker__portal');
|
|
25
|
+
if (portalOverlay) {
|
|
26
|
+
portalOverlay.remove();
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}, []);
|
|
30
|
+
var handleDateChange = (0, react_1.useCallback)(function (date) {
|
|
31
|
+
if (onDateSelect) {
|
|
32
|
+
onDateSelect(date);
|
|
33
|
+
}
|
|
34
|
+
if (!withPortal) {
|
|
35
|
+
setIsOpen(false);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
setPortalOpen(false);
|
|
39
|
+
cleanupPortalBackdrop(portalId);
|
|
40
|
+
}
|
|
41
|
+
}, [withPortal, portalId, onDateSelect, cleanupPortalBackdrop]);
|
|
42
|
+
var handlePortalClick = (0, react_1.useCallback)(function () {
|
|
43
|
+
if (withPortal) {
|
|
44
|
+
setPortalOpen(function (prev) {
|
|
45
|
+
var newState = !prev;
|
|
46
|
+
if (!newState) {
|
|
47
|
+
cleanupPortalBackdrop(portalId);
|
|
48
|
+
}
|
|
49
|
+
return newState;
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}, [withPortal, portalId, cleanupPortalBackdrop]);
|
|
53
|
+
var handleInputClick = (0, react_1.useCallback)(function () {
|
|
54
|
+
if (withPortal) {
|
|
55
|
+
handlePortalClick();
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
setIsOpen(function (prev) { return !prev; });
|
|
59
|
+
}
|
|
60
|
+
}, [withPortal, handlePortalClick]);
|
|
61
|
+
(0, react_1.useEffect)(function () {
|
|
62
|
+
return function () {
|
|
63
|
+
if (withPortal) {
|
|
64
|
+
cleanupPortalBackdrop(portalId);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}, [withPortal, portalId, cleanupPortalBackdrop]);
|
|
68
|
+
var datePickerProps = __assign({ open: withPortal ? portalOpen : isOpen, onInputClick: handleInputClick, onChange: handleDateChange }, (withPortal ? {
|
|
69
|
+
withPortal: true,
|
|
70
|
+
portalId: portalId,
|
|
71
|
+
onCalendarOpen: handlePortalClick,
|
|
72
|
+
onCalendarClose: handlePortalClick,
|
|
73
|
+
} : {
|
|
74
|
+
onClickOutside: function () { return setIsOpen(false); }
|
|
75
|
+
}));
|
|
76
|
+
return {
|
|
77
|
+
datePickerProps: datePickerProps,
|
|
78
|
+
isOpen: withPortal ? portalOpen : isOpen
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.useDatePickerState = useDatePickerState;
|
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
2
|
+
interface DateRangePickerProps {
|
|
3
|
+
onChange: (id: string, value: (Date | null)[]) => void;
|
|
4
|
+
value: (Date | null)[];
|
|
5
|
+
id: string;
|
|
6
|
+
readOnly?: boolean;
|
|
7
|
+
futureDateOnly?: boolean;
|
|
8
|
+
previousDateOnly?: boolean;
|
|
9
|
+
allowPresentlyOngoing?: boolean;
|
|
10
|
+
invert?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
debug?: boolean;
|
|
13
|
+
startDateLabel?: string;
|
|
14
|
+
endDateLabel?: string;
|
|
15
|
+
withPortal?: boolean;
|
|
16
|
+
}
|
|
3
17
|
interface DateRangePickerProps {
|
|
4
18
|
onChange: (id: string, value: (Date | null)[]) => void;
|
|
5
19
|
value: (Date | null)[];
|
|
@@ -42,17 +42,19 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
42
42
|
}
|
|
43
43
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
44
|
};
|
|
45
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
47
|
+
};
|
|
45
48
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
49
|
exports.DateRangePicker = void 0;
|
|
47
50
|
var react_1 = __importStar(require("react"));
|
|
48
|
-
require("react-datepicker/dist/react-datepicker.css");
|
|
49
51
|
var RadioAndCheckbox_1 = require("../../../components/RadioAndCheckbox");
|
|
50
52
|
var BlockLabel_1 = require("../BlockLabel");
|
|
51
53
|
var getBlockLabelProps_1 = require("../../../utils/getBlockLabelProps");
|
|
52
|
-
var Typo2_1 = require("../Typo2");
|
|
53
54
|
var styled_1 = require("./styled");
|
|
54
55
|
var TextInputs_1 = require("../TextInputs");
|
|
55
56
|
var __1 = require("../../..");
|
|
57
|
+
var DatePicker_1 = __importDefault(require("../DatePicker"));
|
|
56
58
|
function DateRangePicker_(props) {
|
|
57
59
|
var onChange = props.onChange, value = props.value, id = props.id, readOnly = props.readOnly, futureDateOnly = props.futureDateOnly, previousDateOnly = props.previousDateOnly, allowPresentlyOngoing = props.allowPresentlyOngoing, invert = props.invert, disabled = props.disabled, debug = props.debug, startDateLabel = props.startDateLabel, endDateLabel = props.endDateLabel, _a = props.withPortal, withPortal = _a === void 0 ? false : _a;
|
|
58
60
|
var _b = (0, react_1.useState)(value[0] || null), startDate = _b[0], setStartDate = _b[1];
|
|
@@ -61,29 +63,18 @@ function DateRangePicker_(props) {
|
|
|
61
63
|
setStartDate(value[0] || null);
|
|
62
64
|
setEndDate(value[1] || null);
|
|
63
65
|
}, [value]);
|
|
64
|
-
// Get current date at midnight for consistent comparison
|
|
65
66
|
var currentDate = new Date();
|
|
66
67
|
currentDate.setHours(0, 0, 0, 0);
|
|
67
|
-
// Get yesterday's date
|
|
68
68
|
var yesterday = new Date(currentDate);
|
|
69
69
|
yesterday.setDate(currentDate.getDate() - 1);
|
|
70
|
-
var
|
|
70
|
+
var handleDateChange = function (index, date) {
|
|
71
71
|
var newValue = __spreadArray([], value, true);
|
|
72
72
|
newValue[index] = date;
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
setStartDate(date);
|
|
76
|
-
if (date && endDate && date > endDate) {
|
|
77
|
-
setEndDate(null);
|
|
78
|
-
newValue[1] = null;
|
|
79
|
-
onChange(id, newValue);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
setEndDate(date);
|
|
73
|
+
if (index === 0 && date && endDate && date > endDate) {
|
|
74
|
+
newValue[1] = null;
|
|
84
75
|
}
|
|
76
|
+
onChange(id, newValue);
|
|
85
77
|
};
|
|
86
|
-
// Calculate min and max dates based on restrictions
|
|
87
78
|
var getMinDate = function (isEndDate) {
|
|
88
79
|
if (futureDateOnly) {
|
|
89
80
|
return currentDate;
|
|
@@ -103,21 +94,15 @@ function DateRangePicker_(props) {
|
|
|
103
94
|
react_1.default.createElement(BlockLabel_1.BlockLabel, __assign({}, (0, getBlockLabelProps_1.getBlockLabelProps)(props))),
|
|
104
95
|
react_1.default.createElement(styled_1.StyledDateRangeInputWrapper, { invert: invert, readOnly: readOnly },
|
|
105
96
|
react_1.default.createElement("div", { style: { display: "flex", flexDirection: "column" } },
|
|
106
|
-
react_1.default.createElement(
|
|
107
|
-
react_1.default.createElement(styled_1.StyledDatePicker, { locale: "es", className: 'UI_BODY_SM', selected: startDate, onChange: function (date) { return handleOnChange(0, date); }, selectsStart: true, startDate: startDate, endDate: endDate, minDate: getMinDate(false), maxDate: getMaxDate(), readOnly: readOnly, disabled: disabled, dateFormat: "MM/dd/yyyy", withPortal: withPortal })),
|
|
97
|
+
react_1.default.createElement(DatePicker_1.default, { value: startDate, onChange: function (date) { return handleDateChange(0, date); }, id: "".concat(id, "-start"), readOnly: readOnly, disabled: disabled, withPortal: withPortal, portalId: "date-picker-portal-start", minDate: getMinDate(false), maxDate: getMaxDate(), pickerLabel: startDateLabel, debug: debug })),
|
|
108
98
|
react_1.default.createElement(styled_1.StyledDateRangeInputDivider, null),
|
|
109
|
-
react_1.default.createElement("div", { style: { display: "flex", flexDirection: "column" } },
|
|
110
|
-
react_1.default.createElement(
|
|
111
|
-
value && value[1] === null ?
|
|
112
|
-
react_1.default.createElement("div", { style: { border: "1px solid ".concat(__1.colors2.grey20), padding: '8px 20px', borderRadius: '5px', width: '120px', background: "".concat(__1.colors2.grey5) } },
|
|
113
|
-
react_1.default.createElement(TextInputs_1.TextInput, { value: "OnGoing", readOnly: true }))
|
|
114
|
-
:
|
|
115
|
-
react_1.default.createElement(styled_1.StyledDatePicker, { locale: "es", className: 'UI_BODY_SM', selected: endDate, onChange: function (date) { return handleOnChange(1, date); }, selectsEnd: true, startDate: startDate, endDate: endDate, minDate: getMinDate(true), maxDate: getMaxDate(), readOnly: readOnly, disabled: disabled || (value && value[1] === null), dateFormat: "MM/dd/yyyy", withPortal: withPortal }))),
|
|
99
|
+
react_1.default.createElement("div", { style: { display: "flex", flexDirection: "column" } }, value && value[1] === null ? (react_1.default.createElement("div", { style: { border: "1px solid ".concat(__1.colors2.grey20), padding: '8px 20px', borderRadius: '5px', width: '120px', background: "".concat(__1.colors2.grey5) } },
|
|
100
|
+
react_1.default.createElement(TextInputs_1.TextInput, { value: "OnGoing", readOnly: true }))) : (react_1.default.createElement(DatePicker_1.default, { value: endDate, onChange: function (date) { return handleDateChange(1, date); }, id: "".concat(id, "-end"), readOnly: readOnly, disabled: disabled || (value && value[1] === null), withPortal: withPortal, portalId: "date-picker-portal-end", minDate: getMinDate(true), maxDate: getMaxDate(), pickerLabel: endDateLabel, debug: debug })))),
|
|
116
101
|
!readOnly && allowPresentlyOngoing && (react_1.default.createElement("div", { style: { marginTop: '0.5rem' } },
|
|
117
102
|
react_1.default.createElement(RadioAndCheckbox_1.CheckboxInput, { option: { display: 'Presently Ongoing', value: 'Ongoing' }, value: value && value[1] === null
|
|
118
103
|
? [{ display: 'Presently Ongoing', value: 'Ongoing' }]
|
|
119
104
|
: [], onClick: function (isSelected) {
|
|
120
|
-
return
|
|
105
|
+
return handleDateChange(1, isSelected ? undefined : null);
|
|
121
106
|
}, disabled: disabled || readOnly }))),
|
|
122
107
|
debug && (react_1.default.createElement("pre", null, JSON.stringify({ startDate: startDate, endDate: endDate, value: value }, null, 2)))));
|
|
123
108
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import DatePicker from "react-datepicker";
|
|
2
1
|
export declare const StyledDateRangeInputWrapper: import("styled-components").StyledComponent<"div", any, {
|
|
3
2
|
invert?: boolean;
|
|
4
3
|
readOnly?: boolean;
|
|
5
4
|
}, never>;
|
|
6
5
|
export declare const StyledDateRangeInputDivider: import("styled-components").StyledComponent<"span", any, {}, never>;
|
|
7
|
-
export declare const StyledDatePicker: import("styled-components").StyledComponent<typeof DatePicker, any, {}, never>;
|
|
@@ -7,18 +7,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
7
7
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
8
|
};
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
10
|
+
exports.StyledDateRangeInputDivider = exports.StyledDateRangeInputWrapper = void 0;
|
|
11
11
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
12
12
|
var themes_1 = require("../../themes");
|
|
13
13
|
var __1 = require("../../..");
|
|
14
|
-
|
|
15
|
-
exports.StyledDateRangeInputWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n /* gap: 8px; */\n ", "\n ", "\n\n .react-datepicker{\n margin-left: 3rem;\n }\n\n .react-datepicker__header{\n font-family: ", ";\n background-color: ", ";\n \n .react-datepicker__current-month{\n font-family: ", "; \n margin-bottom: 0.5rem;\n }\n }\n\n .react-datepicker__month{\n font-family: ", ";\n .react-datepicker__day{\n /* width: 20px; */\n margin: 0.2rem;\n }\n }\n .react-datepicker__day-name{\n margin: 0.2rem;\n }\n"], ["\n display: flex;\n align-items: center;\n /* gap: 8px; */\n ", "\n ", "\n\n .react-datepicker{\n margin-left: 3rem;\n }\n\n .react-datepicker__header{\n font-family: ", ";\n background-color: ", ";\n \n .react-datepicker__current-month{\n font-family: ", "; \n margin-bottom: 0.5rem;\n }\n }\n\n .react-datepicker__month{\n font-family: ", ";\n .react-datepicker__day{\n /* width: 20px; */\n margin: 0.2rem;\n }\n }\n .react-datepicker__day-name{\n margin: 0.2rem;\n }\n"])), function (_a) {
|
|
16
|
-
var invert = _a.invert;
|
|
17
|
-
return invert && "\n background-color: #333;\n color: #fff;\n ";
|
|
18
|
-
}, function (_a) {
|
|
14
|
+
exports.StyledDateRangeInputWrapper = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n\n ", "\n\n .react-datepicker{\n margin-left: 3rem;\n }\n\n .react-datepicker__header{\n font-family: ", ";\n background-color: ", ";\n \n .react-datepicker__current-month{\n font-family: ", "; \n margin-bottom: 0.5rem;\n }\n }\n\n .react-datepicker__month{\n font-family: ", ";\n .react-datepicker__day{\n /* width: 20px; */\n margin: 0.2rem;\n }\n }\n .react-datepicker__day-name{\n margin: 0.2rem;\n }\n"], ["\n display: flex;\n align-items: center;\n\n ", "\n\n .react-datepicker{\n margin-left: 3rem;\n }\n\n .react-datepicker__header{\n font-family: ", ";\n background-color: ", ";\n \n .react-datepicker__current-month{\n font-family: ", "; \n margin-bottom: 0.5rem;\n }\n }\n\n .react-datepicker__month{\n font-family: ", ";\n .react-datepicker__day{\n /* width: 20px; */\n margin: 0.2rem;\n }\n }\n .react-datepicker__day-name{\n margin: 0.2rem;\n }\n"])), function (_a) {
|
|
19
15
|
var readOnly = _a.readOnly;
|
|
20
16
|
return readOnly && "\n opacity: 0.7;\n pointer-events: none;\n ";
|
|
21
17
|
}, themes_1.typo.UI_CAPTION, __1.colors2.grey10, themes_1.typo.UI_CAPTION, themes_1.typo.UI_CAPTION);
|
|
22
18
|
exports.StyledDateRangeInputDivider = styled_components_1.default.span(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n margin: 1rem;\n"], ["\n margin: 1rem;\n"])));
|
|
23
|
-
|
|
24
|
-
var templateObject_1, templateObject_2, templateObject_3;
|
|
19
|
+
var templateObject_1, templateObject_2;
|