import { require_MapCache, require_Stack, require_Symbol, require_Uint8Array, require_arrayLikeKeys, require_arrayPush, require_baseGetAllKeys, require_baseGetTag, require_baseIsEqual, require_baseUnary, require_eq, require_getAllKeys, require_getNative, require_getSymbols, require_getTag, require_isArguments, require_isArray, require_isArrayLike, require_isBuffer, require_isEqual, require_isFunction, require_isIndex, require_isLength, require_isObject, require_isObjectLike, require_isPrototype, require_isTypedArray, require_keys, require_nodeUtil, require_overArg, require_root, require_stubArray } from "./chunk-OC7X27RN.js"; import { require_prop_types } from "./chunk-S6WJQOT3.js"; import { require_react_dom } from "./chunk-OL2EO3PE.js"; import { require_react } from "./chunk-2WIBB5DE.js"; import { __commonJS, __export, __toESM } from "./chunk-DC5AMYBS.js"; // node_modules/invariant/browser.js var require_browser = __commonJS({ "node_modules/invariant/browser.js"(exports, module) { "use strict"; var invariant4 = function(condition, format, a, b, c, d, e, f) { if (true) { if (format === void 0) { throw new Error("invariant requires an error message argument"); } } if (!condition) { var error; if (format === void 0) { error = new Error( "Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings." ); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error( format.replace(/%s/g, function() { return args[argIndex++]; }) ); error.name = "Invariant Violation"; } error.framesToPop = 1; throw error; } }; module.exports = invariant4; } }); // node_modules/lodash/_baseSlice.js var require_baseSlice = __commonJS({ "node_modules/lodash/_baseSlice.js"(exports, module) { function baseSlice(array, start2, end2) { var index = -1, length = array.length; if (start2 < 0) { start2 = -start2 > length ? 0 : length + start2; } end2 = end2 > length ? length : end2; if (end2 < 0) { end2 += length; } length = start2 > end2 ? 0 : end2 - start2 >>> 0; start2 >>>= 0; var result = Array(length); while (++index < length) { result[index] = array[index + start2]; } return result; } module.exports = baseSlice; } }); // node_modules/lodash/_isIterateeCall.js var require_isIterateeCall = __commonJS({ "node_modules/lodash/_isIterateeCall.js"(exports, module) { var eq2 = require_eq(); var isArrayLike = require_isArrayLike(); var isIndex = require_isIndex(); var isObject = require_isObject(); function isIterateeCall(value, index, object) { if (!isObject(object)) { return false; } var type = typeof index; if (type == "number" ? isArrayLike(object) && isIndex(index, object.length) : type == "string" && index in object) { return eq2(object[index], value); } return false; } module.exports = isIterateeCall; } }); // node_modules/lodash/_trimmedEndIndex.js var require_trimmedEndIndex = __commonJS({ "node_modules/lodash/_trimmedEndIndex.js"(exports, module) { var reWhitespace = /\s/; function trimmedEndIndex(string) { var index = string.length; while (index-- && reWhitespace.test(string.charAt(index))) { } return index; } module.exports = trimmedEndIndex; } }); // node_modules/lodash/_baseTrim.js var require_baseTrim = __commonJS({ "node_modules/lodash/_baseTrim.js"(exports, module) { var trimmedEndIndex = require_trimmedEndIndex(); var reTrimStart = /^\s+/; function baseTrim(string) { return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string; } module.exports = baseTrim; } }); // node_modules/lodash/isSymbol.js var require_isSymbol = __commonJS({ "node_modules/lodash/isSymbol.js"(exports, module) { var baseGetTag = require_baseGetTag(); var isObjectLike = require_isObjectLike(); var symbolTag = "[object Symbol]"; function isSymbol(value) { return typeof value == "symbol" || isObjectLike(value) && baseGetTag(value) == symbolTag; } module.exports = isSymbol; } }); // node_modules/lodash/toNumber.js var require_toNumber = __commonJS({ "node_modules/lodash/toNumber.js"(exports, module) { var baseTrim = require_baseTrim(); var isObject = require_isObject(); var isSymbol = require_isSymbol(); var NAN = 0 / 0; var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; var reIsBinary = /^0b[01]+$/i; var reIsOctal = /^0o[0-7]+$/i; var freeParseInt = parseInt; function toNumber(value) { if (typeof value == "number") { return value; } if (isSymbol(value)) { return NAN; } if (isObject(value)) { var other = typeof value.valueOf == "function" ? value.valueOf() : value; value = isObject(other) ? other + "" : other; } if (typeof value != "string") { return value === 0 ? value : +value; } value = baseTrim(value); var isBinary = reIsBinary.test(value); return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value; } module.exports = toNumber; } }); // node_modules/lodash/toFinite.js var require_toFinite = __commonJS({ "node_modules/lodash/toFinite.js"(exports, module) { var toNumber = require_toNumber(); var INFINITY = 1 / 0; var MAX_INTEGER = 17976931348623157e292; function toFinite(value) { if (!value) { return value === 0 ? value : 0; } value = toNumber(value); if (value === INFINITY || value === -INFINITY) { var sign = value < 0 ? -1 : 1; return sign * MAX_INTEGER; } return value === value ? value : 0; } module.exports = toFinite; } }); // node_modules/lodash/toInteger.js var require_toInteger = __commonJS({ "node_modules/lodash/toInteger.js"(exports, module) { var toFinite = require_toFinite(); function toInteger(value) { var result = toFinite(value), remainder = result % 1; return result === result ? remainder ? result - remainder : result : 0; } module.exports = toInteger; } }); // node_modules/lodash/chunk.js var require_chunk = __commonJS({ "node_modules/lodash/chunk.js"(exports, module) { var baseSlice = require_baseSlice(); var isIterateeCall = require_isIterateeCall(); var toInteger = require_toInteger(); var nativeCeil = Math.ceil; var nativeMax = Math.max; function chunk2(array, size2, guard) { if (guard ? isIterateeCall(array, size2, guard) : size2 === void 0) { size2 = 1; } else { size2 = nativeMax(toInteger(size2), 0); } var length = array == null ? 0 : array.length; if (!length || size2 < 1) { return []; } var index = 0, resIndex = 0, result = Array(nativeCeil(length / size2)); while (index < length) { result[resIndex++] = baseSlice(array, index, index += size2); } return result; } module.exports = chunk2; } }); // node_modules/warning/warning.js var require_warning = __commonJS({ "node_modules/warning/warning.js"(exports, module) { "use strict"; var __DEV__ = true; var warning2 = function() { }; if (__DEV__) { printWarning = function printWarning2(format, args) { var len = arguments.length; args = new Array(len > 1 ? len - 1 : 0); for (var key = 1; key < len; key++) { args[key - 1] = arguments[key]; } var argIndex = 0; var message = "Warning: " + format.replace(/%s/g, function() { return args[argIndex++]; }); if (typeof console !== "undefined") { console.error(message); } try { throw new Error(message); } catch (x) { } }; warning2 = function(condition, format, args) { var len = arguments.length; args = new Array(len > 2 ? len - 2 : 0); for (var key = 2; key < len; key++) { args[key - 2] = arguments[key]; } if (format === void 0) { throw new Error( "`warning(condition, format, ...args)` requires a warning message argument" ); } if (!condition) { printWarning.apply(null, [format].concat(args)); } }; } var printWarning; module.exports = warning2; } }); // node_modules/lodash/_baseFindIndex.js var require_baseFindIndex = __commonJS({ "node_modules/lodash/_baseFindIndex.js"(exports, module) { function baseFindIndex(array, predicate, fromIndex, fromRight) { var length = array.length, index = fromIndex + (fromRight ? 1 : -1); while (fromRight ? index-- : ++index < length) { if (predicate(array[index], index, array)) { return index; } } return -1; } module.exports = baseFindIndex; } }); // node_modules/lodash/_baseIsMatch.js var require_baseIsMatch = __commonJS({ "node_modules/lodash/_baseIsMatch.js"(exports, module) { var Stack = require_Stack(); var baseIsEqual = require_baseIsEqual(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; function baseIsMatch(object, source, matchData, customizer) { var index = matchData.length, length = index, noCustomizer = !customizer; if (object == null) { return !length; } object = Object(object); while (index--) { var data = matchData[index]; if (noCustomizer && data[2] ? data[1] !== object[data[0]] : !(data[0] in object)) { return false; } } while (++index < length) { data = matchData[index]; var key = data[0], objValue = object[key], srcValue = data[1]; if (noCustomizer && data[2]) { if (objValue === void 0 && !(key in object)) { return false; } } else { var stack = new Stack(); if (customizer) { var result = customizer(objValue, srcValue, key, object, source, stack); } if (!(result === void 0 ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) : result)) { return false; } } } return true; } module.exports = baseIsMatch; } }); // node_modules/lodash/_isStrictComparable.js var require_isStrictComparable = __commonJS({ "node_modules/lodash/_isStrictComparable.js"(exports, module) { var isObject = require_isObject(); function isStrictComparable(value) { return value === value && !isObject(value); } module.exports = isStrictComparable; } }); // node_modules/lodash/_getMatchData.js var require_getMatchData = __commonJS({ "node_modules/lodash/_getMatchData.js"(exports, module) { var isStrictComparable = require_isStrictComparable(); var keys = require_keys(); function getMatchData(object) { var result = keys(object), length = result.length; while (length--) { var key = result[length], value = object[key]; result[length] = [key, value, isStrictComparable(value)]; } return result; } module.exports = getMatchData; } }); // node_modules/lodash/_matchesStrictComparable.js var require_matchesStrictComparable = __commonJS({ "node_modules/lodash/_matchesStrictComparable.js"(exports, module) { function matchesStrictComparable(key, srcValue) { return function(object) { if (object == null) { return false; } return object[key] === srcValue && (srcValue !== void 0 || key in Object(object)); }; } module.exports = matchesStrictComparable; } }); // node_modules/lodash/_baseMatches.js var require_baseMatches = __commonJS({ "node_modules/lodash/_baseMatches.js"(exports, module) { var baseIsMatch = require_baseIsMatch(); var getMatchData = require_getMatchData(); var matchesStrictComparable = require_matchesStrictComparable(); function baseMatches(source) { var matchData = getMatchData(source); if (matchData.length == 1 && matchData[0][2]) { return matchesStrictComparable(matchData[0][0], matchData[0][1]); } return function(object) { return object === source || baseIsMatch(object, source, matchData); }; } module.exports = baseMatches; } }); // node_modules/lodash/_isKey.js var require_isKey = __commonJS({ "node_modules/lodash/_isKey.js"(exports, module) { var isArray = require_isArray(); var isSymbol = require_isSymbol(); var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/; var reIsPlainProp = /^\w*$/; function isKey(value, object) { if (isArray(value)) { return false; } var type = typeof value; if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol(value)) { return true; } return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object); } module.exports = isKey; } }); // node_modules/lodash/memoize.js var require_memoize = __commonJS({ "node_modules/lodash/memoize.js"(exports, module) { var MapCache = require_MapCache(); var FUNC_ERROR_TEXT = "Expected a function"; function memoize(func, resolver) { if (typeof func != "function" || resolver != null && typeof resolver != "function") { throw new TypeError(FUNC_ERROR_TEXT); } var memoized = function() { var args = arguments, key = resolver ? resolver.apply(this, args) : args[0], cache = memoized.cache; if (cache.has(key)) { return cache.get(key); } var result = func.apply(this, args); memoized.cache = cache.set(key, result) || cache; return result; }; memoized.cache = new (memoize.Cache || MapCache)(); return memoized; } memoize.Cache = MapCache; module.exports = memoize; } }); // node_modules/lodash/_memoizeCapped.js var require_memoizeCapped = __commonJS({ "node_modules/lodash/_memoizeCapped.js"(exports, module) { var memoize = require_memoize(); var MAX_MEMOIZE_SIZE = 500; function memoizeCapped(func) { var result = memoize(func, function(key) { if (cache.size === MAX_MEMOIZE_SIZE) { cache.clear(); } return key; }); var cache = result.cache; return result; } module.exports = memoizeCapped; } }); // node_modules/lodash/_stringToPath.js var require_stringToPath = __commonJS({ "node_modules/lodash/_stringToPath.js"(exports, module) { var memoizeCapped = require_memoizeCapped(); var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; var reEscapeChar = /\\(\\)?/g; var stringToPath = memoizeCapped(function(string) { var result = []; if (string.charCodeAt(0) === 46) { result.push(""); } string.replace(rePropName, function(match, number, quote, subString) { result.push(quote ? subString.replace(reEscapeChar, "$1") : number || match); }); return result; }); module.exports = stringToPath; } }); // node_modules/lodash/_arrayMap.js var require_arrayMap = __commonJS({ "node_modules/lodash/_arrayMap.js"(exports, module) { function arrayMap(array, iteratee) { var index = -1, length = array == null ? 0 : array.length, result = Array(length); while (++index < length) { result[index] = iteratee(array[index], index, array); } return result; } module.exports = arrayMap; } }); // node_modules/lodash/_baseToString.js var require_baseToString = __commonJS({ "node_modules/lodash/_baseToString.js"(exports, module) { var Symbol2 = require_Symbol(); var arrayMap = require_arrayMap(); var isArray = require_isArray(); var isSymbol = require_isSymbol(); var INFINITY = 1 / 0; var symbolProto = Symbol2 ? Symbol2.prototype : void 0; var symbolToString = symbolProto ? symbolProto.toString : void 0; function baseToString(value) { if (typeof value == "string") { return value; } if (isArray(value)) { return arrayMap(value, baseToString) + ""; } if (isSymbol(value)) { return symbolToString ? symbolToString.call(value) : ""; } var result = value + ""; return result == "0" && 1 / value == -INFINITY ? "-0" : result; } module.exports = baseToString; } }); // node_modules/lodash/toString.js var require_toString = __commonJS({ "node_modules/lodash/toString.js"(exports, module) { var baseToString = require_baseToString(); function toString(value) { return value == null ? "" : baseToString(value); } module.exports = toString; } }); // node_modules/lodash/_castPath.js var require_castPath = __commonJS({ "node_modules/lodash/_castPath.js"(exports, module) { var isArray = require_isArray(); var isKey = require_isKey(); var stringToPath = require_stringToPath(); var toString = require_toString(); function castPath(value, object) { if (isArray(value)) { return value; } return isKey(value, object) ? [value] : stringToPath(toString(value)); } module.exports = castPath; } }); // node_modules/lodash/_toKey.js var require_toKey = __commonJS({ "node_modules/lodash/_toKey.js"(exports, module) { var isSymbol = require_isSymbol(); var INFINITY = 1 / 0; function toKey(value) { if (typeof value == "string" || isSymbol(value)) { return value; } var result = value + ""; return result == "0" && 1 / value == -INFINITY ? "-0" : result; } module.exports = toKey; } }); // node_modules/lodash/_baseGet.js var require_baseGet = __commonJS({ "node_modules/lodash/_baseGet.js"(exports, module) { var castPath = require_castPath(); var toKey = require_toKey(); function baseGet(object, path) { path = castPath(path, object); var index = 0, length = path.length; while (object != null && index < length) { object = object[toKey(path[index++])]; } return index && index == length ? object : void 0; } module.exports = baseGet; } }); // node_modules/lodash/get.js var require_get = __commonJS({ "node_modules/lodash/get.js"(exports, module) { var baseGet = require_baseGet(); function get(object, path, defaultValue) { var result = object == null ? void 0 : baseGet(object, path); return result === void 0 ? defaultValue : result; } module.exports = get; } }); // node_modules/lodash/_baseHasIn.js var require_baseHasIn = __commonJS({ "node_modules/lodash/_baseHasIn.js"(exports, module) { function baseHasIn(object, key) { return object != null && key in Object(object); } module.exports = baseHasIn; } }); // node_modules/lodash/_hasPath.js var require_hasPath = __commonJS({ "node_modules/lodash/_hasPath.js"(exports, module) { var castPath = require_castPath(); var isArguments = require_isArguments(); var isArray = require_isArray(); var isIndex = require_isIndex(); var isLength = require_isLength(); var toKey = require_toKey(); function hasPath(object, path, hasFunc) { path = castPath(path, object); var index = -1, length = path.length, result = false; while (++index < length) { var key = toKey(path[index]); if (!(result = object != null && hasFunc(object, key))) { break; } object = object[key]; } if (result || ++index != length) { return result; } length = object == null ? 0 : object.length; return !!length && isLength(length) && isIndex(key, length) && (isArray(object) || isArguments(object)); } module.exports = hasPath; } }); // node_modules/lodash/hasIn.js var require_hasIn = __commonJS({ "node_modules/lodash/hasIn.js"(exports, module) { var baseHasIn = require_baseHasIn(); var hasPath = require_hasPath(); function hasIn(object, path) { return object != null && hasPath(object, path, baseHasIn); } module.exports = hasIn; } }); // node_modules/lodash/_baseMatchesProperty.js var require_baseMatchesProperty = __commonJS({ "node_modules/lodash/_baseMatchesProperty.js"(exports, module) { var baseIsEqual = require_baseIsEqual(); var get = require_get(); var hasIn = require_hasIn(); var isKey = require_isKey(); var isStrictComparable = require_isStrictComparable(); var matchesStrictComparable = require_matchesStrictComparable(); var toKey = require_toKey(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; function baseMatchesProperty(path, srcValue) { if (isKey(path) && isStrictComparable(srcValue)) { return matchesStrictComparable(toKey(path), srcValue); } return function(object) { var objValue = get(object, path); return objValue === void 0 && objValue === srcValue ? hasIn(object, path) : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); }; } module.exports = baseMatchesProperty; } }); // node_modules/lodash/identity.js var require_identity = __commonJS({ "node_modules/lodash/identity.js"(exports, module) { function identity(value) { return value; } module.exports = identity; } }); // node_modules/lodash/_baseProperty.js var require_baseProperty = __commonJS({ "node_modules/lodash/_baseProperty.js"(exports, module) { function baseProperty(key) { return function(object) { return object == null ? void 0 : object[key]; }; } module.exports = baseProperty; } }); // node_modules/lodash/_basePropertyDeep.js var require_basePropertyDeep = __commonJS({ "node_modules/lodash/_basePropertyDeep.js"(exports, module) { var baseGet = require_baseGet(); function basePropertyDeep(path) { return function(object) { return baseGet(object, path); }; } module.exports = basePropertyDeep; } }); // node_modules/lodash/property.js var require_property = __commonJS({ "node_modules/lodash/property.js"(exports, module) { var baseProperty = require_baseProperty(); var basePropertyDeep = require_basePropertyDeep(); var isKey = require_isKey(); var toKey = require_toKey(); function property(path) { return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path); } module.exports = property; } }); // node_modules/lodash/_baseIteratee.js var require_baseIteratee = __commonJS({ "node_modules/lodash/_baseIteratee.js"(exports, module) { var baseMatches = require_baseMatches(); var baseMatchesProperty = require_baseMatchesProperty(); var identity = require_identity(); var isArray = require_isArray(); var property = require_property(); function baseIteratee(value) { if (typeof value == "function") { return value; } if (value == null) { return identity; } if (typeof value == "object") { return isArray(value) ? baseMatchesProperty(value[0], value[1]) : baseMatches(value); } return property(value); } module.exports = baseIteratee; } }); // node_modules/lodash/findIndex.js var require_findIndex = __commonJS({ "node_modules/lodash/findIndex.js"(exports, module) { var baseFindIndex = require_baseFindIndex(); var baseIteratee = require_baseIteratee(); var toInteger = require_toInteger(); var nativeMax = Math.max; function findIndex2(array, predicate, fromIndex) { var length = array == null ? 0 : array.length; if (!length) { return -1; } var index = fromIndex == null ? 0 : toInteger(fromIndex); if (index < 0) { index = nativeMax(length + index, 0); } return baseFindIndex(array, baseIteratee(predicate, 3), index); } module.exports = findIndex2; } }); // node_modules/lodash/_baseRange.js var require_baseRange = __commonJS({ "node_modules/lodash/_baseRange.js"(exports, module) { var nativeCeil = Math.ceil; var nativeMax = Math.max; function baseRange(start2, end2, step, fromRight) { var index = -1, length = nativeMax(nativeCeil((end2 - start2) / (step || 1)), 0), result = Array(length); while (length--) { result[fromRight ? length : ++index] = start2; start2 += step; } return result; } module.exports = baseRange; } }); // node_modules/lodash/_createRange.js var require_createRange = __commonJS({ "node_modules/lodash/_createRange.js"(exports, module) { var baseRange = require_baseRange(); var isIterateeCall = require_isIterateeCall(); var toFinite = require_toFinite(); function createRange(fromRight) { return function(start2, end2, step) { if (step && typeof step != "number" && isIterateeCall(start2, end2, step)) { end2 = step = void 0; } start2 = toFinite(start2); if (end2 === void 0) { end2 = start2; start2 = 0; } else { end2 = toFinite(end2); } step = step === void 0 ? start2 < end2 ? 1 : -1 : toFinite(step); return baseRange(start2, end2, step, fromRight); }; } module.exports = createRange; } }); // node_modules/lodash/range.js var require_range = __commonJS({ "node_modules/lodash/range.js"(exports, module) { var createRange = require_createRange(); var range2 = createRange(); module.exports = range2; } }); // node_modules/lodash/_isFlattenable.js var require_isFlattenable = __commonJS({ "node_modules/lodash/_isFlattenable.js"(exports, module) { var Symbol2 = require_Symbol(); var isArguments = require_isArguments(); var isArray = require_isArray(); var spreadableSymbol = Symbol2 ? Symbol2.isConcatSpreadable : void 0; function isFlattenable(value) { return isArray(value) || isArguments(value) || !!(spreadableSymbol && value && value[spreadableSymbol]); } module.exports = isFlattenable; } }); // node_modules/lodash/_baseFlatten.js var require_baseFlatten = __commonJS({ "node_modules/lodash/_baseFlatten.js"(exports, module) { var arrayPush = require_arrayPush(); var isFlattenable = require_isFlattenable(); function baseFlatten(array, depth, predicate, isStrict, result) { var index = -1, length = array.length; predicate || (predicate = isFlattenable); result || (result = []); while (++index < length) { var value = array[index]; if (depth > 0 && predicate(value)) { if (depth > 1) { baseFlatten(value, depth - 1, predicate, isStrict, result); } else { arrayPush(result, value); } } else if (!isStrict) { result[result.length] = value; } } return result; } module.exports = baseFlatten; } }); // node_modules/lodash/_createBaseFor.js var require_createBaseFor = __commonJS({ "node_modules/lodash/_createBaseFor.js"(exports, module) { function createBaseFor(fromRight) { return function(object, iteratee, keysFunc) { var index = -1, iterable = Object(object), props = keysFunc(object), length = props.length; while (length--) { var key = props[fromRight ? length : ++index]; if (iteratee(iterable[key], key, iterable) === false) { break; } } return object; }; } module.exports = createBaseFor; } }); // node_modules/lodash/_baseFor.js var require_baseFor = __commonJS({ "node_modules/lodash/_baseFor.js"(exports, module) { var createBaseFor = require_createBaseFor(); var baseFor = createBaseFor(); module.exports = baseFor; } }); // node_modules/lodash/_baseForOwn.js var require_baseForOwn = __commonJS({ "node_modules/lodash/_baseForOwn.js"(exports, module) { var baseFor = require_baseFor(); var keys = require_keys(); function baseForOwn(object, iteratee) { return object && baseFor(object, iteratee, keys); } module.exports = baseForOwn; } }); // node_modules/lodash/_createBaseEach.js var require_createBaseEach = __commonJS({ "node_modules/lodash/_createBaseEach.js"(exports, module) { var isArrayLike = require_isArrayLike(); function createBaseEach(eachFunc, fromRight) { return function(collection, iteratee) { if (collection == null) { return collection; } if (!isArrayLike(collection)) { return eachFunc(collection, iteratee); } var length = collection.length, index = fromRight ? length : -1, iterable = Object(collection); while (fromRight ? index-- : ++index < length) { if (iteratee(iterable[index], index, iterable) === false) { break; } } return collection; }; } module.exports = createBaseEach; } }); // node_modules/lodash/_baseEach.js var require_baseEach = __commonJS({ "node_modules/lodash/_baseEach.js"(exports, module) { var baseForOwn = require_baseForOwn(); var createBaseEach = require_createBaseEach(); var baseEach = createBaseEach(baseForOwn); module.exports = baseEach; } }); // node_modules/lodash/_baseMap.js var require_baseMap = __commonJS({ "node_modules/lodash/_baseMap.js"(exports, module) { var baseEach = require_baseEach(); var isArrayLike = require_isArrayLike(); function baseMap(collection, iteratee) { var index = -1, result = isArrayLike(collection) ? Array(collection.length) : []; baseEach(collection, function(value, key, collection2) { result[++index] = iteratee(value, key, collection2); }); return result; } module.exports = baseMap; } }); // node_modules/lodash/_baseSortBy.js var require_baseSortBy = __commonJS({ "node_modules/lodash/_baseSortBy.js"(exports, module) { function baseSortBy(array, comparer) { var length = array.length; array.sort(comparer); while (length--) { array[length] = array[length].value; } return array; } module.exports = baseSortBy; } }); // node_modules/lodash/_compareAscending.js var require_compareAscending = __commonJS({ "node_modules/lodash/_compareAscending.js"(exports, module) { var isSymbol = require_isSymbol(); function compareAscending(value, other) { if (value !== other) { var valIsDefined = value !== void 0, valIsNull = value === null, valIsReflexive = value === value, valIsSymbol = isSymbol(value); var othIsDefined = other !== void 0, othIsNull = other === null, othIsReflexive = other === other, othIsSymbol = isSymbol(other); if (!othIsNull && !othIsSymbol && !valIsSymbol && value > other || valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol || valIsNull && othIsDefined && othIsReflexive || !valIsDefined && othIsReflexive || !valIsReflexive) { return 1; } if (!valIsNull && !valIsSymbol && !othIsSymbol && value < other || othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol || othIsNull && valIsDefined && valIsReflexive || !othIsDefined && valIsReflexive || !othIsReflexive) { return -1; } } return 0; } module.exports = compareAscending; } }); // node_modules/lodash/_compareMultiple.js var require_compareMultiple = __commonJS({ "node_modules/lodash/_compareMultiple.js"(exports, module) { var compareAscending = require_compareAscending(); function compareMultiple(object, other, orders) { var index = -1, objCriteria = object.criteria, othCriteria = other.criteria, length = objCriteria.length, ordersLength = orders.length; while (++index < length) { var result = compareAscending(objCriteria[index], othCriteria[index]); if (result) { if (index >= ordersLength) { return result; } var order2 = orders[index]; return result * (order2 == "desc" ? -1 : 1); } } return object.index - other.index; } module.exports = compareMultiple; } }); // node_modules/lodash/_baseOrderBy.js var require_baseOrderBy = __commonJS({ "node_modules/lodash/_baseOrderBy.js"(exports, module) { var arrayMap = require_arrayMap(); var baseGet = require_baseGet(); var baseIteratee = require_baseIteratee(); var baseMap = require_baseMap(); var baseSortBy = require_baseSortBy(); var baseUnary = require_baseUnary(); var compareMultiple = require_compareMultiple(); var identity = require_identity(); var isArray = require_isArray(); function baseOrderBy(collection, iteratees, orders) { if (iteratees.length) { iteratees = arrayMap(iteratees, function(iteratee) { if (isArray(iteratee)) { return function(value) { return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); }; } return iteratee; }); } else { iteratees = [identity]; } var index = -1; iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); var result = baseMap(collection, function(value, key, collection2) { var criteria = arrayMap(iteratees, function(iteratee) { return iteratee(value); }); return { "criteria": criteria, "index": ++index, "value": value }; }); return baseSortBy(result, function(object, other) { return compareMultiple(object, other, orders); }); } module.exports = baseOrderBy; } }); // node_modules/lodash/_apply.js var require_apply = __commonJS({ "node_modules/lodash/_apply.js"(exports, module) { function apply(func, thisArg, args) { switch (args.length) { case 0: return func.call(thisArg); case 1: return func.call(thisArg, args[0]); case 2: return func.call(thisArg, args[0], args[1]); case 3: return func.call(thisArg, args[0], args[1], args[2]); } return func.apply(thisArg, args); } module.exports = apply; } }); // node_modules/lodash/_overRest.js var require_overRest = __commonJS({ "node_modules/lodash/_overRest.js"(exports, module) { var apply = require_apply(); var nativeMax = Math.max; function overRest(func, start2, transform2) { start2 = nativeMax(start2 === void 0 ? func.length - 1 : start2, 0); return function() { var args = arguments, index = -1, length = nativeMax(args.length - start2, 0), array = Array(length); while (++index < length) { array[index] = args[start2 + index]; } index = -1; var otherArgs = Array(start2 + 1); while (++index < start2) { otherArgs[index] = args[index]; } otherArgs[start2] = transform2(array); return apply(func, this, otherArgs); }; } module.exports = overRest; } }); // node_modules/lodash/constant.js var require_constant = __commonJS({ "node_modules/lodash/constant.js"(exports, module) { function constant(value) { return function() { return value; }; } module.exports = constant; } }); // node_modules/lodash/_defineProperty.js var require_defineProperty = __commonJS({ "node_modules/lodash/_defineProperty.js"(exports, module) { var getNative = require_getNative(); var defineProperty = function() { try { var func = getNative(Object, "defineProperty"); func({}, "", {}); return func; } catch (e) { } }(); module.exports = defineProperty; } }); // node_modules/lodash/_baseSetToString.js var require_baseSetToString = __commonJS({ "node_modules/lodash/_baseSetToString.js"(exports, module) { var constant = require_constant(); var defineProperty = require_defineProperty(); var identity = require_identity(); var baseSetToString = !defineProperty ? identity : function(func, string) { return defineProperty(func, "toString", { "configurable": true, "enumerable": false, "value": constant(string), "writable": true }); }; module.exports = baseSetToString; } }); // node_modules/lodash/_shortOut.js var require_shortOut = __commonJS({ "node_modules/lodash/_shortOut.js"(exports, module) { var HOT_COUNT = 800; var HOT_SPAN = 16; var nativeNow = Date.now; function shortOut(func) { var count = 0, lastCalled = 0; return function() { var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled); lastCalled = stamp; if (remaining > 0) { if (++count >= HOT_COUNT) { return arguments[0]; } } else { count = 0; } return func.apply(void 0, arguments); }; } module.exports = shortOut; } }); // node_modules/lodash/_setToString.js var require_setToString = __commonJS({ "node_modules/lodash/_setToString.js"(exports, module) { var baseSetToString = require_baseSetToString(); var shortOut = require_shortOut(); var setToString = shortOut(baseSetToString); module.exports = setToString; } }); // node_modules/lodash/_baseRest.js var require_baseRest = __commonJS({ "node_modules/lodash/_baseRest.js"(exports, module) { var identity = require_identity(); var overRest = require_overRest(); var setToString = require_setToString(); function baseRest(func, start2) { return setToString(overRest(func, start2, identity), func + ""); } module.exports = baseRest; } }); // node_modules/lodash/sortBy.js var require_sortBy = __commonJS({ "node_modules/lodash/sortBy.js"(exports, module) { var baseFlatten = require_baseFlatten(); var baseOrderBy = require_baseOrderBy(); var baseRest = require_baseRest(); var isIterateeCall = require_isIterateeCall(); var sortBy2 = baseRest(function(collection, iteratees) { if (collection == null) { return []; } var length = iteratees.length; if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { iteratees = []; } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { iteratees = [iteratees[0]]; } return baseOrderBy(collection, baseFlatten(iteratees, 1), []); }); module.exports = sortBy2; } }); // node_modules/lodash/_nativeKeysIn.js var require_nativeKeysIn = __commonJS({ "node_modules/lodash/_nativeKeysIn.js"(exports, module) { function nativeKeysIn(object) { var result = []; if (object != null) { for (var key in Object(object)) { result.push(key); } } return result; } module.exports = nativeKeysIn; } }); // node_modules/lodash/_baseKeysIn.js var require_baseKeysIn = __commonJS({ "node_modules/lodash/_baseKeysIn.js"(exports, module) { var isObject = require_isObject(); var isPrototype = require_isPrototype(); var nativeKeysIn = require_nativeKeysIn(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function baseKeysIn(object) { if (!isObject(object)) { return nativeKeysIn(object); } var isProto = isPrototype(object), result = []; for (var key in object) { if (!(key == "constructor" && (isProto || !hasOwnProperty.call(object, key)))) { result.push(key); } } return result; } module.exports = baseKeysIn; } }); // node_modules/lodash/keysIn.js var require_keysIn = __commonJS({ "node_modules/lodash/keysIn.js"(exports, module) { var arrayLikeKeys = require_arrayLikeKeys(); var baseKeysIn = require_baseKeysIn(); var isArrayLike = require_isArrayLike(); function keysIn(object) { return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); } module.exports = keysIn; } }); // node_modules/lodash/defaults.js var require_defaults = __commonJS({ "node_modules/lodash/defaults.js"(exports, module) { var baseRest = require_baseRest(); var eq2 = require_eq(); var isIterateeCall = require_isIterateeCall(); var keysIn = require_keysIn(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; var defaults2 = baseRest(function(object, sources) { object = Object(object); var index = -1; var length = sources.length; var guard = length > 2 ? sources[2] : void 0; if (guard && isIterateeCall(sources[0], sources[1], guard)) { length = 1; } while (++index < length) { var source = sources[index]; var props = keysIn(source); var propsIndex = -1; var propsLength = props.length; while (++propsIndex < propsLength) { var key = props[propsIndex]; var value = object[key]; if (value === void 0 || eq2(value, objectProto[key]) && !hasOwnProperty.call(object, key)) { object[key] = source[key]; } } } return object; }); module.exports = defaults2; } }); // node_modules/lodash/_baseAssignValue.js var require_baseAssignValue = __commonJS({ "node_modules/lodash/_baseAssignValue.js"(exports, module) { var defineProperty = require_defineProperty(); function baseAssignValue(object, key, value) { if (key == "__proto__" && defineProperty) { defineProperty(object, key, { "configurable": true, "enumerable": true, "value": value, "writable": true }); } else { object[key] = value; } } module.exports = baseAssignValue; } }); // node_modules/lodash/mapValues.js var require_mapValues = __commonJS({ "node_modules/lodash/mapValues.js"(exports, module) { var baseAssignValue = require_baseAssignValue(); var baseForOwn = require_baseForOwn(); var baseIteratee = require_baseIteratee(); function mapValues2(object, iteratee) { var result = {}; iteratee = baseIteratee(iteratee, 3); baseForOwn(object, function(value, key, object2) { baseAssignValue(result, key, iteratee(value, key, object2)); }); return result; } module.exports = mapValues2; } }); // node_modules/lodash/_arrayEach.js var require_arrayEach = __commonJS({ "node_modules/lodash/_arrayEach.js"(exports, module) { function arrayEach(array, iteratee) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (iteratee(array[index], index, array) === false) { break; } } return array; } module.exports = arrayEach; } }); // node_modules/lodash/_assignValue.js var require_assignValue = __commonJS({ "node_modules/lodash/_assignValue.js"(exports, module) { var baseAssignValue = require_baseAssignValue(); var eq2 = require_eq(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function assignValue(object, key, value) { var objValue = object[key]; if (!(hasOwnProperty.call(object, key) && eq2(objValue, value)) || value === void 0 && !(key in object)) { baseAssignValue(object, key, value); } } module.exports = assignValue; } }); // node_modules/lodash/_copyObject.js var require_copyObject = __commonJS({ "node_modules/lodash/_copyObject.js"(exports, module) { var assignValue = require_assignValue(); var baseAssignValue = require_baseAssignValue(); function copyObject(source, props, object, customizer) { var isNew = !object; object || (object = {}); var index = -1, length = props.length; while (++index < length) { var key = props[index]; var newValue = customizer ? customizer(object[key], source[key], key, object, source) : void 0; if (newValue === void 0) { newValue = source[key]; } if (isNew) { baseAssignValue(object, key, newValue); } else { assignValue(object, key, newValue); } } return object; } module.exports = copyObject; } }); // node_modules/lodash/_baseAssign.js var require_baseAssign = __commonJS({ "node_modules/lodash/_baseAssign.js"(exports, module) { var copyObject = require_copyObject(); var keys = require_keys(); function baseAssign(object, source) { return object && copyObject(source, keys(source), object); } module.exports = baseAssign; } }); // node_modules/lodash/_baseAssignIn.js var require_baseAssignIn = __commonJS({ "node_modules/lodash/_baseAssignIn.js"(exports, module) { var copyObject = require_copyObject(); var keysIn = require_keysIn(); function baseAssignIn(object, source) { return object && copyObject(source, keysIn(source), object); } module.exports = baseAssignIn; } }); // node_modules/lodash/_cloneBuffer.js var require_cloneBuffer = __commonJS({ "node_modules/lodash/_cloneBuffer.js"(exports, module) { var root = require_root(); var freeExports = typeof exports == "object" && exports && !exports.nodeType && exports; var freeModule = freeExports && typeof module == "object" && module && !module.nodeType && module; var moduleExports = freeModule && freeModule.exports === freeExports; var Buffer = moduleExports ? root.Buffer : void 0; var allocUnsafe = Buffer ? Buffer.allocUnsafe : void 0; function cloneBuffer(buffer, isDeep) { if (isDeep) { return buffer.slice(); } var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); buffer.copy(result); return result; } module.exports = cloneBuffer; } }); // node_modules/lodash/_copyArray.js var require_copyArray = __commonJS({ "node_modules/lodash/_copyArray.js"(exports, module) { function copyArray(source, array) { var index = -1, length = source.length; array || (array = Array(length)); while (++index < length) { array[index] = source[index]; } return array; } module.exports = copyArray; } }); // node_modules/lodash/_copySymbols.js var require_copySymbols = __commonJS({ "node_modules/lodash/_copySymbols.js"(exports, module) { var copyObject = require_copyObject(); var getSymbols = require_getSymbols(); function copySymbols(source, object) { return copyObject(source, getSymbols(source), object); } module.exports = copySymbols; } }); // node_modules/lodash/_getPrototype.js var require_getPrototype = __commonJS({ "node_modules/lodash/_getPrototype.js"(exports, module) { var overArg = require_overArg(); var getPrototype = overArg(Object.getPrototypeOf, Object); module.exports = getPrototype; } }); // node_modules/lodash/_getSymbolsIn.js var require_getSymbolsIn = __commonJS({ "node_modules/lodash/_getSymbolsIn.js"(exports, module) { var arrayPush = require_arrayPush(); var getPrototype = require_getPrototype(); var getSymbols = require_getSymbols(); var stubArray = require_stubArray(); var nativeGetSymbols = Object.getOwnPropertySymbols; var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { var result = []; while (object) { arrayPush(result, getSymbols(object)); object = getPrototype(object); } return result; }; module.exports = getSymbolsIn; } }); // node_modules/lodash/_copySymbolsIn.js var require_copySymbolsIn = __commonJS({ "node_modules/lodash/_copySymbolsIn.js"(exports, module) { var copyObject = require_copyObject(); var getSymbolsIn = require_getSymbolsIn(); function copySymbolsIn(source, object) { return copyObject(source, getSymbolsIn(source), object); } module.exports = copySymbolsIn; } }); // node_modules/lodash/_getAllKeysIn.js var require_getAllKeysIn = __commonJS({ "node_modules/lodash/_getAllKeysIn.js"(exports, module) { var baseGetAllKeys = require_baseGetAllKeys(); var getSymbolsIn = require_getSymbolsIn(); var keysIn = require_keysIn(); function getAllKeysIn(object) { return baseGetAllKeys(object, keysIn, getSymbolsIn); } module.exports = getAllKeysIn; } }); // node_modules/lodash/_initCloneArray.js var require_initCloneArray = __commonJS({ "node_modules/lodash/_initCloneArray.js"(exports, module) { var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function initCloneArray(array) { var length = array.length, result = new array.constructor(length); if (length && typeof array[0] == "string" && hasOwnProperty.call(array, "index")) { result.index = array.index; result.input = array.input; } return result; } module.exports = initCloneArray; } }); // node_modules/lodash/_cloneArrayBuffer.js var require_cloneArrayBuffer = __commonJS({ "node_modules/lodash/_cloneArrayBuffer.js"(exports, module) { var Uint8Array = require_Uint8Array(); function cloneArrayBuffer(arrayBuffer) { var result = new arrayBuffer.constructor(arrayBuffer.byteLength); new Uint8Array(result).set(new Uint8Array(arrayBuffer)); return result; } module.exports = cloneArrayBuffer; } }); // node_modules/lodash/_cloneDataView.js var require_cloneDataView = __commonJS({ "node_modules/lodash/_cloneDataView.js"(exports, module) { var cloneArrayBuffer = require_cloneArrayBuffer(); function cloneDataView(dataView, isDeep) { var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); } module.exports = cloneDataView; } }); // node_modules/lodash/_cloneRegExp.js var require_cloneRegExp = __commonJS({ "node_modules/lodash/_cloneRegExp.js"(exports, module) { var reFlags = /\w*$/; function cloneRegExp(regexp) { var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); result.lastIndex = regexp.lastIndex; return result; } module.exports = cloneRegExp; } }); // node_modules/lodash/_cloneSymbol.js var require_cloneSymbol = __commonJS({ "node_modules/lodash/_cloneSymbol.js"(exports, module) { var Symbol2 = require_Symbol(); var symbolProto = Symbol2 ? Symbol2.prototype : void 0; var symbolValueOf = symbolProto ? symbolProto.valueOf : void 0; function cloneSymbol(symbol) { return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; } module.exports = cloneSymbol; } }); // node_modules/lodash/_cloneTypedArray.js var require_cloneTypedArray = __commonJS({ "node_modules/lodash/_cloneTypedArray.js"(exports, module) { var cloneArrayBuffer = require_cloneArrayBuffer(); function cloneTypedArray(typedArray, isDeep) { var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); } module.exports = cloneTypedArray; } }); // node_modules/lodash/_initCloneByTag.js var require_initCloneByTag = __commonJS({ "node_modules/lodash/_initCloneByTag.js"(exports, module) { var cloneArrayBuffer = require_cloneArrayBuffer(); var cloneDataView = require_cloneDataView(); var cloneRegExp = require_cloneRegExp(); var cloneSymbol = require_cloneSymbol(); var cloneTypedArray = require_cloneTypedArray(); var boolTag = "[object Boolean]"; var dateTag = "[object Date]"; var mapTag = "[object Map]"; var numberTag = "[object Number]"; var regexpTag = "[object RegExp]"; var setTag = "[object Set]"; var stringTag = "[object String]"; var symbolTag = "[object Symbol]"; var arrayBufferTag = "[object ArrayBuffer]"; var dataViewTag = "[object DataView]"; var float32Tag = "[object Float32Array]"; var float64Tag = "[object Float64Array]"; var int8Tag = "[object Int8Array]"; var int16Tag = "[object Int16Array]"; var int32Tag = "[object Int32Array]"; var uint8Tag = "[object Uint8Array]"; var uint8ClampedTag = "[object Uint8ClampedArray]"; var uint16Tag = "[object Uint16Array]"; var uint32Tag = "[object Uint32Array]"; function initCloneByTag(object, tag, isDeep) { var Ctor = object.constructor; switch (tag) { case arrayBufferTag: return cloneArrayBuffer(object); case boolTag: case dateTag: return new Ctor(+object); case dataViewTag: return cloneDataView(object, isDeep); case float32Tag: case float64Tag: case int8Tag: case int16Tag: case int32Tag: case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: return cloneTypedArray(object, isDeep); case mapTag: return new Ctor(); case numberTag: case stringTag: return new Ctor(object); case regexpTag: return cloneRegExp(object); case setTag: return new Ctor(); case symbolTag: return cloneSymbol(object); } } module.exports = initCloneByTag; } }); // node_modules/lodash/_baseCreate.js var require_baseCreate = __commonJS({ "node_modules/lodash/_baseCreate.js"(exports, module) { var isObject = require_isObject(); var objectCreate = Object.create; var baseCreate = /* @__PURE__ */ function() { function object() { } return function(proto) { if (!isObject(proto)) { return {}; } if (objectCreate) { return objectCreate(proto); } object.prototype = proto; var result = new object(); object.prototype = void 0; return result; }; }(); module.exports = baseCreate; } }); // node_modules/lodash/_initCloneObject.js var require_initCloneObject = __commonJS({ "node_modules/lodash/_initCloneObject.js"(exports, module) { var baseCreate = require_baseCreate(); var getPrototype = require_getPrototype(); var isPrototype = require_isPrototype(); function initCloneObject(object) { return typeof object.constructor == "function" && !isPrototype(object) ? baseCreate(getPrototype(object)) : {}; } module.exports = initCloneObject; } }); // node_modules/lodash/_baseIsMap.js var require_baseIsMap = __commonJS({ "node_modules/lodash/_baseIsMap.js"(exports, module) { var getTag = require_getTag(); var isObjectLike = require_isObjectLike(); var mapTag = "[object Map]"; function baseIsMap(value) { return isObjectLike(value) && getTag(value) == mapTag; } module.exports = baseIsMap; } }); // node_modules/lodash/isMap.js var require_isMap = __commonJS({ "node_modules/lodash/isMap.js"(exports, module) { var baseIsMap = require_baseIsMap(); var baseUnary = require_baseUnary(); var nodeUtil = require_nodeUtil(); var nodeIsMap = nodeUtil && nodeUtil.isMap; var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; module.exports = isMap; } }); // node_modules/lodash/_baseIsSet.js var require_baseIsSet = __commonJS({ "node_modules/lodash/_baseIsSet.js"(exports, module) { var getTag = require_getTag(); var isObjectLike = require_isObjectLike(); var setTag = "[object Set]"; function baseIsSet(value) { return isObjectLike(value) && getTag(value) == setTag; } module.exports = baseIsSet; } }); // node_modules/lodash/isSet.js var require_isSet = __commonJS({ "node_modules/lodash/isSet.js"(exports, module) { var baseIsSet = require_baseIsSet(); var baseUnary = require_baseUnary(); var nodeUtil = require_nodeUtil(); var nodeIsSet = nodeUtil && nodeUtil.isSet; var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; module.exports = isSet; } }); // node_modules/lodash/_baseClone.js var require_baseClone = __commonJS({ "node_modules/lodash/_baseClone.js"(exports, module) { var Stack = require_Stack(); var arrayEach = require_arrayEach(); var assignValue = require_assignValue(); var baseAssign = require_baseAssign(); var baseAssignIn = require_baseAssignIn(); var cloneBuffer = require_cloneBuffer(); var copyArray = require_copyArray(); var copySymbols = require_copySymbols(); var copySymbolsIn = require_copySymbolsIn(); var getAllKeys = require_getAllKeys(); var getAllKeysIn = require_getAllKeysIn(); var getTag = require_getTag(); var initCloneArray = require_initCloneArray(); var initCloneByTag = require_initCloneByTag(); var initCloneObject = require_initCloneObject(); var isArray = require_isArray(); var isBuffer = require_isBuffer(); var isMap = require_isMap(); var isObject = require_isObject(); var isSet = require_isSet(); var keys = require_keys(); var keysIn = require_keysIn(); var CLONE_DEEP_FLAG = 1; var CLONE_FLAT_FLAG = 2; var CLONE_SYMBOLS_FLAG = 4; var argsTag = "[object Arguments]"; var arrayTag = "[object Array]"; var boolTag = "[object Boolean]"; var dateTag = "[object Date]"; var errorTag = "[object Error]"; var funcTag = "[object Function]"; var genTag = "[object GeneratorFunction]"; var mapTag = "[object Map]"; var numberTag = "[object Number]"; var objectTag = "[object Object]"; var regexpTag = "[object RegExp]"; var setTag = "[object Set]"; var stringTag = "[object String]"; var symbolTag = "[object Symbol]"; var weakMapTag = "[object WeakMap]"; var arrayBufferTag = "[object ArrayBuffer]"; var dataViewTag = "[object DataView]"; var float32Tag = "[object Float32Array]"; var float64Tag = "[object Float64Array]"; var int8Tag = "[object Int8Array]"; var int16Tag = "[object Int16Array]"; var int32Tag = "[object Int32Array]"; var uint8Tag = "[object Uint8Array]"; var uint8ClampedTag = "[object Uint8ClampedArray]"; var uint16Tag = "[object Uint16Array]"; var uint32Tag = "[object Uint32Array]"; var cloneableTags = {}; cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag] = cloneableTags[numberTag] = cloneableTags[objectTag] = cloneableTags[regexpTag] = cloneableTags[setTag] = cloneableTags[stringTag] = cloneableTags[symbolTag] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false; function baseClone(value, bitmask, customizer, key, object, stack) { var result, isDeep = bitmask & CLONE_DEEP_FLAG, isFlat = bitmask & CLONE_FLAT_FLAG, isFull = bitmask & CLONE_SYMBOLS_FLAG; if (customizer) { result = object ? customizer(value, key, object, stack) : customizer(value); } if (result !== void 0) { return result; } if (!isObject(value)) { return value; } var isArr = isArray(value); if (isArr) { result = initCloneArray(value); if (!isDeep) { return copyArray(value, result); } } else { var tag = getTag(value), isFunc = tag == funcTag || tag == genTag; if (isBuffer(value)) { return cloneBuffer(value, isDeep); } if (tag == objectTag || tag == argsTag || isFunc && !object) { result = isFlat || isFunc ? {} : initCloneObject(value); if (!isDeep) { return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value)); } } else { if (!cloneableTags[tag]) { return object ? value : {}; } result = initCloneByTag(value, tag, isDeep); } } stack || (stack = new Stack()); var stacked = stack.get(value); if (stacked) { return stacked; } stack.set(value, result); if (isSet(value)) { value.forEach(function(subValue) { result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); }); } else if (isMap(value)) { value.forEach(function(subValue, key2) { result.set(key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); }); } var keysFunc = isFull ? isFlat ? getAllKeysIn : getAllKeys : isFlat ? keysIn : keys; var props = isArr ? void 0 : keysFunc(value); arrayEach(props || value, function(subValue, key2) { if (props) { key2 = subValue; subValue = value[key2]; } assignValue(result, key2, baseClone(subValue, bitmask, customizer, key2, value, stack)); }); return result; } module.exports = baseClone; } }); // node_modules/lodash/last.js var require_last = __commonJS({ "node_modules/lodash/last.js"(exports, module) { function last(array) { var length = array == null ? 0 : array.length; return length ? array[length - 1] : void 0; } module.exports = last; } }); // node_modules/lodash/_parent.js var require_parent = __commonJS({ "node_modules/lodash/_parent.js"(exports, module) { var baseGet = require_baseGet(); var baseSlice = require_baseSlice(); function parent(object, path) { return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); } module.exports = parent; } }); // node_modules/lodash/_baseUnset.js var require_baseUnset = __commonJS({ "node_modules/lodash/_baseUnset.js"(exports, module) { var castPath = require_castPath(); var last = require_last(); var parent = require_parent(); var toKey = require_toKey(); function baseUnset(object, path) { path = castPath(path, object); object = parent(object, path); return object == null || delete object[toKey(last(path))]; } module.exports = baseUnset; } }); // node_modules/lodash/isPlainObject.js var require_isPlainObject = __commonJS({ "node_modules/lodash/isPlainObject.js"(exports, module) { var baseGetTag = require_baseGetTag(); var getPrototype = require_getPrototype(); var isObjectLike = require_isObjectLike(); var objectTag = "[object Object]"; var funcProto = Function.prototype; var objectProto = Object.prototype; var funcToString = funcProto.toString; var hasOwnProperty = objectProto.hasOwnProperty; var objectCtorString = funcToString.call(Object); function isPlainObject(value) { if (!isObjectLike(value) || baseGetTag(value) != objectTag) { return false; } var proto = getPrototype(value); if (proto === null) { return true; } var Ctor = hasOwnProperty.call(proto, "constructor") && proto.constructor; return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString; } module.exports = isPlainObject; } }); // node_modules/lodash/_customOmitClone.js var require_customOmitClone = __commonJS({ "node_modules/lodash/_customOmitClone.js"(exports, module) { var isPlainObject = require_isPlainObject(); function customOmitClone(value) { return isPlainObject(value) ? void 0 : value; } module.exports = customOmitClone; } }); // node_modules/lodash/flatten.js var require_flatten = __commonJS({ "node_modules/lodash/flatten.js"(exports, module) { var baseFlatten = require_baseFlatten(); function flatten(array) { var length = array == null ? 0 : array.length; return length ? baseFlatten(array, 1) : []; } module.exports = flatten; } }); // node_modules/lodash/_flatRest.js var require_flatRest = __commonJS({ "node_modules/lodash/_flatRest.js"(exports, module) { var flatten = require_flatten(); var overRest = require_overRest(); var setToString = require_setToString(); function flatRest(func) { return setToString(overRest(func, void 0, flatten), func + ""); } module.exports = flatRest; } }); // node_modules/lodash/omit.js var require_omit = __commonJS({ "node_modules/lodash/omit.js"(exports, module) { var arrayMap = require_arrayMap(); var baseClone = require_baseClone(); var baseUnset = require_baseUnset(); var castPath = require_castPath(); var copyObject = require_copyObject(); var customOmitClone = require_customOmitClone(); var flatRest = require_flatRest(); var getAllKeysIn = require_getAllKeysIn(); var CLONE_DEEP_FLAG = 1; var CLONE_FLAT_FLAG = 2; var CLONE_SYMBOLS_FLAG = 4; var omit2 = flatRest(function(object, paths) { var result = {}; if (object == null) { return result; } var isDeep = false; paths = arrayMap(paths, function(path) { path = castPath(path, object); isDeep || (isDeep = path.length > 1); return path; }); copyObject(object, getAllKeysIn(object), result); if (isDeep) { result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); } var length = paths.length; while (length--) { baseUnset(result, paths[length]); } return result; }); module.exports = omit2; } }); // node_modules/lodash/transform.js var require_transform = __commonJS({ "node_modules/lodash/transform.js"(exports, module) { var arrayEach = require_arrayEach(); var baseCreate = require_baseCreate(); var baseForOwn = require_baseForOwn(); var baseIteratee = require_baseIteratee(); var getPrototype = require_getPrototype(); var isArray = require_isArray(); var isBuffer = require_isBuffer(); var isFunction2 = require_isFunction(); var isObject = require_isObject(); var isTypedArray = require_isTypedArray(); function transform2(object, iteratee, accumulator) { var isArr = isArray(object), isArrLike = isArr || isBuffer(object) || isTypedArray(object); iteratee = baseIteratee(iteratee, 4); if (accumulator == null) { var Ctor = object && object.constructor; if (isArrLike) { accumulator = isArr ? new Ctor() : []; } else if (isObject(object)) { accumulator = isFunction2(Ctor) ? baseCreate(getPrototype(object)) : {}; } else { accumulator = {}; } } (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object2) { return iteratee(accumulator, value, index, object2); }); return accumulator; } module.exports = transform2; } }); // node_modules/dayjs/plugin/isBetween.js var require_isBetween = __commonJS({ "node_modules/dayjs/plugin/isBetween.js"(exports, module) { !function(e, i) { "object" == typeof exports && "undefined" != typeof module ? module.exports = i() : "function" == typeof define && define.amd ? define(i) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isBetween = i(); }(exports, function() { "use strict"; return function(e, i, t) { i.prototype.isBetween = function(e2, i2, s, f) { var n = t(e2), o = t(i2), r2 = "(" === (f = f || "()")[0], u = ")" === f[1]; return (r2 ? this.isAfter(n, s) : !this.isBefore(n, s)) && (u ? this.isBefore(o, s) : !this.isAfter(o, s)) || (r2 ? this.isBefore(n, s) : !this.isAfter(n, s)) && (u ? this.isAfter(o, s) : !this.isBefore(o, s)); }; }; }); } }); // node_modules/dayjs/plugin/isSameOrAfter.js var require_isSameOrAfter = __commonJS({ "node_modules/dayjs/plugin/isSameOrAfter.js"(exports, module) { !function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isSameOrAfter = t(); }(exports, function() { "use strict"; return function(e, t) { t.prototype.isSameOrAfter = function(e2, t2) { return this.isSame(e2, t2) || this.isAfter(e2, t2); }; }; }); } }); // node_modules/dayjs/plugin/isSameOrBefore.js var require_isSameOrBefore = __commonJS({ "node_modules/dayjs/plugin/isSameOrBefore.js"(exports, module) { !function(e, i) { "object" == typeof exports && "undefined" != typeof module ? module.exports = i() : "function" == typeof define && define.amd ? define(i) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isSameOrBefore = i(); }(exports, function() { "use strict"; return function(e, i) { i.prototype.isSameOrBefore = function(e2, i2) { return this.isSame(e2, i2) || this.isBefore(e2, i2); }; }; }); } }); // node_modules/dayjs/plugin/localeData.js var require_localeData = __commonJS({ "node_modules/dayjs/plugin/localeData.js"(exports, module) { !function(n, e) { "object" == typeof exports && "undefined" != typeof module ? module.exports = e() : "function" == typeof define && define.amd ? define(e) : (n = "undefined" != typeof globalThis ? globalThis : n || self).dayjs_plugin_localeData = e(); }(exports, function() { "use strict"; return function(n, e, t) { var r2 = e.prototype, o = function(n2) { return n2 && (n2.indexOf ? n2 : n2.s); }, u = function(n2, e2, t2, r3, u2) { var i2 = n2.name ? n2 : n2.$locale(), a2 = o(i2[e2]), s2 = o(i2[t2]), f = a2 || s2.map(function(n3) { return n3.slice(0, r3); }); if (!u2) return f; var d = i2.weekStart; return f.map(function(n3, e3) { return f[(e3 + (d || 0)) % 7]; }); }, i = function() { return t.Ls[t.locale()]; }, a = function(n2, e2) { return n2.formats[e2] || function(n3) { return n3.replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(n4, e3, t2) { return e3 || t2.slice(1); }); }(n2.formats[e2.toUpperCase()]); }, s = function() { var n2 = this; return { months: function(e2) { return e2 ? e2.format("MMMM") : u(n2, "months"); }, monthsShort: function(e2) { return e2 ? e2.format("MMM") : u(n2, "monthsShort", "months", 3); }, firstDayOfWeek: function() { return n2.$locale().weekStart || 0; }, weekdays: function(e2) { return e2 ? e2.format("dddd") : u(n2, "weekdays"); }, weekdaysMin: function(e2) { return e2 ? e2.format("dd") : u(n2, "weekdaysMin", "weekdays", 2); }, weekdaysShort: function(e2) { return e2 ? e2.format("ddd") : u(n2, "weekdaysShort", "weekdays", 3); }, longDateFormat: function(e2) { return a(n2.$locale(), e2); }, meridiem: this.$locale().meridiem, ordinal: this.$locale().ordinal }; }; r2.localeData = function() { return s.bind(this)(); }, t.localeData = function() { var n2 = i(); return { firstDayOfWeek: function() { return n2.weekStart || 0; }, weekdays: function() { return t.weekdays(); }, weekdaysShort: function() { return t.weekdaysShort(); }, weekdaysMin: function() { return t.weekdaysMin(); }, months: function() { return t.months(); }, monthsShort: function() { return t.monthsShort(); }, longDateFormat: function(e2) { return a(n2, e2); }, meridiem: n2.meridiem, ordinal: n2.ordinal }; }, t.months = function() { return u(i(), "months"); }, t.monthsShort = function() { return u(i(), "monthsShort", "months", 3); }, t.weekdays = function(n2) { return u(i(), "weekdays", null, null, n2); }, t.weekdaysShort = function(n2) { return u(i(), "weekdaysShort", "weekdays", 3, n2); }, t.weekdaysMin = function(n2) { return u(i(), "weekdaysMin", "weekdays", 2, n2); }; }; }); } }); // node_modules/dayjs/plugin/localizedFormat.js var require_localizedFormat = __commonJS({ "node_modules/dayjs/plugin/localizedFormat.js"(exports, module) { !function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_localizedFormat = t(); }(exports, function() { "use strict"; var e = { LTS: "h:mm:ss A", LT: "h:mm A", L: "MM/DD/YYYY", LL: "MMMM D, YYYY", LLL: "MMMM D, YYYY h:mm A", LLLL: "dddd, MMMM D, YYYY h:mm A" }; return function(t, o, n) { var r2 = o.prototype, i = r2.format; n.en.formats = e, r2.format = function(t2) { void 0 === t2 && (t2 = "YYYY-MM-DDTHH:mm:ssZ"); var o2 = this.$locale().formats, n2 = function(t3, o3) { return t3.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g, function(t4, n3, r3) { var i2 = r3 && r3.toUpperCase(); return n3 || o3[r3] || e[r3] || o3[i2].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g, function(e2, t5, o4) { return t5 || o4.slice(1); }); }); }(t2, void 0 === o2 ? {} : o2); return i.call(this, n2); }; }; }); } }); // node_modules/dayjs/plugin/minMax.js var require_minMax = __commonJS({ "node_modules/dayjs/plugin/minMax.js"(exports, module) { !function(e, n) { "object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define(n) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_minMax = n(); }(exports, function() { "use strict"; return function(e, n, t) { var i = function(e2, n2) { if (!n2 || !n2.length || 1 === n2.length && !n2[0] || 1 === n2.length && Array.isArray(n2[0]) && !n2[0].length) return null; var t2; 1 === n2.length && n2[0].length > 0 && (n2 = n2[0]); t2 = (n2 = n2.filter(function(e3) { return e3; }))[0]; for (var i2 = 1; i2 < n2.length; i2 += 1) n2[i2].isValid() && !n2[i2][e2](t2) || (t2 = n2[i2]); return t2; }; t.max = function() { var e2 = [].slice.call(arguments, 0); return i("isAfter", e2); }, t.min = function() { var e2 = [].slice.call(arguments, 0); return i("isBefore", e2); }; }; }); } }); // node_modules/dayjs/plugin/utc.js var require_utc = __commonJS({ "node_modules/dayjs/plugin/utc.js"(exports, module) { !function(t, i) { "object" == typeof exports && "undefined" != typeof module ? module.exports = i() : "function" == typeof define && define.amd ? define(i) : (t = "undefined" != typeof globalThis ? globalThis : t || self).dayjs_plugin_utc = i(); }(exports, function() { "use strict"; var t = "minute", i = /[+-]\d\d(?::?\d\d)?/g, e = /([+-]|\d\d)/g; return function(s, f, n) { var u = f.prototype; n.utc = function(t2) { var i2 = { date: t2, utc: true, args: arguments }; return new f(i2); }, u.utc = function(i2) { var e2 = n(this.toDate(), { locale: this.$L, utc: true }); return i2 ? e2.add(this.utcOffset(), t) : e2; }, u.local = function() { return n(this.toDate(), { locale: this.$L, utc: false }); }; var o = u.parse; u.parse = function(t2) { t2.utc && (this.$u = true), this.$utils().u(t2.$offset) || (this.$offset = t2.$offset), o.call(this, t2); }; var r2 = u.init; u.init = function() { if (this.$u) { var t2 = this.$d; this.$y = t2.getUTCFullYear(), this.$M = t2.getUTCMonth(), this.$D = t2.getUTCDate(), this.$W = t2.getUTCDay(), this.$H = t2.getUTCHours(), this.$m = t2.getUTCMinutes(), this.$s = t2.getUTCSeconds(), this.$ms = t2.getUTCMilliseconds(); } else r2.call(this); }; var a = u.utcOffset; u.utcOffset = function(s2, f2) { var n2 = this.$utils().u; if (n2(s2)) return this.$u ? 0 : n2(this.$offset) ? a.call(this) : this.$offset; if ("string" == typeof s2 && (s2 = function(t2) { void 0 === t2 && (t2 = ""); var s3 = t2.match(i); if (!s3) return null; var f3 = ("" + s3[0]).match(e) || ["-", 0, 0], n3 = f3[0], u3 = 60 * +f3[1] + +f3[2]; return 0 === u3 ? 0 : "+" === n3 ? u3 : -u3; }(s2), null === s2)) return this; var u2 = Math.abs(s2) <= 16 ? 60 * s2 : s2, o2 = this; if (f2) return o2.$offset = u2, o2.$u = 0 === s2, o2; if (0 !== s2) { var r3 = this.$u ? this.toDate().getTimezoneOffset() : -1 * this.utcOffset(); (o2 = this.local().add(u2 + r3, t)).$offset = u2, o2.$x.$localOffset = r3; } else o2 = this.utc(); return o2; }; var h = u.format; u.format = function(t2) { var i2 = t2 || (this.$u ? "YYYY-MM-DDTHH:mm:ss[Z]" : ""); return h.call(this, i2); }, u.valueOf = function() { var t2 = this.$utils().u(this.$offset) ? 0 : this.$offset + (this.$x.$localOffset || this.$d.getTimezoneOffset()); return this.$d.valueOf() - 6e4 * t2; }, u.isUTC = function() { return !!this.$u; }, u.toISOString = function() { return this.toDate().toISOString(); }, u.toString = function() { return this.toDate().toUTCString(); }; var l = u.toDate; u.toDate = function(t2) { return "s" === t2 && this.$offset ? n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate() : l.call(this); }; var c = u.diff; u.diff = function(t2, i2, e2) { if (t2 && this.$u === t2.$u) return c.call(this, t2, i2, e2); var s2 = this.local(), f2 = n(t2).local(); return c.call(s2, f2, i2, e2); }; }; }); } }); // node_modules/dayjs/plugin/isLeapYear.js var require_isLeapYear = __commonJS({ "node_modules/dayjs/plugin/isLeapYear.js"(exports, module) { !function(e, t) { "object" == typeof exports && "undefined" != typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define(t) : (e = "undefined" != typeof globalThis ? globalThis : e || self).dayjs_plugin_isLeapYear = t(); }(exports, function() { "use strict"; return function(e, t) { t.prototype.isLeapYear = function() { return this.$y % 4 == 0 && this.$y % 100 != 0 || this.$y % 400 == 0; }; }; }); } }); // node_modules/@babel/runtime/helpers/esm/typeof.js function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { return typeof o2; } : function(o2) { return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; }, _typeof(o); } // node_modules/@babel/runtime/helpers/esm/toPrimitive.js function toPrimitive(t, r2) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r2 || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t); } // node_modules/@babel/runtime/helpers/esm/toPropertyKey.js function toPropertyKey(t) { var i = toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } // node_modules/@babel/runtime/helpers/esm/defineProperty.js function _defineProperty(e, r2, t) { return (r2 = toPropertyKey(r2)) in e ? Object.defineProperty(e, r2, { value: t, enumerable: true, configurable: true, writable: true }) : e[r2] = t, e; } // node_modules/@babel/runtime/helpers/esm/objectSpread2.js function ownKeys(e, r2) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r2 && (o = o.filter(function(r3) { return Object.getOwnPropertyDescriptor(e, r3).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread2(e) { for (var r2 = 1; r2 < arguments.length; r2++) { var t = null != arguments[r2] ? arguments[r2] : {}; r2 % 2 ? ownKeys(Object(t), true).forEach(function(r3) { _defineProperty(e, r3, t[r3]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r3) { Object.defineProperty(e, r3, Object.getOwnPropertyDescriptor(t, r3)); }); } return e; } // node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js function _objectWithoutPropertiesLoose(r2, e) { if (null == r2) return {}; var t = {}; for (var n in r2) if ({}.hasOwnProperty.call(r2, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r2[n]; } return t; } // node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r2, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r2 = 0; r2 < n.length; r2++) o = n[r2], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } // node_modules/@babel/runtime/helpers/esm/classCallCheck.js function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); } // node_modules/@babel/runtime/helpers/esm/createClass.js function _defineProperties(e, r2) { for (var t = 0; t < r2.length; t++) { var o = r2[t]; o.enumerable = o.enumerable || false, o.configurable = true, "value" in o && (o.writable = true), Object.defineProperty(e, toPropertyKey(o.key), o); } } function _createClass(e, r2, t) { return r2 && _defineProperties(e.prototype, r2), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: false }), e; } // node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t2) { return t2.__proto__ || Object.getPrototypeOf(t2); }, _getPrototypeOf(t); } // node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function() { })); } catch (t2) { } return (_isNativeReflectConstruct = function _isNativeReflectConstruct2() { return !!t; })(); } // node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; } // node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); } // node_modules/@babel/runtime/helpers/esm/callSuper.js function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); } // node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t2, e2) { return t2.__proto__ = e2, t2; }, _setPrototypeOf(t, e); } // node_modules/@babel/runtime/helpers/esm/inherits.js function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: true, configurable: true } }), Object.defineProperty(t, "prototype", { writable: false }), e && _setPrototypeOf(t, e); } // node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js function _arrayWithHoles(r2) { if (Array.isArray(r2)) return r2; } // node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js function _iterableToArrayLimit(r2, l) { var t = null == r2 ? null : "undefined" != typeof Symbol && r2[Symbol.iterator] || r2["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = true, o = false; try { if (i = (t = t.call(r2)).next, 0 === l) { if (Object(t) !== t) return; f = false; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true) ; } catch (r3) { o = true, n = r3; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } // node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js function _arrayLikeToArray(r2, a) { (null == a || a > r2.length) && (a = r2.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r2[e]; return n; } // node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js function _unsupportedIterableToArray(r2, a) { if (r2) { if ("string" == typeof r2) return _arrayLikeToArray(r2, a); var t = {}.toString.call(r2).slice(8, -1); return "Object" === t && r2.constructor && (t = r2.constructor.name), "Map" === t || "Set" === t ? Array.from(r2) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r2, a) : void 0; } } // node_modules/@babel/runtime/helpers/esm/nonIterableRest.js function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } // node_modules/@babel/runtime/helpers/esm/slicedToArray.js function _slicedToArray(r2, e) { return _arrayWithHoles(r2) || _iterableToArrayLimit(r2, e) || _unsupportedIterableToArray(r2, e) || _nonIterableRest(); } // node_modules/react-big-calendar/node_modules/clsx/dist/clsx.m.js function r(e) { var t, f, n = ""; if ("string" == typeof e || "number" == typeof e) n += e; else if ("object" == typeof e) if (Array.isArray(e)) for (t = 0; t < e.length; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f); else for (t in e) e[t] && (n && (n += " "), n += t); return n; } function clsx() { for (var e, t, f = 0, n = ""; f < arguments.length; ) (e = arguments[f++]) && (t = r(e)) && (n && (n += " "), n += t); return n; } var clsx_m_default = clsx; // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_react25 = __toESM(require_react()); // node_modules/@babel/runtime/helpers/esm/extends.js function _extends() { return _extends = Object.assign ? Object.assign.bind() : function(n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r2 in t) ({}).hasOwnProperty.call(t, r2) && (n[r2] = t[r2]); } return n; }, _extends.apply(null, arguments); } // node_modules/uncontrollable/lib/esm/hook.js var import_react = __toESM(require_react()); // node_modules/uncontrollable/lib/esm/utils.js var import_invariant = __toESM(require_browser()); var noop = function noop2() { }; function readOnlyPropType(handler, name) { return function(props, propName) { if (props[propName] !== void 0) { if (!props[handler]) { return new Error("You have provided a `" + propName + "` prop to `" + name + "` " + ("without an `" + handler + "` handler prop. This will render a read-only field. ") + ("If the field should be mutable use `" + defaultKey(propName) + "`. ") + ("Otherwise, set `" + handler + "`.")); } } }; } function uncontrolledPropTypes(controlledValues, displayName) { var propTypes6 = {}; Object.keys(controlledValues).forEach(function(prop) { propTypes6[defaultKey(prop)] = noop; if (true) { var handler = controlledValues[prop]; !(typeof handler === "string" && handler.trim().length) ? true ? (0, import_invariant.default)(false, "Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable", displayName, prop) : (0, import_invariant.default)(false) : void 0; propTypes6[prop] = readOnlyPropType(handler, displayName); } }); return propTypes6; } function isProp(props, prop) { return props[prop] !== void 0; } function defaultKey(key) { return "default" + key.charAt(0).toUpperCase() + key.substr(1); } function canAcceptRef(component) { return !!component && (typeof component !== "function" || component.prototype && component.prototype.isReactComponent); } // node_modules/uncontrollable/lib/esm/hook.js function useUncontrolledProp(propValue, defaultValue, handler) { var wasPropRef = (0, import_react.useRef)(propValue !== void 0); var _useState = (0, import_react.useState)(defaultValue), stateValue = _useState[0], setState = _useState[1]; var isProp2 = propValue !== void 0; var wasProp = wasPropRef.current; wasPropRef.current = isProp2; if (!isProp2 && wasProp && stateValue !== defaultValue) { setState(defaultValue); } return [isProp2 ? propValue : stateValue, (0, import_react.useCallback)(function(value) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } if (handler) handler.apply(void 0, [value].concat(args)); setState(value); }, [handler])]; } // node_modules/@babel/runtime/helpers/esm/inheritsLoose.js function _inheritsLoose(t, o) { t.prototype = Object.create(o.prototype), t.prototype.constructor = t, _setPrototypeOf(t, o); } // node_modules/uncontrollable/lib/esm/uncontrollable.js var import_react2 = __toESM(require_react()); // node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js function componentWillMount() { var state = this.constructor.getDerivedStateFromProps(this.props, this.state); if (state !== null && state !== void 0) { this.setState(state); } } function componentWillReceiveProps(nextProps) { function updater(prevState) { var state = this.constructor.getDerivedStateFromProps(nextProps, prevState); return state !== null && state !== void 0 ? state : null; } this.setState(updater.bind(this)); } function componentWillUpdate(nextProps, nextState) { try { var prevProps = this.props; var prevState = this.state; this.props = nextProps; this.state = nextState; this.__reactInternalSnapshotFlag = true; this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate( prevProps, prevState ); } finally { this.props = prevProps; this.state = prevState; } } componentWillMount.__suppressDeprecationWarning = true; componentWillReceiveProps.__suppressDeprecationWarning = true; componentWillUpdate.__suppressDeprecationWarning = true; function polyfill(Component2) { var prototype = Component2.prototype; if (!prototype || !prototype.isReactComponent) { throw new Error("Can only polyfill class components"); } if (typeof Component2.getDerivedStateFromProps !== "function" && typeof prototype.getSnapshotBeforeUpdate !== "function") { return Component2; } var foundWillMountName = null; var foundWillReceivePropsName = null; var foundWillUpdateName = null; if (typeof prototype.componentWillMount === "function") { foundWillMountName = "componentWillMount"; } else if (typeof prototype.UNSAFE_componentWillMount === "function") { foundWillMountName = "UNSAFE_componentWillMount"; } if (typeof prototype.componentWillReceiveProps === "function") { foundWillReceivePropsName = "componentWillReceiveProps"; } else if (typeof prototype.UNSAFE_componentWillReceiveProps === "function") { foundWillReceivePropsName = "UNSAFE_componentWillReceiveProps"; } if (typeof prototype.componentWillUpdate === "function") { foundWillUpdateName = "componentWillUpdate"; } else if (typeof prototype.UNSAFE_componentWillUpdate === "function") { foundWillUpdateName = "UNSAFE_componentWillUpdate"; } if (foundWillMountName !== null || foundWillReceivePropsName !== null || foundWillUpdateName !== null) { var componentName = Component2.displayName || Component2.name; var newApiName = typeof Component2.getDerivedStateFromProps === "function" ? "getDerivedStateFromProps()" : "getSnapshotBeforeUpdate()"; throw Error( "Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n" + componentName + " uses " + newApiName + " but also contains the following legacy lifecycles:" + (foundWillMountName !== null ? "\n " + foundWillMountName : "") + (foundWillReceivePropsName !== null ? "\n " + foundWillReceivePropsName : "") + (foundWillUpdateName !== null ? "\n " + foundWillUpdateName : "") + "\n\nThe above lifecycles should be removed. Learn more about this warning here:\nhttps://fb.me/react-async-component-lifecycle-hooks" ); } if (typeof Component2.getDerivedStateFromProps === "function") { prototype.componentWillMount = componentWillMount; prototype.componentWillReceiveProps = componentWillReceiveProps; } if (typeof prototype.getSnapshotBeforeUpdate === "function") { if (typeof prototype.componentDidUpdate !== "function") { throw new Error( "Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype" ); } prototype.componentWillUpdate = componentWillUpdate; var componentDidUpdate = prototype.componentDidUpdate; prototype.componentDidUpdate = function componentDidUpdatePolyfill(prevProps, prevState, maybeSnapshot) { var snapshot = this.__reactInternalSnapshotFlag ? this.__reactInternalSnapshot : maybeSnapshot; componentDidUpdate.call(this, prevProps, prevState, snapshot); }; } return Component2; } // node_modules/uncontrollable/lib/esm/uncontrollable.js var import_invariant2 = __toESM(require_browser()); var _jsxFileName = "/Users/jquense/src/uncontrollable/src/uncontrollable.js"; function uncontrollable(Component2, controlledValues, methods) { if (methods === void 0) { methods = []; } var displayName = Component2.displayName || Component2.name || "Component"; var canAcceptRef2 = canAcceptRef(Component2); var controlledProps = Object.keys(controlledValues); var PROPS_TO_OMIT = controlledProps.map(defaultKey); !(canAcceptRef2 || !methods.length) ? true ? (0, import_invariant2.default)(false, "[uncontrollable] stateless function components cannot pass through methods because they have no associated instances. Check component: " + displayName + ", attempting to pass through methods: " + methods.join(", ")) : (0, import_invariant2.default)(false) : void 0; var UncontrolledComponent = function(_React$Component) { _inheritsLoose(UncontrolledComponent2, _React$Component); function UncontrolledComponent2() { var _this; for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this; _this.handlers = /* @__PURE__ */ Object.create(null); controlledProps.forEach(function(propName) { var handlerName = controlledValues[propName]; var handleChange = function handleChange2(value) { if (_this.props[handlerName]) { var _this$props; _this._notifying = true; for (var _len2 = arguments.length, args2 = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args2[_key2 - 1] = arguments[_key2]; } (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args2)); _this._notifying = false; } if (!_this.unmounted) _this.setState(function(_ref) { var _extends2; var values2 = _ref.values; return { values: _extends(/* @__PURE__ */ Object.create(null), values2, (_extends2 = {}, _extends2[propName] = value, _extends2)) }; }); }; _this.handlers[handlerName] = handleChange; }); if (methods.length) _this.attachRef = function(ref) { _this.inner = ref; }; var values = /* @__PURE__ */ Object.create(null); controlledProps.forEach(function(key) { values[key] = _this.props[defaultKey(key)]; }); _this.state = { values, prevProps: {} }; return _this; } var _proto = UncontrolledComponent2.prototype; _proto.shouldComponentUpdate = function shouldComponentUpdate() { return !this._notifying; }; UncontrolledComponent2.getDerivedStateFromProps = function getDerivedStateFromProps(props, _ref2) { var values = _ref2.values, prevProps = _ref2.prevProps; var nextState = { values: _extends(/* @__PURE__ */ Object.create(null), values), prevProps: {} }; controlledProps.forEach(function(key) { nextState.prevProps[key] = props[key]; if (!isProp(props, key) && isProp(prevProps, key)) { nextState.values[key] = props[defaultKey(key)]; } }); return nextState; }; _proto.componentWillUnmount = function componentWillUnmount() { this.unmounted = true; }; _proto.render = function render() { var _this2 = this; var _this$props2 = this.props, innerRef = _this$props2.innerRef, props = _objectWithoutPropertiesLoose(_this$props2, ["innerRef"]); PROPS_TO_OMIT.forEach(function(prop) { delete props[prop]; }); var newProps = {}; controlledProps.forEach(function(propName) { var propValue = _this2.props[propName]; newProps[propName] = propValue !== void 0 ? propValue : _this2.state.values[propName]; }); return import_react2.default.createElement(Component2, _extends({}, props, newProps, this.handlers, { ref: innerRef || this.attachRef })); }; return UncontrolledComponent2; }(import_react2.default.Component); polyfill(UncontrolledComponent); UncontrolledComponent.displayName = "Uncontrolled(" + displayName + ")"; UncontrolledComponent.propTypes = _extends({ innerRef: function innerRef() { } }, uncontrolledPropTypes(controlledValues, displayName)); methods.forEach(function(method) { UncontrolledComponent.prototype[method] = function $proxiedMethod() { var _this$inner; return (_this$inner = this.inner)[method].apply(_this$inner, arguments); }; }); var WrappedComponent = UncontrolledComponent; if (import_react2.default.forwardRef) { WrappedComponent = import_react2.default.forwardRef(function(props, ref) { return import_react2.default.createElement(UncontrolledComponent, _extends({}, props, { innerRef: ref, __source: { fileName: _jsxFileName, lineNumber: 128 }, __self: this })); }); WrappedComponent.propTypes = UncontrolledComponent.propTypes; } WrappedComponent.ControlledComponent = Component2; WrappedComponent.deferControlTo = function(newComponent, additions, nextMethods) { if (additions === void 0) { additions = {}; } return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods); }; return WrappedComponent; } // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_prop_types7 = __toESM(require_prop_types()); var import_invariant3 = __toESM(require_browser()); // node_modules/date-arithmetic/index.js var date_arithmetic_exports = {}; __export(date_arithmetic_exports, { add: () => add, century: () => century, date: () => date, day: () => day, decade: () => decade, diff: () => diff, endOf: () => endOf, eq: () => eq, gt: () => gt, gte: () => gte, hours: () => hours, inRange: () => inRange, lt: () => lt, lte: () => lte, max: () => max, milliseconds: () => milliseconds, min: () => min, minutes: () => minutes, month: () => month, neq: () => neq, seconds: () => seconds, startOf: () => startOf, subtract: () => subtract, weekday: () => weekday, year: () => year }); var MILI = "milliseconds"; var SECONDS = "seconds"; var MINUTES = "minutes"; var HOURS = "hours"; var DAY = "day"; var WEEK = "week"; var MONTH = "month"; var YEAR = "year"; var DECADE = "decade"; var CENTURY = "century"; var multiplierMilli = { "milliseconds": 1, "seconds": 1e3, "minutes": 60 * 1e3, "hours": 60 * 60 * 1e3, "day": 24 * 60 * 60 * 1e3, "week": 7 * 24 * 60 * 60 * 1e3 }; var multiplierMonth = { "month": 1, "year": 12, "decade": 10 * 12, "century": 100 * 12 }; function daysOf(year2) { return [31, daysInFeb(year2), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; } function daysInFeb(year2) { return year2 % 4 === 0 && year2 % 100 !== 0 || year2 % 400 === 0 ? 29 : 28; } function add(d, num, unit) { d = new Date(d); switch (unit) { case MILI: case SECONDS: case MINUTES: case HOURS: case DAY: case WEEK: return addMillis(d, num * multiplierMilli[unit]); case MONTH: case YEAR: case DECADE: case CENTURY: return addMonths(d, num * multiplierMonth[unit]); } throw new TypeError('Invalid units: "' + unit + '"'); } function addMillis(d, num) { var nextDate = new Date(+d + num); return solveDST(d, nextDate); } function addMonths(d, num) { var year2 = d.getFullYear(), month2 = d.getMonth(), day2 = d.getDate(), totalMonths = year2 * 12 + month2 + num, nextYear = Math.trunc(totalMonths / 12), nextMonth = totalMonths % 12, nextDay = Math.min(day2, daysOf(nextYear)[nextMonth]); var nextDate = new Date(d); nextDate.setFullYear(nextYear); nextDate.setDate(1); nextDate.setMonth(nextMonth); nextDate.setDate(nextDay); return nextDate; } function solveDST(currentDate, nextDate) { var currentOffset = currentDate.getTimezoneOffset(), nextOffset = nextDate.getTimezoneOffset(); var diffMinutes = nextOffset - currentOffset; return new Date(+nextDate + diffMinutes * multiplierMilli["minutes"]); } function subtract(d, num, unit) { return add(d, -num, unit); } function startOf(d, unit, firstOfWeek) { d = new Date(d); switch (unit) { case CENTURY: case DECADE: case YEAR: d = month(d, 0); case MONTH: d = date(d, 1); case WEEK: case DAY: d = hours(d, 0); case HOURS: d = minutes(d, 0); case MINUTES: d = seconds(d, 0); case SECONDS: d = milliseconds(d, 0); } if (unit === DECADE) d = subtract(d, year(d) % 10, "year"); if (unit === CENTURY) d = subtract(d, year(d) % 100, "year"); if (unit === WEEK) d = weekday(d, 0, firstOfWeek); return d; } function endOf(d, unit, firstOfWeek) { d = new Date(d); d = startOf(d, unit, firstOfWeek); switch (unit) { case CENTURY: case DECADE: case YEAR: case MONTH: case WEEK: d = add(d, 1, unit); d = subtract(d, 1, DAY); d.setHours(23, 59, 59, 999); break; case DAY: d.setHours(23, 59, 59, 999); break; case HOURS: case MINUTES: case SECONDS: d = add(d, 1, unit); d = subtract(d, 1, MILI); } return d; } var eq = createComparer(function(a, b) { return a === b; }); var neq = createComparer(function(a, b) { return a !== b; }); var gt = createComparer(function(a, b) { return a > b; }); var gte = createComparer(function(a, b) { return a >= b; }); var lt = createComparer(function(a, b) { return a < b; }); var lte = createComparer(function(a, b) { return a <= b; }); function min() { return new Date(Math.min.apply(Math, arguments)); } function max() { return new Date(Math.max.apply(Math, arguments)); } function inRange(day2, min3, max3, unit) { unit = unit || "day"; return (!min3 || gte(day2, min3, unit)) && (!max3 || lte(day2, max3, unit)); } var milliseconds = createAccessor("Milliseconds"); var seconds = createAccessor("Seconds"); var minutes = createAccessor("Minutes"); var hours = createAccessor("Hours"); var day = createAccessor("Day"); var date = createAccessor("Date"); var month = createAccessor("Month"); var year = createAccessor("FullYear"); function decade(d, val) { return val === void 0 ? year(startOf(d, DECADE)) : add(d, val + 10, YEAR); } function century(d, val) { return val === void 0 ? year(startOf(d, CENTURY)) : add(d, val + 100, YEAR); } function weekday(d, val, firstDay) { var w = (day(d) + 7 - (firstDay || 0)) % 7; return val === void 0 ? w : add(d, val - w, DAY); } function diff(date1, date2, unit, asFloat) { var dividend, divisor, result; switch (unit) { case MILI: case SECONDS: case MINUTES: case HOURS: case DAY: case WEEK: dividend = date2.getTime() - date1.getTime(); break; case MONTH: case YEAR: case DECADE: case CENTURY: dividend = (year(date2) - year(date1)) * 12 + month(date2) - month(date1); break; default: throw new TypeError('Invalid units: "' + unit + '"'); } switch (unit) { case MILI: divisor = 1; break; case SECONDS: divisor = 1e3; break; case MINUTES: divisor = 1e3 * 60; break; case HOURS: divisor = 1e3 * 60 * 60; break; case DAY: divisor = 1e3 * 60 * 60 * 24; break; case WEEK: divisor = 1e3 * 60 * 60 * 24 * 7; break; case MONTH: divisor = 1; break; case YEAR: divisor = 12; break; case DECADE: divisor = 120; break; case CENTURY: divisor = 1200; break; default: throw new TypeError('Invalid units: "' + unit + '"'); } result = dividend / divisor; return asFloat ? result : Math.round(result); } function createAccessor(method) { var hourLength = function(method2) { switch (method2) { case "Milliseconds": return 36e5; case "Seconds": return 3600; case "Minutes": return 60; case "Hours": return 1; default: return null; } }(method); return function(d, val) { if (val === void 0) return d["get" + method](); var dateOut = new Date(d); dateOut["set" + method](val); if (hourLength && dateOut["get" + method]() != val && (method === "Hours" || val >= hourLength && dateOut.getHours() - d.getHours() < Math.floor(val / hourLength))) { dateOut["set" + method](val + hourLength); } return dateOut; }; } function createComparer(operator) { return function(a, b, unit) { return operator(+startOf(a, unit), +startOf(b, unit)); }; } // node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js function _arrayWithoutHoles(r2) { if (Array.isArray(r2)) return _arrayLikeToArray(r2); } // node_modules/@babel/runtime/helpers/esm/iterableToArray.js function _iterableToArray(r2) { if ("undefined" != typeof Symbol && null != r2[Symbol.iterator] || null != r2["@@iterator"]) return Array.from(r2); } // node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } // node_modules/@babel/runtime/helpers/esm/toConsumableArray.js function _toConsumableArray(r2) { return _arrayWithoutHoles(r2) || _iterableToArray(r2) || _unsupportedIterableToArray(r2) || _nonIterableSpread(); } // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_chunk = __toESM(require_chunk()); // node_modules/dom-helpers/esm/ownerDocument.js function ownerDocument(node) { return node && node.ownerDocument || document; } // node_modules/dom-helpers/esm/ownerWindow.js function ownerWindow(node) { var doc = ownerDocument(node); return doc && doc.defaultView || window; } // node_modules/dom-helpers/esm/getComputedStyle.js function getComputedStyle(node, psuedoElement) { return ownerWindow(node).getComputedStyle(node, psuedoElement); } // node_modules/dom-helpers/esm/hyphenate.js var rUpper = /([A-Z])/g; function hyphenate(string) { return string.replace(rUpper, "-$1").toLowerCase(); } // node_modules/dom-helpers/esm/hyphenateStyle.js var msPattern = /^ms-/; function hyphenateStyleName(string) { return hyphenate(string).replace(msPattern, "-ms-"); } // node_modules/dom-helpers/esm/isTransform.js var supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i; function isTransform(value) { return !!(value && supportedTransforms.test(value)); } // node_modules/dom-helpers/esm/css.js function style(node, property) { var css = ""; var transforms = ""; if (typeof property === "string") { return node.style.getPropertyValue(hyphenateStyleName(property)) || getComputedStyle(node).getPropertyValue(hyphenateStyleName(property)); } Object.keys(property).forEach(function(key) { var value = property[key]; if (!value && value !== 0) { node.style.removeProperty(hyphenateStyleName(key)); } else if (isTransform(key)) { transforms += key + "(" + value + ") "; } else { css += hyphenateStyleName(key) + ": " + value + ";"; } }); if (transforms) { css += "transform: " + transforms + ";"; } node.style.cssText += ";" + css; } var css_default = style; // node_modules/dom-helpers/esm/contains.js function contains(context, node) { if (context.contains) return context.contains(node); if (context.compareDocumentPosition) return context === node || !!(context.compareDocumentPosition(node) & 16); } // node_modules/dom-helpers/esm/isDocument.js function isDocument(element) { return "nodeType" in element && element.nodeType === document.DOCUMENT_NODE; } // node_modules/dom-helpers/esm/isWindow.js function isWindow(node) { if ("window" in node && node.window === node) return node; if (isDocument(node)) return node.defaultView || false; return false; } // node_modules/dom-helpers/esm/getScrollAccessor.js function getscrollAccessor(offset3) { var prop = offset3 === "pageXOffset" ? "scrollLeft" : "scrollTop"; function scrollAccessor(node, val) { var win = isWindow(node); if (val === void 0) { return win ? win[offset3] : node[prop]; } if (win) { win.scrollTo(win[offset3], val); } else { node[prop] = val; } } return scrollAccessor; } // node_modules/dom-helpers/esm/scrollLeft.js var scrollLeft_default = getscrollAccessor("pageXOffset"); // node_modules/dom-helpers/esm/scrollTop.js var scrollTop_default = getscrollAccessor("pageYOffset"); // node_modules/dom-helpers/esm/offset.js function offset(node) { var doc = ownerDocument(node); var box = { top: 0, left: 0, height: 0, width: 0 }; var docElem = doc && doc.documentElement; if (!docElem || !contains(docElem, node)) return box; if (node.getBoundingClientRect !== void 0) box = node.getBoundingClientRect(); box = { top: box.top + scrollTop_default(docElem) - (docElem.clientTop || 0), left: box.left + scrollLeft_default(docElem) - (docElem.clientLeft || 0), width: box.width, height: box.height }; return box; } // node_modules/dom-helpers/esm/offsetParent.js var isHTMLElement = function isHTMLElement2(e) { return !!e && "offsetParent" in e; }; function offsetParent(node) { var doc = ownerDocument(node); var parent = node && node.offsetParent; while (isHTMLElement(parent) && parent.nodeName !== "HTML" && css_default(parent, "position") === "static") { parent = parent.offsetParent; } return parent || doc.documentElement; } // node_modules/dom-helpers/esm/position.js var nodeName = function nodeName2(node) { return node.nodeName && node.nodeName.toLowerCase(); }; function position(node, offsetParent2) { var parentOffset = { top: 0, left: 0 }; var offset3; if (css_default(node, "position") === "fixed") { offset3 = node.getBoundingClientRect(); } else { var parent = offsetParent2 || offsetParent(node); offset3 = offset(node); if (nodeName(parent) !== "html") parentOffset = offset(parent); var borderTop = String(css_default(parent, "borderTopWidth") || 0); parentOffset.top += parseInt(borderTop, 10) - scrollTop_default(parent) || 0; var borderLeft = String(css_default(parent, "borderLeftWidth") || 0); parentOffset.left += parseInt(borderLeft, 10) - scrollLeft_default(parent) || 0; } var marginTop = String(css_default(node, "marginTop") || 0); var marginLeft = String(css_default(node, "marginLeft") || 0); return _extends({}, offset3, { top: offset3.top - parentOffset.top - (parseInt(marginTop, 10) || 0), left: offset3.left - parentOffset.left - (parseInt(marginLeft, 10) || 0) }); } // node_modules/dom-helpers/esm/canUseDOM.js var canUseDOM_default = !!(typeof window !== "undefined" && window.document && window.document.createElement); // node_modules/dom-helpers/esm/animationFrame.js var prev = (/* @__PURE__ */ new Date()).getTime(); function fallback(fn3) { var curr = (/* @__PURE__ */ new Date()).getTime(); var ms = Math.max(0, 16 - (curr - prev)); var handle = setTimeout(fn3, ms); prev = curr; return handle; } var vendors = ["", "webkit", "moz", "o", "ms"]; var cancelMethod = "clearTimeout"; var rafImpl = fallback; var getKey = function getKey2(vendor, k) { return vendor + (!vendor ? k : k[0].toUpperCase() + k.substr(1)) + "AnimationFrame"; }; if (canUseDOM_default) { vendors.some(function(vendor) { var rafMethod = getKey(vendor, "request"); if (rafMethod in window) { cancelMethod = getKey(vendor, "cancel"); rafImpl = function rafImpl2(cb) { return window[rafMethod](cb); }; } return !!rafImpl; }); } var cancel = function cancel2(id) { if (typeof window[cancelMethod] === "function") window[cancelMethod](id); }; var request = rafImpl; // node_modules/dom-helpers/esm/matches.js var matchesImpl; function matches(node, selector) { if (!matchesImpl) { var body = document.body; var nativeMatch = body.matches || body.matchesSelector || body.webkitMatchesSelector || body.mozMatchesSelector || body.msMatchesSelector; matchesImpl = function matchesImpl2(n, s) { return nativeMatch.call(n, s); }; } return matchesImpl(node, selector); } // node_modules/dom-helpers/esm/querySelectorAll.js var toArray = Function.prototype.bind.call(Function.prototype.call, [].slice); function qsa(element, selector) { return toArray(element.querySelectorAll(selector)); } // node_modules/dom-helpers/esm/addEventListener.js var optionsSupported = false; var onceSupported = false; try { options = { get passive() { return optionsSupported = true; }, get once() { return onceSupported = optionsSupported = true; } }; if (canUseDOM_default) { window.addEventListener("test", options, options); window.removeEventListener("test", options, true); } } catch (e) { } var options; function addEventListener(node, eventName, handler, options) { if (options && typeof options !== "boolean" && !onceSupported) { var once = options.once, capture = options.capture; var wrappedHandler = handler; if (!onceSupported && once) { wrappedHandler = handler.__once || function onceHandler(event) { this.removeEventListener(eventName, onceHandler, capture); handler.call(this, event); }; handler.__once = wrappedHandler; } node.addEventListener(eventName, wrappedHandler, optionsSupported ? options : capture); } node.addEventListener(eventName, handler, options); } var addEventListener_default = addEventListener; // node_modules/react-overlays/esm/Dropdown.js var import_react17 = __toESM(require_react()); var import_prop_types3 = __toESM(require_prop_types()); // node_modules/@restart/hooks/esm/usePrevious.js var import_react3 = __toESM(require_react()); function usePrevious(value) { const ref = (0, import_react3.useRef)(null); (0, import_react3.useEffect)(() => { ref.current = value; }); return ref.current; } // node_modules/@restart/hooks/esm/useForceUpdate.js var import_react4 = __toESM(require_react()); function useForceUpdate() { const [, dispatch] = (0, import_react4.useReducer)((state) => !state, false); return dispatch; } // node_modules/@restart/hooks/esm/useEventListener.js var import_react7 = __toESM(require_react()); // node_modules/@restart/hooks/esm/useEventCallback.js var import_react6 = __toESM(require_react()); // node_modules/@restart/hooks/esm/useCommittedRef.js var import_react5 = __toESM(require_react()); function useCommittedRef(value) { const ref = (0, import_react5.useRef)(value); (0, import_react5.useEffect)(() => { ref.current = value; }, [value]); return ref; } var useCommittedRef_default = useCommittedRef; // node_modules/@restart/hooks/esm/useEventCallback.js function useEventCallback(fn3) { const ref = useCommittedRef_default(fn3); return (0, import_react6.useCallback)(function(...args) { return ref.current && ref.current(...args); }, [ref]); } // node_modules/@restart/hooks/esm/useEventListener.js function useEventListener(eventTarget, event, listener, capture = false) { const handler = useEventCallback(listener); (0, import_react7.useEffect)(() => { const target = typeof eventTarget === "function" ? eventTarget() : eventTarget; target.addEventListener(event, handler, capture); return () => target.removeEventListener(event, handler, capture); }, [eventTarget]); } // node_modules/@restart/hooks/esm/useGlobalListener.js var import_react8 = __toESM(require_react()); function useGlobalListener(event, handler, capture = false) { const documentTarget = (0, import_react8.useCallback)(() => document, []); return useEventListener(documentTarget, event, handler, capture); } // node_modules/react-overlays/esm/DropdownContext.js var import_react9 = __toESM(require_react()); var DropdownContext = import_react9.default.createContext(null); var DropdownContext_default = DropdownContext; // node_modules/react-overlays/esm/DropdownMenu.js var import_prop_types = __toESM(require_prop_types()); var import_react15 = __toESM(require_react()); // node_modules/@restart/hooks/esm/useCallbackRef.js var import_react10 = __toESM(require_react()); function useCallbackRef() { return (0, import_react10.useState)(null); } // node_modules/react-overlays/esm/usePopper.js var import_react13 = __toESM(require_react()); // node_modules/@restart/hooks/esm/useSafeState.js var import_react12 = __toESM(require_react()); // node_modules/@restart/hooks/esm/useMounted.js var import_react11 = __toESM(require_react()); function useMounted() { const mounted = (0, import_react11.useRef)(true); const isMounted = (0, import_react11.useRef)(() => mounted.current); (0, import_react11.useEffect)(() => { mounted.current = true; return () => { mounted.current = false; }; }, []); return isMounted.current; } // node_modules/@restart/hooks/esm/useSafeState.js function useSafeState(state) { const isMounted = useMounted(); return [state[0], (0, import_react12.useCallback)((nextState) => { if (!isMounted()) return; return state[1](nextState); }, [isMounted, state[1]])]; } var useSafeState_default = useSafeState; // node_modules/@popperjs/core/lib/enums.js var top = "top"; var bottom = "bottom"; var right = "right"; var left = "left"; var auto = "auto"; var basePlacements = [top, bottom, right, left]; var start = "start"; var end = "end"; var clippingParents = "clippingParents"; var viewport = "viewport"; var popper = "popper"; var reference = "reference"; var variationPlacements = basePlacements.reduce(function(acc, placement) { return acc.concat([placement + "-" + start, placement + "-" + end]); }, []); var placements = [].concat(basePlacements, [auto]).reduce(function(acc, placement) { return acc.concat([placement, placement + "-" + start, placement + "-" + end]); }, []); var beforeRead = "beforeRead"; var read = "read"; var afterRead = "afterRead"; var beforeMain = "beforeMain"; var main = "main"; var afterMain = "afterMain"; var beforeWrite = "beforeWrite"; var write = "write"; var afterWrite = "afterWrite"; var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; // node_modules/@popperjs/core/lib/utils/getBasePlacement.js function getBasePlacement(placement) { return placement.split("-")[0]; } // node_modules/@popperjs/core/lib/dom-utils/getWindow.js function getWindow(node) { if (node == null) { return window; } if (node.toString() !== "[object Window]") { var ownerDocument2 = node.ownerDocument; return ownerDocument2 ? ownerDocument2.defaultView || window : window; } return node; } // node_modules/@popperjs/core/lib/dom-utils/instanceOf.js function isElement(node) { var OwnElement = getWindow(node).Element; return node instanceof OwnElement || node instanceof Element; } function isHTMLElement3(node) { var OwnElement = getWindow(node).HTMLElement; return node instanceof OwnElement || node instanceof HTMLElement; } function isShadowRoot(node) { if (typeof ShadowRoot === "undefined") { return false; } var OwnElement = getWindow(node).ShadowRoot; return node instanceof OwnElement || node instanceof ShadowRoot; } // node_modules/@popperjs/core/lib/utils/math.js var max2 = Math.max; var min2 = Math.min; var round = Math.round; // node_modules/@popperjs/core/lib/utils/userAgent.js function getUAString() { var uaData = navigator.userAgentData; if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) { return uaData.brands.map(function(item) { return item.brand + "/" + item.version; }).join(" "); } return navigator.userAgent; } // node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js function isLayoutViewport() { return !/^((?!chrome|android).)*safari/i.test(getUAString()); } // node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js function getBoundingClientRect(element, includeScale, isFixedStrategy) { if (includeScale === void 0) { includeScale = false; } if (isFixedStrategy === void 0) { isFixedStrategy = false; } var clientRect = element.getBoundingClientRect(); var scaleX = 1; var scaleY = 1; if (includeScale && isHTMLElement3(element)) { scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1; scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1; } var _ref = isElement(element) ? getWindow(element) : window, visualViewport = _ref.visualViewport; var addVisualOffsets = !isLayoutViewport() && isFixedStrategy; var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX; var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY; var width = clientRect.width / scaleX; var height2 = clientRect.height / scaleY; return { width, height: height2, top: y, right: x + width, bottom: y + height2, left: x, x, y }; } // node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js function getLayoutRect(element) { var clientRect = getBoundingClientRect(element); var width = element.offsetWidth; var height2 = element.offsetHeight; if (Math.abs(clientRect.width - width) <= 1) { width = clientRect.width; } if (Math.abs(clientRect.height - height2) <= 1) { height2 = clientRect.height; } return { x: element.offsetLeft, y: element.offsetTop, width, height: height2 }; } // node_modules/@popperjs/core/lib/dom-utils/contains.js function contains2(parent, child) { var rootNode = child.getRootNode && child.getRootNode(); if (parent.contains(child)) { return true; } else if (rootNode && isShadowRoot(rootNode)) { var next = child; do { if (next && parent.isSameNode(next)) { return true; } next = next.parentNode || next.host; } while (next); } return false; } // node_modules/@popperjs/core/lib/dom-utils/getNodeName.js function getNodeName(element) { return element ? (element.nodeName || "").toLowerCase() : null; } // node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js function getComputedStyle2(element) { return getWindow(element).getComputedStyle(element); } // node_modules/@popperjs/core/lib/dom-utils/isTableElement.js function isTableElement(element) { return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; } // node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js function getDocumentElement(element) { return ((isElement(element) ? element.ownerDocument : ( // $FlowFixMe[prop-missing] element.document )) || window.document).documentElement; } // node_modules/@popperjs/core/lib/dom-utils/getParentNode.js function getParentNode(element) { if (getNodeName(element) === "html") { return element; } return ( // this is a quicker (but less type safe) way to save quite some bytes from the bundle // $FlowFixMe[incompatible-return] // $FlowFixMe[prop-missing] element.assignedSlot || // step into the shadow DOM of the parent of a slotted node element.parentNode || // DOM Element detected (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected // $FlowFixMe[incompatible-call]: HTMLElement is a Node getDocumentElement(element) ); } // node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js function getTrueOffsetParent(element) { if (!isHTMLElement3(element) || // https://github.com/popperjs/popper-core/issues/837 getComputedStyle2(element).position === "fixed") { return null; } return element.offsetParent; } function getContainingBlock(element) { var isFirefox = /firefox/i.test(getUAString()); var isIE = /Trident/i.test(getUAString()); if (isIE && isHTMLElement3(element)) { var elementCss = getComputedStyle2(element); if (elementCss.position === "fixed") { return null; } } var currentNode = getParentNode(element); if (isShadowRoot(currentNode)) { currentNode = currentNode.host; } while (isHTMLElement3(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { var css = getComputedStyle2(currentNode); if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { return currentNode; } else { currentNode = currentNode.parentNode; } } return null; } function getOffsetParent(element) { var window2 = getWindow(element); var offsetParent2 = getTrueOffsetParent(element); while (offsetParent2 && isTableElement(offsetParent2) && getComputedStyle2(offsetParent2).position === "static") { offsetParent2 = getTrueOffsetParent(offsetParent2); } if (offsetParent2 && (getNodeName(offsetParent2) === "html" || getNodeName(offsetParent2) === "body" && getComputedStyle2(offsetParent2).position === "static")) { return window2; } return offsetParent2 || getContainingBlock(element) || window2; } // node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js function getMainAxisFromPlacement(placement) { return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; } // node_modules/@popperjs/core/lib/utils/within.js function within(min3, value, max3) { return max2(min3, min2(value, max3)); } function withinMaxClamp(min3, value, max3) { var v = within(min3, value, max3); return v > max3 ? max3 : v; } // node_modules/@popperjs/core/lib/utils/getFreshSideObject.js function getFreshSideObject() { return { top: 0, right: 0, bottom: 0, left: 0 }; } // node_modules/@popperjs/core/lib/utils/mergePaddingObject.js function mergePaddingObject(paddingObject) { return Object.assign({}, getFreshSideObject(), paddingObject); } // node_modules/@popperjs/core/lib/utils/expandToHashMap.js function expandToHashMap(value, keys) { return keys.reduce(function(hashMap, key) { hashMap[key] = value; return hashMap; }, {}); } // node_modules/@popperjs/core/lib/modifiers/arrow.js var toPaddingObject = function toPaddingObject2(padding, state) { padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { placement: state.placement })) : padding; return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); }; function arrow(_ref) { var _state$modifiersData$; var state = _ref.state, name = _ref.name, options = _ref.options; var arrowElement = state.elements.arrow; var popperOffsets2 = state.modifiersData.popperOffsets; var basePlacement = getBasePlacement(state.placement); var axis = getMainAxisFromPlacement(basePlacement); var isVertical = [left, right].indexOf(basePlacement) >= 0; var len = isVertical ? "height" : "width"; if (!arrowElement || !popperOffsets2) { return; } var paddingObject = toPaddingObject(options.padding, state); var arrowRect = getLayoutRect(arrowElement); var minProp = axis === "y" ? top : left; var maxProp = axis === "y" ? bottom : right; var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; var arrowOffsetParent = getOffsetParent(arrowElement); var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; var centerToReference = endDiff / 2 - startDiff / 2; var min3 = paddingObject[minProp]; var max3 = clientSize - arrowRect[len] - paddingObject[maxProp]; var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; var offset3 = within(min3, center, max3); var axisProp = axis; state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset3, _state$modifiersData$.centerOffset = offset3 - center, _state$modifiersData$); } function effect(_ref2) { var state = _ref2.state, options = _ref2.options; var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; if (arrowElement == null) { return; } if (typeof arrowElement === "string") { arrowElement = state.elements.popper.querySelector(arrowElement); if (!arrowElement) { return; } } if (!contains2(state.elements.popper, arrowElement)) { return; } state.elements.arrow = arrowElement; } var arrow_default = { name: "arrow", enabled: true, phase: "main", fn: arrow, effect, requires: ["popperOffsets"], requiresIfExists: ["preventOverflow"] }; // node_modules/@popperjs/core/lib/utils/getVariation.js function getVariation(placement) { return placement.split("-")[1]; } // node_modules/@popperjs/core/lib/modifiers/computeStyles.js var unsetSides = { top: "auto", right: "auto", bottom: "auto", left: "auto" }; function roundOffsetsByDPR(_ref, win) { var x = _ref.x, y = _ref.y; var dpr = win.devicePixelRatio || 1; return { x: round(x * dpr) / dpr || 0, y: round(y * dpr) / dpr || 0 }; } function mapToStyles(_ref2) { var _Object$assign2; var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position2 = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ x, y }) : { x, y }; x = _ref3.x; y = _ref3.y; var hasX = offsets.hasOwnProperty("x"); var hasY = offsets.hasOwnProperty("y"); var sideX = left; var sideY = top; var win = window; if (adaptive) { var offsetParent2 = getOffsetParent(popper2); var heightProp = "clientHeight"; var widthProp = "clientWidth"; if (offsetParent2 === getWindow(popper2)) { offsetParent2 = getDocumentElement(popper2); if (getComputedStyle2(offsetParent2).position !== "static" && position2 === "absolute") { heightProp = "scrollHeight"; widthProp = "scrollWidth"; } } offsetParent2 = offsetParent2; if (placement === top || (placement === left || placement === right) && variation === end) { sideY = bottom; var offsetY = isFixed && offsetParent2 === win && win.visualViewport ? win.visualViewport.height : ( // $FlowFixMe[prop-missing] offsetParent2[heightProp] ); y -= offsetY - popperRect.height; y *= gpuAcceleration ? 1 : -1; } if (placement === left || (placement === top || placement === bottom) && variation === end) { sideX = right; var offsetX = isFixed && offsetParent2 === win && win.visualViewport ? win.visualViewport.width : ( // $FlowFixMe[prop-missing] offsetParent2[widthProp] ); x -= offsetX - popperRect.width; x *= gpuAcceleration ? 1 : -1; } } var commonStyles = Object.assign({ position: position2 }, adaptive && unsetSides); var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ x, y }, getWindow(popper2)) : { x, y }; x = _ref4.x; y = _ref4.y; if (gpuAcceleration) { var _Object$assign; return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); } return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); } function computeStyles(_ref5) { var state = _ref5.state, options = _ref5.options; var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; var commonStyles = { placement: getBasePlacement(state.placement), variation: getVariation(state.placement), popper: state.elements.popper, popperRect: state.rects.popper, gpuAcceleration, isFixed: state.options.strategy === "fixed" }; if (state.modifiersData.popperOffsets != null) { state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { offsets: state.modifiersData.popperOffsets, position: state.options.strategy, adaptive, roundOffsets }))); } if (state.modifiersData.arrow != null) { state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { offsets: state.modifiersData.arrow, position: "absolute", adaptive: false, roundOffsets }))); } state.attributes.popper = Object.assign({}, state.attributes.popper, { "data-popper-placement": state.placement }); } var computeStyles_default = { name: "computeStyles", enabled: true, phase: "beforeWrite", fn: computeStyles, data: {} }; // node_modules/@popperjs/core/lib/modifiers/eventListeners.js var passive = { passive: true }; function effect2(_ref) { var state = _ref.state, instance = _ref.instance, options = _ref.options; var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; var window2 = getWindow(state.elements.popper); var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); if (scroll) { scrollParents.forEach(function(scrollParent) { scrollParent.addEventListener("scroll", instance.update, passive); }); } if (resize) { window2.addEventListener("resize", instance.update, passive); } return function() { if (scroll) { scrollParents.forEach(function(scrollParent) { scrollParent.removeEventListener("scroll", instance.update, passive); }); } if (resize) { window2.removeEventListener("resize", instance.update, passive); } }; } var eventListeners_default = { name: "eventListeners", enabled: true, phase: "write", fn: function fn() { }, effect: effect2, data: {} }; // node_modules/@popperjs/core/lib/utils/getOppositePlacement.js var hash = { left: "right", right: "left", bottom: "top", top: "bottom" }; function getOppositePlacement(placement) { return placement.replace(/left|right|bottom|top/g, function(matched) { return hash[matched]; }); } // node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js var hash2 = { start: "end", end: "start" }; function getOppositeVariationPlacement(placement) { return placement.replace(/start|end/g, function(matched) { return hash2[matched]; }); } // node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js function getWindowScroll(node) { var win = getWindow(node); var scrollLeft = win.pageXOffset; var scrollTop = win.pageYOffset; return { scrollLeft, scrollTop }; } // node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js function getWindowScrollBarX(element) { return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; } // node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js function getViewportRect(element, strategy) { var win = getWindow(element); var html = getDocumentElement(element); var visualViewport = win.visualViewport; var width = html.clientWidth; var height2 = html.clientHeight; var x = 0; var y = 0; if (visualViewport) { width = visualViewport.width; height2 = visualViewport.height; var layoutViewport = isLayoutViewport(); if (layoutViewport || !layoutViewport && strategy === "fixed") { x = visualViewport.offsetLeft; y = visualViewport.offsetTop; } } return { width, height: height2, x: x + getWindowScrollBarX(element), y }; } // node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js function getDocumentRect(element) { var _element$ownerDocumen; var html = getDocumentElement(element); var winScroll = getWindowScroll(element); var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; var width = max2(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); var height2 = max2(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); var x = -winScroll.scrollLeft + getWindowScrollBarX(element); var y = -winScroll.scrollTop; if (getComputedStyle2(body || html).direction === "rtl") { x += max2(html.clientWidth, body ? body.clientWidth : 0) - width; } return { width, height: height2, x, y }; } // node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js function isScrollParent(element) { var _getComputedStyle = getComputedStyle2(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); } // node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js function getScrollParent(node) { if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { return node.ownerDocument.body; } if (isHTMLElement3(node) && isScrollParent(node)) { return node; } return getScrollParent(getParentNode(node)); } // node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js function listScrollParents(element, list) { var _element$ownerDocumen; if (list === void 0) { list = []; } var scrollParent = getScrollParent(element); var isBody2 = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); var win = getWindow(scrollParent); var target = isBody2 ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; var updatedList = list.concat(target); return isBody2 ? updatedList : ( // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here updatedList.concat(listScrollParents(getParentNode(target))) ); } // node_modules/@popperjs/core/lib/utils/rectToClientRect.js function rectToClientRect(rect) { return Object.assign({}, rect, { left: rect.x, top: rect.y, right: rect.x + rect.width, bottom: rect.y + rect.height }); } // node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js function getInnerBoundingClientRect(element, strategy) { var rect = getBoundingClientRect(element, false, strategy === "fixed"); rect.top = rect.top + element.clientTop; rect.left = rect.left + element.clientLeft; rect.bottom = rect.top + element.clientHeight; rect.right = rect.left + element.clientWidth; rect.width = element.clientWidth; rect.height = element.clientHeight; rect.x = rect.left; rect.y = rect.top; return rect; } function getClientRectFromMixedType(element, clippingParent, strategy) { return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element))); } function getClippingParents(element) { var clippingParents2 = listScrollParents(getParentNode(element)); var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle2(element).position) >= 0; var clipperElement = canEscapeClipping && isHTMLElement3(element) ? getOffsetParent(element) : element; if (!isElement(clipperElement)) { return []; } return clippingParents2.filter(function(clippingParent) { return isElement(clippingParent) && contains2(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; }); } function getClippingRect(element, boundary, rootBoundary, strategy) { var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); var firstClippingParent = clippingParents2[0]; var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { var rect = getClientRectFromMixedType(element, clippingParent, strategy); accRect.top = max2(rect.top, accRect.top); accRect.right = min2(rect.right, accRect.right); accRect.bottom = min2(rect.bottom, accRect.bottom); accRect.left = max2(rect.left, accRect.left); return accRect; }, getClientRectFromMixedType(element, firstClippingParent, strategy)); clippingRect.width = clippingRect.right - clippingRect.left; clippingRect.height = clippingRect.bottom - clippingRect.top; clippingRect.x = clippingRect.left; clippingRect.y = clippingRect.top; return clippingRect; } // node_modules/@popperjs/core/lib/utils/computeOffsets.js function computeOffsets(_ref) { var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; var basePlacement = placement ? getBasePlacement(placement) : null; var variation = placement ? getVariation(placement) : null; var commonX = reference2.x + reference2.width / 2 - element.width / 2; var commonY = reference2.y + reference2.height / 2 - element.height / 2; var offsets; switch (basePlacement) { case top: offsets = { x: commonX, y: reference2.y - element.height }; break; case bottom: offsets = { x: commonX, y: reference2.y + reference2.height }; break; case right: offsets = { x: reference2.x + reference2.width, y: commonY }; break; case left: offsets = { x: reference2.x - element.width, y: commonY }; break; default: offsets = { x: reference2.x, y: reference2.y }; } var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; if (mainAxis != null) { var len = mainAxis === "y" ? "height" : "width"; switch (variation) { case start: offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); break; case end: offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); break; default: } } return offsets; } // node_modules/@popperjs/core/lib/utils/detectOverflow.js function detectOverflow(state, options) { if (options === void 0) { options = {}; } var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); var altContext = elementContext === popper ? reference : popper; var popperRect = state.rects.popper; var element = state.elements[altBoundary ? altContext : elementContext]; var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy); var referenceClientRect = getBoundingClientRect(state.elements.reference); var popperOffsets2 = computeOffsets({ reference: referenceClientRect, element: popperRect, strategy: "absolute", placement }); var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; var overflowOffsets = { top: clippingClientRect.top - elementClientRect.top + paddingObject.top, bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, left: clippingClientRect.left - elementClientRect.left + paddingObject.left, right: elementClientRect.right - clippingClientRect.right + paddingObject.right }; var offsetData = state.modifiersData.offset; if (elementContext === popper && offsetData) { var offset3 = offsetData[placement]; Object.keys(overflowOffsets).forEach(function(key) { var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; overflowOffsets[key] += offset3[axis] * multiply; }); } return overflowOffsets; } // node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js function computeAutoPlacement(state, options) { if (options === void 0) { options = {}; } var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; var variation = getVariation(placement); var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { return getVariation(placement2) === variation; }) : basePlacements; var allowedPlacements = placements2.filter(function(placement2) { return allowedAutoPlacements.indexOf(placement2) >= 0; }); if (allowedPlacements.length === 0) { allowedPlacements = placements2; } var overflows = allowedPlacements.reduce(function(acc, placement2) { acc[placement2] = detectOverflow(state, { placement: placement2, boundary, rootBoundary, padding })[getBasePlacement(placement2)]; return acc; }, {}); return Object.keys(overflows).sort(function(a, b) { return overflows[a] - overflows[b]; }); } // node_modules/@popperjs/core/lib/modifiers/flip.js function getExpandedFallbackPlacements(placement) { if (getBasePlacement(placement) === auto) { return []; } var oppositePlacement = getOppositePlacement(placement); return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; } function flip(_ref) { var state = _ref.state, options = _ref.options, name = _ref.name; if (state.modifiersData[name]._skip) { return; } var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; var preferredPlacement = state.options.placement; var basePlacement = getBasePlacement(preferredPlacement); var isBasePlacement = basePlacement === preferredPlacement; var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { placement: placement2, boundary, rootBoundary, padding, flipVariations, allowedAutoPlacements }) : placement2); }, []); var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var checksMap = /* @__PURE__ */ new Map(); var makeFallbackChecks = true; var firstFittingPlacement = placements2[0]; for (var i = 0; i < placements2.length; i++) { var placement = placements2[i]; var _basePlacement = getBasePlacement(placement); var isStartVariation = getVariation(placement) === start; var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; var len = isVertical ? "width" : "height"; var overflow = detectOverflow(state, { placement, boundary, rootBoundary, altBoundary, padding }); var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; if (referenceRect[len] > popperRect[len]) { mainVariationSide = getOppositePlacement(mainVariationSide); } var altVariationSide = getOppositePlacement(mainVariationSide); var checks = []; if (checkMainAxis) { checks.push(overflow[_basePlacement] <= 0); } if (checkAltAxis) { checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); } if (checks.every(function(check) { return check; })) { firstFittingPlacement = placement; makeFallbackChecks = false; break; } checksMap.set(placement, checks); } if (makeFallbackChecks) { var numberOfChecks = flipVariations ? 3 : 1; var _loop = function _loop2(_i2) { var fittingPlacement = placements2.find(function(placement2) { var checks2 = checksMap.get(placement2); if (checks2) { return checks2.slice(0, _i2).every(function(check) { return check; }); } }); if (fittingPlacement) { firstFittingPlacement = fittingPlacement; return "break"; } }; for (var _i = numberOfChecks; _i > 0; _i--) { var _ret = _loop(_i); if (_ret === "break") break; } } if (state.placement !== firstFittingPlacement) { state.modifiersData[name]._skip = true; state.placement = firstFittingPlacement; state.reset = true; } } var flip_default = { name: "flip", enabled: true, phase: "main", fn: flip, requiresIfExists: ["offset"], data: { _skip: false } }; // node_modules/@popperjs/core/lib/modifiers/hide.js function getSideOffsets(overflow, rect, preventedOffsets) { if (preventedOffsets === void 0) { preventedOffsets = { x: 0, y: 0 }; } return { top: overflow.top - rect.height - preventedOffsets.y, right: overflow.right - rect.width + preventedOffsets.x, bottom: overflow.bottom - rect.height + preventedOffsets.y, left: overflow.left - rect.width - preventedOffsets.x }; } function isAnySideFullyClipped(overflow) { return [top, right, bottom, left].some(function(side) { return overflow[side] >= 0; }); } function hide(_ref) { var state = _ref.state, name = _ref.name; var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var preventedOffsets = state.modifiersData.preventOverflow; var referenceOverflow = detectOverflow(state, { elementContext: "reference" }); var popperAltOverflow = detectOverflow(state, { altBoundary: true }); var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); state.modifiersData[name] = { referenceClippingOffsets, popperEscapeOffsets, isReferenceHidden, hasPopperEscaped }; state.attributes.popper = Object.assign({}, state.attributes.popper, { "data-popper-reference-hidden": isReferenceHidden, "data-popper-escaped": hasPopperEscaped }); } var hide_default = { name: "hide", enabled: true, phase: "main", requiresIfExists: ["preventOverflow"], fn: hide }; // node_modules/@popperjs/core/lib/modifiers/offset.js function distanceAndSkiddingToXY(placement, rects, offset3) { var basePlacement = getBasePlacement(placement); var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; var _ref = typeof offset3 === "function" ? offset3(Object.assign({}, rects, { placement })) : offset3, skidding = _ref[0], distance = _ref[1]; skidding = skidding || 0; distance = (distance || 0) * invertDistance; return [left, right].indexOf(basePlacement) >= 0 ? { x: distance, y: skidding } : { x: skidding, y: distance }; } function offset2(_ref2) { var state = _ref2.state, options = _ref2.options, name = _ref2.name; var _options$offset = options.offset, offset3 = _options$offset === void 0 ? [0, 0] : _options$offset; var data = placements.reduce(function(acc, placement) { acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset3); return acc; }, {}); var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; if (state.modifiersData.popperOffsets != null) { state.modifiersData.popperOffsets.x += x; state.modifiersData.popperOffsets.y += y; } state.modifiersData[name] = data; } var offset_default = { name: "offset", enabled: true, phase: "main", requires: ["popperOffsets"], fn: offset2 }; // node_modules/@popperjs/core/lib/modifiers/popperOffsets.js function popperOffsets(_ref) { var state = _ref.state, name = _ref.name; state.modifiersData[name] = computeOffsets({ reference: state.rects.reference, element: state.rects.popper, strategy: "absolute", placement: state.placement }); } var popperOffsets_default = { name: "popperOffsets", enabled: true, phase: "read", fn: popperOffsets, data: {} }; // node_modules/@popperjs/core/lib/utils/getAltAxis.js function getAltAxis(axis) { return axis === "x" ? "y" : "x"; } // node_modules/@popperjs/core/lib/modifiers/preventOverflow.js function preventOverflow(_ref) { var state = _ref.state, options = _ref.options, name = _ref.name; var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; var overflow = detectOverflow(state, { boundary, rootBoundary, padding, altBoundary }); var basePlacement = getBasePlacement(state.placement); var variation = getVariation(state.placement); var isBasePlacement = !variation; var mainAxis = getMainAxisFromPlacement(basePlacement); var altAxis = getAltAxis(mainAxis); var popperOffsets2 = state.modifiersData.popperOffsets; var referenceRect = state.rects.reference; var popperRect = state.rects.popper; var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { placement: state.placement })) : tetherOffset; var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { mainAxis: tetherOffsetValue, altAxis: tetherOffsetValue } : Object.assign({ mainAxis: 0, altAxis: 0 }, tetherOffsetValue); var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; var data = { x: 0, y: 0 }; if (!popperOffsets2) { return; } if (checkMainAxis) { var _offsetModifierState$; var mainSide = mainAxis === "y" ? top : left; var altSide = mainAxis === "y" ? bottom : right; var len = mainAxis === "y" ? "height" : "width"; var offset3 = popperOffsets2[mainAxis]; var min3 = offset3 + overflow[mainSide]; var max3 = offset3 - overflow[altSide]; var additive = tether ? -popperRect[len] / 2 : 0; var minLen = variation === start ? referenceRect[len] : popperRect[len]; var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; var arrowElement = state.elements.arrow; var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { width: 0, height: 0 }; var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); var arrowPaddingMin = arrowPaddingObject[mainSide]; var arrowPaddingMax = arrowPaddingObject[altSide]; var arrowLen = within(0, referenceRect[len], arrowRect[len]); var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; var tetherMin = offset3 + minOffset - offsetModifierValue - clientOffset; var tetherMax = offset3 + maxOffset - offsetModifierValue; var preventedOffset = within(tether ? min2(min3, tetherMin) : min3, offset3, tether ? max2(max3, tetherMax) : max3); popperOffsets2[mainAxis] = preventedOffset; data[mainAxis] = preventedOffset - offset3; } if (checkAltAxis) { var _offsetModifierState$2; var _mainSide = mainAxis === "x" ? top : left; var _altSide = mainAxis === "x" ? bottom : right; var _offset = popperOffsets2[altAxis]; var _len = altAxis === "y" ? "height" : "width"; var _min = _offset + overflow[_mainSide]; var _max = _offset - overflow[_altSide]; var isOriginSide = [top, left].indexOf(basePlacement) !== -1; var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); popperOffsets2[altAxis] = _preventedOffset; data[altAxis] = _preventedOffset - _offset; } state.modifiersData[name] = data; } var preventOverflow_default = { name: "preventOverflow", enabled: true, phase: "main", fn: preventOverflow, requiresIfExists: ["offset"] }; // node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js function getHTMLElementScroll(element) { return { scrollLeft: element.scrollLeft, scrollTop: element.scrollTop }; } // node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js function getNodeScroll(node) { if (node === getWindow(node) || !isHTMLElement3(node)) { return getWindowScroll(node); } else { return getHTMLElementScroll(node); } } // node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js function isElementScaled(element) { var rect = element.getBoundingClientRect(); var scaleX = round(rect.width) / element.offsetWidth || 1; var scaleY = round(rect.height) / element.offsetHeight || 1; return scaleX !== 1 || scaleY !== 1; } function getCompositeRect(elementOrVirtualElement, offsetParent2, isFixed) { if (isFixed === void 0) { isFixed = false; } var isOffsetParentAnElement = isHTMLElement3(offsetParent2); var offsetParentIsScaled = isHTMLElement3(offsetParent2) && isElementScaled(offsetParent2); var documentElement = getDocumentElement(offsetParent2); var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed); var scroll = { scrollLeft: 0, scrollTop: 0 }; var offsets = { x: 0, y: 0 }; if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { if (getNodeName(offsetParent2) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 isScrollParent(documentElement)) { scroll = getNodeScroll(offsetParent2); } if (isHTMLElement3(offsetParent2)) { offsets = getBoundingClientRect(offsetParent2, true); offsets.x += offsetParent2.clientLeft; offsets.y += offsetParent2.clientTop; } else if (documentElement) { offsets.x = getWindowScrollBarX(documentElement); } } return { x: rect.left + scroll.scrollLeft - offsets.x, y: rect.top + scroll.scrollTop - offsets.y, width: rect.width, height: rect.height }; } // node_modules/@popperjs/core/lib/utils/orderModifiers.js function order(modifiers) { var map = /* @__PURE__ */ new Map(); var visited = /* @__PURE__ */ new Set(); var result = []; modifiers.forEach(function(modifier) { map.set(modifier.name, modifier); }); function sort(modifier) { visited.add(modifier.name); var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); requires.forEach(function(dep) { if (!visited.has(dep)) { var depModifier = map.get(dep); if (depModifier) { sort(depModifier); } } }); result.push(modifier); } modifiers.forEach(function(modifier) { if (!visited.has(modifier.name)) { sort(modifier); } }); return result; } function orderModifiers(modifiers) { var orderedModifiers = order(modifiers); return modifierPhases.reduce(function(acc, phase) { return acc.concat(orderedModifiers.filter(function(modifier) { return modifier.phase === phase; })); }, []); } // node_modules/@popperjs/core/lib/utils/debounce.js function debounce(fn3) { var pending; return function() { if (!pending) { pending = new Promise(function(resolve) { Promise.resolve().then(function() { pending = void 0; resolve(fn3()); }); }); } return pending; }; } // node_modules/@popperjs/core/lib/utils/mergeByName.js function mergeByName(modifiers) { var merged = modifiers.reduce(function(merged2, current) { var existing = merged2[current.name]; merged2[current.name] = existing ? Object.assign({}, existing, current, { options: Object.assign({}, existing.options, current.options), data: Object.assign({}, existing.data, current.data) }) : current; return merged2; }, {}); return Object.keys(merged).map(function(key) { return merged[key]; }); } // node_modules/@popperjs/core/lib/createPopper.js var DEFAULT_OPTIONS = { placement: "bottom", modifiers: [], strategy: "absolute" }; function areValidElements() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return !args.some(function(element) { return !(element && typeof element.getBoundingClientRect === "function"); }); } function popperGenerator(generatorOptions) { if (generatorOptions === void 0) { generatorOptions = {}; } var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; return function createPopper3(reference2, popper2, options) { if (options === void 0) { options = defaultOptions; } var state = { placement: "bottom", orderedModifiers: [], options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), modifiersData: {}, elements: { reference: reference2, popper: popper2 }, attributes: {}, styles: {} }; var effectCleanupFns = []; var isDestroyed = false; var instance = { state, setOptions: function setOptions(setOptionsAction) { var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; cleanupModifierEffects(); state.options = Object.assign({}, defaultOptions, state.options, options2); state.scrollParents = { reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], popper: listScrollParents(popper2) }; var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); state.orderedModifiers = orderedModifiers.filter(function(m) { return m.enabled; }); runModifierEffects(); return instance.update(); }, // Sync update – it will always be executed, even if not necessary. This // is useful for low frequency updates where sync behavior simplifies the // logic. // For high frequency updates (e.g. `resize` and `scroll` events), always // prefer the async Popper#update method forceUpdate: function forceUpdate() { if (isDestroyed) { return; } var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; if (!areValidElements(reference3, popper3)) { return; } state.rects = { reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), popper: getLayoutRect(popper3) }; state.reset = false; state.placement = state.options.placement; state.orderedModifiers.forEach(function(modifier) { return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); }); for (var index = 0; index < state.orderedModifiers.length; index++) { if (state.reset === true) { state.reset = false; index = -1; continue; } var _state$orderedModifie = state.orderedModifiers[index], fn3 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; if (typeof fn3 === "function") { state = fn3({ state, options: _options, name, instance }) || state; } } }, // Async and optimistically optimized update – it will not be executed if // not necessary (debounced to run at most once-per-tick) update: debounce(function() { return new Promise(function(resolve) { instance.forceUpdate(); resolve(state); }); }), destroy: function destroy() { cleanupModifierEffects(); isDestroyed = true; } }; if (!areValidElements(reference2, popper2)) { return instance; } instance.setOptions(options).then(function(state2) { if (!isDestroyed && options.onFirstUpdate) { options.onFirstUpdate(state2); } }); function runModifierEffects() { state.orderedModifiers.forEach(function(_ref) { var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect4 = _ref.effect; if (typeof effect4 === "function") { var cleanupFn = effect4({ state, name, instance, options: options2 }); var noopFn = function noopFn2() { }; effectCleanupFns.push(cleanupFn || noopFn); } }); } function cleanupModifierEffects() { effectCleanupFns.forEach(function(fn3) { return fn3(); }); effectCleanupFns = []; } return instance; }; } var createPopper = popperGenerator(); // node_modules/react-overlays/esm/popper.js var createPopper2 = popperGenerator({ defaultModifiers: [hide_default, popperOffsets_default, computeStyles_default, eventListeners_default, offset_default, flip_default, preventOverflow_default, arrow_default] }); // node_modules/react-overlays/esm/usePopper.js var initialPopperStyles = function initialPopperStyles2(position2) { return { position: position2, top: "0", left: "0", opacity: "0", pointerEvents: "none" }; }; var disabledApplyStylesModifier = { name: "applyStyles", enabled: false }; var ariaDescribedByModifier = { name: "ariaDescribedBy", enabled: true, phase: "afterWrite", effect: function effect3(_ref) { var state = _ref.state; return function() { var _state$elements = state.elements, reference2 = _state$elements.reference, popper2 = _state$elements.popper; if ("removeAttribute" in reference2) { var ids = (reference2.getAttribute("aria-describedby") || "").split(",").filter(function(id) { return id.trim() !== popper2.id; }); if (!ids.length) reference2.removeAttribute("aria-describedby"); else reference2.setAttribute("aria-describedby", ids.join(",")); } }; }, fn: function fn2(_ref2) { var _popper$getAttribute; var state = _ref2.state; var _state$elements2 = state.elements, popper2 = _state$elements2.popper, reference2 = _state$elements2.reference; var role = (_popper$getAttribute = popper2.getAttribute("role")) == null ? void 0 : _popper$getAttribute.toLowerCase(); if (popper2.id && role === "tooltip" && "setAttribute" in reference2) { var ids = reference2.getAttribute("aria-describedby"); if (ids && ids.split(",").indexOf(popper2.id) !== -1) { return; } reference2.setAttribute("aria-describedby", ids ? ids + "," + popper2.id : popper2.id); } } }; var EMPTY_MODIFIERS = []; function usePopper(referenceElement, popperElement, _temp) { var _ref3 = _temp === void 0 ? {} : _temp, _ref3$enabled = _ref3.enabled, enabled = _ref3$enabled === void 0 ? true : _ref3$enabled, _ref3$placement = _ref3.placement, placement = _ref3$placement === void 0 ? "bottom" : _ref3$placement, _ref3$strategy = _ref3.strategy, strategy = _ref3$strategy === void 0 ? "absolute" : _ref3$strategy, _ref3$modifiers = _ref3.modifiers, modifiers = _ref3$modifiers === void 0 ? EMPTY_MODIFIERS : _ref3$modifiers, config = _objectWithoutPropertiesLoose(_ref3, ["enabled", "placement", "strategy", "modifiers"]); var popperInstanceRef = (0, import_react13.useRef)(); var update = (0, import_react13.useCallback)(function() { var _popperInstanceRef$cu; (_popperInstanceRef$cu = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu.update(); }, []); var forceUpdate = (0, import_react13.useCallback)(function() { var _popperInstanceRef$cu2; (_popperInstanceRef$cu2 = popperInstanceRef.current) == null ? void 0 : _popperInstanceRef$cu2.forceUpdate(); }, []); var _useSafeState = useSafeState_default((0, import_react13.useState)({ placement, update, forceUpdate, attributes: {}, styles: { popper: initialPopperStyles(strategy), arrow: {} } })), popperState = _useSafeState[0], setState = _useSafeState[1]; var updateModifier = (0, import_react13.useMemo)(function() { return { name: "updateStateModifier", enabled: true, phase: "write", requires: ["computeStyles"], fn: function fn3(_ref4) { var state = _ref4.state; var styles = {}; var attributes = {}; Object.keys(state.elements).forEach(function(element) { styles[element] = state.styles[element]; attributes[element] = state.attributes[element]; }); setState({ state, styles, attributes, update, forceUpdate, placement: state.placement }); } }; }, [update, forceUpdate, setState]); (0, import_react13.useEffect)(function() { if (!popperInstanceRef.current || !enabled) return; popperInstanceRef.current.setOptions({ placement, strategy, modifiers: [].concat(modifiers, [updateModifier, disabledApplyStylesModifier]) }); }, [strategy, placement, updateModifier, enabled]); (0, import_react13.useEffect)(function() { if (!enabled || referenceElement == null || popperElement == null) { return void 0; } popperInstanceRef.current = createPopper2(referenceElement, popperElement, _extends({}, config, { placement, strategy, modifiers: [].concat(modifiers, [ariaDescribedByModifier, updateModifier]) })); return function() { if (popperInstanceRef.current != null) { popperInstanceRef.current.destroy(); popperInstanceRef.current = void 0; setState(function(s) { return _extends({}, s, { attributes: {}, styles: { popper: initialPopperStyles(strategy) } }); }); } }; }, [enabled, referenceElement, popperElement]); return popperState; } var usePopper_default = usePopper; // node_modules/dom-helpers/esm/removeEventListener.js function removeEventListener(node, eventName, handler, options) { var capture = options && typeof options !== "boolean" ? options.capture : options; node.removeEventListener(eventName, handler, capture); if (handler.__once) { node.removeEventListener(eventName, handler.__once, capture); } } var removeEventListener_default = removeEventListener; // node_modules/dom-helpers/esm/listen.js function listen(node, eventName, handler, options) { addEventListener_default(node, eventName, handler, options); return function() { removeEventListener_default(node, eventName, handler, options); }; } var listen_default = listen; // node_modules/react-overlays/esm/useRootClose.js var import_react14 = __toESM(require_react()); var import_warning = __toESM(require_warning()); // node_modules/react-overlays/esm/safeFindDOMNode.js var import_react_dom = __toESM(require_react_dom()); function safeFindDOMNode(componentOrElement) { if (componentOrElement && "setState" in componentOrElement) { return import_react_dom.default.findDOMNode(componentOrElement); } return componentOrElement != null ? componentOrElement : null; } // node_modules/react-overlays/esm/ownerDocument.js var ownerDocument_default = function(componentOrElement) { return ownerDocument(safeFindDOMNode(componentOrElement)); }; // node_modules/react-overlays/esm/useRootClose.js var escapeKeyCode = 27; var noop3 = function noop4() { }; function isLeftClickEvent(event) { return event.button === 0; } function isModifiedEvent(event) { return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey); } var getRefTarget = function getRefTarget2(ref) { return ref && ("current" in ref ? ref.current : ref); }; function useRootClose(ref, onRootClose, _temp) { var _ref = _temp === void 0 ? {} : _temp, disabled = _ref.disabled, _ref$clickTrigger = _ref.clickTrigger, clickTrigger = _ref$clickTrigger === void 0 ? "click" : _ref$clickTrigger; var preventMouseRootCloseRef = (0, import_react14.useRef)(false); var onClose = onRootClose || noop3; var handleMouseCapture = (0, import_react14.useCallback)(function(e) { var _e$composedPath$; var currentTarget = getRefTarget(ref); (0, import_warning.default)(!!currentTarget, "RootClose captured a close event but does not have a ref to compare it to. useRootClose(), should be passed a ref that resolves to a DOM node"); preventMouseRootCloseRef.current = !currentTarget || isModifiedEvent(e) || !isLeftClickEvent(e) || !!contains(currentTarget, (_e$composedPath$ = e.composedPath == null ? void 0 : e.composedPath()[0]) != null ? _e$composedPath$ : e.target); }, [ref]); var handleMouse = useEventCallback(function(e) { if (!preventMouseRootCloseRef.current) { onClose(e); } }); var handleKeyUp = useEventCallback(function(e) { if (e.keyCode === escapeKeyCode) { onClose(e); } }); (0, import_react14.useEffect)(function() { if (disabled || ref == null) return void 0; var currentEvent = window.event; var doc = ownerDocument_default(getRefTarget(ref)); var removeMouseCaptureListener = listen_default(doc, clickTrigger, handleMouseCapture, true); var removeMouseListener = listen_default(doc, clickTrigger, function(e) { if (e === currentEvent) { currentEvent = void 0; return; } handleMouse(e); }); var removeKeyupListener = listen_default(doc, "keyup", function(e) { if (e === currentEvent) { currentEvent = void 0; return; } handleKeyUp(e); }); var mobileSafariHackListeners = []; if ("ontouchstart" in doc.documentElement) { mobileSafariHackListeners = [].slice.call(doc.body.children).map(function(el) { return listen_default(el, "mousemove", noop3); }); } return function() { removeMouseCaptureListener(); removeMouseListener(); removeKeyupListener(); mobileSafariHackListeners.forEach(function(remove) { return remove(); }); }; }, [ref, disabled, clickTrigger, handleMouseCapture, handleMouse, handleKeyUp]); } var useRootClose_default = useRootClose; // node_modules/react-overlays/esm/mergeOptionsWithPopperConfig.js function toModifierMap(modifiers) { var result = {}; if (!Array.isArray(modifiers)) { return modifiers || result; } modifiers == null ? void 0 : modifiers.forEach(function(m) { result[m.name] = m; }); return result; } function toModifierArray(map) { if (map === void 0) { map = {}; } if (Array.isArray(map)) return map; return Object.keys(map).map(function(k) { map[k].name = k; return map[k]; }); } function mergeOptionsWithPopperConfig(_ref) { var _modifiers$preventOve, _modifiers$preventOve2, _modifiers$offset, _modifiers$arrow; var enabled = _ref.enabled, enableEvents = _ref.enableEvents, placement = _ref.placement, flip2 = _ref.flip, offset3 = _ref.offset, fixed = _ref.fixed, containerPadding = _ref.containerPadding, arrowElement = _ref.arrowElement, _ref$popperConfig = _ref.popperConfig, popperConfig = _ref$popperConfig === void 0 ? {} : _ref$popperConfig; var modifiers = toModifierMap(popperConfig.modifiers); return _extends({}, popperConfig, { placement, enabled, strategy: fixed ? "fixed" : popperConfig.strategy, modifiers: toModifierArray(_extends({}, modifiers, { eventListeners: { enabled: enableEvents }, preventOverflow: _extends({}, modifiers.preventOverflow, { options: containerPadding ? _extends({ padding: containerPadding }, (_modifiers$preventOve = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve.options) : (_modifiers$preventOve2 = modifiers.preventOverflow) == null ? void 0 : _modifiers$preventOve2.options }), offset: { options: _extends({ offset: offset3 }, (_modifiers$offset = modifiers.offset) == null ? void 0 : _modifiers$offset.options) }, arrow: _extends({}, modifiers.arrow, { enabled: !!arrowElement, options: _extends({}, (_modifiers$arrow = modifiers.arrow) == null ? void 0 : _modifiers$arrow.options, { element: arrowElement }) }), flip: _extends({ enabled: !!flip2 }, modifiers.flip) })) }); } // node_modules/react-overlays/esm/DropdownMenu.js var noop5 = function noop6() { }; function useDropdownMenu(options) { if (options === void 0) { options = {}; } var context = (0, import_react15.useContext)(DropdownContext_default); var _useCallbackRef = useCallbackRef(), arrowElement = _useCallbackRef[0], attachArrowRef = _useCallbackRef[1]; var hasShownRef = (0, import_react15.useRef)(false); var _options = options, flip2 = _options.flip, offset3 = _options.offset, rootCloseEvent = _options.rootCloseEvent, _options$fixed = _options.fixed, fixed = _options$fixed === void 0 ? false : _options$fixed, _options$popperConfig = _options.popperConfig, popperConfig = _options$popperConfig === void 0 ? {} : _options$popperConfig, _options$usePopper = _options.usePopper, shouldUsePopper = _options$usePopper === void 0 ? !!context : _options$usePopper; var show = (context == null ? void 0 : context.show) == null ? !!options.show : context.show; var alignEnd = (context == null ? void 0 : context.alignEnd) == null ? options.alignEnd : context.alignEnd; if (show && !hasShownRef.current) { hasShownRef.current = true; } var handleClose = function handleClose2(e) { context == null ? void 0 : context.toggle(false, e); }; var _ref = context || {}, drop = _ref.drop, setMenu = _ref.setMenu, menuElement = _ref.menuElement, toggleElement = _ref.toggleElement; var placement = alignEnd ? "bottom-end" : "bottom-start"; if (drop === "up") placement = alignEnd ? "top-end" : "top-start"; else if (drop === "right") placement = alignEnd ? "right-end" : "right-start"; else if (drop === "left") placement = alignEnd ? "left-end" : "left-start"; var popper2 = usePopper_default(toggleElement, menuElement, mergeOptionsWithPopperConfig({ placement, enabled: !!(shouldUsePopper && show), enableEvents: show, offset: offset3, flip: flip2, fixed, arrowElement, popperConfig })); var menuProps = _extends({ ref: setMenu || noop5, "aria-labelledby": toggleElement == null ? void 0 : toggleElement.id }, popper2.attributes.popper, { style: popper2.styles.popper }); var metadata = { show, alignEnd, hasShown: hasShownRef.current, toggle: context == null ? void 0 : context.toggle, popper: shouldUsePopper ? popper2 : null, arrowProps: shouldUsePopper ? _extends({ ref: attachArrowRef }, popper2.attributes.arrow, { style: popper2.styles.arrow }) : {} }; useRootClose_default(menuElement, handleClose, { clickTrigger: rootCloseEvent, disabled: !show }); return [menuProps, metadata]; } var propTypes = { /** * A render prop that returns a Menu element. The `props` * argument should spread through to **a component that can accept a ref**. * * @type {Function ({ * show: boolean, * alignEnd: boolean, * close: (?SyntheticEvent) => void, * placement: Placement, * update: () => void, * forceUpdate: () => void, * props: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * aria-labelledby: ?string * }, * arrowProps: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * }, * }) => React.Element} */ children: import_prop_types.default.func.isRequired, /** * Controls the visible state of the menu, generally this is * provided by the parent `Dropdown` component, * but may also be specified as a prop directly. */ show: import_prop_types.default.bool, /** * Aligns the dropdown menu to the 'end' of it's placement position. * Generally this is provided by the parent `Dropdown` component, * but may also be specified as a prop directly. */ alignEnd: import_prop_types.default.bool, /** * Enables the Popper.js `flip` modifier, allowing the Dropdown to * automatically adjust it's placement in case of overlap with the viewport or toggle. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info */ flip: import_prop_types.default.bool, usePopper: import_prop_types.default.oneOf([true, false]), /** * A set of popper options and props passed directly to react-popper's Popper component. */ popperConfig: import_prop_types.default.object, /** * Override the default event used by RootCloseWrapper. */ rootCloseEvent: import_prop_types.default.string }; var defaultProps = { usePopper: true }; function DropdownMenu(_ref2) { var children = _ref2.children, options = _objectWithoutPropertiesLoose(_ref2, ["children"]); var _useDropdownMenu = useDropdownMenu(options), props = _useDropdownMenu[0], meta = _useDropdownMenu[1]; return import_react15.default.createElement(import_react15.default.Fragment, null, meta.hasShown ? children(props, meta) : null); } DropdownMenu.displayName = "ReactOverlaysDropdownMenu"; DropdownMenu.propTypes = propTypes; DropdownMenu.defaultProps = defaultProps; var DropdownMenu_default = DropdownMenu; // node_modules/react-overlays/esm/DropdownToggle.js var import_prop_types2 = __toESM(require_prop_types()); var import_react16 = __toESM(require_react()); var noop7 = function noop8() { }; function useDropdownToggle() { var _ref = (0, import_react16.useContext)(DropdownContext_default) || {}, _ref$show = _ref.show, show = _ref$show === void 0 ? false : _ref$show, _ref$toggle = _ref.toggle, toggle = _ref$toggle === void 0 ? noop7 : _ref$toggle, setToggle = _ref.setToggle; var handleClick = (0, import_react16.useCallback)(function(e) { toggle(!show, e); }, [show, toggle]); return [{ ref: setToggle || noop7, onClick: handleClick, "aria-haspopup": true, "aria-expanded": !!show }, { show, toggle }]; } var propTypes2 = { /** * A render prop that returns a Toggle element. The `props` * argument should spread through to **a component that can accept a ref**. Use * the `onToggle` argument to toggle the menu open or closed * * @type {Function ({ * show: boolean, * toggle: (show: boolean) => void, * props: { * ref: (?HTMLElement) => void, * aria-haspopup: true * aria-expanded: boolean * }, * }) => React.Element} */ children: import_prop_types2.default.func.isRequired }; function DropdownToggle(_ref2) { var children = _ref2.children; var _useDropdownToggle = useDropdownToggle(), props = _useDropdownToggle[0], meta = _useDropdownToggle[1]; return import_react16.default.createElement(import_react16.default.Fragment, null, children(props, meta)); } DropdownToggle.displayName = "ReactOverlaysDropdownToggle"; DropdownToggle.propTypes = propTypes2; var DropdownToggle_default = DropdownToggle; // node_modules/react-overlays/esm/Dropdown.js var propTypes3 = { /** * A render prop that returns the root dropdown element. The `props` * argument should spread through to an element containing _both_ the * menu and toggle in order to handle keyboard events for focus management. * * @type {Function ({ * props: { * onKeyDown: (SyntheticEvent) => void, * }, * }) => React.Element} */ children: import_prop_types3.default.node, /** * Determines the direction and location of the Menu in relation to it's Toggle. */ drop: import_prop_types3.default.oneOf(["up", "left", "right", "down"]), /** * Controls the focus behavior for when the Dropdown is opened. Set to * `true` to always focus the first menu item, `keyboard` to focus only when * navigating via the keyboard, or `false` to disable completely * * The Default behavior is `false` **unless** the Menu has a `role="menu"` * where it will default to `keyboard` to match the recommended [ARIA Authoring practices](https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton). */ focusFirstItemOnShow: import_prop_types3.default.oneOf([false, true, "keyboard"]), /** * A css slector string that will return __focusable__ menu items. * Selectors should be relative to the menu component: * e.g. ` > li:not('.disabled')` */ itemSelector: import_prop_types3.default.string, /** * Align the menu to the 'end' side of the placement side of the Dropdown toggle. The default placement is `top-start` or `bottom-start`. */ alignEnd: import_prop_types3.default.bool, /** * Whether or not the Dropdown is visible. * * @controllable onToggle */ show: import_prop_types3.default.bool, /** * Sets the initial show position of the Dropdown. */ defaultShow: import_prop_types3.default.bool, /** * A callback fired when the Dropdown wishes to change visibility. Called with the requested * `show` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`. * * ```ts static * function( * isOpen: boolean, * event: SyntheticEvent, * ): void * ``` * * @controllable show */ onToggle: import_prop_types3.default.func }; function useRefWithUpdate() { var forceUpdate = useForceUpdate(); var ref = (0, import_react17.useRef)(null); var attachRef = (0, import_react17.useCallback)(function(element) { ref.current = element; forceUpdate(); }, [forceUpdate]); return [ref, attachRef]; } function Dropdown(_ref) { var drop = _ref.drop, alignEnd = _ref.alignEnd, defaultShow = _ref.defaultShow, rawShow = _ref.show, rawOnToggle = _ref.onToggle, _ref$itemSelector = _ref.itemSelector, itemSelector = _ref$itemSelector === void 0 ? "* > *" : _ref$itemSelector, focusFirstItemOnShow = _ref.focusFirstItemOnShow, children = _ref.children; var _useUncontrolledProp = useUncontrolledProp(rawShow, defaultShow, rawOnToggle), show = _useUncontrolledProp[0], onToggle = _useUncontrolledProp[1]; var _useRefWithUpdate = useRefWithUpdate(), menuRef = _useRefWithUpdate[0], setMenu = _useRefWithUpdate[1]; var menuElement = menuRef.current; var _useRefWithUpdate2 = useRefWithUpdate(), toggleRef = _useRefWithUpdate2[0], setToggle = _useRefWithUpdate2[1]; var toggleElement = toggleRef.current; var lastShow = usePrevious(show); var lastSourceEvent = (0, import_react17.useRef)(null); var focusInDropdown = (0, import_react17.useRef)(false); var toggle = (0, import_react17.useCallback)(function(nextShow, event) { onToggle(nextShow, event); }, [onToggle]); var context = (0, import_react17.useMemo)(function() { return { toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle }; }, [toggle, drop, show, alignEnd, menuElement, toggleElement, setMenu, setToggle]); if (menuElement && lastShow && !show) { focusInDropdown.current = menuElement.contains(document.activeElement); } var focusToggle = useEventCallback(function() { if (toggleElement && toggleElement.focus) { toggleElement.focus(); } }); var maybeFocusFirst = useEventCallback(function() { var type = lastSourceEvent.current; var focusType = focusFirstItemOnShow; if (focusType == null) { focusType = menuRef.current && matches(menuRef.current, "[role=menu]") ? "keyboard" : false; } if (focusType === false || focusType === "keyboard" && !/^key.+$/.test(type)) { return; } var first = qsa(menuRef.current, itemSelector)[0]; if (first && first.focus) first.focus(); }); (0, import_react17.useEffect)(function() { if (show) maybeFocusFirst(); else if (focusInDropdown.current) { focusInDropdown.current = false; focusToggle(); } }, [show, focusInDropdown, focusToggle, maybeFocusFirst]); (0, import_react17.useEffect)(function() { lastSourceEvent.current = null; }); var getNextFocusedChild = function getNextFocusedChild2(current, offset3) { if (!menuRef.current) return null; var items = qsa(menuRef.current, itemSelector); var index = items.indexOf(current) + offset3; index = Math.max(0, Math.min(index, items.length)); return items[index]; }; useGlobalListener("keydown", function(event) { var _menuRef$current, _toggleRef$current; var key = event.key; var target = event.target; var fromMenu = (_menuRef$current = menuRef.current) == null ? void 0 : _menuRef$current.contains(target); var fromToggle = (_toggleRef$current = toggleRef.current) == null ? void 0 : _toggleRef$current.contains(target); var isInput = /input|textarea/i.test(target.tagName); if (isInput && (key === " " || key !== "Escape" && fromMenu)) { return; } if (!fromMenu && !fromToggle) { return; } if (!menuRef.current && key === "Tab") { return; } lastSourceEvent.current = event.type; switch (key) { case "ArrowUp": { var next = getNextFocusedChild(target, -1); if (next && next.focus) next.focus(); event.preventDefault(); return; } case "ArrowDown": event.preventDefault(); if (!show) { onToggle(true, event); } else { var _next = getNextFocusedChild(target, 1); if (_next && _next.focus) _next.focus(); } return; case "Tab": addEventListener_default(document, "keyup", function(e) { var _menuRef$current2; if (e.key === "Tab" && !e.target || !((_menuRef$current2 = menuRef.current) != null && _menuRef$current2.contains(e.target))) { onToggle(false, event); } }, { once: true }); break; case "Escape": event.preventDefault(); event.stopPropagation(); onToggle(false, event); break; default: } }); return import_react17.default.createElement(DropdownContext_default.Provider, { value: context }, children); } Dropdown.displayName = "ReactOverlaysDropdown"; Dropdown.propTypes = propTypes3; Dropdown.Menu = DropdownMenu_default; Dropdown.Toggle = DropdownToggle_default; // node_modules/dom-helpers/esm/activeElement.js function activeElement(doc) { if (doc === void 0) { doc = ownerDocument(); } try { var active = doc.activeElement; if (!active || !active.nodeName) return null; return active; } catch (e) { return doc.body; } } // node_modules/react-overlays/esm/Modal.js var import_prop_types4 = __toESM(require_prop_types()); var import_react21 = __toESM(require_react()); var import_react_dom2 = __toESM(require_react_dom()); // node_modules/@restart/hooks/esm/useUpdatedRef.js var import_react18 = __toESM(require_react()); function useUpdatedRef(value) { const valueRef = (0, import_react18.useRef)(value); valueRef.current = value; return valueRef; } // node_modules/@restart/hooks/esm/useWillUnmount.js var import_react19 = __toESM(require_react()); function useWillUnmount(fn3) { const onUnmount = useUpdatedRef(fn3); (0, import_react19.useEffect)(() => () => onUnmount.current(), []); } // node_modules/dom-helpers/esm/hasClass.js function hasClass(element, className) { if (element.classList) return !!className && element.classList.contains(className); return (" " + (element.className.baseVal || element.className) + " ").indexOf(" " + className + " ") !== -1; } // node_modules/dom-helpers/esm/addClass.js function addClass(element, className) { if (element.classList) element.classList.add(className); else if (!hasClass(element, className)) if (typeof element.className === "string") element.className = element.className + " " + className; else element.setAttribute("class", (element.className && element.className.baseVal || "") + " " + className); } // node_modules/dom-helpers/esm/removeClass.js function replaceClassName(origClass, classToRemove) { return origClass.replace(new RegExp("(^|\\s)" + classToRemove + "(?:\\s|$)", "g"), "$1").replace(/\s+/g, " ").replace(/^\s*|\s*$/g, ""); } function removeClass(element, className) { if (element.classList) { element.classList.remove(className); } else if (typeof element.className === "string") { element.className = replaceClassName(element.className, className); } else { element.setAttribute("class", replaceClassName(element.className && element.className.baseVal || "", className)); } } // node_modules/dom-helpers/esm/scrollbarSize.js var size; function scrollbarSize(recalc) { if (!size && size !== 0 || recalc) { if (canUseDOM_default) { var scrollDiv = document.createElement("div"); scrollDiv.style.position = "absolute"; scrollDiv.style.top = "-9999px"; scrollDiv.style.width = "50px"; scrollDiv.style.height = "50px"; scrollDiv.style.overflow = "scroll"; document.body.appendChild(scrollDiv); size = scrollDiv.offsetWidth - scrollDiv.clientWidth; document.body.removeChild(scrollDiv); } } return size; } // node_modules/react-overlays/esm/isOverflowing.js function isBody(node) { return node && node.tagName.toLowerCase() === "body"; } function bodyIsOverflowing(node) { var doc = isWindow(node) ? ownerDocument() : ownerDocument(node); var win = isWindow(node) || doc.defaultView; return doc.body.clientWidth < win.innerWidth; } function isOverflowing(container) { var win = isWindow(container); return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight; } // node_modules/react-overlays/esm/manageAriaHidden.js var BLACKLIST = ["template", "script", "style"]; var isHidable = function isHidable2(_ref) { var nodeType = _ref.nodeType, tagName = _ref.tagName; return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1; }; var siblings = function siblings2(container, exclude, cb) { [].forEach.call(container.children, function(node) { if (exclude.indexOf(node) === -1 && isHidable(node)) { cb(node); } }); }; function ariaHidden(hide2, node) { if (!node) return; if (hide2) { node.setAttribute("aria-hidden", "true"); } else { node.removeAttribute("aria-hidden"); } } function hideSiblings(container, _ref2) { var dialog = _ref2.dialog, backdrop = _ref2.backdrop; siblings(container, [dialog, backdrop], function(node) { return ariaHidden(true, node); }); } function showSiblings(container, _ref3) { var dialog = _ref3.dialog, backdrop = _ref3.backdrop; siblings(container, [dialog, backdrop], function(node) { return ariaHidden(false, node); }); } // node_modules/react-overlays/esm/ModalManager.js function findIndexOf(arr, cb) { var idx = -1; arr.some(function(d, i) { if (cb(d, i)) { idx = i; return true; } return false; }); return idx; } var ModalManager = function() { function ModalManager2(_temp) { var _ref = _temp === void 0 ? {} : _temp, _ref$hideSiblingNodes = _ref.hideSiblingNodes, hideSiblingNodes = _ref$hideSiblingNodes === void 0 ? true : _ref$hideSiblingNodes, _ref$handleContainerO = _ref.handleContainerOverflow, handleContainerOverflow = _ref$handleContainerO === void 0 ? true : _ref$handleContainerO; this.hideSiblingNodes = void 0; this.handleContainerOverflow = void 0; this.modals = void 0; this.containers = void 0; this.data = void 0; this.scrollbarSize = void 0; this.hideSiblingNodes = hideSiblingNodes; this.handleContainerOverflow = handleContainerOverflow; this.modals = []; this.containers = []; this.data = []; this.scrollbarSize = scrollbarSize(); } var _proto = ModalManager2.prototype; _proto.isContainerOverflowing = function isContainerOverflowing(modal) { var data = this.data[this.containerIndexFromModal(modal)]; return data && data.overflowing; }; _proto.containerIndexFromModal = function containerIndexFromModal(modal) { return findIndexOf(this.data, function(d) { return d.modals.indexOf(modal) !== -1; }); }; _proto.setContainerStyle = function setContainerStyle(containerState, container) { var style2 = { overflow: "hidden" }; containerState.style = { overflow: container.style.overflow, paddingRight: container.style.paddingRight }; if (containerState.overflowing) { style2.paddingRight = parseInt(css_default(container, "paddingRight") || "0", 10) + this.scrollbarSize + "px"; } css_default(container, style2); }; _proto.removeContainerStyle = function removeContainerStyle(containerState, container) { Object.assign(container.style, containerState.style); }; _proto.add = function add2(modal, container, className) { var modalIdx = this.modals.indexOf(modal); var containerIdx = this.containers.indexOf(container); if (modalIdx !== -1) { return modalIdx; } modalIdx = this.modals.length; this.modals.push(modal); if (this.hideSiblingNodes) { hideSiblings(container, modal); } if (containerIdx !== -1) { this.data[containerIdx].modals.push(modal); return modalIdx; } var data = { modals: [modal], // right now only the first modal of a container will have its classes applied classes: className ? className.split(/\s+/) : [], overflowing: isOverflowing(container) }; if (this.handleContainerOverflow) { this.setContainerStyle(data, container); } data.classes.forEach(addClass.bind(null, container)); this.containers.push(container); this.data.push(data); return modalIdx; }; _proto.remove = function remove(modal) { var modalIdx = this.modals.indexOf(modal); if (modalIdx === -1) { return; } var containerIdx = this.containerIndexFromModal(modal); var data = this.data[containerIdx]; var container = this.containers[containerIdx]; data.modals.splice(data.modals.indexOf(modal), 1); this.modals.splice(modalIdx, 1); if (data.modals.length === 0) { data.classes.forEach(removeClass.bind(null, container)); if (this.handleContainerOverflow) { this.removeContainerStyle(data, container); } if (this.hideSiblingNodes) { showSiblings(container, modal); } this.containers.splice(containerIdx, 1); this.data.splice(containerIdx, 1); } else if (this.hideSiblingNodes) { var _data$modals = data.modals[data.modals.length - 1], backdrop = _data$modals.backdrop, dialog = _data$modals.dialog; ariaHidden(false, dialog); ariaHidden(false, backdrop); } }; _proto.isTopModal = function isTopModal(modal) { return !!this.modals.length && this.modals[this.modals.length - 1] === modal; }; return ModalManager2; }(); var ModalManager_default = ModalManager; // node_modules/react-overlays/esm/useWaitForDOMRef.js var import_react20 = __toESM(require_react()); var resolveContainerRef = function resolveContainerRef2(ref) { var _ref; if (typeof document === "undefined") return null; if (ref == null) return ownerDocument().body; if (typeof ref === "function") ref = ref(); if (ref && "current" in ref) ref = ref.current; if ((_ref = ref) != null && _ref.nodeType) return ref || null; return null; }; function useWaitForDOMRef(ref, onResolved) { var _useState = (0, import_react20.useState)(function() { return resolveContainerRef(ref); }), resolvedRef = _useState[0], setRef = _useState[1]; if (!resolvedRef) { var earlyRef = resolveContainerRef(ref); if (earlyRef) setRef(earlyRef); } (0, import_react20.useEffect)(function() { if (onResolved && resolvedRef) { onResolved(resolvedRef); } }, [onResolved, resolvedRef]); (0, import_react20.useEffect)(function() { var nextRef = resolveContainerRef(ref); if (nextRef !== resolvedRef) { setRef(nextRef); } }, [ref, resolvedRef]); return resolvedRef; } // node_modules/react-overlays/esm/Modal.js var manager; function getManager() { if (!manager) manager = new ModalManager_default(); return manager; } function useModalManager(provided) { var modalManager = provided || getManager(); var modal = (0, import_react21.useRef)({ dialog: null, backdrop: null }); return Object.assign(modal.current, { add: function add2(container, className) { return modalManager.add(modal.current, container, className); }, remove: function remove() { return modalManager.remove(modal.current); }, isTopModal: function isTopModal() { return modalManager.isTopModal(modal.current); }, setDialogRef: (0, import_react21.useCallback)(function(ref) { modal.current.dialog = ref; }, []), setBackdropRef: (0, import_react21.useCallback)(function(ref) { modal.current.backdrop = ref; }, []) }); } var Modal = (0, import_react21.forwardRef)(function(_ref, ref) { var _ref$show = _ref.show, show = _ref$show === void 0 ? false : _ref$show, _ref$role = _ref.role, role = _ref$role === void 0 ? "dialog" : _ref$role, className = _ref.className, style2 = _ref.style, children = _ref.children, _ref$backdrop = _ref.backdrop, backdrop = _ref$backdrop === void 0 ? true : _ref$backdrop, _ref$keyboard = _ref.keyboard, keyboard = _ref$keyboard === void 0 ? true : _ref$keyboard, onBackdropClick = _ref.onBackdropClick, onEscapeKeyDown = _ref.onEscapeKeyDown, transition = _ref.transition, backdropTransition = _ref.backdropTransition, _ref$autoFocus = _ref.autoFocus, autoFocus = _ref$autoFocus === void 0 ? true : _ref$autoFocus, _ref$enforceFocus = _ref.enforceFocus, enforceFocus = _ref$enforceFocus === void 0 ? true : _ref$enforceFocus, _ref$restoreFocus = _ref.restoreFocus, restoreFocus = _ref$restoreFocus === void 0 ? true : _ref$restoreFocus, restoreFocusOptions = _ref.restoreFocusOptions, renderDialog = _ref.renderDialog, _ref$renderBackdrop = _ref.renderBackdrop, renderBackdrop = _ref$renderBackdrop === void 0 ? function(props) { return import_react21.default.createElement("div", props); } : _ref$renderBackdrop, providedManager = _ref.manager, containerRef = _ref.container, containerClassName = _ref.containerClassName, onShow = _ref.onShow, _ref$onHide = _ref.onHide, onHide2 = _ref$onHide === void 0 ? function() { } : _ref$onHide, onExit = _ref.onExit, onExited = _ref.onExited, onExiting = _ref.onExiting, onEnter = _ref.onEnter, onEntering = _ref.onEntering, onEntered = _ref.onEntered, rest = _objectWithoutPropertiesLoose(_ref, ["show", "role", "className", "style", "children", "backdrop", "keyboard", "onBackdropClick", "onEscapeKeyDown", "transition", "backdropTransition", "autoFocus", "enforceFocus", "restoreFocus", "restoreFocusOptions", "renderDialog", "renderBackdrop", "manager", "container", "containerClassName", "onShow", "onHide", "onExit", "onExited", "onExiting", "onEnter", "onEntering", "onEntered"]); var container = useWaitForDOMRef(containerRef); var modal = useModalManager(providedManager); var isMounted = useMounted(); var prevShow = usePrevious(show); var _useState = (0, import_react21.useState)(!show), exited = _useState[0], setExited = _useState[1]; var lastFocusRef = (0, import_react21.useRef)(null); (0, import_react21.useImperativeHandle)(ref, function() { return modal; }, [modal]); if (canUseDOM_default && !prevShow && show) { lastFocusRef.current = activeElement(); } if (!transition && !show && !exited) { setExited(true); } else if (show && exited) { setExited(false); } var handleShow = useEventCallback(function() { modal.add(container, containerClassName); removeKeydownListenerRef.current = listen_default(document, "keydown", handleDocumentKeyDown); removeFocusListenerRef.current = listen_default( document, "focus", // the timeout is necessary b/c this will run before the new modal is mounted // and so steals focus from it function() { return setTimeout(handleEnforceFocus); }, true ); if (onShow) { onShow(); } if (autoFocus) { var currentActiveElement = activeElement(document); if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) { lastFocusRef.current = currentActiveElement; modal.dialog.focus(); } } }); var handleHide = useEventCallback(function() { modal.remove(); removeKeydownListenerRef.current == null ? void 0 : removeKeydownListenerRef.current(); removeFocusListenerRef.current == null ? void 0 : removeFocusListenerRef.current(); if (restoreFocus) { var _lastFocusRef$current; (_lastFocusRef$current = lastFocusRef.current) == null ? void 0 : _lastFocusRef$current.focus == null ? void 0 : _lastFocusRef$current.focus(restoreFocusOptions); lastFocusRef.current = null; } }); (0, import_react21.useEffect)(function() { if (!show || !container) return; handleShow(); }, [ show, container, /* should never change: */ handleShow ]); (0, import_react21.useEffect)(function() { if (!exited) return; handleHide(); }, [exited, handleHide]); useWillUnmount(function() { handleHide(); }); var handleEnforceFocus = useEventCallback(function() { if (!enforceFocus || !isMounted() || !modal.isTopModal()) { return; } var currentActiveElement = activeElement(); if (modal.dialog && currentActiveElement && !contains(modal.dialog, currentActiveElement)) { modal.dialog.focus(); } }); var handleBackdropClick = useEventCallback(function(e) { if (e.target !== e.currentTarget) { return; } onBackdropClick == null ? void 0 : onBackdropClick(e); if (backdrop === true) { onHide2(); } }); var handleDocumentKeyDown = useEventCallback(function(e) { if (keyboard && e.keyCode === 27 && modal.isTopModal()) { onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(e); if (!e.defaultPrevented) { onHide2(); } } }); var removeFocusListenerRef = (0, import_react21.useRef)(); var removeKeydownListenerRef = (0, import_react21.useRef)(); var handleHidden = function handleHidden2() { setExited(true); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } onExited == null ? void 0 : onExited.apply(void 0, args); }; var Transition = transition; if (!container || !(show || Transition && !exited)) { return null; } var dialogProps = _extends({ role, ref: modal.setDialogRef, // apparently only works on the dialog role element "aria-modal": role === "dialog" ? true : void 0 }, rest, { style: style2, className, tabIndex: -1 }); var dialog = renderDialog ? renderDialog(dialogProps) : import_react21.default.createElement("div", dialogProps, import_react21.default.cloneElement(children, { role: "document" })); if (Transition) { dialog = import_react21.default.createElement(Transition, { appear: true, unmountOnExit: true, "in": !!show, onExit, onExiting, onExited: handleHidden, onEnter, onEntering, onEntered }, dialog); } var backdropElement = null; if (backdrop) { var BackdropTransition = backdropTransition; backdropElement = renderBackdrop({ ref: modal.setBackdropRef, onClick: handleBackdropClick }); if (BackdropTransition) { backdropElement = import_react21.default.createElement(BackdropTransition, { appear: true, "in": !!show }, backdropElement); } } return import_react21.default.createElement(import_react21.default.Fragment, null, import_react_dom2.default.createPortal(import_react21.default.createElement(import_react21.default.Fragment, null, backdropElement, dialog), container)); }); var propTypes4 = { /** * Set the visibility of the Modal */ show: import_prop_types4.default.bool, /** * A DOM element, a `ref` to an element, or function that returns either. The Modal is appended to it's `container` element. * * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the * page content can be placed behind a virtual backdrop as well as a visual one. */ container: import_prop_types4.default.any, /** * A callback fired when the Modal is opening. */ onShow: import_prop_types4.default.func, /** * A callback fired when either the backdrop is clicked, or the escape key is pressed. * * The `onHide` callback only signals intent from the Modal, * you must actually set the `show` prop to `false` for the Modal to close. */ onHide: import_prop_types4.default.func, /** * Include a backdrop component. */ backdrop: import_prop_types4.default.oneOfType([import_prop_types4.default.bool, import_prop_types4.default.oneOf(["static"])]), /** * A function that returns the dialog component. Useful for custom * rendering. **Note:** the component should make sure to apply the provided ref. * * ```js static * renderDialog={props => } * ``` */ renderDialog: import_prop_types4.default.func, /** * A function that returns a backdrop component. Useful for custom * backdrop rendering. * * ```js * renderBackdrop={props => } * ``` */ renderBackdrop: import_prop_types4.default.func, /** * A callback fired when the escape key, if specified in `keyboard`, is pressed. * * If preventDefault() is called on the keyboard event, closing the modal will be cancelled. */ onEscapeKeyDown: import_prop_types4.default.func, /** * A callback fired when the backdrop, if specified, is clicked. */ onBackdropClick: import_prop_types4.default.func, /** * A css class or set of classes applied to the modal container when the modal is open, * and removed when it is closed. */ containerClassName: import_prop_types4.default.string, /** * Close the modal when escape key is pressed */ keyboard: import_prop_types4.default.bool, /** * A `react-transition-group@2.0.0` `` component used * to control animations for the dialog component. */ transition: import_prop_types4.default.elementType, /** * A `react-transition-group@2.0.0` `` component used * to control animations for the backdrop components. */ backdropTransition: import_prop_types4.default.elementType, /** * When `true` The modal will automatically shift focus to itself when it opens, and * replace it to the last focused element when it closes. This also * works correctly with any Modal children that have the `autoFocus` prop. * * Generally this should never be set to `false` as it makes the Modal less * accessible to assistive technologies, like screen readers. */ autoFocus: import_prop_types4.default.bool, /** * When `true` The modal will prevent focus from leaving the Modal while open. * * Generally this should never be set to `false` as it makes the Modal less * accessible to assistive technologies, like screen readers. */ enforceFocus: import_prop_types4.default.bool, /** * When `true` The modal will restore focus to previously focused element once * modal is hidden */ restoreFocus: import_prop_types4.default.bool, /** * Options passed to focus function when `restoreFocus` is set to `true` * * @link https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#Parameters */ restoreFocusOptions: import_prop_types4.default.shape({ preventScroll: import_prop_types4.default.bool }), /** * Callback fired before the Modal transitions in */ onEnter: import_prop_types4.default.func, /** * Callback fired as the Modal begins to transition in */ onEntering: import_prop_types4.default.func, /** * Callback fired after the Modal finishes transitioning in */ onEntered: import_prop_types4.default.func, /** * Callback fired right before the Modal transitions out */ onExit: import_prop_types4.default.func, /** * Callback fired as the Modal begins to transition out */ onExiting: import_prop_types4.default.func, /** * Callback fired after the Modal finishes transitioning out */ onExited: import_prop_types4.default.func, /** * A ModalManager instance used to track and manage the state of open * Modals. Useful when customizing how modals interact within a container */ manager: import_prop_types4.default.instanceOf(ModalManager_default) }; Modal.displayName = "Modal"; Modal.propTypes = propTypes4; var Modal_default = Object.assign(Modal, { Manager: ModalManager_default }); // node_modules/react-overlays/esm/Overlay.js var import_prop_types5 = __toESM(require_prop_types()); var import_react23 = __toESM(require_react()); var import_react_dom3 = __toESM(require_react_dom()); // node_modules/@restart/hooks/esm/useMergedRefs.js var import_react22 = __toESM(require_react()); var toFnRef = (ref) => !ref || typeof ref === "function" ? ref : (value) => { ref.current = value; }; function mergeRefs(refA, refB) { const a = toFnRef(refA); const b = toFnRef(refB); return (value) => { if (a) a(value); if (b) b(value); }; } function useMergedRefs(refA, refB) { return (0, import_react22.useMemo)(() => mergeRefs(refA, refB), [refA, refB]); } var useMergedRefs_default = useMergedRefs; // node_modules/react-overlays/esm/Overlay.js var Overlay = import_react23.default.forwardRef(function(props, outerRef) { var flip2 = props.flip, offset3 = props.offset, placement = props.placement, _props$containerPaddi = props.containerPadding, containerPadding = _props$containerPaddi === void 0 ? 5 : _props$containerPaddi, _props$popperConfig = props.popperConfig, popperConfig = _props$popperConfig === void 0 ? {} : _props$popperConfig, Transition = props.transition; var _useCallbackRef = useCallbackRef(), rootElement = _useCallbackRef[0], attachRef = _useCallbackRef[1]; var _useCallbackRef2 = useCallbackRef(), arrowElement = _useCallbackRef2[0], attachArrowRef = _useCallbackRef2[1]; var mergedRef = useMergedRefs_default(attachRef, outerRef); var container = useWaitForDOMRef(props.container); var target = useWaitForDOMRef(props.target); var _useState = (0, import_react23.useState)(!props.show), exited = _useState[0], setExited = _useState[1]; var _usePopper = usePopper_default(target, rootElement, mergeOptionsWithPopperConfig({ placement, enableEvents: !!props.show, containerPadding: containerPadding || 5, flip: flip2, offset: offset3, arrowElement, popperConfig })), styles = _usePopper.styles, attributes = _usePopper.attributes, popper2 = _objectWithoutPropertiesLoose(_usePopper, ["styles", "attributes"]); if (props.show) { if (exited) setExited(false); } else if (!props.transition && !exited) { setExited(true); } var handleHidden = function handleHidden2() { setExited(true); if (props.onExited) { props.onExited.apply(props, arguments); } }; var mountOverlay = props.show || Transition && !exited; useRootClose_default(rootElement, props.onHide, { disabled: !props.rootClose || props.rootCloseDisabled, clickTrigger: props.rootCloseEvent }); if (!mountOverlay) { return null; } var child = props.children(_extends({}, popper2, { show: !!props.show, props: _extends({}, attributes.popper, { style: styles.popper, ref: mergedRef }), arrowProps: _extends({}, attributes.arrow, { style: styles.arrow, ref: attachArrowRef }) })); if (Transition) { var onExit = props.onExit, onExiting = props.onExiting, onEnter = props.onEnter, onEntering = props.onEntering, onEntered = props.onEntered; child = import_react23.default.createElement(Transition, { "in": props.show, appear: true, onExit, onExiting, onExited: handleHidden, onEnter, onEntering, onEntered }, child); } return container ? import_react_dom3.default.createPortal(child, container) : null; }); Overlay.displayName = "Overlay"; Overlay.propTypes = { /** * Set the visibility of the Overlay */ show: import_prop_types5.default.bool, /** Specify where the overlay element is positioned in relation to the target element */ placement: import_prop_types5.default.oneOf(placements), /** * A DOM Element, Ref to an element, or function that returns either. The `target` element is where * the overlay is positioned relative to. */ target: import_prop_types5.default.any, /** * A DOM Element, Ref to an element, or function that returns either. The `container` will have the Portal children * appended to it. */ container: import_prop_types5.default.any, /** * Enables the Popper.js `flip` modifier, allowing the Overlay to * automatically adjust it's placement in case of overlap with the viewport or toggle. * Refer to the [flip docs](https://popper.js.org/popper-documentation.html#modifiers..flip.enabled) for more info */ flip: import_prop_types5.default.bool, /** * A render prop that returns an element to overlay and position. See * the [react-popper documentation](https://github.com/FezVrasta/react-popper#children) for more info. * * @type {Function ({ * show: boolean, * placement: Placement, * update: () => void, * forceUpdate: () => void, * props: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * aria-labelledby: ?string * [string]: string | number, * }, * arrowProps: { * ref: (?HTMLElement) => void, * style: { [string]: string | number }, * [string]: string | number, * }, * }) => React.Element} */ children: import_prop_types5.default.func.isRequired, /** * Control how much space there is between the edge of the boundary element and overlay. * A convenience shortcut to setting `popperConfig.modfiers.preventOverflow.padding` */ containerPadding: import_prop_types5.default.number, /** * A set of popper options and props passed directly to react-popper's Popper component. */ popperConfig: import_prop_types5.default.object, /** * Specify whether the overlay should trigger `onHide` when the user clicks outside the overlay */ rootClose: import_prop_types5.default.bool, /** * Specify event for toggling overlay */ rootCloseEvent: import_prop_types5.default.oneOf(["click", "mousedown"]), /** * Specify disabled for disable RootCloseWrapper */ rootCloseDisabled: import_prop_types5.default.bool, /** * A Callback fired by the Overlay when it wishes to be hidden. * * __required__ when `rootClose` is `true`. * * @type func */ onHide: function onHide(props) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } if (props.rootClose) { var _PropTypes$func; return (_PropTypes$func = import_prop_types5.default.func).isRequired.apply(_PropTypes$func, [props].concat(args)); } return import_prop_types5.default.func.apply(import_prop_types5.default, [props].concat(args)); }, /** * A `react-transition-group@2.0.0` `` component * used to animate the overlay as it changes visibility. */ // @ts-ignore transition: import_prop_types5.default.elementType, /** * Callback fired before the Overlay transitions in */ onEnter: import_prop_types5.default.func, /** * Callback fired as the Overlay begins to transition in */ onEntering: import_prop_types5.default.func, /** * Callback fired after the Overlay finishes transitioning in */ onEntered: import_prop_types5.default.func, /** * Callback fired right before the Overlay transitions out */ onExit: import_prop_types5.default.func, /** * Callback fired as the Overlay begins to transition out */ onExiting: import_prop_types5.default.func, /** * Callback fired after the Overlay finishes transitioning out */ onExited: import_prop_types5.default.func }; var Overlay_default = Overlay; // node_modules/react-overlays/esm/Portal.js var import_prop_types6 = __toESM(require_prop_types()); var import_react_dom4 = __toESM(require_react_dom()); var import_react24 = __toESM(require_react()); var propTypes5 = { /** * A DOM element, Ref to an element, or function that returns either. The `container` will have the Portal children * appended to it. */ container: import_prop_types6.default.any, onRendered: import_prop_types6.default.func }; var Portal = function Portal2(_ref) { var container = _ref.container, children = _ref.children, onRendered = _ref.onRendered; var resolvedContainer = useWaitForDOMRef(container, onRendered); return resolvedContainer ? import_react24.default.createElement(import_react24.default.Fragment, null, import_react_dom4.default.createPortal(children, resolvedContainer)) : null; }; Portal.displayName = "Portal"; Portal.propTypes = propTypes5; // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_isEqual = __toESM(require_isEqual()); // node_modules/dom-helpers/esm/height.js function height(node, client) { var win = isWindow(node); return win ? win.innerHeight : client ? node.clientHeight : offset(node).height; } // node_modules/dom-helpers/esm/closest.js function closest(node, selector, stopAt) { if (node.closest && !stopAt) node.closest(selector); var nextNode = node; do { if (matches(nextNode, selector)) return nextNode; nextNode = nextNode.parentElement; } while (nextNode && nextNode !== stopAt && nextNode.nodeType === document.ELEMENT_NODE); return null; } // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_findIndex = __toESM(require_findIndex()); var import_range = __toESM(require_range()); // node_modules/memoize-one/dist/memoize-one.esm.js var safeIsNaN = Number.isNaN || function ponyfill(value) { return typeof value === "number" && value !== value; }; function isEqual(first, second) { if (first === second) { return true; } if (safeIsNaN(first) && safeIsNaN(second)) { return true; } return false; } function areInputsEqual(newInputs, lastInputs) { if (newInputs.length !== lastInputs.length) { return false; } for (var i = 0; i < newInputs.length; i++) { if (!isEqual(newInputs[i], lastInputs[i])) { return false; } } return true; } function memoizeOne(resultFn, isEqual4) { if (isEqual4 === void 0) { isEqual4 = areInputsEqual; } var cache = null; function memoized() { var newArgs = []; for (var _i = 0; _i < arguments.length; _i++) { newArgs[_i] = arguments[_i]; } if (cache && cache.lastThis === this && isEqual4(newArgs, cache.lastArgs)) { return cache.lastResult; } var lastResult = resultFn.apply(this, newArgs); cache = { lastResult, lastArgs: newArgs, lastThis: this }; return lastResult; } memoized.clear = function clear() { cache = null; }; return memoized; } // node_modules/dom-helpers/esm/width.js function getWidth(node, client) { var win = isWindow(node); return win ? win.innerWidth : client ? node.clientWidth : offset(node).width; } // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_sortBy = __toESM(require_sortBy()); // node_modules/@babel/runtime/helpers/esm/toArray.js function _toArray(r2) { return _arrayWithHoles(r2) || _iterableToArray(r2) || _unsupportedIterableToArray(r2) || _nonIterableRest(); } // node_modules/react-big-calendar/dist/react-big-calendar.esm.js var import_defaults = __toESM(require_defaults()); var import_mapValues = __toESM(require_mapValues()); var import_omit = __toESM(require_omit()); var import_transform = __toESM(require_transform()); var import_isBetween = __toESM(require_isBetween()); var import_isSameOrAfter = __toESM(require_isSameOrAfter()); var import_isSameOrBefore = __toESM(require_isSameOrBefore()); var import_localeData = __toESM(require_localeData()); var import_localizedFormat = __toESM(require_localizedFormat()); var import_minMax = __toESM(require_minMax()); var import_utc = __toESM(require_utc()); var import_isLeapYear = __toESM(require_isLeapYear()); function NoopWrapper(props) { return props.children; } var navigate = { PREVIOUS: "PREV", NEXT: "NEXT", TODAY: "TODAY", DATE: "DATE" }; var views = { MONTH: "month", WEEK: "week", WORK_WEEK: "work_week", DAY: "day", AGENDA: "agenda" }; var viewNames$1 = Object.keys(views).map(function(k) { return views[k]; }); import_prop_types7.default.oneOfType([import_prop_types7.default.string, import_prop_types7.default.func]); import_prop_types7.default.any; import_prop_types7.default.func; import_prop_types7.default.oneOfType([import_prop_types7.default.arrayOf(import_prop_types7.default.oneOf(viewNames$1)), import_prop_types7.default.objectOf(function(prop, key) { var isBuiltinView = viewNames$1.indexOf(key) !== -1 && typeof prop[key] === "boolean"; if (isBuiltinView) { return null; } else { for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) { args[_key - 2] = arguments[_key]; } return import_prop_types7.default.elementType.apply(import_prop_types7.default, [prop, key].concat(args)); } })]); import_prop_types7.default.oneOfType([import_prop_types7.default.oneOf(["overlap", "no-overlap"]), import_prop_types7.default.func]); var MILLI = { seconds: 1e3, minutes: 1e3 * 60, hours: 1e3 * 60 * 60, day: 1e3 * 60 * 60 * 24 }; function firstVisibleDay(date2, localizer) { var firstOfMonth = startOf(date2, "month"); return startOf(firstOfMonth, "week", localizer.startOfWeek()); } function lastVisibleDay(date2, localizer) { var endOfMonth = endOf(date2, "month"); return endOf(endOfMonth, "week", localizer.startOfWeek()); } function visibleDays(date2, localizer) { var current = firstVisibleDay(date2, localizer), last = lastVisibleDay(date2, localizer), days = []; while (lte(current, last, "day")) { days.push(current); current = add(current, 1, "day"); } return days; } function ceil(date2, unit) { var floor = startOf(date2, unit); return eq(floor, date2) ? floor : add(floor, 1, unit); } function range(start2, end2) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var current = start2, days = []; while (lte(current, end2, unit)) { days.push(current); current = add(current, 1, unit); } return days; } function merge(date2, time) { if (time == null && date2 == null) return null; if (time == null) time = /* @__PURE__ */ new Date(); if (date2 == null) date2 = /* @__PURE__ */ new Date(); date2 = startOf(date2, "day"); date2 = hours(date2, hours(time)); date2 = minutes(date2, minutes(time)); date2 = seconds(date2, seconds(time)); return milliseconds(date2, milliseconds(time)); } function isJustDate(date2) { return hours(date2) === 0 && minutes(date2) === 0 && seconds(date2) === 0 && milliseconds(date2) === 0; } function duration(start2, end2, unit, firstOfWeek) { if (unit === "day") unit = "date"; return Math.abs( // eslint-disable-next-line import/namespace date_arithmetic_exports[unit](start2, void 0, firstOfWeek) - // eslint-disable-next-line import/namespace date_arithmetic_exports[unit](end2, void 0, firstOfWeek) ); } function diff2(dateA, dateB, unit) { if (!unit || unit === "milliseconds") return Math.abs(+dateA - +dateB); return Math.round(Math.abs(+startOf(dateA, unit) / MILLI[unit] - +startOf(dateB, unit) / MILLI[unit])); } var localePropType = import_prop_types7.default.oneOfType([import_prop_types7.default.string, import_prop_types7.default.func]); function _format(localizer, formatter, value, format, culture) { var result = typeof format === "function" ? format(value, culture, localizer) : formatter.call(localizer, value, format, culture); (0, import_invariant3.default)(result == null || typeof result === "string", "`localizer format(..)` must return a string, null, or undefined"); return result; } function getSlotDate(dt, minutesFromMidnight, offset3) { return new Date(dt.getFullYear(), dt.getMonth(), dt.getDate(), 0, minutesFromMidnight + offset3, 0, 0); } function getDstOffset(start2, end2) { return start2.getTimezoneOffset() - end2.getTimezoneOffset(); } function getTotalMin(start2, end2) { return diff2(start2, end2, "minutes") + getDstOffset(start2, end2); } function getMinutesFromMidnight(start2) { var daystart = startOf(start2, "day"); return diff2(daystart, start2, "minutes") + getDstOffset(daystart, start2); } function continuesPrior(start2, first) { return lt(start2, first, "day"); } function continuesAfter(start2, end2, last) { var singleDayDuration = eq(start2, end2, "minutes"); return singleDayDuration ? gte(end2, last, "minutes") : gt(end2, last, "minutes"); } function daySpan(start2, end2) { return duration(start2, end2, "day"); } function sortEvents$1(_ref) { var _ref$evtA = _ref.evtA, aStart = _ref$evtA.start, aEnd = _ref$evtA.end, aAllDay = _ref$evtA.allDay, _ref$evtB = _ref.evtB, bStart = _ref$evtB.start, bEnd = _ref$evtB.end, bAllDay = _ref$evtB.allDay; var startSort = +startOf(aStart, "day") - +startOf(bStart, "day"); var durA = daySpan(aStart, aEnd); var durB = daySpan(bStart, bEnd); return startSort || // sort by start Day first durB - durA || // events spanning multiple days go first !!bAllDay - !!aAllDay || // then allDay single day events +aStart - +bStart || // then sort by start time +aEnd - +bEnd; } function inEventRange(_ref2) { var _ref2$event = _ref2.event, start2 = _ref2$event.start, end2 = _ref2$event.end, _ref2$range = _ref2.range, rangeStart = _ref2$range.start, rangeEnd = _ref2$range.end; var eStart = startOf(start2, "day"); var startsBeforeEnd = lte(eStart, rangeEnd, "day"); var sameMin = neq(eStart, end2, "minutes"); var endsAfterStart = sameMin ? gt(end2, rangeStart, "minutes") : gte(end2, rangeStart, "minutes"); return startsBeforeEnd && endsAfterStart; } function isSameDate(date1, date2) { return eq(date1, date2, "day"); } function startAndEndAreDateOnly(start2, end2) { return isJustDate(start2) && isJustDate(end2); } var DateLocalizer = _createClass(function DateLocalizer2(spec) { var _this = this; _classCallCheck(this, DateLocalizer2); (0, import_invariant3.default)(typeof spec.format === "function", "date localizer `format(..)` must be a function"); (0, import_invariant3.default)(typeof spec.firstOfWeek === "function", "date localizer `firstOfWeek(..)` must be a function"); this.propType = spec.propType || localePropType; this.formats = spec.formats; this.format = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _format.apply(void 0, [_this, spec.format].concat(args)); }; this.startOfWeek = spec.firstOfWeek; this.merge = spec.merge || merge; this.inRange = spec.inRange || inRange; this.lt = spec.lt || lt; this.lte = spec.lte || lte; this.gt = spec.gt || gt; this.gte = spec.gte || gte; this.eq = spec.eq || eq; this.neq = spec.neq || neq; this.startOf = spec.startOf || startOf; this.endOf = spec.endOf || endOf; this.add = spec.add || add; this.range = spec.range || range; this.diff = spec.diff || diff2; this.ceil = spec.ceil || ceil; this.min = spec.min || min; this.max = spec.max || max; this.minutes = spec.minutes || minutes; this.daySpan = spec.daySpan || daySpan; this.firstVisibleDay = spec.firstVisibleDay || firstVisibleDay; this.lastVisibleDay = spec.lastVisibleDay || lastVisibleDay; this.visibleDays = spec.visibleDays || visibleDays; this.getSlotDate = spec.getSlotDate || getSlotDate; this.getTimezoneOffset = spec.getTimezoneOffset || function(value) { return value.getTimezoneOffset(); }; this.getDstOffset = spec.getDstOffset || getDstOffset; this.getTotalMin = spec.getTotalMin || getTotalMin; this.getMinutesFromMidnight = spec.getMinutesFromMidnight || getMinutesFromMidnight; this.continuesPrior = spec.continuesPrior || continuesPrior; this.continuesAfter = spec.continuesAfter || continuesAfter; this.sortEvents = spec.sortEvents || sortEvents$1; this.inEventRange = spec.inEventRange || inEventRange; this.isSameDate = spec.isSameDate || isSameDate; this.startAndEndAreDateOnly = spec.startAndEndAreDateOnly || startAndEndAreDateOnly; this.segmentOffset = spec.browserTZOffset ? spec.browserTZOffset() : 0; }); function mergeWithDefaults(localizer, culture, formatOverrides, messages2) { var formats2 = _objectSpread2(_objectSpread2({}, localizer.formats), formatOverrides); return _objectSpread2(_objectSpread2({}, localizer), {}, { messages: messages2, startOfWeek: function startOfWeek() { return localizer.startOfWeek(culture); }, format: function format(value, _format2) { return localizer.format(value, formats2[_format2] || _format2, culture); } }); } var Toolbar = function(_React$Component) { function Toolbar2() { var _this; _classCallCheck(this, Toolbar2); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, Toolbar2, [].concat(args)); _this.navigate = function(action) { _this.props.onNavigate(action); }; _this.view = function(view) { _this.props.onView(view); }; return _this; } _inherits(Toolbar2, _React$Component); return _createClass(Toolbar2, [{ key: "render", value: function render() { var _this$props = this.props, messages2 = _this$props.localizer.messages, label = _this$props.label; return import_react25.default.createElement("div", { className: "rbc-toolbar" }, import_react25.default.createElement("span", { className: "rbc-btn-group" }, import_react25.default.createElement("button", { type: "button", onClick: this.navigate.bind(null, navigate.TODAY) }, messages2.today), import_react25.default.createElement("button", { type: "button", onClick: this.navigate.bind(null, navigate.PREVIOUS) }, messages2.previous), import_react25.default.createElement("button", { type: "button", onClick: this.navigate.bind(null, navigate.NEXT) }, messages2.next)), import_react25.default.createElement("span", { className: "rbc-toolbar-label" }, label), import_react25.default.createElement("span", { className: "rbc-btn-group" }, this.viewNamesGroup(messages2))); } }, { key: "viewNamesGroup", value: function viewNamesGroup(messages2) { var _this2 = this; var viewNames2 = this.props.views; var view = this.props.view; if (viewNames2.length > 1) { return viewNames2.map(function(name) { return import_react25.default.createElement("button", { type: "button", key: name, className: clsx_m_default({ "rbc-active": view === name }), onClick: _this2.view.bind(null, name) }, messages2[name]); }); } } }]); }(import_react25.default.Component); function notify(handler, args) { handler && handler.apply(null, [].concat(args)); } var defaultMessages = { date: "Date", time: "Time", event: "Event", allDay: "All Day", week: "Week", work_week: "Work Week", day: "Day", month: "Month", previous: "Back", next: "Next", yesterday: "Yesterday", tomorrow: "Tomorrow", today: "Today", agenda: "Agenda", noEventsInRange: "There are no events in this range.", showMore: function showMore(total) { return "+".concat(total, " more"); } }; function messages(msgs) { return _objectSpread2(_objectSpread2({}, defaultMessages), msgs); } function useClickOutside(_ref) { var ref = _ref.ref, callback = _ref.callback; (0, import_react25.useEffect)(function() { var handleClickOutside = function handleClickOutside2(e) { if (ref.current && !ref.current.contains(e.target)) { callback(); } }; document.addEventListener("mousedown", handleClickOutside); return function() { document.removeEventListener("mousedown", handleClickOutside); }; }, [ref, callback]); } var _excluded$7 = ["style", "className", "event", "selected", "isAllDay", "onSelect", "onDoubleClick", "onKeyPress", "localizer", "continuesPrior", "continuesAfter", "accessors", "getters", "children", "components", "slotStart", "slotEnd"]; var EventCell = function(_React$Component) { function EventCell2() { _classCallCheck(this, EventCell2); return _callSuper(this, EventCell2, arguments); } _inherits(EventCell2, _React$Component); return _createClass(EventCell2, [{ key: "render", value: function render() { var _this$props = this.props, style2 = _this$props.style, className = _this$props.className, event = _this$props.event, selected = _this$props.selected, isAllDay = _this$props.isAllDay, onSelect = _this$props.onSelect, _onDoubleClick = _this$props.onDoubleClick, onKeyPress = _this$props.onKeyPress, localizer = _this$props.localizer, continuesPrior2 = _this$props.continuesPrior, continuesAfter2 = _this$props.continuesAfter, accessors = _this$props.accessors, getters = _this$props.getters, children = _this$props.children, _this$props$component = _this$props.components, Event2 = _this$props$component.event, EventWrapper = _this$props$component.eventWrapper, slotStart = _this$props.slotStart, slotEnd = _this$props.slotEnd, props = _objectWithoutProperties(_this$props, _excluded$7); delete props.resizable; var title = accessors.title(event); var tooltip = accessors.tooltip(event); var end2 = accessors.end(event); var start2 = accessors.start(event); var allDay = accessors.allDay(event); var showAsAllDay = isAllDay || allDay || localizer.diff(start2, localizer.ceil(end2, "day"), "day") > 1; var userProps = getters.eventProp(event, start2, end2, selected); var content = import_react25.default.createElement("div", { className: "rbc-event-content", title: tooltip || void 0 }, Event2 ? import_react25.default.createElement(Event2, { event, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, title, isAllDay: allDay, localizer, slotStart, slotEnd }) : title); return import_react25.default.createElement(EventWrapper, Object.assign({}, this.props, { type: "date" }), import_react25.default.createElement("div", Object.assign({}, props, { style: _objectSpread2(_objectSpread2({}, userProps.style), style2), className: clsx_m_default("rbc-event", className, userProps.className, { "rbc-selected": selected, "rbc-event-allday": showAsAllDay, "rbc-event-continues-prior": continuesPrior2, "rbc-event-continues-after": continuesAfter2 }), onClick: function onClick(e) { return onSelect && onSelect(event, e); }, onDoubleClick: function onDoubleClick(e) { return _onDoubleClick && _onDoubleClick(event, e); }, onKeyDown: function onKeyDown(e) { return onKeyPress && onKeyPress(event, e); } }), typeof children === "function" ? children(content) : content)); } }]); }(import_react25.default.Component); function isSelected(event, selected) { if (!event || selected == null) return false; return (0, import_isEqual.default)(event, selected); } function slotWidth(rowBox, slots) { var rowWidth = rowBox.right - rowBox.left; var cellWidth = rowWidth / slots; return cellWidth; } function getSlotAtX(rowBox, x, rtl, slots) { var cellWidth = slotWidth(rowBox, slots); return rtl ? slots - 1 - Math.floor((x - rowBox.left) / cellWidth) : Math.floor((x - rowBox.left) / cellWidth); } function pointInBox(box, _ref) { var x = _ref.x, y = _ref.y; return y >= box.top && y <= box.bottom && x >= box.left && x <= box.right; } function dateCellSelection(start2, rowBox, box, slots, rtl) { var startIdx = -1; var endIdx = -1; var lastSlotIdx = slots - 1; var cellWidth = slotWidth(rowBox, slots); var currentSlot = getSlotAtX(rowBox, box.x, rtl, slots); var isCurrentRow = rowBox.top < box.y && rowBox.bottom > box.y; var isStartRow = rowBox.top < start2.y && rowBox.bottom > start2.y; var isAboveStart = start2.y > rowBox.bottom; var isBelowStart = rowBox.top > start2.y; var isBetween2 = box.top < rowBox.top && box.bottom > rowBox.bottom; if (isBetween2) { startIdx = 0; endIdx = lastSlotIdx; } if (isCurrentRow) { if (isBelowStart) { startIdx = 0; endIdx = currentSlot; } else if (isAboveStart) { startIdx = currentSlot; endIdx = lastSlotIdx; } } if (isStartRow) { startIdx = endIdx = rtl ? lastSlotIdx - Math.floor((start2.x - rowBox.left) / cellWidth) : Math.floor((start2.x - rowBox.left) / cellWidth); if (isCurrentRow) { if (currentSlot < startIdx) startIdx = currentSlot; else endIdx = currentSlot; } else if (start2.y < box.y) { endIdx = lastSlotIdx; } else { startIdx = 0; } } return { startIdx, endIdx }; } function getPosition(_ref) { var target = _ref.target, offset3 = _ref.offset, container = _ref.container, box = _ref.box; var _getOffset = offset(target), top2 = _getOffset.top, left2 = _getOffset.left, width = _getOffset.width, height2 = _getOffset.height; var _getOffset2 = offset(container), cTop = _getOffset2.top, cLeft = _getOffset2.left, cWidth = _getOffset2.width, cHeight = _getOffset2.height; var _getOffset3 = offset(box), bWidth = _getOffset3.width, bHeight = _getOffset3.height; var viewBottom = cTop + cHeight; var viewRight = cLeft + cWidth; var bottom2 = top2 + bHeight; var right2 = left2 + bWidth; var x = offset3.x, y = offset3.y; var topOffset = bottom2 > viewBottom ? top2 - bHeight - y : top2 + y + height2; var leftOffset = right2 > viewRight ? left2 + x - bWidth + width : left2 + x; return { topOffset, leftOffset }; } function Pop(_ref2) { var containerRef = _ref2.containerRef, accessors = _ref2.accessors, getters = _ref2.getters, selected = _ref2.selected, components2 = _ref2.components, localizer = _ref2.localizer, position2 = _ref2.position, show = _ref2.show, events = _ref2.events, slotStart = _ref2.slotStart, slotEnd = _ref2.slotEnd, onSelect = _ref2.onSelect, onDoubleClick = _ref2.onDoubleClick, onKeyPress = _ref2.onKeyPress, handleDragStart = _ref2.handleDragStart, popperRef = _ref2.popperRef, target = _ref2.target, offset3 = _ref2.offset; useClickOutside({ ref: popperRef, callback: show }); (0, import_react25.useLayoutEffect)(function() { var _getPosition = getPosition({ target, offset: offset3, container: containerRef.current, box: popperRef.current }), topOffset = _getPosition.topOffset, leftOffset = _getPosition.leftOffset; popperRef.current.style.top = "".concat(topOffset, "px"); popperRef.current.style.left = "".concat(leftOffset, "px"); }, [offset3.x, offset3.y, target]); var width = position2.width; var style2 = { minWidth: width + width / 2 }; return import_react25.default.createElement("div", { style: style2, className: "rbc-overlay", ref: popperRef }, import_react25.default.createElement("div", { className: "rbc-overlay-header" }, localizer.format(slotStart, "dayHeaderFormat")), events.map(function(event, idx) { return import_react25.default.createElement(EventCell, { key: idx, type: "popup", localizer, event, getters, onSelect, accessors, components: components2, onDoubleClick, onKeyPress, continuesPrior: localizer.lt(accessors.end(event), slotStart, "day"), continuesAfter: localizer.gte(accessors.start(event), slotEnd, "day"), slotStart, slotEnd, selected: isSelected(event, selected), draggable: true, onDragStart: function onDragStart() { return handleDragStart(event); }, onDragEnd: function onDragEnd() { return show(); } }); })); } var Popup = import_react25.default.forwardRef(function(props, ref) { return import_react25.default.createElement(Pop, Object.assign({}, props, { popperRef: ref })); }); Popup.propTypes = { accessors: import_prop_types7.default.object.isRequired, getters: import_prop_types7.default.object.isRequired, selected: import_prop_types7.default.object, components: import_prop_types7.default.object.isRequired, localizer: import_prop_types7.default.object.isRequired, position: import_prop_types7.default.object.isRequired, show: import_prop_types7.default.func.isRequired, events: import_prop_types7.default.array.isRequired, slotStart: import_prop_types7.default.instanceOf(Date).isRequired, slotEnd: import_prop_types7.default.instanceOf(Date), onSelect: import_prop_types7.default.func, onDoubleClick: import_prop_types7.default.func, onKeyPress: import_prop_types7.default.func, handleDragStart: import_prop_types7.default.func, style: import_prop_types7.default.object, offset: import_prop_types7.default.shape({ x: import_prop_types7.default.number, y: import_prop_types7.default.number }) }; function CalOverlay(_ref) { var containerRef = _ref.containerRef, _ref$popupOffset = _ref.popupOffset, popupOffset = _ref$popupOffset === void 0 ? 5 : _ref$popupOffset, overlay = _ref.overlay, accessors = _ref.accessors, localizer = _ref.localizer, components2 = _ref.components, getters = _ref.getters, selected = _ref.selected, handleSelectEvent = _ref.handleSelectEvent, handleDoubleClickEvent = _ref.handleDoubleClickEvent, handleKeyPressEvent = _ref.handleKeyPressEvent, handleDragStart = _ref.handleDragStart, onHide2 = _ref.onHide, overlayDisplay = _ref.overlayDisplay; var popperRef = (0, import_react25.useRef)(null); if (!overlay.position) return null; var offset3 = popupOffset; if (!isNaN(popupOffset)) { offset3 = { x: popupOffset, y: popupOffset }; } var position2 = overlay.position, events = overlay.events, date2 = overlay.date, end2 = overlay.end; return import_react25.default.createElement(Overlay_default, { rootClose: true, flip: true, show: true, placement: "bottom", onHide: onHide2, target: overlay.target }, function(_ref2) { var props = _ref2.props; return import_react25.default.createElement(Popup, Object.assign({}, props, { containerRef, ref: popperRef, target: overlay.target, offset: offset3, accessors, getters, selected, components: components2, localizer, position: position2, show: overlayDisplay, events, slotStart: date2, slotEnd: end2, onSelect: handleSelectEvent, onDoubleClick: handleDoubleClickEvent, onKeyPress: handleKeyPressEvent, handleDragStart })); }); } var PopOverlay = import_react25.default.forwardRef(function(props, ref) { return import_react25.default.createElement(CalOverlay, Object.assign({}, props, { containerRef: ref })); }); PopOverlay.propTypes = { popupOffset: import_prop_types7.default.oneOfType([import_prop_types7.default.number, import_prop_types7.default.shape({ x: import_prop_types7.default.number, y: import_prop_types7.default.number })]), overlay: import_prop_types7.default.shape({ position: import_prop_types7.default.object, events: import_prop_types7.default.array, date: import_prop_types7.default.instanceOf(Date), end: import_prop_types7.default.instanceOf(Date) }), accessors: import_prop_types7.default.object.isRequired, localizer: import_prop_types7.default.object.isRequired, components: import_prop_types7.default.object.isRequired, getters: import_prop_types7.default.object.isRequired, selected: import_prop_types7.default.object, handleSelectEvent: import_prop_types7.default.func, handleDoubleClickEvent: import_prop_types7.default.func, handleKeyPressEvent: import_prop_types7.default.func, handleDragStart: import_prop_types7.default.func, onHide: import_prop_types7.default.func, overlayDisplay: import_prop_types7.default.func }; function addEventListener2(type, handler) { var target = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : document; return listen_default(target, type, handler, { passive: false }); } function isOverContainer(container, x, y) { return !container || contains(container, document.elementFromPoint(x, y)); } function getEventNodeFromPoint(node, _ref) { var clientX = _ref.clientX, clientY = _ref.clientY; var target = document.elementFromPoint(clientX, clientY); return closest(target, ".rbc-event", node); } function getShowMoreNodeFromPoint(node, _ref2) { var clientX = _ref2.clientX, clientY = _ref2.clientY; var target = document.elementFromPoint(clientX, clientY); return closest(target, ".rbc-show-more", node); } function isEvent(node, bounds) { return !!getEventNodeFromPoint(node, bounds); } function isShowMore(node, bounds) { return !!getShowMoreNodeFromPoint(node, bounds); } function getEventCoordinates(e) { var target = e; if (e.touches && e.touches.length) { target = e.touches[0]; } return { clientX: target.clientX, clientY: target.clientY, pageX: target.pageX, pageY: target.pageY }; } var clickTolerance = 5; var clickInterval = 250; var Selection = function() { function Selection2(node) { var _ref3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref3$global = _ref3.global, global = _ref3$global === void 0 ? false : _ref3$global, _ref3$longPressThresh = _ref3.longPressThreshold, longPressThreshold = _ref3$longPressThresh === void 0 ? 250 : _ref3$longPressThresh, _ref3$validContainers = _ref3.validContainers, validContainers = _ref3$validContainers === void 0 ? [] : _ref3$validContainers; _classCallCheck(this, Selection2); this._initialEvent = null; this.selecting = false; this.isDetached = false; this.container = node; this.globalMouse = !node || global; this.longPressThreshold = longPressThreshold; this.validContainers = validContainers; this._listeners = /* @__PURE__ */ Object.create(null); this._handleInitialEvent = this._handleInitialEvent.bind(this); this._handleMoveEvent = this._handleMoveEvent.bind(this); this._handleTerminatingEvent = this._handleTerminatingEvent.bind(this); this._keyListener = this._keyListener.bind(this); this._dropFromOutsideListener = this._dropFromOutsideListener.bind(this); this._dragOverFromOutsideListener = this._dragOverFromOutsideListener.bind(this); this._removeTouchMoveWindowListener = addEventListener2("touchmove", function() { }, window); this._removeKeyDownListener = addEventListener2("keydown", this._keyListener); this._removeKeyUpListener = addEventListener2("keyup", this._keyListener); this._removeDropFromOutsideListener = addEventListener2("drop", this._dropFromOutsideListener); this._removeDragOverFromOutsideListener = addEventListener2("dragover", this._dragOverFromOutsideListener); this._addInitialEventListener(); } return _createClass(Selection2, [{ key: "on", value: function on(type, handler) { var handlers = this._listeners[type] || (this._listeners[type] = []); handlers.push(handler); return { remove: function remove() { var idx = handlers.indexOf(handler); if (idx !== -1) handlers.splice(idx, 1); } }; } }, { key: "emit", value: function emit(type) { for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } var result; var handlers = this._listeners[type] || []; handlers.forEach(function(fn3) { if (result === void 0) result = fn3.apply(void 0, args); }); return result; } }, { key: "teardown", value: function teardown() { this._initialEvent = null; this._initialEventData = null; this._selectRect = null; this.selecting = false; this._lastClickData = null; this.isDetached = true; this._listeners = /* @__PURE__ */ Object.create(null); this._removeTouchMoveWindowListener && this._removeTouchMoveWindowListener(); this._removeInitialEventListener && this._removeInitialEventListener(); this._removeEndListener && this._removeEndListener(); this._onEscListener && this._onEscListener(); this._removeMoveListener && this._removeMoveListener(); this._removeKeyUpListener && this._removeKeyUpListener(); this._removeKeyDownListener && this._removeKeyDownListener(); this._removeDropFromOutsideListener && this._removeDropFromOutsideListener(); this._removeDragOverFromOutsideListener && this._removeDragOverFromOutsideListener(); } }, { key: "isSelected", value: function isSelected2(node) { var box = this._selectRect; if (!box || !this.selecting) return false; return objectsCollide(box, getBoundsForNode(node)); } }, { key: "filter", value: function filter(items) { var box = this._selectRect; if (!box || !this.selecting) return []; return items.filter(this.isSelected, this); } // Adds a listener that will call the handler only after the user has pressed on the screen // without moving their finger for 250ms. }, { key: "_addLongPressListener", value: function _addLongPressListener(handler, initialEvent) { var _this = this; var timer = null; var removeTouchMoveListener = null; var removeTouchEndListener = null; var handleTouchStart = function handleTouchStart2(initialEvent2) { timer = setTimeout(function() { cleanup(); handler(initialEvent2); }, _this.longPressThreshold); removeTouchMoveListener = addEventListener2("touchmove", function() { return cleanup(); }); removeTouchEndListener = addEventListener2("touchend", function() { return cleanup(); }); }; var removeTouchStartListener = addEventListener2("touchstart", handleTouchStart); var cleanup = function cleanup2() { if (timer) { clearTimeout(timer); } if (removeTouchMoveListener) { removeTouchMoveListener(); } if (removeTouchEndListener) { removeTouchEndListener(); } timer = null; removeTouchMoveListener = null; removeTouchEndListener = null; }; if (initialEvent) { handleTouchStart(initialEvent); } return function() { cleanup(); removeTouchStartListener(); }; } // Listen for mousedown and touchstart events. When one is received, disable the other and setup // future event handling based on the type of event. }, { key: "_addInitialEventListener", value: function _addInitialEventListener() { var _this2 = this; var removeMouseDownListener = addEventListener2("mousedown", function(e) { _this2._removeInitialEventListener(); _this2._handleInitialEvent(e); _this2._removeInitialEventListener = addEventListener2("mousedown", _this2._handleInitialEvent); }); var removeTouchStartListener = addEventListener2("touchstart", function(e) { _this2._removeInitialEventListener(); _this2._removeInitialEventListener = _this2._addLongPressListener(_this2._handleInitialEvent, e); }); this._removeInitialEventListener = function() { removeMouseDownListener(); removeTouchStartListener(); }; } }, { key: "_dropFromOutsideListener", value: function _dropFromOutsideListener(e) { var _getEventCoordinates = getEventCoordinates(e), pageX = _getEventCoordinates.pageX, pageY = _getEventCoordinates.pageY, clientX = _getEventCoordinates.clientX, clientY = _getEventCoordinates.clientY; this.emit("dropFromOutside", { x: pageX, y: pageY, clientX, clientY }); e.preventDefault(); } }, { key: "_dragOverFromOutsideListener", value: function _dragOverFromOutsideListener(e) { var _getEventCoordinates2 = getEventCoordinates(e), pageX = _getEventCoordinates2.pageX, pageY = _getEventCoordinates2.pageY, clientX = _getEventCoordinates2.clientX, clientY = _getEventCoordinates2.clientY; this.emit("dragOverFromOutside", { x: pageX, y: pageY, clientX, clientY }); e.preventDefault(); } }, { key: "_handleInitialEvent", value: function _handleInitialEvent(e) { this._initialEvent = e; if (this.isDetached) { return; } var _getEventCoordinates3 = getEventCoordinates(e), clientX = _getEventCoordinates3.clientX, clientY = _getEventCoordinates3.clientY, pageX = _getEventCoordinates3.pageX, pageY = _getEventCoordinates3.pageY; var node = this.container(), collides, offsetData; if (e.which === 3 || e.button === 2 || !isOverContainer(node, clientX, clientY)) return; if (!this.globalMouse && node && !contains(node, e.target)) { var _normalizeDistance = normalizeDistance(0), top2 = _normalizeDistance.top, left2 = _normalizeDistance.left, bottom2 = _normalizeDistance.bottom, right2 = _normalizeDistance.right; offsetData = getBoundsForNode(node); collides = objectsCollide({ top: offsetData.top - top2, left: offsetData.left - left2, bottom: offsetData.bottom + bottom2, right: offsetData.right + right2 }, { top: pageY, left: pageX }); if (!collides) return; } var result = this.emit("beforeSelect", this._initialEventData = { isTouch: /^touch/.test(e.type), x: pageX, y: pageY, clientX, clientY }); if (result === false) return; switch (e.type) { case "mousedown": this._removeEndListener = addEventListener2("mouseup", this._handleTerminatingEvent); this._onEscListener = addEventListener2("keydown", this._handleTerminatingEvent); this._removeMoveListener = addEventListener2("mousemove", this._handleMoveEvent); break; case "touchstart": this._handleMoveEvent(e); this._removeEndListener = addEventListener2("touchend", this._handleTerminatingEvent); this._removeMoveListener = addEventListener2("touchmove", this._handleMoveEvent); break; } } // Check whether provided event target element // - is contained within a valid container }, { key: "_isWithinValidContainer", value: function _isWithinValidContainer(e) { var eventTarget = e.target; var containers = this.validContainers; if (!containers || !containers.length || !eventTarget) { return true; } return containers.some(function(target) { return !!eventTarget.closest(target); }); } }, { key: "_handleTerminatingEvent", value: function _handleTerminatingEvent(e) { var selecting = this.selecting; var bounds = this._selectRect; if (!selecting && e.type.includes("key")) { e = this._initialEvent; } this.selecting = false; this._removeEndListener && this._removeEndListener(); this._removeMoveListener && this._removeMoveListener(); this._selectRect = null; this._initialEvent = null; this._initialEventData = null; if (!e) return; var inRoot = !this.container || contains(this.container(), e.target); var isWithinValidContainer = this._isWithinValidContainer(e); if (e.key === "Escape" || !isWithinValidContainer) { return this.emit("reset"); } if (!selecting && inRoot) { return this._handleClickEvent(e); } if (selecting) return this.emit("select", bounds); return this.emit("reset"); } }, { key: "_handleClickEvent", value: function _handleClickEvent(e) { var _getEventCoordinates4 = getEventCoordinates(e), pageX = _getEventCoordinates4.pageX, pageY = _getEventCoordinates4.pageY, clientX = _getEventCoordinates4.clientX, clientY = _getEventCoordinates4.clientY; var now = (/* @__PURE__ */ new Date()).getTime(); if (this._lastClickData && now - this._lastClickData.timestamp < clickInterval) { this._lastClickData = null; return this.emit("doubleClick", { x: pageX, y: pageY, clientX, clientY }); } this._lastClickData = { timestamp: now }; return this.emit("click", { x: pageX, y: pageY, clientX, clientY }); } }, { key: "_handleMoveEvent", value: function _handleMoveEvent(e) { if (this._initialEventData === null || this.isDetached) { return; } var _this$_initialEventDa = this._initialEventData, x = _this$_initialEventDa.x, y = _this$_initialEventDa.y; var _getEventCoordinates5 = getEventCoordinates(e), pageX = _getEventCoordinates5.pageX, pageY = _getEventCoordinates5.pageY; var w = Math.abs(x - pageX); var h = Math.abs(y - pageY); var left2 = Math.min(pageX, x), top2 = Math.min(pageY, y), old = this.selecting; var click = this.isClick(pageX, pageY); if (click && !old && !(w || h)) { return; } if (!old && !click) { this.emit("selectStart", this._initialEventData); } if (!click) { this.selecting = true; this._selectRect = { top: top2, left: left2, x: pageX, y: pageY, right: left2 + w, bottom: top2 + h }; this.emit("selecting", this._selectRect); } e.preventDefault(); } }, { key: "_keyListener", value: function _keyListener(e) { this.ctrl = e.metaKey || e.ctrlKey; } }, { key: "isClick", value: function isClick(pageX, pageY) { var _this$_initialEventDa2 = this._initialEventData, x = _this$_initialEventDa2.x, y = _this$_initialEventDa2.y, isTouch = _this$_initialEventDa2.isTouch; return !isTouch && Math.abs(pageX - x) <= clickTolerance && Math.abs(pageY - y) <= clickTolerance; } }]); }(); function normalizeDistance() { var distance = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0; if (_typeof(distance) !== "object") distance = { top: distance, left: distance, right: distance, bottom: distance }; return distance; } function objectsCollide(nodeA, nodeB) { var tolerance = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0; var _getBoundsForNode = getBoundsForNode(nodeA), aTop = _getBoundsForNode.top, aLeft = _getBoundsForNode.left, _getBoundsForNode$rig = _getBoundsForNode.right, aRight = _getBoundsForNode$rig === void 0 ? aLeft : _getBoundsForNode$rig, _getBoundsForNode$bot = _getBoundsForNode.bottom, aBottom = _getBoundsForNode$bot === void 0 ? aTop : _getBoundsForNode$bot; var _getBoundsForNode2 = getBoundsForNode(nodeB), bTop = _getBoundsForNode2.top, bLeft = _getBoundsForNode2.left, _getBoundsForNode2$ri = _getBoundsForNode2.right, bRight = _getBoundsForNode2$ri === void 0 ? bLeft : _getBoundsForNode2$ri, _getBoundsForNode2$bo = _getBoundsForNode2.bottom, bBottom = _getBoundsForNode2$bo === void 0 ? bTop : _getBoundsForNode2$bo; return !// 'a' bottom doesn't touch 'b' top (aBottom - tolerance < bTop || // 'a' top doesn't touch 'b' bottom aTop + tolerance > bBottom || // 'a' right doesn't touch 'b' left aRight - tolerance < bLeft || // 'a' left doesn't touch 'b' right aLeft + tolerance > bRight); } function getBoundsForNode(node) { if (!node.getBoundingClientRect) return node; var rect = node.getBoundingClientRect(), left2 = rect.left + pageOffset("left"), top2 = rect.top + pageOffset("top"); return { top: top2, left: left2, right: (node.offsetWidth || 0) + left2, bottom: (node.offsetHeight || 0) + top2 }; } function pageOffset(dir) { if (dir === "left") return window.pageXOffset || document.body.scrollLeft || 0; if (dir === "top") return window.pageYOffset || document.body.scrollTop || 0; } var BackgroundCells = function(_React$Component) { function BackgroundCells2(props, context) { var _this; _classCallCheck(this, BackgroundCells2); _this = _callSuper(this, BackgroundCells2, [props, context]); _this.state = { selecting: false }; _this.containerRef = (0, import_react25.createRef)(); return _this; } _inherits(BackgroundCells2, _React$Component); return _createClass(BackgroundCells2, [{ key: "componentDidMount", value: function componentDidMount() { this.props.selectable && this._selectable(); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this._teardownSelectable(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps) { if (!prevProps.selectable && this.props.selectable) this._selectable(); if (prevProps.selectable && !this.props.selectable) this._teardownSelectable(); } }, { key: "render", value: function render() { var _this$props = this.props, range2 = _this$props.range, getNow2 = _this$props.getNow, getters = _this$props.getters, currentDate = _this$props.date, Wrapper = _this$props.components.dateCellWrapper, localizer = _this$props.localizer; var _this$state = this.state, selecting = _this$state.selecting, startIdx = _this$state.startIdx, endIdx = _this$state.endIdx; var current = getNow2(); return import_react25.default.createElement("div", { className: "rbc-row-bg", ref: this.containerRef }, range2.map(function(date2, index) { var selected = selecting && index >= startIdx && index <= endIdx; var _getters$dayProp = getters.dayProp(date2), className = _getters$dayProp.className, style2 = _getters$dayProp.style; return import_react25.default.createElement(Wrapper, { key: index, value: date2, range: range2 }, import_react25.default.createElement("div", { style: style2, className: clsx_m_default("rbc-day-bg", className, selected && "rbc-selected-cell", localizer.isSameDate(date2, current) && "rbc-today", currentDate && localizer.neq(currentDate, date2, "month") && "rbc-off-range-bg") })); })); } }, { key: "_selectable", value: function _selectable() { var _this2 = this; var node = this.containerRef.current; var selector = this._selector = new Selection(this.props.container, { longPressThreshold: this.props.longPressThreshold }); var selectorClicksHandler = function selectorClicksHandler2(point, actionType) { if (!isEvent(node, point) && !isShowMore(node, point)) { var rowBox = getBoundsForNode(node); var _this2$props = _this2.props, range2 = _this2$props.range, rtl = _this2$props.rtl; if (pointInBox(rowBox, point)) { var currentCell = getSlotAtX(rowBox, point.x, rtl, range2.length); _this2._selectSlot({ startIdx: currentCell, endIdx: currentCell, action: actionType, box: point }); } } _this2._initial = {}; _this2.setState({ selecting: false }); }; selector.on("selecting", function(box) { var _this2$props2 = _this2.props, range2 = _this2$props2.range, rtl = _this2$props2.rtl; var startIdx = -1; var endIdx = -1; if (!_this2.state.selecting) { notify(_this2.props.onSelectStart, [box]); _this2._initial = { x: box.x, y: box.y }; } if (selector.isSelected(node)) { var nodeBox = getBoundsForNode(node); var _dateCellSelection = dateCellSelection(_this2._initial, nodeBox, box, range2.length, rtl); startIdx = _dateCellSelection.startIdx; endIdx = _dateCellSelection.endIdx; } _this2.setState({ selecting: true, startIdx, endIdx }); }); selector.on("beforeSelect", function(box) { if (_this2.props.selectable !== "ignoreEvents") return; return !isEvent(_this2.containerRef.current, box); }); selector.on("click", function(point) { return selectorClicksHandler(point, "click"); }); selector.on("doubleClick", function(point) { return selectorClicksHandler(point, "doubleClick"); }); selector.on("select", function(bounds) { _this2._selectSlot(_objectSpread2(_objectSpread2({}, _this2.state), {}, { action: "select", bounds })); _this2._initial = {}; _this2.setState({ selecting: false }); notify(_this2.props.onSelectEnd, [_this2.state]); }); } }, { key: "_teardownSelectable", value: function _teardownSelectable() { if (!this._selector) return; this._selector.teardown(); this._selector = null; } }, { key: "_selectSlot", value: function _selectSlot(_ref) { var endIdx = _ref.endIdx, startIdx = _ref.startIdx, action = _ref.action, bounds = _ref.bounds, box = _ref.box; if (endIdx !== -1 && startIdx !== -1) this.props.onSelectSlot && this.props.onSelectSlot({ start: startIdx, end: endIdx, action, bounds, box, resourceId: this.props.resourceId }); } }]); }(import_react25.default.Component); var EventRowMixin = { propTypes: { slotMetrics: import_prop_types7.default.object.isRequired, selected: import_prop_types7.default.object, isAllDay: import_prop_types7.default.bool, accessors: import_prop_types7.default.object.isRequired, localizer: import_prop_types7.default.object.isRequired, components: import_prop_types7.default.object.isRequired, getters: import_prop_types7.default.object.isRequired, onSelect: import_prop_types7.default.func, onDoubleClick: import_prop_types7.default.func, onKeyPress: import_prop_types7.default.func }, defaultProps: { segments: [], selected: {} }, renderEvent: function renderEvent(props, event) { var selected = props.selected; props.isAllDay; var accessors = props.accessors, getters = props.getters, onSelect = props.onSelect, onDoubleClick = props.onDoubleClick, onKeyPress = props.onKeyPress, localizer = props.localizer, slotMetrics = props.slotMetrics, components2 = props.components, resizable = props.resizable; var continuesPrior2 = slotMetrics.continuesPrior(event); var continuesAfter2 = slotMetrics.continuesAfter(event); return import_react25.default.createElement(EventCell, { event, getters, localizer, accessors, components: components2, onSelect, onDoubleClick, onKeyPress, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, slotStart: slotMetrics.first, slotEnd: slotMetrics.last, selected: isSelected(event, selected), resizable }); }, renderSpan: function renderSpan(slots, len, key) { var content = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : " "; var per = Math.abs(len) / slots * 100 + "%"; return import_react25.default.createElement("div", { key, className: "rbc-row-segment", style: { WebkitFlexBasis: per, flexBasis: per, maxWidth: per } }, content); } }; var EventRow = function(_React$Component) { function EventRow2() { _classCallCheck(this, EventRow2); return _callSuper(this, EventRow2, arguments); } _inherits(EventRow2, _React$Component); return _createClass(EventRow2, [{ key: "render", value: function render() { var _this = this; var _this$props = this.props, segments = _this$props.segments, slots = _this$props.slotMetrics.slots, className = _this$props.className; var lastEnd = 1; return import_react25.default.createElement("div", { className: clsx_m_default(className, "rbc-row") }, segments.reduce(function(row, _ref, li) { var event = _ref.event, left2 = _ref.left, right2 = _ref.right, span = _ref.span; var key = "_lvl_" + li; var gap = left2 - lastEnd; var content = EventRowMixin.renderEvent(_this.props, event); if (gap) row.push(EventRowMixin.renderSpan(slots, gap, "".concat(key, "_gap"))); row.push(EventRowMixin.renderSpan(slots, span, key, content)); lastEnd = right2 + 1; return row; }, [])); } }]); }(import_react25.default.Component); EventRow.defaultProps = _objectSpread2({}, EventRowMixin.defaultProps); function endOfRange(_ref) { var dateRange = _ref.dateRange, _ref$unit = _ref.unit, unit = _ref$unit === void 0 ? "day" : _ref$unit, localizer = _ref.localizer; return { first: dateRange[0], last: localizer.add(dateRange[dateRange.length - 1], 1, unit) }; } function eventSegments(event, range2, accessors, localizer) { var _endOfRange = endOfRange({ dateRange: range2, localizer }), first = _endOfRange.first, last = _endOfRange.last; var slots = localizer.diff(first, last, "day"); var start2 = localizer.max(localizer.startOf(accessors.start(event), "day"), first); var end2 = localizer.min(localizer.ceil(accessors.end(event), "day"), last); var padding = (0, import_findIndex.default)(range2, function(x) { return localizer.isSameDate(x, start2); }); var span = localizer.diff(start2, end2, "day"); span = Math.min(span, slots); span = Math.max(span - localizer.segmentOffset, 1); return { event, span, left: padding + 1, right: Math.max(padding + span, 1) }; } function eventLevels(rowSegments) { var limit = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : Infinity; var i, j, seg, levels = [], extra = []; for (i = 0; i < rowSegments.length; i++) { seg = rowSegments[i]; for (j = 0; j < levels.length; j++) if (!segsOverlap(seg, levels[j])) break; if (j >= limit) { extra.push(seg); } else { (levels[j] || (levels[j] = [])).push(seg); } } for (i = 0; i < levels.length; i++) { levels[i].sort(function(a, b) { return a.left - b.left; }); } return { levels, extra }; } function inRange2(e, start2, end2, accessors, localizer) { var event = { start: accessors.start(e), end: accessors.end(e) }; var range2 = { start: start2, end: end2 }; return localizer.inEventRange({ event, range: range2 }); } function segsOverlap(seg, otherSegs) { return otherSegs.some(function(otherSeg) { return otherSeg.left <= seg.right && otherSeg.right >= seg.left; }); } function sortWeekEvents(events, accessors, localizer) { var base = _toConsumableArray(events); var multiDayEvents = []; var standardEvents = []; base.forEach(function(event) { var startCheck = accessors.start(event); var endCheck = accessors.end(event); if (localizer.daySpan(startCheck, endCheck) > 1) { multiDayEvents.push(event); } else { standardEvents.push(event); } }); var multiSorted = multiDayEvents.sort(function(a, b) { return sortEvents(a, b, accessors, localizer); }); var standardSorted = standardEvents.sort(function(a, b) { return sortEvents(a, b, accessors, localizer); }); return [].concat(_toConsumableArray(multiSorted), _toConsumableArray(standardSorted)); } function sortEvents(eventA, eventB, accessors, localizer) { var evtA = { start: accessors.start(eventA), end: accessors.end(eventA), allDay: accessors.allDay(eventA) }; var evtB = { start: accessors.start(eventB), end: accessors.end(eventB), allDay: accessors.allDay(eventB) }; return localizer.sortEvents({ evtA, evtB }); } var isSegmentInSlot$1 = function isSegmentInSlot(seg, slot) { return seg.left <= slot && seg.right >= slot; }; var eventsInSlot = function eventsInSlot2(segments, slot) { return segments.filter(function(seg) { return isSegmentInSlot$1(seg, slot); }).map(function(seg) { return seg.event; }); }; var EventEndingRow = function(_React$Component) { function EventEndingRow2() { _classCallCheck(this, EventEndingRow2); return _callSuper(this, EventEndingRow2, arguments); } _inherits(EventEndingRow2, _React$Component); return _createClass(EventEndingRow2, [{ key: "render", value: function render() { var _this$props = this.props, segments = _this$props.segments, slots = _this$props.slotMetrics.slots; var rowSegments = eventLevels(segments).levels[0]; var current = 1, lastEnd = 1, row = []; while (current <= slots) { var key = "_lvl_" + current; var _ref = rowSegments.filter(function(seg) { return isSegmentInSlot$1(seg, current); })[0] || {}, event = _ref.event, left2 = _ref.left, right2 = _ref.right, span = _ref.span; if (!event) { var hiddenEvents = this.getHiddenEventsForSlot(segments, current); if (hiddenEvents.length > 0) { var _gap = current - lastEnd; if (_gap) { row.push(EventRowMixin.renderSpan(slots, _gap, key + "_gap")); } row.push(EventRowMixin.renderSpan(slots, 1, key, this.renderShowMore(segments, current))); lastEnd = current = current + 1; continue; } current++; continue; } var gap = Math.max(0, left2 - lastEnd); if (this.canRenderSlotEvent(left2, span)) { var content = EventRowMixin.renderEvent(this.props, event); if (gap) { row.push(EventRowMixin.renderSpan(slots, gap, key + "_gap")); } row.push(EventRowMixin.renderSpan(slots, span, key, content)); lastEnd = current = right2 + 1; } else { if (gap) { row.push(EventRowMixin.renderSpan(slots, gap, key + "_gap")); } row.push(EventRowMixin.renderSpan(slots, 1, key, this.renderShowMore(segments, current))); lastEnd = current = current + 1; } } return import_react25.default.createElement("div", { className: "rbc-row" }, row); } // New helper method to find hidden events for a slot }, { key: "getHiddenEventsForSlot", value: function getHiddenEventsForSlot(segments, slot) { var allEventsInSlot = eventsInSlot(segments, slot); var rowSegments = eventLevels(segments).levels[0]; var visibleEventsInSlot = rowSegments.filter(function(seg) { return isSegmentInSlot$1(seg, slot); }).map(function(seg) { return seg.event; }); return allEventsInSlot.filter(function(event) { return !visibleEventsInSlot.some(function(visEvent) { return visEvent === event; }); }); } }, { key: "canRenderSlotEvent", value: function canRenderSlotEvent(slot, span) { var segments = this.props.segments; return (0, import_range.default)(slot, slot + span).every(function(s) { var count = eventsInSlot(segments, s).length; return count === 1; }); } }, { key: "renderShowMore", value: function renderShowMore(segments, slot) { var _this = this; var _this$props2 = this.props, localizer = _this$props2.localizer, slotMetrics = _this$props2.slotMetrics, components2 = _this$props2.components; var events = slotMetrics.getEventsForSlot(slot); var remainingEvents = eventsInSlot(segments, slot); var count = remainingEvents.length; if (components2 !== null && components2 !== void 0 && components2.showMore) { var ShowMore = components2.showMore; var slotDate = slotMetrics.getDateForSlot(slot - 1); return count ? import_react25.default.createElement(ShowMore, { localizer, slotDate, slot, count, events, remainingEvents }) : false; } return count ? import_react25.default.createElement("button", { type: "button", key: "sm_" + slot, className: clsx_m_default("rbc-button-link", "rbc-show-more"), onClick: function onClick(e) { return _this.showMore(slot, e); } }, localizer.messages.showMore(count, remainingEvents, events)) : false; } }, { key: "showMore", value: function showMore2(slot, e) { e.preventDefault(); e.stopPropagation(); this.props.onShowMore(slot, e.target); } }]); }(import_react25.default.Component); EventEndingRow.defaultProps = _objectSpread2({}, EventRowMixin.defaultProps); var ScrollableWeekWrapper = function ScrollableWeekWrapper2(_ref) { var children = _ref.children; return import_react25.default.createElement("div", { className: "rbc-row-content-scroll-container" }, children); }; var isSegmentInSlot2 = function isSegmentInSlot3(seg, slot) { return seg.left <= slot && seg.right >= slot; }; var isEqual2 = function isEqual3(a, b) { return a[0].range === b[0].range && a[0].events === b[0].events; }; function getSlotMetrics$1() { return memoizeOne(function(options) { var range2 = options.range, events = options.events, maxRows = options.maxRows, minRows = options.minRows, accessors = options.accessors, localizer = options.localizer; var _endOfRange = endOfRange({ dateRange: range2, localizer }), first = _endOfRange.first, last = _endOfRange.last; var segments = events.map(function(evt) { return eventSegments(evt, range2, accessors, localizer); }); var _eventLevels = eventLevels(segments, Math.max(maxRows - 1, 1)), levels = _eventLevels.levels, extra = _eventLevels.extra; var minEventRows = extra.length > 0 ? minRows - 1 : minRows; while (levels.length < minEventRows) levels.push([]); return { first, last, levels, extra, range: range2, slots: range2.length, clone: function clone(args) { var metrics = getSlotMetrics$1(); return metrics(_objectSpread2(_objectSpread2({}, options), args)); }, getDateForSlot: function getDateForSlot(slotNumber) { return range2[slotNumber]; }, getSlotForDate: function getSlotForDate(date2) { return range2.find(function(r2) { return localizer.isSameDate(r2, date2); }); }, getEventsForSlot: function getEventsForSlot(slot) { return segments.filter(function(seg) { return isSegmentInSlot2(seg, slot); }).map(function(seg) { return seg.event; }); }, continuesPrior: function continuesPrior2(event) { return localizer.continuesPrior(accessors.start(event), first); }, continuesAfter: function continuesAfter2(event) { var start2 = accessors.start(event); var end2 = accessors.end(event); return localizer.continuesAfter(start2, end2, last); } }; }, isEqual2); } var DateContentRow = function(_React$Component) { function DateContentRow2() { var _this; _classCallCheck(this, DateContentRow2); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, DateContentRow2, [].concat(args)); _this.handleSelectSlot = function(slot) { var _this$props = _this.props, range2 = _this$props.range, onSelectSlot = _this$props.onSelectSlot; onSelectSlot(range2.slice(slot.start, slot.end + 1), slot); }; _this.handleShowMore = function(slot, target) { var _this$props2 = _this.props, range2 = _this$props2.range, onShowMore = _this$props2.onShowMore; var metrics = _this.slotMetrics(_this.props); var row = qsa(_this.containerRef.current, ".rbc-row-bg")[0]; var cell; if (row) cell = row.children[slot - 1]; var events = metrics.getEventsForSlot(slot); onShowMore(events, range2[slot - 1], cell, slot, target); }; _this.getContainer = function() { var container = _this.props.container; return container ? container() : _this.containerRef.current; }; _this.renderHeadingCell = function(date2, index) { var _this$props3 = _this.props, renderHeader = _this$props3.renderHeader, getNow2 = _this$props3.getNow, localizer = _this$props3.localizer; return renderHeader({ date: date2, key: "header_".concat(index), className: clsx_m_default("rbc-date-cell", localizer.isSameDate(date2, getNow2()) && "rbc-now") }); }; _this.renderDummy = function() { var _this$props4 = _this.props, className = _this$props4.className, range2 = _this$props4.range, renderHeader = _this$props4.renderHeader, showAllEvents = _this$props4.showAllEvents; return import_react25.default.createElement("div", { className, ref: _this.containerRef }, import_react25.default.createElement("div", { className: clsx_m_default("rbc-row-content", showAllEvents && "rbc-row-content-scrollable") }, renderHeader && import_react25.default.createElement("div", { className: "rbc-row", ref: _this.headingRowRef }, range2.map(_this.renderHeadingCell)), import_react25.default.createElement("div", { className: "rbc-row", ref: _this.eventRowRef }, import_react25.default.createElement("div", { className: "rbc-row-segment" }, import_react25.default.createElement("div", { className: "rbc-event" }, import_react25.default.createElement("div", { className: "rbc-event-content" }, " ")))))); }; _this.containerRef = (0, import_react25.createRef)(); _this.headingRowRef = (0, import_react25.createRef)(); _this.eventRowRef = (0, import_react25.createRef)(); _this.slotMetrics = getSlotMetrics$1(); return _this; } _inherits(DateContentRow2, _React$Component); return _createClass(DateContentRow2, [{ key: "getRowLimit", value: function getRowLimit() { var _this$headingRowRef; var eventHeight = height(this.eventRowRef.current); var headingHeight = (_this$headingRowRef = this.headingRowRef) !== null && _this$headingRowRef !== void 0 && _this$headingRowRef.current ? height(this.headingRowRef.current) : 0; var eventSpace = height(this.containerRef.current) - headingHeight; return Math.max(Math.floor(eventSpace / eventHeight), 1); } }, { key: "render", value: function render() { var _this$props5 = this.props, date2 = _this$props5.date, rtl = _this$props5.rtl, range2 = _this$props5.range, className = _this$props5.className, selected = _this$props5.selected, selectable = _this$props5.selectable, renderForMeasure = _this$props5.renderForMeasure, accessors = _this$props5.accessors, getters = _this$props5.getters, components2 = _this$props5.components, getNow2 = _this$props5.getNow, renderHeader = _this$props5.renderHeader, onSelect = _this$props5.onSelect, localizer = _this$props5.localizer, onSelectStart = _this$props5.onSelectStart, onSelectEnd = _this$props5.onSelectEnd, onDoubleClick = _this$props5.onDoubleClick, onKeyPress = _this$props5.onKeyPress, resourceId = _this$props5.resourceId, longPressThreshold = _this$props5.longPressThreshold, isAllDay = _this$props5.isAllDay, resizable = _this$props5.resizable, showAllEvents = _this$props5.showAllEvents; if (renderForMeasure) return this.renderDummy(); var metrics = this.slotMetrics(this.props); var levels = metrics.levels, extra = metrics.extra; var ScrollableWeekComponent = showAllEvents ? ScrollableWeekWrapper : NoopWrapper; var WeekWrapper = components2.weekWrapper; var eventRowProps = { selected, accessors, getters, localizer, components: components2, onSelect, onDoubleClick, onKeyPress, resourceId, slotMetrics: metrics, resizable }; return import_react25.default.createElement("div", { className, role: "rowgroup", ref: this.containerRef }, import_react25.default.createElement(BackgroundCells, { localizer, date: date2, getNow: getNow2, rtl, range: range2, selectable, container: this.getContainer, getters, onSelectStart, onSelectEnd, onSelectSlot: this.handleSelectSlot, components: components2, longPressThreshold, resourceId }), import_react25.default.createElement("div", { className: clsx_m_default("rbc-row-content", showAllEvents && "rbc-row-content-scrollable"), role: "row" }, renderHeader && import_react25.default.createElement("div", { className: "rbc-row ", ref: this.headingRowRef }, range2.map(this.renderHeadingCell)), import_react25.default.createElement(ScrollableWeekComponent, null, import_react25.default.createElement(WeekWrapper, Object.assign({ isAllDay }, eventRowProps, { rtl: this.props.rtl }), levels.map(function(segs, idx) { return import_react25.default.createElement(EventRow, Object.assign({ key: idx, segments: segs }, eventRowProps)); }), !!extra.length && import_react25.default.createElement(EventEndingRow, Object.assign({ segments: extra, onShowMore: this.handleShowMore }, eventRowProps)))))); } }]); }(import_react25.default.Component); DateContentRow.defaultProps = { minRows: 0, maxRows: Infinity }; var Header = function Header2(_ref) { var label = _ref.label; return import_react25.default.createElement("span", { role: "columnheader", "aria-sort": "none" }, label); }; var DateHeader = function DateHeader2(_ref) { var label = _ref.label, drilldownView = _ref.drilldownView, onDrillDown = _ref.onDrillDown; if (!drilldownView) { return import_react25.default.createElement("span", null, label); } return import_react25.default.createElement("button", { type: "button", className: "rbc-button-link", onClick: onDrillDown }, label); }; var _excluded$6 = ["date", "className"]; var eventsForWeek = function eventsForWeek2(evts, start2, end2, accessors, localizer) { return evts.filter(function(e) { return inRange2(e, start2, end2, accessors, localizer); }); }; var MonthView = function(_React$Component) { function MonthView2() { var _this; _classCallCheck(this, MonthView2); for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { _args[_key] = arguments[_key]; } _this = _callSuper(this, MonthView2, [].concat(_args)); _this.getContainer = function() { return _this.containerRef.current; }; _this.renderWeek = function(week, weekIdx) { var _this$props = _this.props, events = _this$props.events, components2 = _this$props.components, selectable = _this$props.selectable, getNow2 = _this$props.getNow, selected = _this$props.selected, date2 = _this$props.date, localizer = _this$props.localizer, longPressThreshold = _this$props.longPressThreshold, accessors = _this$props.accessors, getters = _this$props.getters, showAllEvents = _this$props.showAllEvents; var _this$state = _this.state, needLimitMeasure = _this$state.needLimitMeasure, rowLimit = _this$state.rowLimit; var weeksEvents = eventsForWeek(_toConsumableArray(events), week[0], week[week.length - 1], accessors, localizer); var sorted = sortWeekEvents(weeksEvents, accessors, localizer); return import_react25.default.createElement(DateContentRow, { key: weekIdx, ref: weekIdx === 0 ? _this.slotRowRef : void 0, container: _this.getContainer, className: "rbc-month-row", getNow: getNow2, date: date2, range: week, events: sorted, maxRows: showAllEvents ? Infinity : rowLimit, selected, selectable, components: components2, accessors, getters, localizer, renderHeader: _this.readerDateHeading, renderForMeasure: needLimitMeasure, onShowMore: _this.handleShowMore, onSelect: _this.handleSelectEvent, onDoubleClick: _this.handleDoubleClickEvent, onKeyPress: _this.handleKeyPressEvent, onSelectSlot: _this.handleSelectSlot, longPressThreshold, rtl: _this.props.rtl, resizable: _this.props.resizable, showAllEvents }); }; _this.readerDateHeading = function(_ref) { var date2 = _ref.date, className = _ref.className, props = _objectWithoutProperties(_ref, _excluded$6); var _this$props2 = _this.props, currentDate = _this$props2.date, getDrilldownView = _this$props2.getDrilldownView, localizer = _this$props2.localizer; var isOffRange = localizer.neq(currentDate, date2, "month"); var isCurrent = localizer.isSameDate(date2, currentDate); var drilldownView = getDrilldownView(date2); var label = localizer.format(date2, "dateFormat"); var DateHeaderComponent = _this.props.components.dateHeader || DateHeader; return import_react25.default.createElement("div", Object.assign({}, props, { className: clsx_m_default(className, isOffRange && "rbc-off-range", isCurrent && "rbc-current"), role: "cell" }), import_react25.default.createElement(DateHeaderComponent, { label, date: date2, drilldownView, isOffRange, onDrillDown: function onDrillDown(e) { return _this.handleHeadingClick(date2, drilldownView, e); } })); }; _this.handleSelectSlot = function(range2, slotInfo) { _this._pendingSelection = _this._pendingSelection.concat(range2); clearTimeout(_this._selectTimer); _this._selectTimer = setTimeout(function() { return _this.selectDates(slotInfo); }); }; _this.handleHeadingClick = function(date2, view, e) { e.preventDefault(); _this.clearSelection(); notify(_this.props.onDrillDown, [date2, view]); }; _this.handleSelectEvent = function() { _this.clearSelection(); for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } notify(_this.props.onSelectEvent, args); }; _this.handleDoubleClickEvent = function() { _this.clearSelection(); for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } notify(_this.props.onDoubleClickEvent, args); }; _this.handleKeyPressEvent = function() { _this.clearSelection(); for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } notify(_this.props.onKeyPressEvent, args); }; _this.handleShowMore = function(events, date2, cell, slot, target) { var _this$props3 = _this.props, popup = _this$props3.popup, onDrillDown = _this$props3.onDrillDown, onShowMore = _this$props3.onShowMore, getDrilldownView = _this$props3.getDrilldownView, doShowMoreDrillDown = _this$props3.doShowMoreDrillDown; _this.clearSelection(); if (popup) { var position2 = position(cell, _this.containerRef.current); _this.setState({ overlay: { date: date2, events, position: position2, target } }); } else if (doShowMoreDrillDown) { notify(onDrillDown, [date2, getDrilldownView(date2) || views.DAY]); } notify(onShowMore, [events, date2, slot]); }; _this.overlayDisplay = function() { _this.setState({ overlay: null }); }; _this.state = { rowLimit: 5, needLimitMeasure: true, date: null }; _this.containerRef = (0, import_react25.createRef)(); _this.slotRowRef = (0, import_react25.createRef)(); _this._bgRows = []; _this._pendingSelection = []; return _this; } _inherits(MonthView2, _React$Component); return _createClass(MonthView2, [{ key: "componentDidMount", value: function componentDidMount() { var _this2 = this; var running; if (this.state.needLimitMeasure) this.measureRowLimit(this.props); window.addEventListener("resize", this._resizeListener = function() { if (!running) { request(function() { running = false; _this2.setState({ needLimitMeasure: true }); }); } }, false); } }, { key: "componentDidUpdate", value: function componentDidUpdate() { if (this.state.needLimitMeasure) this.measureRowLimit(this.props); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener("resize", this._resizeListener, false); } }, { key: "render", value: function render() { var _this$props4 = this.props, date2 = _this$props4.date, localizer = _this$props4.localizer, className = _this$props4.className, month2 = localizer.visibleDays(date2, localizer), weeks = (0, import_chunk.default)(month2, 7); this._weekCount = weeks.length; return import_react25.default.createElement("div", { className: clsx_m_default("rbc-month-view", className), role: "table", "aria-label": "Month View", ref: this.containerRef }, import_react25.default.createElement("div", { className: "rbc-row rbc-month-header", role: "row" }, this.renderHeaders(weeks[0])), weeks.map(this.renderWeek), this.props.popup && this.renderOverlay()); } }, { key: "renderHeaders", value: function renderHeaders(row) { var _this$props5 = this.props, localizer = _this$props5.localizer, components2 = _this$props5.components; var first = row[0]; var last = row[row.length - 1]; var HeaderComponent = components2.header || Header; return localizer.range(first, last, "day").map(function(day2, idx) { return import_react25.default.createElement("div", { key: "header_" + idx, className: "rbc-header" }, import_react25.default.createElement(HeaderComponent, { date: day2, localizer, label: localizer.format(day2, "weekdayFormat") })); }); } }, { key: "renderOverlay", value: function renderOverlay() { var _this$state$overlay, _this$state2, _this3 = this; var overlay = (_this$state$overlay = (_this$state2 = this.state) === null || _this$state2 === void 0 ? void 0 : _this$state2.overlay) !== null && _this$state$overlay !== void 0 ? _this$state$overlay : {}; var _this$props6 = this.props, accessors = _this$props6.accessors, localizer = _this$props6.localizer, components2 = _this$props6.components, getters = _this$props6.getters, selected = _this$props6.selected, popupOffset = _this$props6.popupOffset, handleDragStart = _this$props6.handleDragStart; var onHide2 = function onHide3() { return _this3.setState({ overlay: null }); }; return import_react25.default.createElement(PopOverlay, { overlay, accessors, localizer, components: components2, getters, selected, popupOffset, ref: this.containerRef, handleKeyPressEvent: this.handleKeyPressEvent, handleSelectEvent: this.handleSelectEvent, handleDoubleClickEvent: this.handleDoubleClickEvent, handleDragStart, show: !!overlay.position, overlayDisplay: this.overlayDisplay, onHide: onHide2 }); } }, { key: "measureRowLimit", value: function measureRowLimit() { this.setState({ needLimitMeasure: false, rowLimit: this.slotRowRef.current.getRowLimit() }); } }, { key: "selectDates", value: function selectDates(slotInfo) { var slots = this._pendingSelection.slice(); this._pendingSelection = []; slots.sort(function(a, b) { return +a - +b; }); var start2 = new Date(slots[0]); var end2 = new Date(slots[slots.length - 1]); end2.setDate(slots[slots.length - 1].getDate() + 1); notify(this.props.onSelectSlot, { slots, start: start2, end: end2, action: slotInfo.action, bounds: slotInfo.bounds, box: slotInfo.box }); } }, { key: "clearSelection", value: function clearSelection() { clearTimeout(this._selectTimer); this._pendingSelection = []; } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(_ref2, state) { var date2 = _ref2.date, localizer = _ref2.localizer; return { date: date2, needLimitMeasure: localizer.neq(date2, state.date, "month") }; } }]); }(import_react25.default.Component); MonthView.range = function(date2, _ref3) { var localizer = _ref3.localizer; var start2 = localizer.firstVisibleDay(date2, localizer); var end2 = localizer.lastVisibleDay(date2, localizer); return { start: start2, end: end2 }; }; MonthView.navigate = function(date2, action, _ref4) { var localizer = _ref4.localizer; switch (action) { case navigate.PREVIOUS: return localizer.add(date2, -1, "month"); case navigate.NEXT: return localizer.add(date2, 1, "month"); default: return date2; } }; MonthView.title = function(date2, _ref5) { var localizer = _ref5.localizer; return localizer.format(date2, "monthHeaderFormat"); }; var getKey3 = function getKey4(_ref) { var min3 = _ref.min, max3 = _ref.max, step = _ref.step, slots = _ref.slots, localizer = _ref.localizer; return "".concat(+localizer.startOf(min3, "minutes")) + "".concat(+localizer.startOf(max3, "minutes")) + "".concat(step, "-").concat(slots); }; function getSlotMetrics(_ref2) { var start2 = _ref2.min, end2 = _ref2.max, step = _ref2.step, timeslots = _ref2.timeslots, localizer = _ref2.localizer; var key = getKey3({ start: start2, end: end2, step, timeslots, localizer }); var totalMin = 1 + localizer.getTotalMin(start2, end2); var minutesFromMidnight = localizer.getMinutesFromMidnight(start2); var numGroups = Math.ceil((totalMin - 1) / (step * timeslots)); var numSlots = numGroups * timeslots; var groups = new Array(numGroups); var slots = new Array(numSlots); for (var grp = 0; grp < numGroups; grp++) { groups[grp] = new Array(timeslots); for (var slot = 0; slot < timeslots; slot++) { var slotIdx = grp * timeslots + slot; var minFromStart = slotIdx * step; slots[slotIdx] = groups[grp][slot] = localizer.getSlotDate(start2, minutesFromMidnight, minFromStart); } } var lastSlotMinFromStart = slots.length * step; slots.push(localizer.getSlotDate(start2, minutesFromMidnight, lastSlotMinFromStart)); function positionFromDate(date2) { var diff3 = localizer.diff(start2, date2, "minutes") + localizer.getDstOffset(start2, date2); return Math.min(diff3, totalMin); } return { groups, update: function update(args) { if (getKey3(args) !== key) return getSlotMetrics(args); return this; }, dateIsInGroup: function dateIsInGroup(date2, groupIndex) { var nextGroup = groups[groupIndex + 1]; return localizer.inRange(date2, groups[groupIndex][0], nextGroup ? nextGroup[0] : end2, "minutes"); }, nextSlot: function nextSlot(slot2) { var next = slots[Math.min(slots.findIndex(function(s) { return s === slot2 || localizer.eq(s, slot2); }) + 1, slots.length - 1)]; if (localizer.eq(next, slot2)) next = localizer.add(slot2, step, "minutes"); return next; }, closestSlotToPosition: function closestSlotToPosition(percent) { var slot2 = Math.min(slots.length - 1, Math.max(0, Math.floor(percent * numSlots))); return slots[slot2]; }, closestSlotFromPoint: function closestSlotFromPoint(point, boundaryRect) { var range2 = Math.abs(boundaryRect.top - boundaryRect.bottom); return this.closestSlotToPosition((point.y - boundaryRect.top) / range2); }, closestSlotFromDate: function closestSlotFromDate(date2) { var offset3 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; if (localizer.lt(date2, start2, "minutes")) return slots[0]; if (localizer.gt(date2, end2, "minutes")) return slots[slots.length - 1]; var diffMins = localizer.diff(start2, date2, "minutes"); return slots[(diffMins - diffMins % step) / step + offset3]; }, startsBeforeDay: function startsBeforeDay(date2) { return localizer.lt(date2, start2, "day"); }, startsAfterDay: function startsAfterDay(date2) { return localizer.gt(date2, end2, "day"); }, startsBefore: function startsBefore(date2) { return localizer.lt(localizer.merge(start2, date2), start2, "minutes"); }, startsAfter: function startsAfter(date2) { return localizer.gt(localizer.merge(end2, date2), end2, "minutes"); }, getRange: function getRange(rangeStart, rangeEnd, ignoreMin, ignoreMax) { if (!ignoreMin) rangeStart = localizer.min(end2, localizer.max(start2, rangeStart)); if (!ignoreMax) rangeEnd = localizer.min(end2, localizer.max(start2, rangeEnd)); var rangeStartMin = positionFromDate(rangeStart); var rangeEndMin = positionFromDate(rangeEnd); var top2 = rangeEndMin > step * numSlots && !localizer.eq(end2, rangeEnd) ? (rangeStartMin - step) / (step * numSlots) * 100 : rangeStartMin / (step * numSlots) * 100; return { top: top2, height: rangeEndMin / (step * numSlots) * 100 - top2, start: positionFromDate(rangeStart), startDate: rangeStart, end: positionFromDate(rangeEnd), endDate: rangeEnd }; }, getCurrentTimePosition: function getCurrentTimePosition(rangeStart) { var rangeStartMin = positionFromDate(rangeStart); var top2 = rangeStartMin / (step * numSlots) * 100; return top2; } }; } var Event = function() { function Event2(data, _ref) { var accessors = _ref.accessors, slotMetrics = _ref.slotMetrics; _classCallCheck(this, Event2); var _slotMetrics$getRange = slotMetrics.getRange(accessors.start(data), accessors.end(data)), start2 = _slotMetrics$getRange.start, startDate = _slotMetrics$getRange.startDate, end2 = _slotMetrics$getRange.end, endDate = _slotMetrics$getRange.endDate, top2 = _slotMetrics$getRange.top, height2 = _slotMetrics$getRange.height; this.start = start2; this.end = end2; this.startMs = +startDate; this.endMs = +endDate; this.top = top2; this.height = height2; this.data = data; } return _createClass(Event2, [{ key: "_width", get: function get() { if (this.rows) { var columns = this.rows.reduce( function(max3, row) { return Math.max(max3, row.leaves.length + 1); }, // add itself 0 ) + 1; return 100 / columns; } if (this.leaves) { var availableWidth = 100 - this.container._width; return availableWidth / (this.leaves.length + 1); } return this.row._width; } /** * The event's calculated width, possibly with extra width added for * overlapping effect. */ }, { key: "width", get: function get() { var noOverlap2 = this._width; var overlap = Math.min(100, this._width * 1.7); if (this.rows) { return overlap; } if (this.leaves) { return this.leaves.length > 0 ? overlap : noOverlap2; } var leaves = this.row.leaves; var index = leaves.indexOf(this); return index === leaves.length - 1 ? noOverlap2 : overlap; } }, { key: "xOffset", get: function get() { if (this.rows) return 0; if (this.leaves) return this.container._width; var _this$row = this.row, leaves = _this$row.leaves, xOffset = _this$row.xOffset, _width = _this$row._width; var index = leaves.indexOf(this) + 1; return xOffset + index * _width; } }]); }(); function onSameRow(a, b, minimumStartDifference) { return ( // Occupies the same start slot. Math.abs(b.start - a.start) < minimumStartDifference || // A's start slot overlaps with b's end slot. b.start > a.start && b.start < a.end ); } function sortByRender(events) { var sortedByTime = (0, import_sortBy.default)(events, ["startMs", function(e) { return -e.endMs; }]); var sorted = []; while (sortedByTime.length > 0) { var event = sortedByTime.shift(); sorted.push(event); for (var i = 0; i < sortedByTime.length; i++) { var test = sortedByTime[i]; if (event.endMs > test.startMs) continue; if (i > 0) { var _event = sortedByTime.splice(i, 1)[0]; sorted.push(_event); } break; } } return sorted; } function getStyledEvents$1(_ref2) { var events = _ref2.events, minimumStartDifference = _ref2.minimumStartDifference, slotMetrics = _ref2.slotMetrics, accessors = _ref2.accessors; var proxies = events.map(function(event) { return new Event(event, { slotMetrics, accessors }); }); var eventsInRenderOrder = sortByRender(proxies); var containerEvents = []; var _loop = function _loop2() { var event = eventsInRenderOrder[i]; var container = containerEvents.find(function(c) { return c.end > event.start || Math.abs(event.start - c.start) < minimumStartDifference; }); if (!container) { event.rows = []; containerEvents.push(event); return 1; } event.container = container; var row = null; for (var j = container.rows.length - 1; !row && j >= 0; j--) { if (onSameRow(container.rows[j], event, minimumStartDifference)) { row = container.rows[j]; } } if (row) { row.leaves.push(event); event.row = row; } else { event.leaves = []; container.rows.push(event); } }; for (var i = 0; i < eventsInRenderOrder.length; i++) { if (_loop()) continue; } return eventsInRenderOrder.map(function(event) { return { event: event.data, style: { top: event.top, height: event.height, width: event.width, xOffset: Math.max(0, event.xOffset) } }; }); } function getMaxIdxDFS(node, maxIdx, visited) { for (var i = 0; i < node.friends.length; ++i) { if (visited.indexOf(node.friends[i]) > -1) continue; maxIdx = maxIdx > node.friends[i].idx ? maxIdx : node.friends[i].idx; visited.push(node.friends[i]); var newIdx = getMaxIdxDFS(node.friends[i], maxIdx, visited); maxIdx = maxIdx > newIdx ? maxIdx : newIdx; } return maxIdx; } function noOverlap(_ref) { var events = _ref.events, minimumStartDifference = _ref.minimumStartDifference, slotMetrics = _ref.slotMetrics, accessors = _ref.accessors; var styledEvents = getStyledEvents$1({ events, minimumStartDifference, slotMetrics, accessors }); styledEvents.sort(function(a, b) { a = a.style; b = b.style; if (a.top !== b.top) return a.top > b.top ? 1 : -1; else if (a.height !== b.height) return a.top + a.height < b.top + b.height ? 1 : -1; else return 0; }); for (var i = 0; i < styledEvents.length; ++i) { styledEvents[i].friends = []; delete styledEvents[i].style.left; delete styledEvents[i].style.left; delete styledEvents[i].idx; delete styledEvents[i].size; } for (var _i2 = 0; _i2 < styledEvents.length - 1; ++_i2) { var se1 = styledEvents[_i2]; var y1 = se1.style.top; var y2 = se1.style.top + se1.style.height; for (var j = _i2 + 1; j < styledEvents.length; ++j) { var se2 = styledEvents[j]; var y3 = se2.style.top; var y4 = se2.style.top + se2.style.height; if (y3 >= y1 && y4 <= y2 || y4 > y1 && y4 <= y2 || y3 >= y1 && y3 < y2) { se1.friends.push(se2); se2.friends.push(se1); } } } for (var _i4 = 0; _i4 < styledEvents.length; ++_i4) { var se = styledEvents[_i4]; var bitmap = []; for (var _j2 = 0; _j2 < 100; ++_j2) bitmap.push(1); for (var _j4 = 0; _j4 < se.friends.length; ++_j4) if (se.friends[_j4].idx !== void 0) bitmap[se.friends[_j4].idx] = 0; se.idx = bitmap.indexOf(1); } for (var _i6 = 0; _i6 < styledEvents.length; ++_i6) { var size2 = 0; if (styledEvents[_i6].size) continue; var allFriends = []; var maxIdx = getMaxIdxDFS(styledEvents[_i6], 0, allFriends); size2 = 100 / (maxIdx + 1); styledEvents[_i6].size = size2; for (var _j6 = 0; _j6 < allFriends.length; ++_j6) allFriends[_j6].size = size2; } for (var _i8 = 0; _i8 < styledEvents.length; ++_i8) { var e = styledEvents[_i8]; e.style.left = e.idx * e.size; var _maxIdx = 0; for (var _j8 = 0; _j8 < e.friends.length; ++_j8) { var idx = e.friends[_j8].idx; _maxIdx = _maxIdx > idx ? _maxIdx : idx; } if (_maxIdx <= e.idx) e.size = 100 - e.idx * e.size; var padding = e.idx === 0 ? 0 : 3; e.style.width = "calc(".concat(e.size, "% - ").concat(padding, "px)"); e.style.height = "calc(".concat(e.style.height, "% - 2px)"); e.style.xOffset = "calc(".concat(e.style.left, "% + ").concat(padding, "px)"); } return styledEvents; } var DefaultAlgorithms = { overlap: getStyledEvents$1, "no-overlap": noOverlap }; function isFunction(a) { return !!(a && a.constructor && a.call && a.apply); } function getStyledEvents(_ref) { _ref.events; _ref.minimumStartDifference; _ref.slotMetrics; _ref.accessors; var dayLayoutAlgorithm = _ref.dayLayoutAlgorithm; var algorithm = dayLayoutAlgorithm; if (dayLayoutAlgorithm in DefaultAlgorithms) algorithm = DefaultAlgorithms[dayLayoutAlgorithm]; if (!isFunction(algorithm)) { return []; } return algorithm.apply(this, arguments); } var TimeSlotGroup = function(_Component) { function TimeSlotGroup2() { _classCallCheck(this, TimeSlotGroup2); return _callSuper(this, TimeSlotGroup2, arguments); } _inherits(TimeSlotGroup2, _Component); return _createClass(TimeSlotGroup2, [{ key: "render", value: function render() { var _this$props = this.props, renderSlot = _this$props.renderSlot, resource = _this$props.resource, group = _this$props.group, getters = _this$props.getters, _this$props$component = _this$props.components, _this$props$component2 = _this$props$component === void 0 ? {} : _this$props$component, _this$props$component3 = _this$props$component2.timeSlotWrapper, Wrapper = _this$props$component3 === void 0 ? NoopWrapper : _this$props$component3; var groupProps = getters ? getters.slotGroupProp(group) : {}; return import_react25.default.createElement("div", Object.assign({ className: "rbc-timeslot-group" }, groupProps), group.map(function(value, idx) { var slotProps = getters ? getters.slotProp(value, resource) : {}; return import_react25.default.createElement(Wrapper, { key: idx, value, resource }, import_react25.default.createElement("div", Object.assign({}, slotProps, { className: clsx_m_default("rbc-time-slot", slotProps.className) }), renderSlot && renderSlot(value, idx))); })); } }]); }(import_react25.Component); function stringifyPercent(v) { return typeof v === "string" ? v : v + "%"; } function TimeGridEvent(props) { var style2 = props.style, className = props.className, event = props.event, accessors = props.accessors, rtl = props.rtl, selected = props.selected, label = props.label, continuesPrior2 = props.continuesPrior, continuesAfter2 = props.continuesAfter, getters = props.getters, onClick = props.onClick, onDoubleClick = props.onDoubleClick, isBackgroundEvent = props.isBackgroundEvent, onKeyPress = props.onKeyPress, _props$components = props.components, Event2 = _props$components.event, EventWrapper = _props$components.eventWrapper; var title = accessors.title(event); var tooltip = accessors.tooltip(event); var end2 = accessors.end(event); var start2 = accessors.start(event); var userProps = getters.eventProp(event, start2, end2, selected); var inner = [import_react25.default.createElement("div", { key: "1", className: "rbc-event-label" }, label), import_react25.default.createElement("div", { key: "2", className: "rbc-event-content" }, Event2 ? import_react25.default.createElement(Event2, { event, title }) : title)]; var height2 = style2.height, top2 = style2.top, width = style2.width, xOffset = style2.xOffset; var eventStyle = _objectSpread2(_objectSpread2({}, userProps.style), {}, _defineProperty({ top: stringifyPercent(top2), height: stringifyPercent(height2), width: stringifyPercent(width) }, rtl ? "right" : "left", stringifyPercent(xOffset))); return import_react25.default.createElement(EventWrapper, Object.assign({ type: "time" }, props), import_react25.default.createElement("div", { role: "button", tabIndex: 0, onClick, onDoubleClick, style: eventStyle, onKeyDown: onKeyPress, title: tooltip ? (typeof label === "string" ? label + ": " : "") + tooltip : void 0, className: clsx_m_default(isBackgroundEvent ? "rbc-background-event" : "rbc-event", className, userProps.className, { "rbc-selected": selected, "rbc-event-continues-earlier": continuesPrior2, "rbc-event-continues-later": continuesAfter2 }) }, inner)); } var DayColumnWrapper = function DayColumnWrapper2(_ref) { var children = _ref.children, className = _ref.className, style2 = _ref.style, innerRef = _ref.innerRef; return import_react25.default.createElement("div", { className, style: style2, ref: innerRef }, children); }; var DayColumnWrapper$1 = import_react25.default.forwardRef(function(props, ref) { return import_react25.default.createElement(DayColumnWrapper, Object.assign({}, props, { innerRef: ref })); }); var _excluded$5 = ["dayProp"]; var _excluded2$1 = ["eventContainerWrapper", "timeIndicatorWrapper"]; var DayColumn = function(_React$Component) { function DayColumn2() { var _this; _classCallCheck(this, DayColumn2); for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { _args[_key] = arguments[_key]; } _this = _callSuper(this, DayColumn2, [].concat(_args)); _this.state = { selecting: false, timeIndicatorPosition: null }; _this.intervalTriggered = false; _this.renderEvents = function(_ref) { var events = _ref.events, isBackgroundEvent = _ref.isBackgroundEvent; var _this$props = _this.props, rtl = _this$props.rtl, selected = _this$props.selected, accessors = _this$props.accessors, localizer = _this$props.localizer, getters = _this$props.getters, components2 = _this$props.components, step = _this$props.step, timeslots = _this$props.timeslots, dayLayoutAlgorithm = _this$props.dayLayoutAlgorithm, resizable = _this$props.resizable; var _this2 = _this, slotMetrics = _this2.slotMetrics; var messages2 = localizer.messages; var styledEvents = getStyledEvents({ events, accessors, slotMetrics, minimumStartDifference: Math.ceil(step * timeslots / 2), dayLayoutAlgorithm }); return styledEvents.map(function(_ref2, idx) { var _accessors$eventId; var event = _ref2.event, style2 = _ref2.style; var end2 = accessors.end(event); var start2 = accessors.start(event); var key = (_accessors$eventId = accessors.eventId(event)) !== null && _accessors$eventId !== void 0 ? _accessors$eventId : "evt_" + idx; var format = "eventTimeRangeFormat"; var label; var startsBeforeDay = slotMetrics.startsBeforeDay(start2); var startsAfterDay = slotMetrics.startsAfterDay(end2); if (startsBeforeDay) format = "eventTimeRangeEndFormat"; else if (startsAfterDay) format = "eventTimeRangeStartFormat"; if (startsBeforeDay && startsAfterDay) label = messages2.allDay; else label = localizer.format({ start: start2, end: end2 }, format); var continuesPrior2 = startsBeforeDay || slotMetrics.startsBefore(start2); var continuesAfter2 = startsAfterDay || slotMetrics.startsAfter(end2); return import_react25.default.createElement(TimeGridEvent, { style: style2, event, label, key, getters, rtl, components: components2, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, accessors, resource: _this.props.resource, selected: isSelected(event, selected), onClick: function onClick(e) { return _this._select(_objectSpread2(_objectSpread2(_objectSpread2({}, event), _this.props.resource && { sourceResource: _this.props.resource }), isBackgroundEvent && { isBackgroundEvent: true }), e); }, onDoubleClick: function onDoubleClick(e) { return _this._doubleClick(event, e); }, isBackgroundEvent, onKeyPress: function onKeyPress(e) { return _this._keyPress(event, e); }, resizable }); }); }; _this._selectable = function() { var node = _this.containerRef.current; var _this$props2 = _this.props, longPressThreshold = _this$props2.longPressThreshold, localizer = _this$props2.localizer; var selector = _this._selector = new Selection(function() { return node; }, { longPressThreshold }); var maybeSelect = function maybeSelect2(box) { var onSelecting = _this.props.onSelecting; var current = _this.state || {}; var state = selectionState(box); var start2 = state.startDate, end2 = state.endDate; if (onSelecting) { if (localizer.eq(current.startDate, start2, "minutes") && localizer.eq(current.endDate, end2, "minutes") || onSelecting({ start: start2, end: end2, resourceId: _this.props.resource }) === false) return; } if (_this.state.start !== state.start || _this.state.end !== state.end || _this.state.selecting !== state.selecting) { _this.setState(state); } }; var selectionState = function selectionState2(point) { var currentSlot = _this.slotMetrics.closestSlotFromPoint(point, getBoundsForNode(node)); if (!_this.state.selecting) { _this._initialSlot = currentSlot; } var initialSlot = _this._initialSlot; if (localizer.lte(initialSlot, currentSlot)) { currentSlot = _this.slotMetrics.nextSlot(currentSlot); } else if (localizer.gt(initialSlot, currentSlot)) { initialSlot = _this.slotMetrics.nextSlot(initialSlot); } var selectRange = _this.slotMetrics.getRange(localizer.min(initialSlot, currentSlot), localizer.max(initialSlot, currentSlot)); return _objectSpread2(_objectSpread2({}, selectRange), {}, { selecting: true, top: "".concat(selectRange.top, "%"), height: "".concat(selectRange.height, "%") }); }; var selectorClicksHandler = function selectorClicksHandler2(box, actionType) { if (!isEvent(_this.containerRef.current, box)) { var _selectionState = selectionState(box), startDate = _selectionState.startDate, endDate = _selectionState.endDate; _this._selectSlot({ startDate, endDate, action: actionType, box }); } _this.setState({ selecting: false }); }; selector.on("selecting", maybeSelect); selector.on("selectStart", maybeSelect); selector.on("beforeSelect", function(box) { if (_this.props.selectable !== "ignoreEvents") return; return !isEvent(_this.containerRef.current, box); }); selector.on("click", function(box) { return selectorClicksHandler(box, "click"); }); selector.on("doubleClick", function(box) { return selectorClicksHandler(box, "doubleClick"); }); selector.on("select", function(bounds) { if (_this.state.selecting) { _this._selectSlot(_objectSpread2(_objectSpread2({}, _this.state), {}, { action: "select", bounds })); _this.setState({ selecting: false }); } }); selector.on("reset", function() { if (_this.state.selecting) { _this.setState({ selecting: false }); } }); }; _this._teardownSelectable = function() { if (!_this._selector) return; _this._selector.teardown(); _this._selector = null; }; _this._selectSlot = function(_ref3) { var startDate = _ref3.startDate, endDate = _ref3.endDate, action = _ref3.action, bounds = _ref3.bounds, box = _ref3.box; var current = startDate, slots = []; while (_this.props.localizer.lte(current, endDate)) { slots.push(current); current = new Date(+current + _this.props.step * 60 * 1e3); } notify(_this.props.onSelectSlot, { slots, start: startDate, end: endDate, resourceId: _this.props.resource, action, bounds, box }); }; _this._select = function() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } notify(_this.props.onSelectEvent, args); }; _this._doubleClick = function() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } notify(_this.props.onDoubleClickEvent, args); }; _this._keyPress = function() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } notify(_this.props.onKeyPressEvent, args); }; _this.slotMetrics = getSlotMetrics(_this.props); _this.containerRef = (0, import_react25.createRef)(); return _this; } _inherits(DayColumn2, _React$Component); return _createClass(DayColumn2, [{ key: "componentDidMount", value: function componentDidMount() { this.props.selectable && this._selectable(); if (this.props.isNow) { this.setTimeIndicatorPositionUpdateInterval(); } } }, { key: "componentWillUnmount", value: function componentWillUnmount() { this._teardownSelectable(); this.clearTimeIndicatorInterval(); } }, { key: "componentDidUpdate", value: function componentDidUpdate(prevProps, prevState) { if (this.props.selectable && !prevProps.selectable) this._selectable(); if (!this.props.selectable && prevProps.selectable) this._teardownSelectable(); var _this$props3 = this.props, getNow2 = _this$props3.getNow, isNow = _this$props3.isNow, localizer = _this$props3.localizer, date2 = _this$props3.date, min3 = _this$props3.min, max3 = _this$props3.max; var getNowChanged = localizer.neq(prevProps.getNow(), getNow2(), "minutes"); if (prevProps.isNow !== isNow || getNowChanged) { this.clearTimeIndicatorInterval(); if (isNow) { var tail = !getNowChanged && localizer.eq(prevProps.date, date2, "minutes") && prevState.timeIndicatorPosition === this.state.timeIndicatorPosition; this.setTimeIndicatorPositionUpdateInterval(tail); } } else if (isNow && (localizer.neq(prevProps.min, min3, "minutes") || localizer.neq(prevProps.max, max3, "minutes"))) { this.positionTimeIndicator(); } } /** * @param tail {Boolean} - whether `positionTimeIndicator` call should be * deferred or called upon setting interval (`true` - if deferred); */ }, { key: "setTimeIndicatorPositionUpdateInterval", value: function setTimeIndicatorPositionUpdateInterval() { var _this3 = this; var tail = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : false; if (!this.intervalTriggered && !tail) { this.positionTimeIndicator(); } this._timeIndicatorTimeout = window.setTimeout(function() { _this3.intervalTriggered = true; _this3.positionTimeIndicator(); _this3.setTimeIndicatorPositionUpdateInterval(); }, 6e4); } }, { key: "clearTimeIndicatorInterval", value: function clearTimeIndicatorInterval() { this.intervalTriggered = false; window.clearTimeout(this._timeIndicatorTimeout); } }, { key: "positionTimeIndicator", value: function positionTimeIndicator() { var _this$props4 = this.props, min3 = _this$props4.min, max3 = _this$props4.max, getNow2 = _this$props4.getNow; var current = getNow2(); if (current >= min3 && current <= max3) { var top2 = this.slotMetrics.getCurrentTimePosition(current); this.intervalTriggered = true; this.setState({ timeIndicatorPosition: top2 }); } else { this.clearTimeIndicatorInterval(); } } }, { key: "render", value: function render() { var _this$props5 = this.props, date2 = _this$props5.date, max3 = _this$props5.max, rtl = _this$props5.rtl, isNow = _this$props5.isNow, resource = _this$props5.resource, accessors = _this$props5.accessors, localizer = _this$props5.localizer, _this$props5$getters = _this$props5.getters, dayProp = _this$props5$getters.dayProp, getters = _objectWithoutProperties(_this$props5$getters, _excluded$5), _this$props5$componen = _this$props5.components, EventContainer = _this$props5$componen.eventContainerWrapper, TimeIndicatorWrapper = _this$props5$componen.timeIndicatorWrapper, components2 = _objectWithoutProperties(_this$props5$componen, _excluded2$1); this.slotMetrics = this.slotMetrics.update(this.props); var slotMetrics = this.slotMetrics; var _this$state = this.state, selecting = _this$state.selecting, top2 = _this$state.top, height2 = _this$state.height, startDate = _this$state.startDate, endDate = _this$state.endDate; var selectDates = { start: startDate, end: endDate }; var _dayProp = dayProp(max3, resource), className = _dayProp.className, style2 = _dayProp.style; var timeIndicatorProps = { className: "rbc-current-time-indicator", style: { top: "".concat(this.state.timeIndicatorPosition, "%") } }; var DayColumnWrapperComponent = components2.dayColumnWrapper || DayColumnWrapper$1; return import_react25.default.createElement(DayColumnWrapperComponent, { ref: this.containerRef, date: date2, style: style2, className: clsx_m_default( className, "rbc-day-slot", "rbc-time-column", isNow && "rbc-now", isNow && "rbc-today", // WHY selecting && "rbc-slot-selecting" ), slotMetrics, resource }, slotMetrics.groups.map(function(grp, idx) { return import_react25.default.createElement(TimeSlotGroup, { key: idx, group: grp, resource, getters, components: components2 }); }), import_react25.default.createElement(EventContainer, { localizer, resource, accessors, getters, components: components2, slotMetrics }, import_react25.default.createElement("div", { className: clsx_m_default("rbc-events-container", rtl && "rtl") }, this.renderEvents({ events: this.props.backgroundEvents, isBackgroundEvent: true }), this.renderEvents({ events: this.props.events }))), selecting && import_react25.default.createElement("div", { className: "rbc-slot-selection", style: { top: top2, height: height2 } }, import_react25.default.createElement("span", null, localizer.format(selectDates, "selectRangeFormat"))), isNow && this.intervalTriggered && import_react25.default.createElement(TimeIndicatorWrapper, timeIndicatorProps, import_react25.default.createElement("div", timeIndicatorProps))); } }]); }(import_react25.default.Component); DayColumn.defaultProps = { dragThroughEvents: true, timeslots: 2 }; var ResourceHeader = function ResourceHeader2(_ref) { var label = _ref.label; return import_react25.default.createElement(import_react25.default.Fragment, null, label); }; var TimeGridHeader = function(_React$Component) { function TimeGridHeader2() { var _this; _classCallCheck(this, TimeGridHeader2); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, TimeGridHeader2, [].concat(args)); _this.handleHeaderClick = function(date2, view, e) { e.preventDefault(); notify(_this.props.onDrillDown, [date2, view]); }; _this.renderRow = function(resource) { var _this$props = _this.props, events = _this$props.events, rtl = _this$props.rtl, selectable = _this$props.selectable, getNow2 = _this$props.getNow, range2 = _this$props.range, getters = _this$props.getters, localizer = _this$props.localizer, accessors = _this$props.accessors, components2 = _this$props.components, resizable = _this$props.resizable; var resourceId = accessors.resourceId(resource); var eventsToDisplay = resource ? events.filter(function(event) { return accessors.resource(event) === resourceId; }) : events; return import_react25.default.createElement(DateContentRow, { isAllDay: true, rtl, getNow: getNow2, minRows: 2, maxRows: _this.props.allDayMaxRows + 1, range: range2, events: eventsToDisplay, resourceId, className: "rbc-allday-cell", selectable, selected: _this.props.selected, components: components2, accessors, getters, localizer, onSelect: _this.props.onSelectEvent, onShowMore: _this.props.onShowMore, onDoubleClick: _this.props.onDoubleClickEvent, onKeyPress: _this.props.onKeyPressEvent, onSelectSlot: _this.props.onSelectSlot, longPressThreshold: _this.props.longPressThreshold, resizable }); }; return _this; } _inherits(TimeGridHeader2, _React$Component); return _createClass(TimeGridHeader2, [{ key: "renderHeaderCells", value: function renderHeaderCells(range2) { var _this2 = this; var _this$props2 = this.props, localizer = _this$props2.localizer, getDrilldownView = _this$props2.getDrilldownView, getNow2 = _this$props2.getNow, dayProp = _this$props2.getters.dayProp, _this$props2$componen = _this$props2.components.header, HeaderComponent = _this$props2$componen === void 0 ? Header : _this$props2$componen; var today = getNow2(); return range2.map(function(date2, i) { var drilldownView = getDrilldownView(date2); var label = localizer.format(date2, "dayFormat"); var _dayProp = dayProp(date2), className = _dayProp.className, style2 = _dayProp.style; var header = import_react25.default.createElement(HeaderComponent, { date: date2, label, localizer }); return import_react25.default.createElement("div", { key: i, style: style2, className: clsx_m_default("rbc-header", className, localizer.isSameDate(date2, today) && "rbc-today") }, drilldownView ? import_react25.default.createElement("button", { type: "button", className: "rbc-button-link", onClick: function onClick(e) { return _this2.handleHeaderClick(date2, drilldownView, e); } }, header) : import_react25.default.createElement("span", null, header)); }); } }, { key: "render", value: function render() { var _this3 = this; var _this$props3 = this.props, width = _this$props3.width, rtl = _this$props3.rtl, resources = _this$props3.resources, range2 = _this$props3.range, events = _this$props3.events, getNow2 = _this$props3.getNow, accessors = _this$props3.accessors, selectable = _this$props3.selectable, components2 = _this$props3.components, getters = _this$props3.getters, scrollRef = _this$props3.scrollRef, localizer = _this$props3.localizer, isOverflowing2 = _this$props3.isOverflowing, _this$props3$componen = _this$props3.components, TimeGutterHeader = _this$props3$componen.timeGutterHeader, _this$props3$componen2 = _this$props3$componen.resourceHeader, ResourceHeaderComponent = _this$props3$componen2 === void 0 ? ResourceHeader : _this$props3$componen2, resizable = _this$props3.resizable; var style2 = {}; if (isOverflowing2) { style2[rtl ? "marginLeft" : "marginRight"] = "".concat(scrollbarSize() - 1, "px"); } var groupedEvents = resources.groupEvents(events); return import_react25.default.createElement("div", { style: style2, ref: scrollRef, className: clsx_m_default("rbc-time-header", isOverflowing2 && "rbc-overflowing") }, import_react25.default.createElement("div", { className: "rbc-label rbc-time-header-gutter", style: { width, minWidth: width, maxWidth: width } }, TimeGutterHeader && import_react25.default.createElement(TimeGutterHeader, null)), resources.map(function(_ref, idx) { var _ref2 = _slicedToArray(_ref, 2), id = _ref2[0], resource = _ref2[1]; return import_react25.default.createElement("div", { className: "rbc-time-header-content", key: id || idx }, resource && import_react25.default.createElement("div", { className: "rbc-row rbc-row-resource", key: "resource_".concat(idx) }, import_react25.default.createElement("div", { className: "rbc-header" }, import_react25.default.createElement(ResourceHeaderComponent, { index: idx, label: accessors.resourceTitle(resource), resource }))), import_react25.default.createElement("div", { className: "rbc-row rbc-time-header-cell".concat(range2.length <= 1 ? " rbc-time-header-cell-single-day" : "") }, _this3.renderHeaderCells(range2)), import_react25.default.createElement(DateContentRow, { isAllDay: true, rtl, getNow: getNow2, minRows: 2, maxRows: _this3.props.allDayMaxRows + 1, range: range2, events: groupedEvents.get(id) || [], resourceId: resource && id, className: "rbc-allday-cell", selectable, selected: _this3.props.selected, components: components2, accessors, getters, localizer, onSelect: _this3.props.onSelectEvent, onShowMore: _this3.props.onShowMore, onDoubleClick: _this3.props.onDoubleClickEvent, onKeyDown: _this3.props.onKeyPressEvent, onSelectSlot: _this3.props.onSelectSlot, longPressThreshold: _this3.props.longPressThreshold, resizable })); })); } }]); }(import_react25.default.Component); var TimeGridHeaderResources = function(_React$Component) { function TimeGridHeaderResources2() { var _this; _classCallCheck(this, TimeGridHeaderResources2); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } _this = _callSuper(this, TimeGridHeaderResources2, [].concat(args)); _this.handleHeaderClick = function(date2, view, e) { e.preventDefault(); notify(_this.props.onDrillDown, [date2, view]); }; return _this; } _inherits(TimeGridHeaderResources2, _React$Component); return _createClass(TimeGridHeaderResources2, [{ key: "renderHeaderCells", value: function renderHeaderCells(range2) { var _this2 = this; var _this$props = this.props, localizer = _this$props.localizer, getDrilldownView = _this$props.getDrilldownView, getNow2 = _this$props.getNow, dayProp = _this$props.getters.dayProp, _this$props$component = _this$props.components, _this$props$component2 = _this$props$component.header, HeaderComponent = _this$props$component2 === void 0 ? Header : _this$props$component2, _this$props$component3 = _this$props$component.resourceHeader, ResourceHeaderComponent = _this$props$component3 === void 0 ? ResourceHeader : _this$props$component3, resources = _this$props.resources, accessors = _this$props.accessors, events = _this$props.events, rtl = _this$props.rtl, selectable = _this$props.selectable, components2 = _this$props.components, getters = _this$props.getters, resizable = _this$props.resizable; var today = getNow2(); var groupedEvents = resources.groupEvents(events); return range2.map(function(date2, idx) { var drilldownView = getDrilldownView(date2); var label = localizer.format(date2, "dayFormat"); var _dayProp = dayProp(date2), className = _dayProp.className, style2 = _dayProp.style; var header = import_react25.default.createElement(HeaderComponent, { date: date2, label, localizer }); return import_react25.default.createElement("div", { key: idx, className: "rbc-time-header-content rbc-resource-grouping" }, import_react25.default.createElement("div", { className: "rbc-row rbc-time-header-cell".concat(range2.length <= 1 ? " rbc-time-header-cell-single-day" : "") }, import_react25.default.createElement("div", { style: style2, className: clsx_m_default("rbc-header", className, localizer.isSameDate(date2, today) && "rbc-today") }, drilldownView ? import_react25.default.createElement("button", { type: "button", className: "rbc-button-link", onClick: function onClick(e) { return _this2.handleHeaderClick(date2, drilldownView, e); } }, header) : import_react25.default.createElement("span", null, header))), import_react25.default.createElement("div", { className: "rbc-row" }, resources.map(function(_ref, idx2) { var _ref2 = _slicedToArray(_ref, 2), id = _ref2[0], resource = _ref2[1]; return import_react25.default.createElement("div", { key: "resource_".concat(id, "_").concat(idx2), className: clsx_m_default("rbc-header", className, localizer.isSameDate(date2, today) && "rbc-today") }, import_react25.default.createElement(ResourceHeaderComponent, { index: idx2, label: accessors.resourceTitle(resource), resource })); })), import_react25.default.createElement("div", { className: "rbc-row rbc-m-b-negative-3 rbc-h-full" }, resources.map(function(_ref3, idx2) { var _ref4 = _slicedToArray(_ref3, 2), id = _ref4[0], resource = _ref4[1]; var filteredEvents = (groupedEvents.get(id) || []).filter(function(event) { return localizer.isSameDate(event.start, date2) || localizer.isSameDate(event.end, date2); }); return import_react25.default.createElement(DateContentRow, { key: "resource_".concat(id, "_").concat(idx2), isAllDay: true, rtl, getNow: getNow2, minRows: 2, maxRows: _this2.props.allDayMaxRows + 1, range: [date2], events: filteredEvents, resourceId: resource && id, className: "rbc-allday-cell", selectable, selected: _this2.props.selected, components: components2, accessors, getters, localizer, onSelect: _this2.props.onSelectEvent, onShowMore: _this2.props.onShowMore, onDoubleClick: _this2.props.onDoubleClickEvent, onKeyDown: _this2.props.onKeyPressEvent, onSelectSlot: _this2.props.onSelectSlot, longPressThreshold: _this2.props.longPressThreshold, resizable }); }))); }); } }, { key: "render", value: function render() { var _this$props2 = this.props, width = _this$props2.width, rtl = _this$props2.rtl, range2 = _this$props2.range, scrollRef = _this$props2.scrollRef, isOverflowing2 = _this$props2.isOverflowing, TimeGutterHeader = _this$props2.components.timeGutterHeader; var style2 = {}; if (isOverflowing2) { style2[rtl ? "marginLeft" : "marginRight"] = "".concat(scrollbarSize() - 1, "px"); } return import_react25.default.createElement("div", { style: style2, ref: scrollRef, className: clsx_m_default("rbc-time-header", isOverflowing2 && "rbc-overflowing") }, import_react25.default.createElement("div", { className: "rbc-label rbc-time-header-gutter", style: { width, minWidth: width, maxWidth: width } }, TimeGutterHeader && import_react25.default.createElement(TimeGutterHeader, null)), this.renderHeaderCells(range2)); } }]); }(import_react25.default.Component); function adjustForDST(_ref) { var min3 = _ref.min, max3 = _ref.max, localizer = _ref.localizer; if (localizer.getTimezoneOffset(min3) !== localizer.getTimezoneOffset(max3)) { return { start: localizer.add(min3, -1, "day"), end: localizer.add(max3, -1, "day") }; } return { start: min3, end: max3 }; } var TimeGutter = function TimeGutter2(_ref2) { var min3 = _ref2.min, max3 = _ref2.max, timeslots = _ref2.timeslots, step = _ref2.step, localizer = _ref2.localizer, getNow2 = _ref2.getNow, resource = _ref2.resource, components2 = _ref2.components, getters = _ref2.getters, gutterRef = _ref2.gutterRef; var TimeGutterWrapper = components2.timeGutterWrapper; var _useMemo = (0, import_react25.useMemo)( function() { return adjustForDST({ min: min3, max: max3, localizer }); }, // eslint-disable-next-line react-hooks/exhaustive-deps [min3 === null || min3 === void 0 ? void 0 : min3.toISOString(), max3 === null || max3 === void 0 ? void 0 : max3.toISOString(), localizer] ), start2 = _useMemo.start, end2 = _useMemo.end; var _useState = (0, import_react25.useState)(getSlotMetrics({ min: start2, max: end2, timeslots, step, localizer })), _useState2 = _slicedToArray(_useState, 2), slotMetrics = _useState2[0], setSlotMetrics = _useState2[1]; (0, import_react25.useEffect)(function() { if (slotMetrics) { setSlotMetrics(slotMetrics.update({ min: start2, max: end2, timeslots, step, localizer })); } }, [start2 === null || start2 === void 0 ? void 0 : start2.toISOString(), end2 === null || end2 === void 0 ? void 0 : end2.toISOString(), timeslots, step]); var renderSlot = (0, import_react25.useCallback)(function(value, idx) { if (idx) return null; var isNow = slotMetrics.dateIsInGroup(getNow2(), idx); return import_react25.default.createElement("span", { className: clsx_m_default("rbc-label", isNow && "rbc-now") }, localizer.format(value, "timeGutterFormat")); }, [slotMetrics, localizer, getNow2]); return import_react25.default.createElement(TimeGutterWrapper, { slotMetrics }, import_react25.default.createElement("div", { className: "rbc-time-gutter rbc-time-column", ref: gutterRef }, slotMetrics.groups.map(function(grp, idx) { return import_react25.default.createElement(TimeSlotGroup, { key: idx, group: grp, resource, components: components2, renderSlot, getters }); }))); }; var TimeGutter$1 = import_react25.default.forwardRef(function(props, ref) { return import_react25.default.createElement(TimeGutter, Object.assign({ gutterRef: ref }, props)); }); var NONE = {}; function Resources(resources, accessors) { return { map: function map(fn3) { if (!resources) return [fn3([NONE, null], 0)]; return resources.map(function(resource, idx) { return fn3([accessors.resourceId(resource), resource], idx); }); }, groupEvents: function groupEvents(events) { var eventsByResource = /* @__PURE__ */ new Map(); if (!resources) { eventsByResource.set(NONE, events); return eventsByResource; } events.forEach(function(event) { var id = accessors.resource(event) || NONE; if (Array.isArray(id)) { id.forEach(function(item) { var resourceEvents2 = eventsByResource.get(item) || []; resourceEvents2.push(event); eventsByResource.set(item, resourceEvents2); }); } else { var resourceEvents = eventsByResource.get(id) || []; resourceEvents.push(event); eventsByResource.set(id, resourceEvents); } }); return eventsByResource; } }; } var TimeGrid = function(_Component) { function TimeGrid2(props) { var _this; _classCallCheck(this, TimeGrid2); _this = _callSuper(this, TimeGrid2, [props]); _this.handleScroll = function(e) { if (_this.scrollRef.current) { _this.scrollRef.current.scrollLeft = e.target.scrollLeft; } }; _this.handleResize = function() { cancel(_this.rafHandle); _this.rafHandle = request(_this.checkOverflow); }; _this.handleKeyPressEvent = function() { _this.clearSelection(); for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } notify(_this.props.onKeyPressEvent, args); }; _this.handleSelectEvent = function() { _this.clearSelection(); for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } notify(_this.props.onSelectEvent, args); }; _this.handleDoubleClickEvent = function() { _this.clearSelection(); for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } notify(_this.props.onDoubleClickEvent, args); }; _this.handleShowMore = function(events, date2, cell, slot, target) { var _this$props = _this.props, popup = _this$props.popup, onDrillDown = _this$props.onDrillDown, onShowMore = _this$props.onShowMore, getDrilldownView = _this$props.getDrilldownView, doShowMoreDrillDown = _this$props.doShowMoreDrillDown; _this.clearSelection(); if (popup) { var position2 = position(cell, _this.containerRef.current); _this.setState({ overlay: { date: date2, events, position: _objectSpread2(_objectSpread2({}, position2), {}, { width: "200px" }), target } }); } else if (doShowMoreDrillDown) { notify(onDrillDown, [date2, getDrilldownView(date2) || views.DAY]); } notify(onShowMore, [events, date2, slot]); }; _this.handleSelectAllDaySlot = function(slots, slotInfo) { var onSelectSlot = _this.props.onSelectSlot; var start2 = new Date(slots[0]); var end2 = new Date(slots[slots.length - 1]); end2.setDate(slots[slots.length - 1].getDate() + 1); notify(onSelectSlot, { slots, start: start2, end: end2, action: slotInfo.action, resourceId: slotInfo.resourceId }); }; _this.overlayDisplay = function() { _this.setState({ overlay: null }); }; _this.checkOverflow = function() { if (_this._updatingOverflow) return; var content = _this.contentRef.current; if (!(content !== null && content !== void 0 && content.scrollHeight)) return; var isOverflowing2 = content.scrollHeight > content.clientHeight; if (_this.state.isOverflowing !== isOverflowing2) { _this._updatingOverflow = true; _this.setState({ isOverflowing: isOverflowing2 }, function() { _this._updatingOverflow = false; }); } }; _this.memoizedResources = memoizeOne(function(resources, accessors) { return Resources(resources, accessors); }); _this.state = { gutterWidth: void 0, isOverflowing: null }; _this.scrollRef = import_react25.default.createRef(); _this.contentRef = import_react25.default.createRef(); _this.containerRef = import_react25.default.createRef(); _this._scrollRatio = null; _this.gutterRef = (0, import_react25.createRef)(); return _this; } _inherits(TimeGrid2, _Component); return _createClass(TimeGrid2, [{ key: "getSnapshotBeforeUpdate", value: function getSnapshotBeforeUpdate() { this.checkOverflow(); return null; } }, { key: "componentDidMount", value: function componentDidMount() { if (this.props.width == null) { this.measureGutter(); } this.calculateScroll(); this.applyScroll(); window.addEventListener("resize", this.handleResize); } }, { key: "componentWillUnmount", value: function componentWillUnmount() { window.removeEventListener("resize", this.handleResize); cancel(this.rafHandle); if (this.measureGutterAnimationFrameRequest) { window.cancelAnimationFrame(this.measureGutterAnimationFrameRequest); } } }, { key: "componentDidUpdate", value: function componentDidUpdate() { this.applyScroll(); } }, { key: "renderDayColumn", value: function renderDayColumn(date2, id, resource, groupedEvents, groupedBackgroundEvents, localizer, accessors, components2, dayLayoutAlgorithm, now) { var _this$props2 = this.props, min3 = _this$props2.min, max3 = _this$props2.max; var daysEvents = (groupedEvents.get(id) || []).filter(function(event) { return localizer.inRange(date2, accessors.start(event), accessors.end(event), "day"); }); var daysBackgroundEvents = (groupedBackgroundEvents.get(id) || []).filter(function(event) { return localizer.inRange(date2, accessors.start(event), accessors.end(event), "day"); }); return import_react25.default.createElement(DayColumn, Object.assign({}, this.props, { localizer, min: localizer.merge(date2, min3), max: localizer.merge(date2, max3), resource: resource && id, components: components2, isNow: localizer.isSameDate(date2, now), key: "".concat(id, "-").concat(date2), date: date2, events: daysEvents, backgroundEvents: daysBackgroundEvents, dayLayoutAlgorithm })); } }, { key: "renderResourcesFirst", value: function renderResourcesFirst(range2, resources, groupedEvents, groupedBackgroundEvents, localizer, accessors, now, components2, dayLayoutAlgorithm) { var _this2 = this; return resources.map(function(_ref) { var _ref2 = _slicedToArray(_ref, 2), id = _ref2[0], resource = _ref2[1]; return range2.map(function(date2) { return _this2.renderDayColumn(date2, id, resource, groupedEvents, groupedBackgroundEvents, localizer, accessors, components2, dayLayoutAlgorithm, now); }); }); } }, { key: "renderRangeFirst", value: function renderRangeFirst(range2, resources, groupedEvents, groupedBackgroundEvents, localizer, accessors, now, components2, dayLayoutAlgorithm) { var _this3 = this; return range2.map(function(date2) { return import_react25.default.createElement("div", { style: { display: "flex", minHeight: "100%", flex: 1 }, key: date2 }, resources.map(function(_ref3) { var _ref4 = _slicedToArray(_ref3, 2), id = _ref4[0], resource = _ref4[1]; return import_react25.default.createElement("div", { style: { flex: 1 }, key: accessors.resourceId(resource) }, _this3.renderDayColumn(date2, id, resource, groupedEvents, groupedBackgroundEvents, localizer, accessors, components2, dayLayoutAlgorithm, now)); })); }); } }, { key: "renderEvents", value: function renderEvents(range2, events, backgroundEvents, now) { var _this$props3 = this.props, accessors = _this$props3.accessors, localizer = _this$props3.localizer, resourceGroupingLayout = _this$props3.resourceGroupingLayout, components2 = _this$props3.components, dayLayoutAlgorithm = _this$props3.dayLayoutAlgorithm; var resources = this.memoizedResources(this.props.resources, accessors); var groupedEvents = resources.groupEvents(events); var groupedBackgroundEvents = resources.groupEvents(backgroundEvents); if (!resourceGroupingLayout) { return this.renderResourcesFirst(range2, resources, groupedEvents, groupedBackgroundEvents, localizer, accessors, now, components2, dayLayoutAlgorithm); } else { return this.renderRangeFirst(range2, resources, groupedEvents, groupedBackgroundEvents, localizer, accessors, now, components2, dayLayoutAlgorithm); } } }, { key: "render", value: function render() { var _this$props$allDayMax; var _this$props4 = this.props, events = _this$props4.events, backgroundEvents = _this$props4.backgroundEvents, range2 = _this$props4.range, width = _this$props4.width, rtl = _this$props4.rtl, selected = _this$props4.selected, getNow2 = _this$props4.getNow, resources = _this$props4.resources, components2 = _this$props4.components, accessors = _this$props4.accessors, getters = _this$props4.getters, localizer = _this$props4.localizer, min3 = _this$props4.min, max3 = _this$props4.max, showMultiDayTimes = _this$props4.showMultiDayTimes, longPressThreshold = _this$props4.longPressThreshold, resizable = _this$props4.resizable, resourceGroupingLayout = _this$props4.resourceGroupingLayout; width = width || this.state.gutterWidth; var start2 = range2[0], end2 = range2[range2.length - 1]; this.slots = range2.length; var allDayEvents = [], rangeEvents = [], rangeBackgroundEvents = []; events.forEach(function(event) { if (inRange2(event, start2, end2, accessors, localizer)) { var eStart = accessors.start(event), eEnd = accessors.end(event); if (accessors.allDay(event) || localizer.startAndEndAreDateOnly(eStart, eEnd) || !showMultiDayTimes && !localizer.isSameDate(eStart, eEnd)) { allDayEvents.push(event); } else { rangeEvents.push(event); } } }); backgroundEvents.forEach(function(event) { if (inRange2(event, start2, end2, accessors, localizer)) { rangeBackgroundEvents.push(event); } }); allDayEvents.sort(function(a, b) { return sortEvents(a, b, accessors, localizer); }); var headerProps = { range: range2, events: allDayEvents, width, rtl, getNow: getNow2, localizer, selected, allDayMaxRows: this.props.showAllEvents ? Infinity : (_this$props$allDayMax = this.props.allDayMaxRows) !== null && _this$props$allDayMax !== void 0 ? _this$props$allDayMax : Infinity, resources: this.memoizedResources(resources, accessors), selectable: this.props.selectable, accessors, getters, components: components2, scrollRef: this.scrollRef, isOverflowing: this.state.isOverflowing, longPressThreshold, onSelectSlot: this.handleSelectAllDaySlot, onSelectEvent: this.handleSelectEvent, onShowMore: this.handleShowMore, onDoubleClickEvent: this.props.onDoubleClickEvent, onKeyPressEvent: this.props.onKeyPressEvent, onDrillDown: this.props.onDrillDown, getDrilldownView: this.props.getDrilldownView, resizable }; return import_react25.default.createElement("div", { className: clsx_m_default("rbc-time-view", resources && "rbc-time-view-resources"), ref: this.containerRef }, resources && resources.length > 1 && resourceGroupingLayout ? import_react25.default.createElement(TimeGridHeaderResources, headerProps) : import_react25.default.createElement(TimeGridHeader, headerProps), this.props.popup && this.renderOverlay(), import_react25.default.createElement("div", { ref: this.contentRef, className: "rbc-time-content", onScroll: this.handleScroll }, import_react25.default.createElement(TimeGutter$1, { date: start2, ref: this.gutterRef, localizer, min: localizer.merge(start2, min3), max: localizer.merge(start2, max3), step: this.props.step, getNow: this.props.getNow, timeslots: this.props.timeslots, components: components2, className: "rbc-time-gutter", getters }), this.renderEvents(range2, rangeEvents, rangeBackgroundEvents, getNow2()))); } }, { key: "renderOverlay", value: function renderOverlay() { var _this$state$overlay, _this$state, _this4 = this; var overlay = (_this$state$overlay = (_this$state = this.state) === null || _this$state === void 0 ? void 0 : _this$state.overlay) !== null && _this$state$overlay !== void 0 ? _this$state$overlay : {}; var _this$props5 = this.props, accessors = _this$props5.accessors, localizer = _this$props5.localizer, components2 = _this$props5.components, getters = _this$props5.getters, selected = _this$props5.selected, popupOffset = _this$props5.popupOffset, handleDragStart = _this$props5.handleDragStart; var onHide2 = function onHide3() { return _this4.setState({ overlay: null }); }; return import_react25.default.createElement(PopOverlay, { overlay, accessors, localizer, components: components2, getters, selected, popupOffset, ref: this.containerRef, handleKeyPressEvent: this.handleKeyPressEvent, handleSelectEvent: this.handleSelectEvent, handleDoubleClickEvent: this.handleDoubleClickEvent, handleDragStart, show: !!overlay.position, overlayDisplay: this.overlayDisplay, onHide: onHide2 }); } }, { key: "clearSelection", value: function clearSelection() { clearTimeout(this._selectTimer); this._pendingSelection = []; } }, { key: "measureGutter", value: function measureGutter() { var _this5 = this; if (this.measureGutterAnimationFrameRequest) { window.cancelAnimationFrame(this.measureGutterAnimationFrameRequest); } this.measureGutterAnimationFrameRequest = window.requestAnimationFrame(function() { var _this5$gutterRef; var width = (_this5$gutterRef = _this5.gutterRef) !== null && _this5$gutterRef !== void 0 && _this5$gutterRef.current ? getWidth(_this5.gutterRef.current) : void 0; if (width && _this5.state.gutterWidth !== width) { _this5.setState({ gutterWidth: width }); } }); } }, { key: "applyScroll", value: function applyScroll() { if (this._scrollRatio != null && this.props.enableAutoScroll === true) { var content = this.contentRef.current; content.scrollTop = content.scrollHeight * this._scrollRatio; this._scrollRatio = null; } } }, { key: "calculateScroll", value: function calculateScroll() { var props = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : this.props; var min3 = props.min, max3 = props.max, scrollToTime = props.scrollToTime, localizer = props.localizer; var diffMillis = localizer.diff(localizer.merge(scrollToTime, min3), scrollToTime, "milliseconds"); var totalMillis = localizer.diff(min3, max3, "milliseconds"); this._scrollRatio = diffMillis / totalMillis; } }]); }(import_react25.Component); TimeGrid.defaultProps = { step: 30, timeslots: 2, // To be compatible with old versions, default as `false`. resourceGroupingLayout: false }; var _excluded$4 = ["date", "localizer", "min", "max", "scrollToTime", "enableAutoScroll"]; var Day = function(_React$Component) { function Day2() { _classCallCheck(this, Day2); return _callSuper(this, Day2, arguments); } _inherits(Day2, _React$Component); return _createClass(Day2, [{ key: "render", value: function render() { var _this$props = this.props, date2 = _this$props.date, localizer = _this$props.localizer, _this$props$min = _this$props.min, min3 = _this$props$min === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$min, _this$props$max = _this$props.max, max3 = _this$props$max === void 0 ? localizer.endOf(/* @__PURE__ */ new Date(), "day") : _this$props$max, _this$props$scrollToT = _this$props.scrollToTime, scrollToTime = _this$props$scrollToT === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$scrollToT, _this$props$enableAut = _this$props.enableAutoScroll, enableAutoScroll = _this$props$enableAut === void 0 ? true : _this$props$enableAut, props = _objectWithoutProperties(_this$props, _excluded$4); var range2 = Day2.range(date2, { localizer }); return import_react25.default.createElement(TimeGrid, Object.assign({}, props, { range: range2, eventOffset: 10, localizer, min: min3, max: max3, scrollToTime, enableAutoScroll })); } }]); }(import_react25.default.Component); Day.range = function(date2, _ref) { var localizer = _ref.localizer; return [localizer.startOf(date2, "day")]; }; Day.navigate = function(date2, action, _ref2) { var localizer = _ref2.localizer; switch (action) { case navigate.PREVIOUS: return localizer.add(date2, -1, "day"); case navigate.NEXT: return localizer.add(date2, 1, "day"); default: return date2; } }; Day.title = function(date2, _ref3) { var localizer = _ref3.localizer; return localizer.format(date2, "dayHeaderFormat"); }; var _excluded$3 = ["date", "localizer", "min", "max", "scrollToTime", "enableAutoScroll"]; var Week = function(_React$Component) { function Week2() { _classCallCheck(this, Week2); return _callSuper(this, Week2, arguments); } _inherits(Week2, _React$Component); return _createClass(Week2, [{ key: "render", value: function render() { var _this$props = this.props, date2 = _this$props.date, localizer = _this$props.localizer, _this$props$min = _this$props.min, min3 = _this$props$min === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$min, _this$props$max = _this$props.max, max3 = _this$props$max === void 0 ? localizer.endOf(/* @__PURE__ */ new Date(), "day") : _this$props$max, _this$props$scrollToT = _this$props.scrollToTime, scrollToTime = _this$props$scrollToT === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$scrollToT, _this$props$enableAut = _this$props.enableAutoScroll, enableAutoScroll = _this$props$enableAut === void 0 ? true : _this$props$enableAut, props = _objectWithoutProperties(_this$props, _excluded$3); var range2 = Week2.range(date2, this.props); return import_react25.default.createElement(TimeGrid, Object.assign({}, props, { range: range2, eventOffset: 15, localizer, min: min3, max: max3, scrollToTime, enableAutoScroll })); } }]); }(import_react25.default.Component); Week.defaultProps = TimeGrid.defaultProps; Week.navigate = function(date2, action, _ref) { var localizer = _ref.localizer; switch (action) { case navigate.PREVIOUS: return localizer.add(date2, -1, "week"); case navigate.NEXT: return localizer.add(date2, 1, "week"); default: return date2; } }; Week.range = function(date2, _ref2) { var localizer = _ref2.localizer; var firstOfWeek = localizer.startOfWeek(); var start2 = localizer.startOf(date2, "week", firstOfWeek); var end2 = localizer.endOf(date2, "week", firstOfWeek); return localizer.range(start2, end2); }; Week.title = function(date2, _ref3) { var localizer = _ref3.localizer; var _Week$range = Week.range(date2, { localizer }), _Week$range2 = _toArray(_Week$range), start2 = _Week$range2[0], rest = _Week$range2.slice(1); return localizer.format({ start: start2, end: rest.pop() }, "dayRangeHeaderFormat"); }; var _excluded$2 = ["date", "localizer", "min", "max", "scrollToTime", "enableAutoScroll"]; function workWeekRange(date2, options) { return Week.range(date2, options).filter(function(d) { return [6, 0].indexOf(d.getDay()) === -1; }); } var WorkWeek = function(_React$Component) { function WorkWeek2() { _classCallCheck(this, WorkWeek2); return _callSuper(this, WorkWeek2, arguments); } _inherits(WorkWeek2, _React$Component); return _createClass(WorkWeek2, [{ key: "render", value: function render() { var _this$props = this.props, date2 = _this$props.date, localizer = _this$props.localizer, _this$props$min = _this$props.min, min3 = _this$props$min === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$min, _this$props$max = _this$props.max, max3 = _this$props$max === void 0 ? localizer.endOf(/* @__PURE__ */ new Date(), "day") : _this$props$max, _this$props$scrollToT = _this$props.scrollToTime, scrollToTime = _this$props$scrollToT === void 0 ? localizer.startOf(/* @__PURE__ */ new Date(), "day") : _this$props$scrollToT, _this$props$enableAut = _this$props.enableAutoScroll, enableAutoScroll = _this$props$enableAut === void 0 ? true : _this$props$enableAut, props = _objectWithoutProperties(_this$props, _excluded$2); var range2 = workWeekRange(date2, this.props); return import_react25.default.createElement(TimeGrid, Object.assign({}, props, { range: range2, eventOffset: 15, localizer, min: min3, max: max3, scrollToTime, enableAutoScroll })); } }]); }(import_react25.default.Component); WorkWeek.defaultProps = TimeGrid.defaultProps; WorkWeek.range = workWeekRange; WorkWeek.navigate = Week.navigate; WorkWeek.title = function(date2, _ref) { var localizer = _ref.localizer; var _workWeekRange = workWeekRange(date2, { localizer }), _workWeekRange2 = _toArray(_workWeekRange), start2 = _workWeekRange2[0], rest = _workWeekRange2.slice(1); return localizer.format({ start: start2, end: rest.pop() }, "dayRangeHeaderFormat"); }; var DEFAULT_LENGTH = 30; function Agenda(_ref) { var accessors = _ref.accessors, components2 = _ref.components, date2 = _ref.date, events = _ref.events, getters = _ref.getters, _ref$length = _ref.length, length = _ref$length === void 0 ? DEFAULT_LENGTH : _ref$length, localizer = _ref.localizer, onDoubleClickEvent = _ref.onDoubleClickEvent, onSelectEvent = _ref.onSelectEvent, selected = _ref.selected; var headerRef = (0, import_react25.useRef)(null); var dateColRef = (0, import_react25.useRef)(null); var timeColRef = (0, import_react25.useRef)(null); var contentRef = (0, import_react25.useRef)(null); var tbodyRef = (0, import_react25.useRef)(null); (0, import_react25.useEffect)(function() { _adjustHeader(); }); var renderDay = function renderDay2(day2, events2, dayKey) { var Event2 = components2.event, AgendaDate = components2.date; events2 = events2.filter(function(e) { return inRange2(e, localizer.startOf(day2, "day"), localizer.endOf(day2, "day"), accessors, localizer); }); return events2.map(function(event, idx) { var title = accessors.title(event); var end3 = accessors.end(event); var start2 = accessors.start(event); var userProps = getters.eventProp(event, start2, end3, isSelected(event, selected)); var dateLabel = idx === 0 && localizer.format(day2, "agendaDateFormat"); var first = idx === 0 ? import_react25.default.createElement("td", { rowSpan: events2.length, className: "rbc-agenda-date-cell" }, AgendaDate ? import_react25.default.createElement(AgendaDate, { day: day2, label: dateLabel }) : dateLabel) : false; return import_react25.default.createElement("tr", { key: dayKey + "_" + idx, className: userProps.className, style: userProps.style }, first, import_react25.default.createElement("td", { className: "rbc-agenda-time-cell" }, timeRangeLabel(day2, event)), import_react25.default.createElement("td", { className: "rbc-agenda-event-cell", onClick: function onClick(e) { return onSelectEvent && onSelectEvent(event, e); }, onDoubleClick: function onDoubleClick(e) { return onDoubleClickEvent && onDoubleClickEvent(event, e); } }, Event2 ? import_react25.default.createElement(Event2, { event, title }) : title)); }, []); }; var timeRangeLabel = function timeRangeLabel2(day2, event) { var labelClass = "", TimeComponent = components2.time, label = localizer.messages.allDay; var end3 = accessors.end(event); var start2 = accessors.start(event); if (!accessors.allDay(event)) { if (localizer.eq(start2, end3)) { label = localizer.format(start2, "agendaTimeFormat"); } else if (localizer.isSameDate(start2, end3)) { label = localizer.format({ start: start2, end: end3 }, "agendaTimeRangeFormat"); } else if (localizer.isSameDate(day2, start2)) { label = localizer.format(start2, "agendaTimeFormat"); } else if (localizer.isSameDate(day2, end3)) { label = localizer.format(end3, "agendaTimeFormat"); } } if (localizer.gt(day2, start2, "day")) labelClass = "rbc-continues-prior"; if (localizer.lt(day2, end3, "day")) labelClass += " rbc-continues-after"; return import_react25.default.createElement("span", { className: labelClass.trim() }, TimeComponent ? import_react25.default.createElement(TimeComponent, { event, day: day2, label }) : label); }; var _adjustHeader = function _adjustHeader2() { if (!tbodyRef.current) return; var header = headerRef.current; var firstRow = tbodyRef.current.firstChild; if (!firstRow) return; var isOverflowing2 = contentRef.current.scrollHeight > contentRef.current.clientHeight; var _widths = []; var widths = _widths; _widths = [getWidth(firstRow.children[0]), getWidth(firstRow.children[1])]; if (widths[0] !== _widths[0] || widths[1] !== _widths[1]) { dateColRef.current.style.width = _widths[0] + "px"; timeColRef.current.style.width = _widths[1] + "px"; } if (isOverflowing2) { addClass(header, "rbc-header-overflowing"); header.style.marginRight = scrollbarSize() + "px"; } else { removeClass(header, "rbc-header-overflowing"); } }; var messages2 = localizer.messages; var end2 = localizer.add(date2, length, "day"); var range2 = localizer.range(date2, end2, "day"); events = events.filter(function(event) { return inRange2(event, localizer.startOf(date2, "day"), localizer.endOf(end2, "day"), accessors, localizer); }); events.sort(function(a, b) { return +accessors.start(a) - +accessors.start(b); }); return import_react25.default.createElement("div", { className: "rbc-agenda-view" }, events.length !== 0 ? import_react25.default.createElement(import_react25.default.Fragment, null, import_react25.default.createElement("table", { ref: headerRef, className: "rbc-agenda-table" }, import_react25.default.createElement("thead", null, import_react25.default.createElement("tr", null, import_react25.default.createElement("th", { className: "rbc-header", ref: dateColRef }, messages2.date), import_react25.default.createElement("th", { className: "rbc-header", ref: timeColRef }, messages2.time), import_react25.default.createElement("th", { className: "rbc-header" }, messages2.event)))), import_react25.default.createElement("div", { className: "rbc-agenda-content", ref: contentRef }, import_react25.default.createElement("table", { className: "rbc-agenda-table" }, import_react25.default.createElement("tbody", { ref: tbodyRef }, range2.map(function(day2, idx) { return renderDay(day2, events, idx); }))))) : import_react25.default.createElement("span", { className: "rbc-agenda-empty" }, messages2.noEventsInRange)); } Agenda.range = function(start2, _ref2) { var _ref2$length = _ref2.length, length = _ref2$length === void 0 ? DEFAULT_LENGTH : _ref2$length, localizer = _ref2.localizer; var end2 = localizer.add(start2, length, "day"); return { start: start2, end: end2 }; }; Agenda.navigate = function(date2, action, _ref3) { var _ref3$length = _ref3.length, length = _ref3$length === void 0 ? DEFAULT_LENGTH : _ref3$length, localizer = _ref3.localizer; switch (action) { case navigate.PREVIOUS: return localizer.add(date2, -length, "day"); case navigate.NEXT: return localizer.add(date2, length, "day"); default: return date2; } }; Agenda.title = function(start2, _ref4) { var _ref4$length = _ref4.length, length = _ref4$length === void 0 ? DEFAULT_LENGTH : _ref4$length, localizer = _ref4.localizer; var end2 = localizer.add(start2, length, "day"); return localizer.format({ start: start2, end: end2 }, "agendaHeaderFormat"); }; var VIEWS = _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, views.MONTH, MonthView), views.WEEK, Week), views.WORK_WEEK, WorkWeek), views.DAY, Day), views.AGENDA, Agenda); var _excluded$1 = ["action", "date", "today"]; function moveDate(View, _ref) { var action = _ref.action, date2 = _ref.date, today = _ref.today, props = _objectWithoutProperties(_ref, _excluded$1); View = typeof View === "string" ? VIEWS[View] : View; switch (action) { case navigate.TODAY: date2 = today || /* @__PURE__ */ new Date(); break; case navigate.DATE: break; default: (0, import_invariant3.default)(View && typeof View.navigate === "function", "Calendar View components must implement a static `.navigate(date, action)` method.s"); date2 = View.navigate(date2, action, props); } return date2; } function accessor(data, field) { var value = null; if (typeof field === "function") value = field(data); else if (typeof field === "string" && _typeof(data) === "object" && data != null && field in data) value = data[field]; return value; } var wrapAccessor = function wrapAccessor2(acc) { return function(data) { return accessor(data, acc); }; }; var _excluded = ["view", "date", "getNow", "onNavigate"]; var _excluded2 = ["view", "toolbar", "events", "backgroundEvents", "resourceGroupingLayout", "style", "className", "elementProps", "date", "getNow", "length", "showMultiDayTimes", "onShowMore", "doShowMoreDrillDown", "components", "formats", "messages", "culture"]; function viewNames(_views) { if (Array.isArray(_views)) { return _views; } var views2 = []; for (var _i = 0, _Object$entries = Object.entries(_views); _i < _Object$entries.length; _i++) { var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), key = _Object$entries$_i[0], value = _Object$entries$_i[1]; if (value) { views2.push(key); } } return views2; } function isValidView(view, _ref) { var _views = _ref.views; var names = viewNames(_views); return names.indexOf(view) !== -1; } var Calendar = function(_React$Component) { function Calendar2() { var _this; _classCallCheck(this, Calendar2); for (var _len = arguments.length, _args = new Array(_len), _key = 0; _key < _len; _key++) { _args[_key] = arguments[_key]; } _this = _callSuper(this, Calendar2, [].concat(_args)); _this.getViews = function() { var views2 = _this.props.views; if (Array.isArray(views2)) { return (0, import_transform.default)(views2, function(obj, name) { return obj[name] = VIEWS[name]; }, {}); } if (_typeof(views2) === "object") { return (0, import_mapValues.default)(views2, function(value, key) { if (value === true) { return VIEWS[key]; } return value; }); } return VIEWS; }; _this.getView = function() { var views2 = _this.getViews(); return views2[_this.props.view]; }; _this.getDrilldownView = function(date2) { var _this$props = _this.props, view = _this$props.view, drilldownView = _this$props.drilldownView, getDrilldownView = _this$props.getDrilldownView; if (!getDrilldownView) return drilldownView; return getDrilldownView(date2, view, Object.keys(_this.getViews())); }; _this.handleRangeChange = function(date2, viewComponent, view) { var _this$props2 = _this.props, onRangeChange = _this$props2.onRangeChange, localizer = _this$props2.localizer; if (onRangeChange) { if (viewComponent.range) { onRangeChange(viewComponent.range(date2, { localizer }), view); } else { if (true) { console.error("onRangeChange prop not supported for this view"); } } } }; _this.handleNavigate = function(action, newDate) { var _this$props3 = _this.props, view = _this$props3.view, date2 = _this$props3.date, getNow2 = _this$props3.getNow, onNavigate = _this$props3.onNavigate, props = _objectWithoutProperties(_this$props3, _excluded); var ViewComponent = _this.getView(); var today = getNow2(); date2 = moveDate(ViewComponent, _objectSpread2(_objectSpread2({}, props), {}, { action, date: newDate || date2 || today, today })); onNavigate(date2, view, action); _this.handleRangeChange(date2, ViewComponent); }; _this.handleViewChange = function(view) { if (view !== _this.props.view && isValidView(view, _this.props)) { _this.props.onView(view); } var views2 = _this.getViews(); _this.handleRangeChange(_this.props.date || _this.props.getNow(), views2[view], view); }; _this.handleSelectEvent = function() { for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { args[_key2] = arguments[_key2]; } notify(_this.props.onSelectEvent, args); }; _this.handleDoubleClickEvent = function() { for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { args[_key3] = arguments[_key3]; } notify(_this.props.onDoubleClickEvent, args); }; _this.handleKeyPressEvent = function() { for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } notify(_this.props.onKeyPressEvent, args); }; _this.handleSelectSlot = function(slotInfo) { notify(_this.props.onSelectSlot, slotInfo); }; _this.handleDrillDown = function(date2, view) { var onDrillDown = _this.props.onDrillDown; if (onDrillDown) { onDrillDown(date2, view, _this.drilldownView); return; } if (view) _this.handleViewChange(view); _this.handleNavigate(navigate.DATE, date2); }; _this.state = { context: Calendar2.getContext(_this.props) }; return _this; } _inherits(Calendar2, _React$Component); return _createClass(Calendar2, [{ key: "render", value: function render() { var _this$props4 = this.props, view = _this$props4.view, toolbar = _this$props4.toolbar, events = _this$props4.events, backgroundEvents = _this$props4.backgroundEvents, resourceGroupingLayout = _this$props4.resourceGroupingLayout, style2 = _this$props4.style, className = _this$props4.className, elementProps = _this$props4.elementProps, current = _this$props4.date, getNow2 = _this$props4.getNow, length = _this$props4.length, showMultiDayTimes = _this$props4.showMultiDayTimes, onShowMore = _this$props4.onShowMore, doShowMoreDrillDown = _this$props4.doShowMoreDrillDown; _this$props4.components; _this$props4.formats; _this$props4.messages; _this$props4.culture; var props = _objectWithoutProperties(_this$props4, _excluded2); current = current || getNow2(); var View = this.getView(); var _this$state$context = this.state.context, accessors = _this$state$context.accessors, components2 = _this$state$context.components, getters = _this$state$context.getters, localizer = _this$state$context.localizer, viewNames2 = _this$state$context.viewNames; var CalToolbar = components2.toolbar || Toolbar; var label = View.title(current, { localizer, length }); return import_react25.default.createElement("div", Object.assign({}, elementProps, { className: clsx_m_default(className, "rbc-calendar", props.rtl && "rbc-rtl"), style: style2 }), toolbar && import_react25.default.createElement(CalToolbar, { date: current, view, views: viewNames2, label, onView: this.handleViewChange, onNavigate: this.handleNavigate, localizer }), import_react25.default.createElement(View, Object.assign({}, props, { events, backgroundEvents, date: current, getNow: getNow2, length, localizer, getters, components: components2, accessors, showMultiDayTimes, getDrilldownView: this.getDrilldownView, onNavigate: this.handleNavigate, onDrillDown: this.handleDrillDown, onSelectEvent: this.handleSelectEvent, onDoubleClickEvent: this.handleDoubleClickEvent, onKeyPressEvent: this.handleKeyPressEvent, onSelectSlot: this.handleSelectSlot, onShowMore, doShowMoreDrillDown, resourceGroupingLayout }))); } }], [{ key: "getDerivedStateFromProps", value: function getDerivedStateFromProps(nextProps) { return { context: Calendar2.getContext(nextProps) }; } }, { key: "getContext", value: function getContext(_ref2) { var startAccessor = _ref2.startAccessor, endAccessor = _ref2.endAccessor, allDayAccessor = _ref2.allDayAccessor, tooltipAccessor = _ref2.tooltipAccessor, titleAccessor = _ref2.titleAccessor, resourceAccessor = _ref2.resourceAccessor, resourceIdAccessor = _ref2.resourceIdAccessor, resourceTitleAccessor = _ref2.resourceTitleAccessor, eventIdAccessor = _ref2.eventIdAccessor, eventPropGetter = _ref2.eventPropGetter, backgroundEventPropGetter = _ref2.backgroundEventPropGetter, slotPropGetter = _ref2.slotPropGetter, slotGroupPropGetter = _ref2.slotGroupPropGetter, dayPropGetter = _ref2.dayPropGetter, view = _ref2.view, views2 = _ref2.views, localizer = _ref2.localizer, culture = _ref2.culture, _ref2$messages = _ref2.messages, messages$1 = _ref2$messages === void 0 ? {} : _ref2$messages, _ref2$components = _ref2.components, components2 = _ref2$components === void 0 ? {} : _ref2$components, _ref2$formats = _ref2.formats, formats2 = _ref2$formats === void 0 ? {} : _ref2$formats; var names = viewNames(views2); var msgs = messages(messages$1); return { viewNames: names, localizer: mergeWithDefaults(localizer, culture, formats2, msgs), getters: { eventProp: function eventProp() { return eventPropGetter && eventPropGetter.apply(void 0, arguments) || {}; }, backgroundEventProp: function backgroundEventProp() { return backgroundEventPropGetter && backgroundEventPropGetter.apply(void 0, arguments) || {}; }, slotProp: function slotProp() { return slotPropGetter && slotPropGetter.apply(void 0, arguments) || {}; }, slotGroupProp: function slotGroupProp() { return slotGroupPropGetter && slotGroupPropGetter.apply(void 0, arguments) || {}; }, dayProp: function dayProp() { return dayPropGetter && dayPropGetter.apply(void 0, arguments) || {}; } }, components: (0, import_defaults.default)(components2[view] || {}, (0, import_omit.default)(components2, names), { eventWrapper: NoopWrapper, backgroundEventWrapper: NoopWrapper, eventContainerWrapper: NoopWrapper, dateCellWrapper: NoopWrapper, weekWrapper: NoopWrapper, timeSlotWrapper: NoopWrapper, timeGutterWrapper: NoopWrapper, timeIndicatorWrapper: NoopWrapper }), accessors: { start: wrapAccessor(startAccessor), end: wrapAccessor(endAccessor), allDay: wrapAccessor(allDayAccessor), tooltip: wrapAccessor(tooltipAccessor), title: wrapAccessor(titleAccessor), resource: wrapAccessor(resourceAccessor), resourceId: wrapAccessor(resourceIdAccessor), resourceTitle: wrapAccessor(resourceTitleAccessor), eventId: wrapAccessor(eventIdAccessor) } }; } }]); }(import_react25.default.Component); Calendar.defaultProps = { events: [], backgroundEvents: [], elementProps: {}, popup: false, toolbar: true, view: views.MONTH, views: [views.MONTH, views.WEEK, views.DAY, views.AGENDA], step: 30, length: 30, allDayMaxRows: Infinity, doShowMoreDrillDown: true, drilldownView: views.DAY, titleAccessor: "title", tooltipAccessor: "title", allDayAccessor: "allDay", startAccessor: "start", endAccessor: "end", resourceAccessor: "resourceId", resourceIdAccessor: "id", resourceTitleAccessor: "title", eventIdAccessor: "id", longPressThreshold: 250, getNow: function getNow() { return /* @__PURE__ */ new Date(); }, dayLayoutAlgorithm: "overlap" }; var Calendar$1 = uncontrollable(Calendar, { view: "onView", date: "onNavigate", selected: "onSelectEvent" }); var weekRangeFormat$5 = function weekRangeFormat(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return local.format(start2, "MMMM DD", culture) + " – " + // updated to use this localizer 'eq()' method local.format(end2, local.eq(start2, end2, "month") ? "DD" : "MMMM DD", culture); }; var dateRangeFormat$5 = function dateRangeFormat(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return local.format(start2, "L", culture) + " – " + local.format(end2, "L", culture); }; var timeRangeFormat$5 = function timeRangeFormat(_ref3, culture, local) { var start2 = _ref3.start, end2 = _ref3.end; return local.format(start2, "LT", culture) + " – " + local.format(end2, "LT", culture); }; var timeRangeStartFormat$5 = function timeRangeStartFormat(_ref4, culture, local) { var start2 = _ref4.start; return local.format(start2, "LT", culture) + " – "; }; var timeRangeEndFormat$5 = function timeRangeEndFormat(_ref5, culture, local) { var end2 = _ref5.end; return " – " + local.format(end2, "LT", culture); }; var formats$5 = { dateFormat: "DD", dayFormat: "DD ddd", weekdayFormat: "ddd", selectRangeFormat: timeRangeFormat$5, eventTimeRangeFormat: timeRangeFormat$5, eventTimeRangeStartFormat: timeRangeStartFormat$5, eventTimeRangeEndFormat: timeRangeEndFormat$5, timeGutterFormat: "LT", monthHeaderFormat: "MMMM YYYY", dayHeaderFormat: "dddd MMM DD", dayRangeHeaderFormat: weekRangeFormat$5, agendaHeaderFormat: dateRangeFormat$5, agendaDateFormat: "ddd MMM DD", agendaTimeFormat: "LT", agendaTimeRangeFormat: timeRangeFormat$5 }; function fixUnit$2(unit) { var datePart = unit ? unit.toLowerCase() : unit; if (datePart === "FullYear") { datePart = "year"; } else if (!datePart) { datePart = void 0; } return datePart; } function moment(moment2) { var locale = function locale2(m, c) { return c ? m.locale(c) : m; }; function getTimezoneOffset(date2) { return moment2(date2).toDate().getTimezoneOffset(); } function getDstOffset2(start2, end2) { var _st$_z$name, _st$_z; var st = moment2(start2).local(); var ed = moment2(end2).local(); if (!moment2.tz) { return st.toDate().getTimezoneOffset() - ed.toDate().getTimezoneOffset(); } var tzName = (_st$_z$name = st === null || st === void 0 ? void 0 : (_st$_z = st._z) === null || _st$_z === void 0 ? void 0 : _st$_z.name) !== null && _st$_z$name !== void 0 ? _st$_z$name : moment2.tz.guess(); var startOffset = moment2.tz.zone(tzName).utcOffset(+st); var endOffset = moment2.tz.zone(tzName).utcOffset(+ed); return startOffset - endOffset; } function getDayStartDstOffset(start2) { var dayStart = moment2(start2).startOf("day"); return getDstOffset2(dayStart, start2); } function defineComparators(a, b, unit) { var datePart = fixUnit$2(unit); var dtA = datePart ? moment2(a).startOf(datePart) : moment2(a); var dtB = datePart ? moment2(b).startOf(datePart) : moment2(b); return [dtA, dtB, datePart]; } function startOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit$2(unit); if (datePart) { return moment2(date2).startOf(datePart).toDate(); } return moment2(date2).toDate(); } function endOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit$2(unit); if (datePart) { return moment2(date2).endOf(datePart).toDate(); } return moment2(date2).toDate(); } function eq2(a, b, unit) { var _defineComparators = defineComparators(a, b, unit), _defineComparators2 = _slicedToArray(_defineComparators, 3), dtA = _defineComparators2[0], dtB = _defineComparators2[1], datePart = _defineComparators2[2]; return dtA.isSame(dtB, datePart); } function neq2(a, b, unit) { return !eq2(a, b, unit); } function gt2(a, b, unit) { var _defineComparators3 = defineComparators(a, b, unit), _defineComparators4 = _slicedToArray(_defineComparators3, 3), dtA = _defineComparators4[0], dtB = _defineComparators4[1], datePart = _defineComparators4[2]; return dtA.isAfter(dtB, datePart); } function lt2(a, b, unit) { var _defineComparators5 = defineComparators(a, b, unit), _defineComparators6 = _slicedToArray(_defineComparators5, 3), dtA = _defineComparators6[0], dtB = _defineComparators6[1], datePart = _defineComparators6[2]; return dtA.isBefore(dtB, datePart); } function gte2(a, b, unit) { var _defineComparators7 = defineComparators(a, b, unit), _defineComparators8 = _slicedToArray(_defineComparators7, 3), dtA = _defineComparators8[0], dtB = _defineComparators8[1], datePart = _defineComparators8[2]; return dtA.isSameOrBefore(dtB, datePart); } function lte2(a, b, unit) { var _defineComparators9 = defineComparators(a, b, unit), _defineComparators10 = _slicedToArray(_defineComparators9, 3), dtA = _defineComparators10[0], dtB = _defineComparators10[1], datePart = _defineComparators10[2]; return dtA.isSameOrBefore(dtB, datePart); } function inRange3(day2, min4, max4) { var unit = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "day"; var datePart = fixUnit$2(unit); var mDay = moment2(day2); var mMin = moment2(min4); var mMax = moment2(max4); return mDay.isBetween(mMin, mMax, datePart, "[]"); } function min3(dateA, dateB) { var dtA = moment2(dateA); var dtB = moment2(dateB); var minDt = moment2.min(dtA, dtB); return minDt.toDate(); } function max3(dateA, dateB) { var dtA = moment2(dateA); var dtB = moment2(dateB); var maxDt = moment2.max(dtA, dtB); return maxDt.toDate(); } function merge2(date2, time) { if (!date2 && !time) return null; var tm = moment2(time).format("HH:mm:ss"); var dt = moment2(date2).startOf("day").format("MM/DD/YYYY"); return moment2("".concat(dt, " ").concat(tm), "MM/DD/YYYY HH:mm:ss").toDate(); } function add2(date2, adder, unit) { var datePart = fixUnit$2(unit); return moment2(date2).add(adder, datePart).toDate(); } function range2(start2, end2) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit$2(unit); var current = moment2(start2).toDate(); var days = []; while (lte2(current, end2)) { days.push(current); current = add2(current, 1, datePart); } return days; } function ceil2(date2, unit) { var datePart = fixUnit$2(unit); var floor = startOf2(date2, datePart); return eq2(floor, date2) ? floor : add2(floor, 1, datePart); } function diff3(a, b) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit$2(unit); var dtA = moment2(a); var dtB = moment2(b); return dtB.diff(dtA, datePart); } function minutes2(date2) { var dt = moment2(date2); return dt.minutes(); } function firstOfWeek(culture) { var data = culture ? moment2.localeData(culture) : moment2.localeData(); return data ? data.firstDayOfWeek() : 0; } function firstVisibleDay2(date2) { return moment2(date2).startOf("month").startOf("week").toDate(); } function lastVisibleDay2(date2) { return moment2(date2).endOf("month").endOf("week").toDate(); } function visibleDays2(date2) { var current = firstVisibleDay2(date2); var last = lastVisibleDay2(date2); var days = []; while (lte2(current, last)) { days.push(current); current = add2(current, 1, "d"); } return days; } function getSlotDate2(dt, minutesFromMidnight, offset3) { return moment2(dt).startOf("day").minute(minutesFromMidnight + offset3).toDate(); } function getTotalMin2(start2, end2) { return diff3(start2, end2, "minutes"); } function getMinutesFromMidnight2(start2) { var dayStart = moment2(start2).startOf("day"); var day2 = moment2(start2); return day2.diff(dayStart, "minutes") + getDayStartDstOffset(start2); } function continuesPrior2(start2, first) { var mStart = moment2(start2); var mFirst = moment2(first); return mStart.isBefore(mFirst, "day"); } function continuesAfter2(start2, end2, last) { var mEnd = moment2(end2); var mLast = moment2(last); return mEnd.isSameOrAfter(mLast, "minutes"); } function daySpan2(start2, end2) { var mStart = moment2(start2); var mEnd = moment2(end2); var dur = moment2.duration(mEnd.diff(mStart)); return dur.days(); } function sortEvents2(_ref6) { var _ref6$evtA = _ref6.evtA, aStart = _ref6$evtA.start, aEnd = _ref6$evtA.end, aAllDay = _ref6$evtA.allDay, _ref6$evtB = _ref6.evtB, bStart = _ref6$evtB.start, bEnd = _ref6$evtB.end, bAllDay = _ref6$evtB.allDay; var startSort = +startOf2(aStart, "day") - +startOf2(bStart, "day"); var durA = daySpan2(aStart, aEnd); var durB = daySpan2(bStart, bEnd); return startSort || // sort by start Day first durB - durA || // events spanning multiple days go first !!bAllDay - !!aAllDay || // then allDay single day events +aStart - +bStart || // then sort by start time *don't need moment conversion here +aEnd - +bEnd; } function inEventRange2(_ref7) { var _ref7$event = _ref7.event, start2 = _ref7$event.start, end2 = _ref7$event.end, _ref7$range = _ref7.range, rangeStart = _ref7$range.start, rangeEnd = _ref7$range.end; var startOfDay = moment2(start2).startOf("day"); var eEnd = moment2(end2); var rStart = moment2(rangeStart); var rEnd = moment2(rangeEnd); var startsBeforeEnd = startOfDay.isSameOrBefore(rEnd, "day"); var sameMin = !startOfDay.isSame(eEnd, "minutes"); var endsAfterStart = sameMin ? eEnd.isAfter(rStart, "minutes") : eEnd.isSameOrAfter(rStart, "minutes"); return startsBeforeEnd && endsAfterStart; } function isSameDate2(date1, date2) { var dt = moment2(date1); var dt2 = moment2(date2); return dt.isSame(dt2, "day"); } function browserTZOffset() { var dt = /* @__PURE__ */ new Date(); var neg = /-/.test(dt.toString()) ? "-" : ""; var dtOffset = dt.getTimezoneOffset(); var comparator = Number("".concat(neg).concat(Math.abs(dtOffset))); var mtOffset = moment2().utcOffset(); return mtOffset > comparator ? 1 : 0; } return new DateLocalizer({ formats: formats$5, firstOfWeek, firstVisibleDay: firstVisibleDay2, lastVisibleDay: lastVisibleDay2, visibleDays: visibleDays2, format: function format(value, _format2, culture) { return locale(moment2(value), culture).format(_format2); }, lt: lt2, lte: lte2, gt: gt2, gte: gte2, eq: eq2, neq: neq2, merge: merge2, inRange: inRange3, startOf: startOf2, endOf: endOf2, range: range2, add: add2, diff: diff3, ceil: ceil2, min: min3, max: max3, minutes: minutes2, getSlotDate: getSlotDate2, getTimezoneOffset, getDstOffset: getDstOffset2, getTotalMin: getTotalMin2, getMinutesFromMidnight: getMinutesFromMidnight2, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, sortEvents: sortEvents2, inEventRange: inEventRange2, isSameDate: isSameDate2, daySpan: daySpan2, browserTZOffset }); } function pluralizeUnit(unit) { return /s$/.test(unit) ? unit : unit + "s"; } var weekRangeFormat$4 = function weekRangeFormat2(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return local.format(start2, "MMMM dd", culture) + " – " + // updated to use this localizer 'eq()' method local.format(end2, local.eq(start2, end2, "month") ? "dd" : "MMMM dd", culture); }; var dateRangeFormat$4 = function dateRangeFormat2(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return local.format(start2, "D", culture) + " – " + local.format(end2, "D", culture); }; var timeRangeFormat$4 = function timeRangeFormat2(_ref3, culture, local) { var start2 = _ref3.start, end2 = _ref3.end; return local.format(start2, "t", culture) + " – " + local.format(end2, "t", culture); }; var timeRangeStartFormat$4 = function timeRangeStartFormat2(_ref4, culture, local) { var start2 = _ref4.start; return local.format(start2, "t", culture) + " – "; }; var timeRangeEndFormat$4 = function timeRangeEndFormat2(_ref5, culture, local) { var end2 = _ref5.end; return " – " + local.format(end2, "t", culture); }; var formats$4 = { dateFormat: "dd", dayFormat: "dd EEE", weekdayFormat: "EEE", selectRangeFormat: timeRangeFormat$4, eventTimeRangeFormat: timeRangeFormat$4, eventTimeRangeStartFormat: timeRangeStartFormat$4, eventTimeRangeEndFormat: timeRangeEndFormat$4, timeGutterFormat: "t", monthHeaderFormat: "MMMM yyyy", dayHeaderFormat: "EEEE MMM dd", dayRangeHeaderFormat: weekRangeFormat$4, agendaHeaderFormat: dateRangeFormat$4, agendaDateFormat: "EEE MMM dd", agendaTimeFormat: "t", agendaTimeRangeFormat: timeRangeFormat$4 }; function fixUnit$1(unit) { var datePart = unit ? pluralizeUnit(unit.toLowerCase()) : unit; if (datePart === "FullYear") { datePart = "year"; } else if (!datePart) { datePart = void 0; } return datePart; } function luxon(DateTime) { var _ref6 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}, _ref6$firstDayOfWeek = _ref6.firstDayOfWeek, firstDayOfWeek = _ref6$firstDayOfWeek === void 0 ? 7 : _ref6$firstDayOfWeek; function formatDate(value, format) { return DateTime.fromJSDate(value).toFormat(format); } function formatDateWithCulture(value, culture, format) { return DateTime.fromJSDate(value).setLocale(culture).toFormat(format); } function defineComparators(a, b, unit) { var datePart = fixUnit$1(unit); var dtA = datePart ? DateTime.fromJSDate(a).startOf(datePart) : DateTime.fromJSDate(a); var dtB = datePart ? DateTime.fromJSDate(b).startOf(datePart) : DateTime.fromJSDate(b); return [dtA, dtB, datePart]; } function startOfDTWeek(dtObj) { var weekday2 = dtObj.weekday; if (weekday2 === firstDayOfWeek) { return dtObj.startOf("day"); } else if (firstDayOfWeek === 1) { return dtObj.startOf("week"); } var diff4 = firstDayOfWeek === 7 ? weekday2 : weekday2 + (7 - firstDayOfWeek); return dtObj.minus({ day: diff4 }).startOf("day"); } function endOfDTWeek(dtObj) { var weekday2 = dtObj.weekday; var eow = firstDayOfWeek === 1 ? 7 : firstDayOfWeek - 1; if (weekday2 === eow) { return dtObj.endOf("day"); } else if (firstDayOfWeek === 1) { return dtObj.endOf("week"); } var fromDate = firstDayOfWeek > eow ? dtObj.plus({ day: firstDayOfWeek - eow }) : dtObj; return fromDate.set({ weekday: eow }).endOf("day"); } function startOfDT() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : /* @__PURE__ */ new Date(); var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit$1(unit); if (datePart) { var dt = DateTime.fromJSDate(date2); return datePart.includes("week") ? startOfDTWeek(dt) : dt.startOf(datePart); } return DateTime.fromJSDate(date2); } function firstOfWeek() { return firstDayOfWeek; } function startOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : /* @__PURE__ */ new Date(); var unit = arguments.length > 1 ? arguments[1] : void 0; return startOfDT(date2, unit).toJSDate(); } function endOfDT() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : /* @__PURE__ */ new Date(); var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit$1(unit); if (datePart) { var dt = DateTime.fromJSDate(date2); return datePart.includes("week") ? endOfDTWeek(dt) : dt.endOf(datePart); } return DateTime.fromJSDate(date2); } function endOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : /* @__PURE__ */ new Date(); var unit = arguments.length > 1 ? arguments[1] : void 0; return endOfDT(date2, unit).toJSDate(); } function eq2(a, b, unit) { var _defineComparators = defineComparators(a, b, unit), _defineComparators2 = _slicedToArray(_defineComparators, 2), dtA = _defineComparators2[0], dtB = _defineComparators2[1]; return +dtA == +dtB; } function neq2(a, b, unit) { return !eq2(a, b, unit); } function gt2(a, b, unit) { var _defineComparators3 = defineComparators(a, b, unit), _defineComparators4 = _slicedToArray(_defineComparators3, 2), dtA = _defineComparators4[0], dtB = _defineComparators4[1]; return +dtA > +dtB; } function lt2(a, b, unit) { var _defineComparators5 = defineComparators(a, b, unit), _defineComparators6 = _slicedToArray(_defineComparators5, 2), dtA = _defineComparators6[0], dtB = _defineComparators6[1]; return +dtA < +dtB; } function gte2(a, b, unit) { var _defineComparators7 = defineComparators(a, b, unit), _defineComparators8 = _slicedToArray(_defineComparators7, 2), dtA = _defineComparators8[0], dtB = _defineComparators8[1]; return +dtA >= +dtB; } function lte2(a, b, unit) { var _defineComparators9 = defineComparators(a, b, unit), _defineComparators10 = _slicedToArray(_defineComparators9, 2), dtA = _defineComparators10[0], dtB = _defineComparators10[1]; return +dtA <= +dtB; } function inRange3(day2, min4, max4) { var unit = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "day"; var datePart = fixUnit$1(unit); var mDay = startOfDT(day2, datePart); var mMin = startOfDT(min4, datePart); var mMax = startOfDT(max4, datePart); return +mDay >= +mMin && +mDay <= +mMax; } function min3(dateA, dateB) { var dtA = DateTime.fromJSDate(dateA); var dtB = DateTime.fromJSDate(dateB); var minDt = DateTime.min(dtA, dtB); return minDt.toJSDate(); } function max3(dateA, dateB) { var dtA = DateTime.fromJSDate(dateA); var dtB = DateTime.fromJSDate(dateB); var maxDt = DateTime.max(dtA, dtB); return maxDt.toJSDate(); } function merge2(date2, time) { if (!date2 && !time) return null; var tm = DateTime.fromJSDate(time); var dt = startOfDT(date2, "day"); return dt.set({ hour: tm.hour, minute: tm.minute, second: tm.second, millisecond: tm.millisecond }).toJSDate(); } function add2(date2, adder, unit) { var datePart = fixUnit$1(unit); return DateTime.fromJSDate(date2).plus(_defineProperty({}, datePart, adder)).toJSDate(); } function range2(start2, end2) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit$1(unit); var current = DateTime.fromJSDate(start2).toJSDate(); var days = []; while (lte2(current, end2)) { days.push(current); current = add2(current, 1, datePart); } return days; } function ceil2(date2, unit) { var datePart = fixUnit$1(unit); var floor = startOf2(date2, datePart); return eq2(floor, date2) ? floor : add2(floor, 1, datePart); } function diff3(a, b) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit$1(unit); var dtA = DateTime.fromJSDate(a); var dtB = DateTime.fromJSDate(b); return Math.floor(dtB.diff(dtA, datePart, { conversionAccuracy: "longterm" }).toObject()[datePart]); } function firstVisibleDay2(date2) { var startOfMonth = startOfDT(date2, "month"); return startOfDTWeek(startOfMonth).toJSDate(); } function lastVisibleDay2(date2) { var endOfMonth = endOfDT(date2, "month"); return endOfDTWeek(endOfMonth).toJSDate(); } function visibleDays2(date2) { var current = firstVisibleDay2(date2); var last = lastVisibleDay2(date2); var days = []; while (lte2(current, last)) { days.push(current); current = add2(current, 1, "day"); } return days; } function getSlotDate2(dt, minutesFromMidnight, offset3) { return startOfDT(dt, "day").set({ minutes: minutesFromMidnight + offset3 }).toJSDate(); } function getTotalMin2(start2, end2) { return diff3(start2, end2, "minutes"); } function getMinutesFromMidnight2(start2) { var dayStart = startOfDT(start2, "day"); var day2 = DateTime.fromJSDate(start2); return Math.round(day2.diff(dayStart, "minutes", { conversionAccuracy: "longterm" }).toObject().minutes); } function continuesPrior2(start2, first) { return lt2(start2, first); } function continuesAfter2(start2, end2, last) { return gte2(end2, last); } function daySpan2(start2, end2) { var dtStart = DateTime.fromJSDate(start2); var dtEnd = DateTime.fromJSDate(end2); return dtEnd.diff(dtStart).as("days"); } function sortEvents2(_ref7) { var _ref7$evtA = _ref7.evtA, aStart = _ref7$evtA.start, aEnd = _ref7$evtA.end, aAllDay = _ref7$evtA.allDay, _ref7$evtB = _ref7.evtB, bStart = _ref7$evtB.start, bEnd = _ref7$evtB.end, bAllDay = _ref7$evtB.allDay; var startSort = +startOf2(aStart, "day") - +startOf2(bStart, "day"); var durA = daySpan2(aStart, aEnd); var durB = daySpan2(bStart, bEnd); return startSort || // sort by start Day first durB - durA || // events spanning multiple days go first !!bAllDay - !!aAllDay || // then allDay single day events +aStart - +bStart || // then sort by start time *don't need moment conversion here +aEnd - +bEnd; } function inEventRange2(_ref8) { var _ref8$event = _ref8.event, start2 = _ref8$event.start, end2 = _ref8$event.end, _ref8$range = _ref8.range, rangeStart = _ref8$range.start, rangeEnd = _ref8$range.end; var eStart = startOf2(start2, "day"); var startsBeforeEnd = lte2(eStart, rangeEnd, "day"); var sameMin = neq2(eStart, end2, "minutes"); var endsAfterStart = sameMin ? gt2(end2, rangeStart, "minutes") : gte2(end2, rangeStart, "minutes"); return startsBeforeEnd && endsAfterStart; } function isSameDate2(date1, date2) { var dt = DateTime.fromJSDate(date1); var dt2 = DateTime.fromJSDate(date2); return dt.hasSame(dt2, "day"); } function browserTZOffset() { var dt = /* @__PURE__ */ new Date(); var neg = /-/.test(dt.toString()) ? "-" : ""; var dtOffset = dt.getTimezoneOffset(); var comparator = Number("".concat(neg).concat(Math.abs(dtOffset))); var mtOffset = DateTime.local().offset; return mtOffset > comparator ? 1 : 0; } return new DateLocalizer({ format: function format(value, _format2, culture) { if (culture) { return formatDateWithCulture(value, culture, _format2); } return formatDate(value, _format2); }, formats: formats$4, firstOfWeek, firstVisibleDay: firstVisibleDay2, lastVisibleDay: lastVisibleDay2, visibleDays: visibleDays2, lt: lt2, lte: lte2, gt: gt2, gte: gte2, eq: eq2, neq: neq2, merge: merge2, inRange: inRange3, startOf: startOf2, endOf: endOf2, range: range2, add: add2, diff: diff3, ceil: ceil2, min: min3, max: max3, getSlotDate: getSlotDate2, getTotalMin: getTotalMin2, getMinutesFromMidnight: getMinutesFromMidnight2, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, sortEvents: sortEvents2, inEventRange: inEventRange2, isSameDate: isSameDate2, daySpan: daySpan2, browserTZOffset }); } var dateRangeFormat$3 = function dateRangeFormat3(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return local.format(start2, "d", culture) + " – " + local.format(end2, "d", culture); }; var timeRangeFormat$3 = function timeRangeFormat3(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return local.format(start2, "t", culture) + " – " + local.format(end2, "t", culture); }; var timeRangeStartFormat$3 = function timeRangeStartFormat3(_ref3, culture, local) { var start2 = _ref3.start; return local.format(start2, "t", culture) + " – "; }; var timeRangeEndFormat$3 = function timeRangeEndFormat3(_ref4, culture, local) { var end2 = _ref4.end; return " – " + local.format(end2, "t", culture); }; var weekRangeFormat$3 = function weekRangeFormat3(_ref5, culture, local) { var start2 = _ref5.start, end2 = _ref5.end; return local.format(start2, "MMM dd", culture) + " – " + local.format(end2, eq(start2, end2, "month") ? "dd" : "MMM dd", culture); }; var formats$3 = { dateFormat: "dd", dayFormat: "ddd dd/MM", weekdayFormat: "ddd", selectRangeFormat: timeRangeFormat$3, eventTimeRangeFormat: timeRangeFormat$3, eventTimeRangeStartFormat: timeRangeStartFormat$3, eventTimeRangeEndFormat: timeRangeEndFormat$3, timeGutterFormat: "t", monthHeaderFormat: "Y", dayHeaderFormat: "dddd MMM dd", dayRangeHeaderFormat: weekRangeFormat$3, agendaHeaderFormat: dateRangeFormat$3, agendaDateFormat: "ddd MMM dd", agendaTimeFormat: "t", agendaTimeRangeFormat: timeRangeFormat$3 }; function oldGlobalize(globalize2) { function getCulture(culture) { return culture ? globalize2.findClosestCulture(culture) : globalize2.culture(); } function firstOfWeek(culture) { culture = getCulture(culture); return culture && culture.calendar.firstDay || 0; } return new DateLocalizer({ firstOfWeek, formats: formats$3, format: function format(value, _format2, culture) { return globalize2.format(value, _format2, culture); } }); } var dateRangeFormat$2 = function dateRangeFormat4(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return local.format(start2, { date: "short" }, culture) + " – " + local.format(end2, { date: "short" }, culture); }; var timeRangeFormat$2 = function timeRangeFormat4(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return local.format(start2, { time: "short" }, culture) + " – " + local.format(end2, { time: "short" }, culture); }; var timeRangeStartFormat$2 = function timeRangeStartFormat4(_ref3, culture, local) { var start2 = _ref3.start; return local.format(start2, { time: "short" }, culture) + " – "; }; var timeRangeEndFormat$2 = function timeRangeEndFormat4(_ref4, culture, local) { var end2 = _ref4.end; return " – " + local.format(end2, { time: "short" }, culture); }; var weekRangeFormat$2 = function weekRangeFormat4(_ref5, culture, local) { var start2 = _ref5.start, end2 = _ref5.end; return local.format(start2, "MMM dd", culture) + " – " + local.format(end2, eq(start2, end2, "month") ? "dd" : "MMM dd", culture); }; var formats$2 = { dateFormat: "dd", dayFormat: "eee dd/MM", weekdayFormat: "eee", selectRangeFormat: timeRangeFormat$2, eventTimeRangeFormat: timeRangeFormat$2, eventTimeRangeStartFormat: timeRangeStartFormat$2, eventTimeRangeEndFormat: timeRangeEndFormat$2, timeGutterFormat: { time: "short" }, monthHeaderFormat: "MMMM yyyy", dayHeaderFormat: "eeee MMM dd", dayRangeHeaderFormat: weekRangeFormat$2, agendaHeaderFormat: dateRangeFormat$2, agendaDateFormat: "eee MMM dd", agendaTimeFormat: { time: "short" }, agendaTimeRangeFormat: timeRangeFormat$2 }; function globalize(globalize2) { var locale = function locale2(culture) { return culture ? globalize2(culture) : globalize2; }; function firstOfWeek(culture) { try { var days = ["sun", "mon", "tue", "wed", "thu", "fri", "sat"]; var cldr = locale(culture).cldr; var territory = cldr.attributes.territory; var weekData = cldr.get("supplemental").weekData; var firstDay = weekData.firstDay[territory || "001"]; return days.indexOf(firstDay); } catch (e) { if (true) { console.error("Failed to accurately determine first day of the week. Is supplemental data loaded into CLDR?"); } var date2 = /* @__PURE__ */ new Date(); var localeDay = Math.max(parseInt(locale(culture).formatDate(date2, { raw: "e" }), 10) - 1, 0); return Math.abs(date2.getDay() - localeDay); } } if (!globalize2.load) return oldGlobalize(globalize2); return new DateLocalizer({ firstOfWeek, formats: formats$2, format: function format(value, _format2, culture) { _format2 = typeof _format2 === "string" ? { raw: _format2 } : _format2; return locale(culture).formatDate(value, _format2); } }); } var dateRangeFormat$1 = function dateRangeFormat5(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return "".concat(local.format(start2, "P", culture), " – ").concat(local.format(end2, "P", culture)); }; var timeRangeFormat$1 = function timeRangeFormat5(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return "".concat(local.format(start2, "p", culture), " – ").concat(local.format(end2, "p", culture)); }; var timeRangeStartFormat$1 = function timeRangeStartFormat5(_ref3, culture, local) { var start2 = _ref3.start; return "".concat(local.format(start2, "h:mma", culture), " – "); }; var timeRangeEndFormat$1 = function timeRangeEndFormat5(_ref4, culture, local) { var end2 = _ref4.end; return " – ".concat(local.format(end2, "h:mma", culture)); }; var weekRangeFormat$1 = function weekRangeFormat5(_ref5, culture, local) { var start2 = _ref5.start, end2 = _ref5.end; return "".concat(local.format(start2, "MMMM dd", culture), " – ").concat(local.format(end2, eq(start2, end2, "month") ? "dd" : "MMMM dd", culture)); }; var formats$1 = { dateFormat: "dd", dayFormat: "dd eee", weekdayFormat: "ccc", selectRangeFormat: timeRangeFormat$1, eventTimeRangeFormat: timeRangeFormat$1, eventTimeRangeStartFormat: timeRangeStartFormat$1, eventTimeRangeEndFormat: timeRangeEndFormat$1, timeGutterFormat: "p", monthHeaderFormat: "MMMM yyyy", dayHeaderFormat: "cccc MMM dd", dayRangeHeaderFormat: weekRangeFormat$1, agendaHeaderFormat: dateRangeFormat$1, agendaDateFormat: "ccc MMM dd", agendaTimeFormat: "p", agendaTimeRangeFormat: timeRangeFormat$1 }; var dateFnsLocalizer = function dateFnsLocalizer2(_ref6) { var startOfWeek = _ref6.startOfWeek, getDay = _ref6.getDay, _format2 = _ref6.format, locales = _ref6.locales; return new DateLocalizer({ formats: formats$1, firstOfWeek: function firstOfWeek(culture) { return getDay(startOfWeek(/* @__PURE__ */ new Date(), { locale: locales[culture] })); }, format: function format(value, formatString, culture) { return _format2(new Date(value), formatString, { locale: locales[culture] }); } }); }; var weekRangeFormat6 = function weekRangeFormat7(_ref, culture, local) { var start2 = _ref.start, end2 = _ref.end; return local.format(start2, "MMMM DD", culture) + " – " + // updated to use this localizer 'eq()' method local.format(end2, local.eq(start2, end2, "month") ? "DD" : "MMMM DD", culture); }; var dateRangeFormat6 = function dateRangeFormat7(_ref2, culture, local) { var start2 = _ref2.start, end2 = _ref2.end; return local.format(start2, "L", culture) + " – " + local.format(end2, "L", culture); }; var timeRangeFormat6 = function timeRangeFormat7(_ref3, culture, local) { var start2 = _ref3.start, end2 = _ref3.end; return local.format(start2, "LT", culture) + " – " + local.format(end2, "LT", culture); }; var timeRangeStartFormat6 = function timeRangeStartFormat7(_ref4, culture, local) { var start2 = _ref4.start; return local.format(start2, "LT", culture) + " – "; }; var timeRangeEndFormat6 = function timeRangeEndFormat7(_ref5, culture, local) { var end2 = _ref5.end; return " – " + local.format(end2, "LT", culture); }; var formats = { dateFormat: "DD", dayFormat: "DD ddd", weekdayFormat: "ddd", selectRangeFormat: timeRangeFormat6, eventTimeRangeFormat: timeRangeFormat6, eventTimeRangeStartFormat: timeRangeStartFormat6, eventTimeRangeEndFormat: timeRangeEndFormat6, timeGutterFormat: "LT", monthHeaderFormat: "MMMM YYYY", dayHeaderFormat: "dddd MMM DD", dayRangeHeaderFormat: weekRangeFormat6, agendaHeaderFormat: dateRangeFormat6, agendaDateFormat: "ddd MMM DD", agendaTimeFormat: "LT", agendaTimeRangeFormat: timeRangeFormat6 }; function fixUnit(unit) { var datePart = unit ? unit.toLowerCase() : unit; if (datePart === "FullYear") { datePart = "year"; } else if (!datePart) { datePart = void 0; } return datePart; } function dayjs(dayjsLib) { dayjsLib.extend(import_isBetween.default); dayjsLib.extend(import_isSameOrAfter.default); dayjsLib.extend(import_isSameOrBefore.default); dayjsLib.extend(import_localeData.default); dayjsLib.extend(import_localizedFormat.default); dayjsLib.extend(import_minMax.default); dayjsLib.extend(import_utc.default); dayjsLib.extend(import_isLeapYear.default); var locale = function locale2(dj, c) { return c ? dj.locale(c) : dj; }; var dayjs2 = dayjsLib.tz ? dayjsLib.tz : dayjsLib; function getTimezoneOffset(date2) { return dayjs2(date2).toDate().getTimezoneOffset(); } function getDstOffset2(start2, end2) { var _st$tz$$x$$timezone; var st = dayjs2(start2); var ed = dayjs2(end2); if (!dayjs2.tz) { return st.toDate().getTimezoneOffset() - ed.toDate().getTimezoneOffset(); } var tzName = (_st$tz$$x$$timezone = st.tz().$x.$timezone) !== null && _st$tz$$x$$timezone !== void 0 ? _st$tz$$x$$timezone : dayjsLib.tz.guess(); var startOffset = -dayjs2.tz(+st, tzName).utcOffset(); var endOffset = -dayjs2.tz(+ed, tzName).utcOffset(); return startOffset - endOffset; } function getDayStartDstOffset(start2) { var dayStart = dayjs2(start2).startOf("day"); return getDstOffset2(dayStart, start2); } function defineComparators(a, b, unit) { var datePart = fixUnit(unit); var dtA = datePart ? dayjs2(a).startOf(datePart) : dayjs2(a); var dtB = datePart ? dayjs2(b).startOf(datePart) : dayjs2(b); return [dtA, dtB, datePart]; } function startOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit(unit); if (datePart) { return dayjs2(date2).startOf(datePart).toDate(); } return dayjs2(date2).toDate(); } function endOf2() { var date2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : null; var unit = arguments.length > 1 ? arguments[1] : void 0; var datePart = fixUnit(unit); if (datePart) { return dayjs2(date2).endOf(datePart).toDate(); } return dayjs2(date2).toDate(); } function eq2(a, b, unit) { var _defineComparators = defineComparators(a, b, unit), _defineComparators2 = _slicedToArray(_defineComparators, 3), dtA = _defineComparators2[0], dtB = _defineComparators2[1], datePart = _defineComparators2[2]; return dtA.isSame(dtB, datePart); } function neq2(a, b, unit) { return !eq2(a, b, unit); } function gt2(a, b, unit) { var _defineComparators3 = defineComparators(a, b, unit), _defineComparators4 = _slicedToArray(_defineComparators3, 3), dtA = _defineComparators4[0], dtB = _defineComparators4[1], datePart = _defineComparators4[2]; return dtA.isAfter(dtB, datePart); } function lt2(a, b, unit) { var _defineComparators5 = defineComparators(a, b, unit), _defineComparators6 = _slicedToArray(_defineComparators5, 3), dtA = _defineComparators6[0], dtB = _defineComparators6[1], datePart = _defineComparators6[2]; return dtA.isBefore(dtB, datePart); } function gte2(a, b, unit) { var _defineComparators7 = defineComparators(a, b, unit), _defineComparators8 = _slicedToArray(_defineComparators7, 3), dtA = _defineComparators8[0], dtB = _defineComparators8[1], datePart = _defineComparators8[2]; return dtA.isSameOrBefore(dtB, datePart); } function lte2(a, b, unit) { var _defineComparators9 = defineComparators(a, b, unit), _defineComparators10 = _slicedToArray(_defineComparators9, 3), dtA = _defineComparators10[0], dtB = _defineComparators10[1], datePart = _defineComparators10[2]; return dtA.isSameOrBefore(dtB, datePart); } function inRange3(day2, min4, max4) { var unit = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : "day"; var datePart = fixUnit(unit); var djDay = dayjs2(day2); var djMin = dayjs2(min4); var djMax = dayjs2(max4); return djDay.isBetween(djMin, djMax, datePart, "[]"); } function min3(dateA, dateB) { var dtA = dayjs2(dateA); var dtB = dayjs2(dateB); var minDt = dayjsLib.min(dtA, dtB); return minDt.toDate(); } function max3(dateA, dateB) { var dtA = dayjs2(dateA); var dtB = dayjs2(dateB); var maxDt = dayjsLib.max(dtA, dtB); return maxDt.toDate(); } function merge2(date2, time) { if (!date2 && !time) return null; var tm = dayjs2(time).format("HH:mm:ss"); var dt = dayjs2(date2).startOf("day").format("MM/DD/YYYY"); var mergedDateTime = dayjs2("".concat(dt, " ").concat(tm)).toDate(); return dayjsLib(mergedDateTime).utc(true).toDate(); } function add2(date2, adder, unit) { var datePart = fixUnit(unit); return dayjs2(date2).add(adder, datePart).toDate(); } function range2(start2, end2) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit(unit); var current = dayjs2(start2).toDate(); var days = []; while (lte2(current, end2)) { days.push(current); current = add2(current, 1, datePart); } return days; } function ceil2(date2, unit) { var datePart = fixUnit(unit); var floor = startOf2(date2, datePart); return eq2(floor, date2) ? floor : add2(floor, 1, datePart); } function diff3(a, b) { var unit = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "day"; var datePart = fixUnit(unit); var dtA = dayjs2(a); var dtB = dayjs2(b); return dtB.diff(dtA, datePart); } function minutes2(date2) { var dt = dayjs2(date2); return dt.minutes(); } function firstOfWeek(culture) { var data = culture ? dayjsLib.localeData(culture) : dayjsLib.localeData(); return data ? data.firstDayOfWeek() : 0; } function firstVisibleDay2(date2) { var firstDayOfMonth = dayjs2(date2).startOf("month"); var firstDayOfWeek = dayjs2(firstDayOfMonth).startOf("week"); if (dayjs2(firstDayOfMonth).isLeapYear()) { var day2 = firstDayOfMonth.toDate().getDay(), _diff = firstDayOfMonth.toDate().getDate() - day2 + (day2 == 0 ? -6 : 1); firstDayOfWeek.date(_diff); } return firstDayOfWeek.toDate(); } function lastVisibleDay2(date2) { return dayjs2(date2).endOf("month").endOf("week").toDate(); } function visibleDays2(date2) { var current = firstVisibleDay2(date2); var last = lastVisibleDay2(date2); var days = []; while (lte2(current, last)) { days.push(current); current = add2(current, 1, "d"); } return days; } function getSlotDate2(dt, minutesFromMidnight, offset3) { return dayjs2(dt).startOf("day").minute(minutesFromMidnight + offset3).toDate(); } function getTotalMin2(start2, end2) { return diff3(start2, end2, "minutes"); } function getMinutesFromMidnight2(start2) { var dayStart = dayjs2(start2).startOf("day"); var day2 = dayjs2(start2); return day2.diff(dayStart, "minutes") + getDayStartDstOffset(start2); } function continuesPrior2(start2, first) { var djStart = dayjs2(start2); var djFirst = dayjs2(first); return djStart.isBefore(djFirst, "day"); } function continuesAfter2(start2, end2, last) { var djEnd = dayjs2(end2); var djLast = dayjs2(last); return djEnd.isSameOrAfter(djLast, "minutes"); } function daySpan2(start2, end2) { var startDay = dayjs2(start2); var endDay = dayjs2(end2); return endDay.diff(startDay, "day"); } function sortEvents2(_ref6) { var _ref6$evtA = _ref6.evtA, aStart = _ref6$evtA.start, aEnd = _ref6$evtA.end, aAllDay = _ref6$evtA.allDay, _ref6$evtB = _ref6.evtB, bStart = _ref6$evtB.start, bEnd = _ref6$evtB.end, bAllDay = _ref6$evtB.allDay; var startSort = +startOf2(aStart, "day") - +startOf2(bStart, "day"); var durA = daySpan2(aStart, aEnd); var durB = daySpan2(bStart, bEnd); return startSort || // sort by start Day first durB - durA || // events spanning multiple days go first !!bAllDay - !!aAllDay || // then allDay single day events +aStart - +bStart || // then sort by start time *don't need dayjs conversion here +aEnd - +bEnd; } function inEventRange2(_ref7) { var _ref7$event = _ref7.event, start2 = _ref7$event.start, end2 = _ref7$event.end, _ref7$range = _ref7.range, rangeStart = _ref7$range.start, rangeEnd = _ref7$range.end; var startOfDay = dayjs2(start2).startOf("day"); var eEnd = dayjs2(end2); var rStart = dayjs2(rangeStart); var rEnd = dayjs2(rangeEnd); var startsBeforeEnd = startOfDay.isSameOrBefore(rEnd, "day"); var sameMin = !startOfDay.isSame(eEnd, "minutes"); var endsAfterStart = sameMin ? eEnd.isAfter(rStart, "minutes") : eEnd.isSameOrAfter(rStart, "minutes"); return startsBeforeEnd && endsAfterStart; } function isSameDate2(date1, date2) { var dt = dayjs2(date1); var dt2 = dayjs2(date2); return dt.isSame(dt2, "day"); } function browserTZOffset() { var dt = /* @__PURE__ */ new Date(); var neg = /-/.test(dt.toString()) ? "-" : ""; var dtOffset = dt.getTimezoneOffset(); var comparator = Number("".concat(neg).concat(Math.abs(dtOffset))); var mtOffset = dayjs2().utcOffset(); return mtOffset > comparator ? 1 : 0; } return new DateLocalizer({ formats, firstOfWeek, firstVisibleDay: firstVisibleDay2, lastVisibleDay: lastVisibleDay2, visibleDays: visibleDays2, format: function format(value, _format2, culture) { return locale(dayjs2(value), culture).format(_format2); }, lt: lt2, lte: lte2, gt: gt2, gte: gte2, eq: eq2, neq: neq2, merge: merge2, inRange: inRange3, startOf: startOf2, endOf: endOf2, range: range2, add: add2, diff: diff3, ceil: ceil2, min: min3, max: max3, minutes: minutes2, getSlotDate: getSlotDate2, getTimezoneOffset, getDstOffset: getDstOffset2, getTotalMin: getTotalMin2, getMinutesFromMidnight: getMinutesFromMidnight2, continuesPrior: continuesPrior2, continuesAfter: continuesAfter2, sortEvents: sortEvents2, inEventRange: inEventRange2, isSameDate: isSameDate2, browserTZOffset }); } var components = { eventWrapper: NoopWrapper, timeSlotWrapper: NoopWrapper, dateCellWrapper: NoopWrapper }; export { Calendar$1 as Calendar, DateLocalizer, navigate as Navigate, views as Views, components, dateFnsLocalizer, dayjs as dayjsLocalizer, globalize as globalizeLocalizer, luxon as luxonLocalizer, moment as momentLocalizer, moveDate as move }; //# sourceMappingURL=react-big-calendar.js.map