{"version":3,"sources":["jsdelivr-header.js","/npm/@ggascoigne/react-daterange-picker@1.0.5/build/index.js"],"names":[],"mappings":"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","file":"/npm/@ggascoigne/react-daterange-picker@1.0.5/build/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@ggascoigne/react-daterange-picker@1.0.5/build/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n    __assign = Object.assign || function(t) {\n        for (var s, i = 1, n = arguments.length; i < n; i++) {\n            s = arguments[i];\n            for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n                t[p] = s[p];\n        }\n        return t;\n    };\n    return __assign.apply(this, arguments);\n};\nvar __importStar = (this && this.__importStar) || function (mod) {\n    if (mod && mod.__esModule) return mod;\n    var result = {};\n    if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\n    result[\"default\"] = mod;\n    return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n    return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar React = __importStar(require(\"react\"));\nvar date_fns_1 = require(\"date-fns\");\nvar Menu_1 = __importDefault(require(\"./components/Menu\"));\nvar defaults_1 = require(\"./defaults\");\nvar utils_1 = require(\"./utils\");\nexports.MARKERS = {\n    FIRST_MONTH: Symbol(\"firstMonth\"),\n    SECOND_MONTH: Symbol(\"secondMonth\")\n};\nvar getValidatedMonths = function (range, minDate, maxDate) {\n    var startDate = range.startDate, endDate = range.endDate;\n    if (startDate && endDate) {\n        var newStart = date_fns_1.max(startDate, minDate);\n        var newEnd = date_fns_1.min(endDate, maxDate);\n        return [newStart, date_fns_1.isSameMonth(newStart, newEnd) ? date_fns_1.addMonths(newStart, 1) : newEnd];\n    }\n    else {\n        return [startDate, endDate];\n    }\n};\nvar DateRangePickerImpl = function (props) {\n    var today = new Date();\n    var open = props.open, onChange = props.onChange, initialDateRange = props.initialDateRange, minDate = props.minDate, maxDate = props.maxDate, _a = props.definedRanges, definedRanges = _a === void 0 ? defaults_1.defaultRanges : _a;\n    var minDateValid = utils_1.parseOptionalDate(minDate, date_fns_1.addYears(today, -10));\n    var maxDateValid = utils_1.parseOptionalDate(maxDate, date_fns_1.addYears(today, 10));\n    var _b = getValidatedMonths(initialDateRange || {}, minDateValid, maxDateValid), intialFirstMonth = _b[0], initialSecondMonth = _b[1];\n    // console.log(\"rendering DateRangePicker\");\n    var _c = React.useState(__assign({}, initialDateRange)), dateRange = _c[0], setDateRange = _c[1];\n    var _d = React.useState(), hoverDay = _d[0], setHoverDay = _d[1];\n    var _e = React.useState(intialFirstMonth || today), firstMonth = _e[0], setFirstMonth = _e[1];\n    var _f = React.useState(initialSecondMonth || date_fns_1.addMonths(firstMonth, 1)), secondMonth = _f[0], setSecondMonth = _f[1];\n    var startDate = dateRange.startDate, endDate = dateRange.endDate;\n    // handlers\n    var setFirstMonthValidated = function (date) {\n        if (date_fns_1.isBefore(date, secondMonth)) {\n            setFirstMonth(date);\n        }\n    };\n    var setSecondMonthValidated = function (date) {\n        if (date_fns_1.isAfter(date, firstMonth)) {\n            setSecondMonth(date);\n        }\n    };\n    var setDateRangeValidated = function (range) {\n        var newStart = range.startDate, newEnd = range.endDate;\n        if (newStart && newEnd) {\n            range.startDate = newStart = date_fns_1.max(newStart, minDateValid);\n            range.endDate = newEnd = date_fns_1.min(newEnd, maxDateValid);\n            setDateRange(range);\n            onChange(range);\n            setFirstMonth(newStart);\n            setSecondMonth(date_fns_1.isSameMonth(newStart, newEnd) ? date_fns_1.addMonths(newStart, 1) : newEnd);\n        }\n    };\n    var onDayClick = function (day) {\n        if (startDate && !endDate && !date_fns_1.isBefore(day, startDate)) {\n            var newRange = { startDate: startDate, endDate: day };\n            onChange(newRange);\n            setDateRange(newRange);\n        }\n        else {\n            setDateRange({ startDate: day, endDate: undefined });\n        }\n        setHoverDay(day);\n    };\n    var onMonthNavigate = function (marker, action) {\n        if (marker == exports.MARKERS.FIRST_MONTH) {\n            var firstNew = date_fns_1.addMonths(firstMonth, action);\n            if (date_fns_1.isBefore(firstNew, secondMonth))\n                setFirstMonth(firstNew);\n        }\n        else {\n            var secondNew = date_fns_1.addMonths(secondMonth, action);\n            if (date_fns_1.isBefore(firstMonth, secondNew))\n                setSecondMonth(secondNew);\n        }\n    };\n    var onDayHover = function (date) {\n        if (startDate && !endDate) {\n            if (!hoverDay || !date_fns_1.isSameDay(date, hoverDay)) {\n                setHoverDay(date);\n            }\n        }\n    };\n    // helpers\n    var inHoverRange = function (day) {\n        return (startDate &&\n            !endDate &&\n            hoverDay &&\n            date_fns_1.isAfter(hoverDay, startDate) &&\n            date_fns_1.isWithinRange(day, startDate, hoverDay));\n    };\n    var helpers = {\n        inHoverRange: inHoverRange\n    };\n    var handlers = {\n        onDayClick: onDayClick,\n        onDayHover: onDayHover,\n        onMonthNavigate: onMonthNavigate\n    };\n    return open ? (React.createElement(Menu_1.default, { dateRange: dateRange, minDate: minDateValid, maxDate: maxDateValid, ranges: definedRanges, firstMonth: firstMonth, secondMonth: secondMonth, setFirstMonth: setFirstMonthValidated, setSecondMonth: setSecondMonthValidated, setDateRange: setDateRangeValidated, helpers: helpers, handlers: handlers })) : null;\n};\nexports.DateRangePicker = DateRangePickerImpl;\n"]}