function debounce(func,debounceMs,{signal,edges}={}){let pendingThis,pendingArgs=null,leading=edges!=null&&edges.includes("leading"),trailing=edges==null||edges.includes("trailing"),invoke=()=>{pendingArgs!==null&&(func.apply(pendingThis,pendingArgs),pendingThis=void 0,pendingArgs=null);},onTimerEnd=()=>{trailing&&invoke(),cancel();},timeoutId=null,schedule=()=>{timeoutId!=null&&clearTimeout(timeoutId),timeoutId=setTimeout(()=>{timeoutId=null,onTimerEnd();},debounceMs);},cancelTimer=()=>{timeoutId!==null&&(clearTimeout(timeoutId),timeoutId=null);},cancel=()=>{cancelTimer(),pendingThis=void 0,pendingArgs=null;},flush=()=>{cancelTimer(),invoke();},debounced=function(...args){if(signal?.aborted)return;pendingThis=this,pendingArgs=args;let isFirstCall=timeoutId==null;schedule(),leading&&isFirstCall&&invoke();};return debounced.schedule=schedule,debounced.cancel=cancel,debounced.flush=flush,signal?.addEventListener("abort",cancel,{once:!0}),debounced}function debounce2(func,debounceMs=0,options={}){typeof options!="object"&&(options={});let{signal,leading=!1,trailing=!0,maxWait}=options,edges=Array(2);leading&&(edges[0]="leading"),trailing&&(edges[1]="trailing");let result,pendingAt=null,_debounced=debounce(function(...args){result=func.apply(this,args),pendingAt=null;},debounceMs,{signal,edges}),debounced=function(...args){if(maxWait!=null){if(pendingAt===null)pendingAt=Date.now();else if(Date.now()-pendingAt>=maxWait)return result=func.apply(this,args),pendingAt=Date.now(),_debounced.cancel(),_debounced.schedule(),result}return _debounced.apply(this,args),result},flush=()=>(_debounced.flush(),result);return debounced.cancel=_debounced.cancel,debounced.flush=flush,debounced}function isSymbol(value){return typeof value=="symbol"||value instanceof Symbol}function toNumber(value){return isSymbol(value)?NaN:Number(value)}function toFinite(value){return value?(value=toNumber(value),value===1/0||value===-1/0?(value<0?-1:1)*Number.MAX_VALUE:value===value?value:0):value===0?value:0}function toInteger(value){let finite=toFinite(value),remainder=finite%1;return remainder?finite-remainder:finite}function uniq(arr){return Array.from(new Set(arr))}function isPrimitive(value){return value==null||typeof value!="object"&&typeof value!="function"}function isTypedArray(x){return ArrayBuffer.isView(x)&&!(x instanceof DataView)}function getSymbols(object){return Object.getOwnPropertySymbols(object).filter(symbol=>Object.prototype.propertyIsEnumerable.call(object,symbol))}function getTag(value){return value==null?value===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(value)}var regexpTag="[object RegExp]",stringTag="[object String]",numberTag="[object Number]",booleanTag="[object Boolean]",argumentsTag="[object Arguments]",symbolTag="[object Symbol]",dateTag="[object Date]",mapTag="[object Map]",setTag="[object Set]",arrayTag="[object Array]";var arrayBufferTag="[object ArrayBuffer]",objectTag="[object Object]";var dataViewTag="[object DataView]",uint8ArrayTag="[object Uint8Array]",uint8ClampedArrayTag="[object Uint8ClampedArray]",uint16ArrayTag="[object Uint16Array]",uint32ArrayTag="[object Uint32Array]";var int8ArrayTag="[object Int8Array]",int16ArrayTag="[object Int16Array]",int32ArrayTag="[object Int32Array]";var float32ArrayTag="[object Float32Array]",float64ArrayTag="[object Float64Array]";function cloneDeepWith(obj,cloneValue){return cloneDeepWithImpl(obj,void 0,obj,new Map,cloneValue)}function cloneDeepWithImpl(valueToClone,keyToClone,objectToClone,stack=new Map,cloneValue=void 0){let cloned=cloneValue?.(valueToClone,keyToClone,objectToClone,stack);if(cloned!=null)return cloned;if(isPrimitive(valueToClone))return valueToClone;if(stack.has(valueToClone))return stack.get(valueToClone);if(Array.isArray(valueToClone)){let result=new Array(valueToClone.length);stack.set(valueToClone,result);for(let i=0;i=0}function isArrayLike(value){return value!=null&&typeof value!="function"&&isLength(value.length)}function cloneDeepWith2(obj,cloneValue){return cloneDeepWith(obj,(value,key,object,stack)=>{let cloned=cloneValue?.(value,key,object,stack);if(cloned!=null)return cloned;if(typeof obj=="object")switch(Object.prototype.toString.call(obj)){case numberTag:case stringTag:case booleanTag:{let result=new obj.constructor(obj?.valueOf());return copyProperties(result,obj),result}case argumentsTag:{let result={};return copyProperties(result,obj),result.length=obj.length,result[Symbol.iterator]=obj[Symbol.iterator],result}default:return}})}function cloneDeep(obj){return cloneDeepWith2(obj)}function range(start,end,step=1){if(end==null&&(end=start,start=0),!Number.isInteger(step)||step===0)throw new Error("The step value must be a non-zero integer.");let length=Math.max(Math.ceil((end-start)/step),0),result=new Array(length);for(let i=0;ikey!=="constructor")}function arrayLikeKeysIn(object){let indices=times(object.length,index=>`${index}`),filteredKeys=new Set(indices);return isBuffer(object)&&(filteredKeys.add("offset"),filteredKeys.add("parent")),isTypedArray2(object)&&(filteredKeys.add("buffer"),filteredKeys.add("byteLength"),filteredKeys.add("byteOffset")),[...indices,...keysInImpl(object).filter(key=>!filteredKeys.has(key))]}function getSymbolsIn(object){let result=[];for(;object;)result.push(...getSymbols(object)),object=Object.getPrototypeOf(object);return result}function pickBy(obj,shouldPick){if(obj==null)return {};let result={};if(shouldPick==null)return obj;let keys=isArrayLike(obj)?range(0,obj.length):[...keysIn(obj),...getSymbolsIn(obj)];for(let i=0;i`control-${value.replace(/\s+/g,"-")}`,getControlSetterButtonId=value=>`set-${value.replace(/\s+/g,"-")}`; export { cloneDeep, debounce2 as debounce, getControlId, getControlSetterButtonId, pickBy, uniq2 as uniq };