UNPKG

hoxa

Version:

A comprehensive collection of 100+ production-ready React hooks for state management, UI effects, forms, animations, and more. Carefully curated and optimized for performance and developer experience.

1,487 lines (1,397 loc) 408 kB
var __create = Object.create; var __getProtoOf = Object.getPrototypeOf; var __defProp = Object.defineProperty; var __getOwnPropNames = Object.getOwnPropertyNames; var __hasOwnProp = Object.prototype.hasOwnProperty; var __toESM = (mod, isNodeMode, target) => { target = mod != null ? __create(__getProtoOf(mod)) : {}; const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target; for (let key of __getOwnPropNames(mod)) if (!__hasOwnProp.call(to, key)) __defProp(to, key, { get: () => mod[key], enumerable: true }); return to; }; var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); var __export = (target, all) => { for (var name in all) __defProp(target, name, { get: all[name], enumerable: true, configurable: true, set: (newValue) => all[name] = () => newValue }); }; // node_modules/lodash/_listCacheClear.js var require__listCacheClear = __commonJS((exports, module) => { function listCacheClear() { this.__data__ = []; this.size = 0; } module.exports = listCacheClear; }); // node_modules/lodash/eq.js var require_eq = __commonJS((exports, module) => { function eq(value, other) { return value === other || value !== value && other !== other; } module.exports = eq; }); // node_modules/lodash/_assocIndexOf.js var require__assocIndexOf = __commonJS((exports, module) => { var eq = require_eq(); function assocIndexOf(array, key) { var length = array.length; while (length--) { if (eq(array[length][0], key)) { return length; } } return -1; } module.exports = assocIndexOf; }); // node_modules/lodash/_listCacheDelete.js var require__listCacheDelete = __commonJS((exports, module) => { var assocIndexOf = require__assocIndexOf(); var arrayProto = Array.prototype; var splice = arrayProto.splice; function listCacheDelete(key) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { return false; } var lastIndex = data.length - 1; if (index == lastIndex) { data.pop(); } else { splice.call(data, index, 1); } --this.size; return true; } module.exports = listCacheDelete; }); // node_modules/lodash/_listCacheGet.js var require__listCacheGet = __commonJS((exports, module) => { var assocIndexOf = require__assocIndexOf(); function listCacheGet(key) { var data = this.__data__, index = assocIndexOf(data, key); return index < 0 ? undefined : data[index][1]; } module.exports = listCacheGet; }); // node_modules/lodash/_listCacheHas.js var require__listCacheHas = __commonJS((exports, module) => { var assocIndexOf = require__assocIndexOf(); function listCacheHas(key) { return assocIndexOf(this.__data__, key) > -1; } module.exports = listCacheHas; }); // node_modules/lodash/_listCacheSet.js var require__listCacheSet = __commonJS((exports, module) => { var assocIndexOf = require__assocIndexOf(); function listCacheSet(key, value) { var data = this.__data__, index = assocIndexOf(data, key); if (index < 0) { ++this.size; data.push([key, value]); } else { data[index][1] = value; } return this; } module.exports = listCacheSet; }); // node_modules/lodash/_ListCache.js var require__ListCache = __commonJS((exports, module) => { var listCacheClear = require__listCacheClear(); var listCacheDelete = require__listCacheDelete(); var listCacheGet = require__listCacheGet(); var listCacheHas = require__listCacheHas(); var listCacheSet = require__listCacheSet(); function ListCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } ListCache.prototype.clear = listCacheClear; ListCache.prototype["delete"] = listCacheDelete; ListCache.prototype.get = listCacheGet; ListCache.prototype.has = listCacheHas; ListCache.prototype.set = listCacheSet; module.exports = ListCache; }); // node_modules/lodash/_stackClear.js var require__stackClear = __commonJS((exports, module) => { var ListCache = require__ListCache(); function stackClear() { this.__data__ = new ListCache; this.size = 0; } module.exports = stackClear; }); // node_modules/lodash/_stackDelete.js var require__stackDelete = __commonJS((exports, module) => { function stackDelete(key) { var data = this.__data__, result = data["delete"](key); this.size = data.size; return result; } module.exports = stackDelete; }); // node_modules/lodash/_stackGet.js var require__stackGet = __commonJS((exports, module) => { function stackGet(key) { return this.__data__.get(key); } module.exports = stackGet; }); // node_modules/lodash/_stackHas.js var require__stackHas = __commonJS((exports, module) => { function stackHas(key) { return this.__data__.has(key); } module.exports = stackHas; }); // node_modules/lodash/_freeGlobal.js var require__freeGlobal = __commonJS((exports, module) => { var freeGlobal = typeof global == "object" && global && global.Object === Object && global; module.exports = freeGlobal; }); // node_modules/lodash/_root.js var require__root = __commonJS((exports, module) => { var freeGlobal = require__freeGlobal(); var freeSelf = typeof self == "object" && self && self.Object === Object && self; var root = freeGlobal || freeSelf || Function("return this")(); module.exports = root; }); // node_modules/lodash/_Symbol.js var require__Symbol = __commonJS((exports, module) => { var root = require__root(); var Symbol2 = root.Symbol; module.exports = Symbol2; }); // node_modules/lodash/_getRawTag.js var require__getRawTag = __commonJS((exports, module) => { var Symbol2 = require__Symbol(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; var nativeObjectToString = objectProto.toString; var symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined; function getRawTag(value) { var isOwn = hasOwnProperty.call(value, symToStringTag), tag = value[symToStringTag]; try { value[symToStringTag] = undefined; var unmasked = true; } catch (e) {} var result = nativeObjectToString.call(value); if (unmasked) { if (isOwn) { value[symToStringTag] = tag; } else { delete value[symToStringTag]; } } return result; } module.exports = getRawTag; }); // node_modules/lodash/_objectToString.js var require__objectToString = __commonJS((exports, module) => { var objectProto = Object.prototype; var nativeObjectToString = objectProto.toString; function objectToString(value) { return nativeObjectToString.call(value); } module.exports = objectToString; }); // node_modules/lodash/_baseGetTag.js var require__baseGetTag = __commonJS((exports, module) => { var Symbol2 = require__Symbol(); var getRawTag = require__getRawTag(); var objectToString = require__objectToString(); var nullTag = "[object Null]"; var undefinedTag = "[object Undefined]"; var symToStringTag = Symbol2 ? Symbol2.toStringTag : undefined; function baseGetTag(value) { if (value == null) { return value === undefined ? undefinedTag : nullTag; } return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value); } module.exports = baseGetTag; }); // node_modules/lodash/isObject.js var require_isObject = __commonJS((exports, module) => { function isObject(value) { var type = typeof value; return value != null && (type == "object" || type == "function"); } module.exports = isObject; }); // node_modules/lodash/isFunction.js var require_isFunction = __commonJS((exports, module) => { var baseGetTag = require__baseGetTag(); var isObject = require_isObject(); var asyncTag = "[object AsyncFunction]"; var funcTag = "[object Function]"; var genTag = "[object GeneratorFunction]"; var proxyTag = "[object Proxy]"; function isFunction(value) { if (!isObject(value)) { return false; } var tag = baseGetTag(value); return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; } module.exports = isFunction; }); // node_modules/lodash/_coreJsData.js var require__coreJsData = __commonJS((exports, module) => { var root = require__root(); var coreJsData = root["__core-js_shared__"]; module.exports = coreJsData; }); // node_modules/lodash/_isMasked.js var require__isMasked = __commonJS((exports, module) => { var coreJsData = require__coreJsData(); var maskSrcKey = function() { var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ""); return uid ? "Symbol(src)_1." + uid : ""; }(); function isMasked(func) { return !!maskSrcKey && maskSrcKey in func; } module.exports = isMasked; }); // node_modules/lodash/_toSource.js var require__toSource = __commonJS((exports, module) => { var funcProto = Function.prototype; var funcToString = funcProto.toString; function toSource(func) { if (func != null) { try { return funcToString.call(func); } catch (e) {} try { return func + ""; } catch (e) {} } return ""; } module.exports = toSource; }); // node_modules/lodash/_baseIsNative.js var require__baseIsNative = __commonJS((exports, module) => { var isFunction = require_isFunction(); var isMasked = require__isMasked(); var isObject = require_isObject(); var toSource = require__toSource(); var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; var reIsHostCtor = /^\[object .+?Constructor\]$/; var funcProto = Function.prototype; var objectProto = Object.prototype; var funcToString = funcProto.toString; var hasOwnProperty = objectProto.hasOwnProperty; var reIsNative = RegExp("^" + funcToString.call(hasOwnProperty).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$"); function baseIsNative(value) { if (!isObject(value) || isMasked(value)) { return false; } var pattern = isFunction(value) ? reIsNative : reIsHostCtor; return pattern.test(toSource(value)); } module.exports = baseIsNative; }); // node_modules/lodash/_getValue.js var require__getValue = __commonJS((exports, module) => { function getValue(object, key) { return object == null ? undefined : object[key]; } module.exports = getValue; }); // node_modules/lodash/_getNative.js var require__getNative = __commonJS((exports, module) => { var baseIsNative = require__baseIsNative(); var getValue = require__getValue(); function getNative(object, key) { var value = getValue(object, key); return baseIsNative(value) ? value : undefined; } module.exports = getNative; }); // node_modules/lodash/_Map.js var require__Map = __commonJS((exports, module) => { var getNative = require__getNative(); var root = require__root(); var Map2 = getNative(root, "Map"); module.exports = Map2; }); // node_modules/lodash/_nativeCreate.js var require__nativeCreate = __commonJS((exports, module) => { var getNative = require__getNative(); var nativeCreate = getNative(Object, "create"); module.exports = nativeCreate; }); // node_modules/lodash/_hashClear.js var require__hashClear = __commonJS((exports, module) => { var nativeCreate = require__nativeCreate(); function hashClear() { this.__data__ = nativeCreate ? nativeCreate(null) : {}; this.size = 0; } module.exports = hashClear; }); // node_modules/lodash/_hashDelete.js var require__hashDelete = __commonJS((exports, module) => { function hashDelete(key) { var result = this.has(key) && delete this.__data__[key]; this.size -= result ? 1 : 0; return result; } module.exports = hashDelete; }); // node_modules/lodash/_hashGet.js var require__hashGet = __commonJS((exports, module) => { var nativeCreate = require__nativeCreate(); var HASH_UNDEFINED = "__lodash_hash_undefined__"; var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function hashGet(key) { var data = this.__data__; if (nativeCreate) { var result = data[key]; return result === HASH_UNDEFINED ? undefined : result; } return hasOwnProperty.call(data, key) ? data[key] : undefined; } module.exports = hashGet; }); // node_modules/lodash/_hashHas.js var require__hashHas = __commonJS((exports, module) => { var nativeCreate = require__nativeCreate(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function hashHas(key) { var data = this.__data__; return nativeCreate ? data[key] !== undefined : hasOwnProperty.call(data, key); } module.exports = hashHas; }); // node_modules/lodash/_hashSet.js var require__hashSet = __commonJS((exports, module) => { var nativeCreate = require__nativeCreate(); var HASH_UNDEFINED = "__lodash_hash_undefined__"; function hashSet(key, value) { var data = this.__data__; this.size += this.has(key) ? 0 : 1; data[key] = nativeCreate && value === undefined ? HASH_UNDEFINED : value; return this; } module.exports = hashSet; }); // node_modules/lodash/_Hash.js var require__Hash = __commonJS((exports, module) => { var hashClear = require__hashClear(); var hashDelete = require__hashDelete(); var hashGet = require__hashGet(); var hashHas = require__hashHas(); var hashSet = require__hashSet(); function Hash(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } Hash.prototype.clear = hashClear; Hash.prototype["delete"] = hashDelete; Hash.prototype.get = hashGet; Hash.prototype.has = hashHas; Hash.prototype.set = hashSet; module.exports = Hash; }); // node_modules/lodash/_mapCacheClear.js var require__mapCacheClear = __commonJS((exports, module) => { var Hash = require__Hash(); var ListCache = require__ListCache(); var Map2 = require__Map(); function mapCacheClear() { this.size = 0; this.__data__ = { hash: new Hash, map: new (Map2 || ListCache), string: new Hash }; } module.exports = mapCacheClear; }); // node_modules/lodash/_isKeyable.js var require__isKeyable = __commonJS((exports, module) => { function isKeyable(value) { var type = typeof value; return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null; } module.exports = isKeyable; }); // node_modules/lodash/_getMapData.js var require__getMapData = __commonJS((exports, module) => { var isKeyable = require__isKeyable(); function getMapData(map, key) { var data = map.__data__; return isKeyable(key) ? data[typeof key == "string" ? "string" : "hash"] : data.map; } module.exports = getMapData; }); // node_modules/lodash/_mapCacheDelete.js var require__mapCacheDelete = __commonJS((exports, module) => { var getMapData = require__getMapData(); function mapCacheDelete(key) { var result = getMapData(this, key)["delete"](key); this.size -= result ? 1 : 0; return result; } module.exports = mapCacheDelete; }); // node_modules/lodash/_mapCacheGet.js var require__mapCacheGet = __commonJS((exports, module) => { var getMapData = require__getMapData(); function mapCacheGet(key) { return getMapData(this, key).get(key); } module.exports = mapCacheGet; }); // node_modules/lodash/_mapCacheHas.js var require__mapCacheHas = __commonJS((exports, module) => { var getMapData = require__getMapData(); function mapCacheHas(key) { return getMapData(this, key).has(key); } module.exports = mapCacheHas; }); // node_modules/lodash/_mapCacheSet.js var require__mapCacheSet = __commonJS((exports, module) => { var getMapData = require__getMapData(); function mapCacheSet(key, value) { var data = getMapData(this, key), size = data.size; data.set(key, value); this.size += data.size == size ? 0 : 1; return this; } module.exports = mapCacheSet; }); // node_modules/lodash/_MapCache.js var require__MapCache = __commonJS((exports, module) => { var mapCacheClear = require__mapCacheClear(); var mapCacheDelete = require__mapCacheDelete(); var mapCacheGet = require__mapCacheGet(); var mapCacheHas = require__mapCacheHas(); var mapCacheSet = require__mapCacheSet(); function MapCache(entries) { var index = -1, length = entries == null ? 0 : entries.length; this.clear(); while (++index < length) { var entry = entries[index]; this.set(entry[0], entry[1]); } } MapCache.prototype.clear = mapCacheClear; MapCache.prototype["delete"] = mapCacheDelete; MapCache.prototype.get = mapCacheGet; MapCache.prototype.has = mapCacheHas; MapCache.prototype.set = mapCacheSet; module.exports = MapCache; }); // node_modules/lodash/_stackSet.js var require__stackSet = __commonJS((exports, module) => { var ListCache = require__ListCache(); var Map2 = require__Map(); var MapCache = require__MapCache(); var LARGE_ARRAY_SIZE = 200; function stackSet(key, value) { var data = this.__data__; if (data instanceof ListCache) { var pairs = data.__data__; if (!Map2 || pairs.length < LARGE_ARRAY_SIZE - 1) { pairs.push([key, value]); this.size = ++data.size; return this; } data = this.__data__ = new MapCache(pairs); } data.set(key, value); this.size = data.size; return this; } module.exports = stackSet; }); // node_modules/lodash/_Stack.js var require__Stack = __commonJS((exports, module) => { var ListCache = require__ListCache(); var stackClear = require__stackClear(); var stackDelete = require__stackDelete(); var stackGet = require__stackGet(); var stackHas = require__stackHas(); var stackSet = require__stackSet(); function Stack(entries) { var data = this.__data__ = new ListCache(entries); this.size = data.size; } Stack.prototype.clear = stackClear; Stack.prototype["delete"] = stackDelete; Stack.prototype.get = stackGet; Stack.prototype.has = stackHas; Stack.prototype.set = stackSet; module.exports = Stack; }); // node_modules/lodash/_setCacheAdd.js var require__setCacheAdd = __commonJS((exports, module) => { var HASH_UNDEFINED = "__lodash_hash_undefined__"; function setCacheAdd(value) { this.__data__.set(value, HASH_UNDEFINED); return this; } module.exports = setCacheAdd; }); // node_modules/lodash/_setCacheHas.js var require__setCacheHas = __commonJS((exports, module) => { function setCacheHas(value) { return this.__data__.has(value); } module.exports = setCacheHas; }); // node_modules/lodash/_SetCache.js var require__SetCache = __commonJS((exports, module) => { var MapCache = require__MapCache(); var setCacheAdd = require__setCacheAdd(); var setCacheHas = require__setCacheHas(); function SetCache(values) { var index = -1, length = values == null ? 0 : values.length; this.__data__ = new MapCache; while (++index < length) { this.add(values[index]); } } SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; SetCache.prototype.has = setCacheHas; module.exports = SetCache; }); // node_modules/lodash/_arraySome.js var require__arraySome = __commonJS((exports, module) => { function arraySome(array, predicate) { var index = -1, length = array == null ? 0 : array.length; while (++index < length) { if (predicate(array[index], index, array)) { return true; } } return false; } module.exports = arraySome; }); // node_modules/lodash/_cacheHas.js var require__cacheHas = __commonJS((exports, module) => { function cacheHas(cache, key) { return cache.has(key); } module.exports = cacheHas; }); // node_modules/lodash/_equalArrays.js var require__equalArrays = __commonJS((exports, module) => { var SetCache = require__SetCache(); var arraySome = require__arraySome(); var cacheHas = require__cacheHas(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, arrLength = array.length, othLength = other.length; if (arrLength != othLength && !(isPartial && othLength > arrLength)) { return false; } var arrStacked = stack.get(array); var othStacked = stack.get(other); if (arrStacked && othStacked) { return arrStacked == other && othStacked == array; } var index = -1, result = true, seen = bitmask & COMPARE_UNORDERED_FLAG ? new SetCache : undefined; stack.set(array, other); stack.set(other, array); while (++index < arrLength) { var arrValue = array[index], othValue = other[index]; if (customizer) { var compared = isPartial ? customizer(othValue, arrValue, index, other, array, stack) : customizer(arrValue, othValue, index, array, other, stack); } if (compared !== undefined) { if (compared) { continue; } result = false; break; } if (seen) { if (!arraySome(other, function(othValue2, othIndex) { if (!cacheHas(seen, othIndex) && (arrValue === othValue2 || equalFunc(arrValue, othValue2, bitmask, customizer, stack))) { return seen.push(othIndex); } })) { result = false; break; } } else if (!(arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { result = false; break; } } stack["delete"](array); stack["delete"](other); return result; } module.exports = equalArrays; }); // node_modules/lodash/_Uint8Array.js var require__Uint8Array = __commonJS((exports, module) => { var root = require__root(); var Uint8Array2 = root.Uint8Array; module.exports = Uint8Array2; }); // node_modules/lodash/_mapToArray.js var require__mapToArray = __commonJS((exports, module) => { function mapToArray(map) { var index = -1, result = Array(map.size); map.forEach(function(value, key) { result[++index] = [key, value]; }); return result; } module.exports = mapToArray; }); // node_modules/lodash/_setToArray.js var require__setToArray = __commonJS((exports, module) => { function setToArray(set) { var index = -1, result = Array(set.size); set.forEach(function(value) { result[++index] = value; }); return result; } module.exports = setToArray; }); // node_modules/lodash/_equalByTag.js var require__equalByTag = __commonJS((exports, module) => { var Symbol2 = require__Symbol(); var Uint8Array2 = require__Uint8Array(); var eq = require_eq(); var equalArrays = require__equalArrays(); var mapToArray = require__mapToArray(); var setToArray = require__setToArray(); var COMPARE_PARTIAL_FLAG = 1; var COMPARE_UNORDERED_FLAG = 2; var boolTag = "[object Boolean]"; var dateTag = "[object Date]"; var errorTag = "[object Error]"; 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 symbolProto = Symbol2 ? Symbol2.prototype : undefined; var symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { switch (tag) { case dataViewTag: if (object.byteLength != other.byteLength || object.byteOffset != other.byteOffset) { return false; } object = object.buffer; other = other.buffer; case arrayBufferTag: if (object.byteLength != other.byteLength || !equalFunc(new Uint8Array2(object), new Uint8Array2(other))) { return false; } return true; case boolTag: case dateTag: case numberTag: return eq(+object, +other); case errorTag: return object.name == other.name && object.message == other.message; case regexpTag: case stringTag: return object == other + ""; case mapTag: var convert = mapToArray; case setTag: var isPartial = bitmask & COMPARE_PARTIAL_FLAG; convert || (convert = setToArray); if (object.size != other.size && !isPartial) { return false; } var stacked = stack.get(object); if (stacked) { return stacked == other; } bitmask |= COMPARE_UNORDERED_FLAG; stack.set(object, other); var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); stack["delete"](object); return result; case symbolTag: if (symbolValueOf) { return symbolValueOf.call(object) == symbolValueOf.call(other); } } return false; } module.exports = equalByTag; }); // node_modules/lodash/_arrayPush.js var require__arrayPush = __commonJS((exports, module) => { function arrayPush(array, values) { var index = -1, length = values.length, offset = array.length; while (++index < length) { array[offset + index] = values[index]; } return array; } module.exports = arrayPush; }); // node_modules/lodash/isArray.js var require_isArray = __commonJS((exports, module) => { var isArray = Array.isArray; module.exports = isArray; }); // node_modules/lodash/_baseGetAllKeys.js var require__baseGetAllKeys = __commonJS((exports, module) => { var arrayPush = require__arrayPush(); var isArray = require_isArray(); function baseGetAllKeys(object, keysFunc, symbolsFunc) { var result = keysFunc(object); return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); } module.exports = baseGetAllKeys; }); // node_modules/lodash/_arrayFilter.js var require__arrayFilter = __commonJS((exports, module) => { function arrayFilter(array, predicate) { var index = -1, length = array == null ? 0 : array.length, resIndex = 0, result = []; while (++index < length) { var value = array[index]; if (predicate(value, index, array)) { result[resIndex++] = value; } } return result; } module.exports = arrayFilter; }); // node_modules/lodash/stubArray.js var require_stubArray = __commonJS((exports, module) => { function stubArray() { return []; } module.exports = stubArray; }); // node_modules/lodash/_getSymbols.js var require__getSymbols = __commonJS((exports, module) => { var arrayFilter = require__arrayFilter(); var stubArray = require_stubArray(); var objectProto = Object.prototype; var propertyIsEnumerable = objectProto.propertyIsEnumerable; var nativeGetSymbols = Object.getOwnPropertySymbols; var getSymbols = !nativeGetSymbols ? stubArray : function(object) { if (object == null) { return []; } object = Object(object); return arrayFilter(nativeGetSymbols(object), function(symbol) { return propertyIsEnumerable.call(object, symbol); }); }; module.exports = getSymbols; }); // node_modules/lodash/_baseTimes.js var require__baseTimes = __commonJS((exports, module) => { function baseTimes(n, iteratee) { var index = -1, result = Array(n); while (++index < n) { result[index] = iteratee(index); } return result; } module.exports = baseTimes; }); // node_modules/lodash/isObjectLike.js var require_isObjectLike = __commonJS((exports, module) => { function isObjectLike(value) { return value != null && typeof value == "object"; } module.exports = isObjectLike; }); // node_modules/lodash/_baseIsArguments.js var require__baseIsArguments = __commonJS((exports, module) => { var baseGetTag = require__baseGetTag(); var isObjectLike = require_isObjectLike(); var argsTag = "[object Arguments]"; function baseIsArguments(value) { return isObjectLike(value) && baseGetTag(value) == argsTag; } module.exports = baseIsArguments; }); // node_modules/lodash/isArguments.js var require_isArguments = __commonJS((exports, module) => { var baseIsArguments = require__baseIsArguments(); var isObjectLike = require_isObjectLike(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; var propertyIsEnumerable = objectProto.propertyIsEnumerable; var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { return isObjectLike(value) && hasOwnProperty.call(value, "callee") && !propertyIsEnumerable.call(value, "callee"); }; module.exports = isArguments; }); // node_modules/lodash/stubFalse.js var require_stubFalse = __commonJS((exports, module) => { function stubFalse() { return false; } module.exports = stubFalse; }); // node_modules/lodash/isBuffer.js var require_isBuffer = __commonJS((exports, module) => { var root = require__root(); var stubFalse = require_stubFalse(); 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 Buffer2 = moduleExports ? root.Buffer : undefined; var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : undefined; var isBuffer = nativeIsBuffer || stubFalse; module.exports = isBuffer; }); // node_modules/lodash/_isIndex.js var require__isIndex = __commonJS((exports, module) => { var MAX_SAFE_INTEGER = 9007199254740991; var reIsUint = /^(?:0|[1-9]\d*)$/; function isIndex(value, length) { var type = typeof value; length = length == null ? MAX_SAFE_INTEGER : length; return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && (value > -1 && value % 1 == 0 && value < length); } module.exports = isIndex; }); // node_modules/lodash/isLength.js var require_isLength = __commonJS((exports, module) => { var MAX_SAFE_INTEGER = 9007199254740991; function isLength(value) { return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; } module.exports = isLength; }); // node_modules/lodash/_baseIsTypedArray.js var require__baseIsTypedArray = __commonJS((exports, module) => { var baseGetTag = require__baseGetTag(); var isLength = require_isLength(); var isObjectLike = require_isObjectLike(); 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 mapTag = "[object Map]"; var numberTag = "[object Number]"; var objectTag = "[object Object]"; var regexpTag = "[object RegExp]"; var setTag = "[object Set]"; var stringTag = "[object String]"; 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 typedArrayTags = {}; typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = typedArrayTags[uint32Tag] = true; typedArrayTags[argsTag] = typedArrayTags[arrayTag] = typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = typedArrayTags[errorTag] = typedArrayTags[funcTag] = typedArrayTags[mapTag] = typedArrayTags[numberTag] = typedArrayTags[objectTag] = typedArrayTags[regexpTag] = typedArrayTags[setTag] = typedArrayTags[stringTag] = typedArrayTags[weakMapTag] = false; function baseIsTypedArray(value) { return isObjectLike(value) && isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; } module.exports = baseIsTypedArray; }); // node_modules/lodash/_baseUnary.js var require__baseUnary = __commonJS((exports, module) => { function baseUnary(func) { return function(value) { return func(value); }; } module.exports = baseUnary; }); // node_modules/lodash/_nodeUtil.js var require__nodeUtil = __commonJS((exports, module) => { var freeGlobal = require__freeGlobal(); 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 freeProcess = moduleExports && freeGlobal.process; var nodeUtil = function() { try { var types = freeModule && freeModule.require && freeModule.require("util").types; if (types) { return types; } return freeProcess && freeProcess.binding && freeProcess.binding("util"); } catch (e) {} }(); module.exports = nodeUtil; }); // node_modules/lodash/isTypedArray.js var require_isTypedArray = __commonJS((exports, module) => { var baseIsTypedArray = require__baseIsTypedArray(); var baseUnary = require__baseUnary(); var nodeUtil = require__nodeUtil(); var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; module.exports = isTypedArray; }); // node_modules/lodash/_arrayLikeKeys.js var require__arrayLikeKeys = __commonJS((exports, module) => { var baseTimes = require__baseTimes(); var isArguments = require_isArguments(); var isArray = require_isArray(); var isBuffer = require_isBuffer(); var isIndex = require__isIndex(); var isTypedArray = require_isTypedArray(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function arrayLikeKeys(value, inherited) { var isArr = isArray(value), isArg = !isArr && isArguments(value), isBuff = !isArr && !isArg && isBuffer(value), isType = !isArr && !isArg && !isBuff && isTypedArray(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length; for (var key in value) { if ((inherited || hasOwnProperty.call(value, key)) && !(skipIndexes && (key == "length" || isBuff && (key == "offset" || key == "parent") || isType && (key == "buffer" || key == "byteLength" || key == "byteOffset") || isIndex(key, length)))) { result.push(key); } } return result; } module.exports = arrayLikeKeys; }); // node_modules/lodash/_isPrototype.js var require__isPrototype = __commonJS((exports, module) => { var objectProto = Object.prototype; function isPrototype(value) { var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto; return value === proto; } module.exports = isPrototype; }); // node_modules/lodash/_overArg.js var require__overArg = __commonJS((exports, module) => { function overArg(func, transform) { return function(arg) { return func(transform(arg)); }; } module.exports = overArg; }); // node_modules/lodash/_nativeKeys.js var require__nativeKeys = __commonJS((exports, module) => { var overArg = require__overArg(); var nativeKeys = overArg(Object.keys, Object); module.exports = nativeKeys; }); // node_modules/lodash/_baseKeys.js var require__baseKeys = __commonJS((exports, module) => { var isPrototype = require__isPrototype(); var nativeKeys = require__nativeKeys(); var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function baseKeys(object) { if (!isPrototype(object)) { return nativeKeys(object); } var result = []; for (var key in Object(object)) { if (hasOwnProperty.call(object, key) && key != "constructor") { result.push(key); } } return result; } module.exports = baseKeys; }); // node_modules/lodash/isArrayLike.js var require_isArrayLike = __commonJS((exports, module) => { var isFunction = require_isFunction(); var isLength = require_isLength(); function isArrayLike(value) { return value != null && isLength(value.length) && !isFunction(value); } module.exports = isArrayLike; }); // node_modules/lodash/keys.js var require_keys = __commonJS((exports, module) => { var arrayLikeKeys = require__arrayLikeKeys(); var baseKeys = require__baseKeys(); var isArrayLike = require_isArrayLike(); function keys(object) { return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); } module.exports = keys; }); // node_modules/lodash/_getAllKeys.js var require__getAllKeys = __commonJS((exports, module) => { var baseGetAllKeys = require__baseGetAllKeys(); var getSymbols = require__getSymbols(); var keys = require_keys(); function getAllKeys(object) { return baseGetAllKeys(object, keys, getSymbols); } module.exports = getAllKeys; }); // node_modules/lodash/_equalObjects.js var require__equalObjects = __commonJS((exports, module) => { var getAllKeys = require__getAllKeys(); var COMPARE_PARTIAL_FLAG = 1; var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { var isPartial = bitmask & COMPARE_PARTIAL_FLAG, objProps = getAllKeys(object), objLength = objProps.length, othProps = getAllKeys(other), othLength = othProps.length; if (objLength != othLength && !isPartial) { return false; } var index = objLength; while (index--) { var key = objProps[index]; if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { return false; } } var objStacked = stack.get(object); var othStacked = stack.get(other); if (objStacked && othStacked) { return objStacked == other && othStacked == object; } var result = true; stack.set(object, other); stack.set(other, object); var skipCtor = isPartial; while (++index < objLength) { key = objProps[index]; var objValue = object[key], othValue = other[key]; if (customizer) { var compared = isPartial ? customizer(othValue, objValue, key, other, object, stack) : customizer(objValue, othValue, key, object, other, stack); } if (!(compared === undefined ? objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack) : compared)) { result = false; break; } skipCtor || (skipCtor = key == "constructor"); } if (result && !skipCtor) { var objCtor = object.constructor, othCtor = other.constructor; if (objCtor != othCtor && (("constructor" in object) && ("constructor" in other)) && !(typeof objCtor == "function" && objCtor instanceof objCtor && typeof othCtor == "function" && othCtor instanceof othCtor)) { result = false; } } stack["delete"](object); stack["delete"](other); return result; } module.exports = equalObjects; }); // node_modules/lodash/_DataView.js var require__DataView = __commonJS((exports, module) => { var getNative = require__getNative(); var root = require__root(); var DataView = getNative(root, "DataView"); module.exports = DataView; }); // node_modules/lodash/_Promise.js var require__Promise = __commonJS((exports, module) => { var getNative = require__getNative(); var root = require__root(); var Promise2 = getNative(root, "Promise"); module.exports = Promise2; }); // node_modules/lodash/_Set.js var require__Set = __commonJS((exports, module) => { var getNative = require__getNative(); var root = require__root(); var Set2 = getNative(root, "Set"); module.exports = Set2; }); // node_modules/lodash/_WeakMap.js var require__WeakMap = __commonJS((exports, module) => { var getNative = require__getNative(); var root = require__root(); var WeakMap2 = getNative(root, "WeakMap"); module.exports = WeakMap2; }); // node_modules/lodash/_getTag.js var require__getTag = __commonJS((exports, module) => { var DataView = require__DataView(); var Map2 = require__Map(); var Promise2 = require__Promise(); var Set2 = require__Set(); var WeakMap2 = require__WeakMap(); var baseGetTag = require__baseGetTag(); var toSource = require__toSource(); var mapTag = "[object Map]"; var objectTag = "[object Object]"; var promiseTag = "[object Promise]"; var setTag = "[object Set]"; var weakMapTag = "[object WeakMap]"; var dataViewTag = "[object DataView]"; var dataViewCtorString = toSource(DataView); var mapCtorString = toSource(Map2); var promiseCtorString = toSource(Promise2); var setCtorString = toSource(Set2); var weakMapCtorString = toSource(WeakMap2); var getTag = baseGetTag; if (DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag || Map2 && getTag(new Map2) != mapTag || Promise2 && getTag(Promise2.resolve()) != promiseTag || Set2 && getTag(new Set2) != setTag || WeakMap2 && getTag(new WeakMap2) != weakMapTag) { getTag = function(value) { var result = baseGetTag(value), Ctor = result == objectTag ? value.constructor : undefined, ctorString = Ctor ? toSource(Ctor) : ""; if (ctorString) { switch (ctorString) { case dataViewCtorString: return dataViewTag; case mapCtorString: return mapTag; case promiseCtorString: return promiseTag; case setCtorString: return setTag; case weakMapCtorString: return weakMapTag; } } return result; }; } module.exports = getTag; }); // node_modules/lodash/_baseIsEqualDeep.js var require__baseIsEqualDeep = __commonJS((exports, module) => { var Stack = require__Stack(); var equalArrays = require__equalArrays(); var equalByTag = require__equalByTag(); var equalObjects = require__equalObjects(); var getTag = require__getTag(); var isArray = require_isArray(); var isBuffer = require_isBuffer(); var isTypedArray = require_isTypedArray(); var COMPARE_PARTIAL_FLAG = 1; var argsTag = "[object Arguments]"; var arrayTag = "[object Array]"; var objectTag = "[object Object]"; var objectProto = Object.prototype; var hasOwnProperty = objectProto.hasOwnProperty; function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { var objIsArr = isArray(object), othIsArr = isArray(other), objTag = objIsArr ? arrayTag : getTag(object), othTag = othIsArr ? arrayTag : getTag(other); objTag = objTag == argsTag ? objectTag : objTag; othTag = othTag == argsTag ? objectTag : othTag; var objIsObj = objTag == objectTag, othIsObj = othTag == objectTag, isSameTag = objTag == othTag; if (isSameTag && isBuffer(object)) { if (!isBuffer(other)) { return false; } objIsArr = true; objIsObj = false; } if (isSameTag && !objIsObj) { stack || (stack = new Stack); return objIsArr || isTypedArray(object) ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); } if (!(bitmask & COMPARE_PARTIAL_FLAG)) { var objIsWrapped = objIsObj && hasOwnProperty.call(object, "__wrapped__"), othIsWrapped = othIsObj && hasOwnProperty.call(other, "__wrapped__"); if (objIsWrapped || othIsWrapped) { var objUnwrapped = objIsWrapped ? object.value() : object, othUnwrapped = othIsWrapped ? other.value() : other; stack || (stack = new Stack); return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); } } if (!isSameTag) { return false; } stack || (stack = new Stack); return equalObjects(object, other, bitmask, customizer, equalFunc, stack); } module.exports = baseIsEqualDeep; }); // node_modules/lodash/_baseIsEqual.js var require__baseIsEqual = __commonJS((exports, module) => { var baseIsEqualDeep = require__baseIsEqualDeep(); var isObjectLike = require_isObjectLike(); function baseIsEqual(value, other, bitmask, customizer, stack) { if (value === other) { return true; } if (value == null || other == null || !isObjectLike(value) && !isObjectLike(other)) { return value !== value && other !== other; } return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); } module.exports = baseIsEqual; }); // node_modules/lodash/isEqual.js var require_isEqual = __commonJS((exports, module) => { var baseIsEqual = require__baseIsEqual(); function isEqual(value, other) { return baseIsEqual(value, other); } module.exports = isEqual; }); // src/hooks/useAsyncRetry.ts import { useState, useEffect, useCallback, useRef } from "react"; function useAsyncRetry(asyncFunction, options = {}) { const { retryDelay = 1000, maxRetries = 3 } = options; const [state, setState] = useState({ loading: true, error: null, value: null, retryCount: 0 }); const [trigger, setTrigger] = useState(0); const cancelRef = useRef(false); const cancel = useCallback(() => { cancelRef.current = true; }, []); const retry = useCallback(() => { cancelRef.current = false; setState((prev) => ({ ...prev, retryCount: prev.retryCount + 1 })); setTrigger((prev) => prev + 1); }, []); useEffect(() => { let isMounted = true; let timeoutId; const execute = async () => { try { setState((prev) => ({ ...prev, loading: true, error: null })); const result = await asyncFunction(); if (isMounted && !cancelRef.current) { setState({ loading: false, error: null, value: result, retryCount: 0 }); } } catch (error) { if (isMounted && !cancelRef.current) { setState((prev) => { if (prev.retryCount < maxRetries) { timeoutId = setTimeout(() => { setTrigger((t) => t + 1); setState((s) => ({ ...s, retryCount: s.retryCount + 1 })); }, retryDelay); } return { loading: false, error, value: null, retryCount: prev.retryCount }; }); } } }; execute(); return () => { isMounted = false; cancelRef.current = true; clearTimeout(timeoutId); }; }, [trigger, asyncFunction, retryDelay, maxRetries]); return { ...state, retry, cancel }; } // src/hooks/useClickOutside.ts import { useEffect as useEffect2, useRef as useRef2, useCallback as useCallback2 } from "react"; function useClickOutside(handler, elements) { const ref = useRef2(null); const stableHandler = useCallback2(handler, []); useEffect2(() => { const listener = (event) => { const target = event.target; if (elements) { const isInsideExcluded = elements.some((ref2) => ref2.current?.contains(target)); if (isInsideExcluded) return; } if (elements) { const shouldTrigger = elements.every((el) => el.current && !el.current.contains(target)); if (shouldTrigger) stableHandler(event); } else if (ref.current && !ref.current.contains(target)) { stableHandler(event); } }; document.addEventListener("mousedown", listener); document.addEventListener("touchstart", listener); return () => { document.removeEventListener("mousedown", listener); document.removeEventListener("touchstart", listener); }; }, [stableHandler, elements]); return ref; } // src/hooks/useDeepCompareEffect.ts var import_isEqual = __toESM(require_isEqual(), 1); import { useEffect as useEffect3, useRef as useRef3 } from "react"; function useDeepCompareEffect(effect, dependencies) { const previousDepsRef = useRef3(null); const cleanupRef = useRef3(null); useEffect3(() => { const prev = previousDepsRef.current; const changed = prev === undefined || !import_isEqual.default(prev, dependencies); if (changed) { if (cleanupRef.current) { cleanupRef.current(); } previousDepsRef.current = dependencies; const cleanup = effect(); if (typeof cleanup === "function") { cleanupRef.current = cleanup; } } }, [...dependencies]); } // src/hooks/useIdleTimeout.ts import { useEffect as useEffect4, useRef as useRef4, useCallback as useCallback3 } from "react"; function useIdleTimeout(callback, timeout = 60000) { const timerRef = useRef4(null); const lastActivityRef = useRef4(Date.now()); const callbackRef = useRef4(callback); useEffect4(() => { callbackRef.current = callback; }, [callback]); const resetTimer = useCallback3(() => { lastActivityRef.current = Date.now(); if (timerRef.current) clearTimeout(timerRef.current); timerRef.current = setTimeout(() => { if (Date.now() - lastActivityRef.current >= timeout) { callbackRef.current(); } }, timeout); }, [timeout]); useEffect4(() => { const events = ["mousemove", "keydown", "scroll", "touchstart", "mousedown