volleyball-dev-frontend/node_modules/.vite/deps/react-big-calendar.js
Marc Wieland 33181acf83
Some checks are pending
Deploy Volleyball CMS / deploy (push) Waiting to run
Last
2025-06-02 18:56:22 +02:00

11711 lines
435 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 => <MyDialog {...props} />}
* ```
*/
renderDialog: import_prop_types4.default.func,
/**
* A function that returns a backdrop component. Useful for custom
* backdrop rendering.
*
* ```js
* renderBackdrop={props => <MyBackdrop {...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` `<Transition/>` component used
* to control animations for the dialog component.
*/
transition: import_prop_types4.default.elementType,
/**
* A `react-transition-group@2.0.0` `<Transition/>` 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` `<Transition/>` 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