You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							34 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							34 lines
						
					
					
						
							1.3 KiB
						
					
					
				| "use strict";
 | |
| var __importDefault = (this && this.__importDefault) || function (mod) {
 | |
|     return (mod && mod.__esModule) ? mod : { "default": mod };
 | |
| };
 | |
| Object.defineProperty(exports, "__esModule", { value: true });
 | |
| const react_1 = require("react");
 | |
| const parseISO_1 = __importDefault(require("date-fns/parseISO"));
 | |
| const utils_1 = require("../../utils");
 | |
| const useDatePicker = ({ value, propertyType, disabled, onChange }) => {
 | |
|     const [isCalendarVisible, setCalendarVisible] = react_1.useState(false);
 | |
|     let date;
 | |
|     let dateString;
 | |
|     if (value && value.constructor.name !== 'Date') {
 | |
|         const dateStringValue = value;
 | |
|         let dateNum = parseISO_1.default(dateStringValue);
 | |
|         if (dateNum.toString() === 'Invalid Date')
 | |
|             dateNum = undefined;
 | |
|         if (dateNum) {
 | |
|             date = new Date(dateNum);
 | |
|             dateString = utils_1.formatDateProperty(date, propertyType);
 | |
|         }
 | |
|     }
 | |
|     else if (value && value.constructor.name === 'Date') {
 | |
|         dateString = utils_1.formatDateProperty(value, propertyType);
 | |
|     }
 | |
|     const onDateChange = (newDate) => {
 | |
|         if (!disabled) {
 | |
|             onChange(newDate);
 | |
|         }
 | |
|     };
 | |
|     return { dateString, date, isCalendarVisible, setCalendarVisible, onDateChange };
 | |
| };
 | |
| exports.default = useDatePicker;
 |