@react-hive/honey-utils 3.28.0 → 3.31.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/dist/README.md +3 -1
- package/dist/array/chunk.d.ts +20 -0
- package/dist/array/compact.d.ts +24 -0
- package/dist/array/compose.d.ts +31 -0
- package/dist/array/difference.d.ts +17 -0
- package/dist/array/get-adjacent-items.d.ts +16 -0
- package/dist/array/index.d.ts +10 -0
- package/dist/array/intersection.d.ts +16 -0
- package/dist/array/is-array.d.ts +8 -0
- package/dist/array/is-empty-array.d.ts +8 -0
- package/dist/array/pipe.d.ts +32 -0
- package/dist/array/unique.d.ts +18 -0
- package/dist/dom/layout/center-element-in-container.d.ts +11 -5
- package/dist/geometry/layout/calculate-center-offset.d.ts +3 -16
- package/dist/geometry/layout/clamp-offset-to-overflow.d.ts +9 -0
- package/dist/geometry/layout/index.d.ts +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.dev.cjs +316 -92
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -9
- package/dist/array.d.ts +0 -172
package/dist/index.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),n=e=>"A"===e.tagName,r=e=>"true"===e.getAttribute("contenteditable"),a=["INPUT","SELECT","TEXTAREA","BUTTON","A"],l=e=>{if(!e)return!1;const t=window.getComputedStyle(e);if("hidden"===t.visibility||"none"===t.display)return!1;if("disabled"in e&&e.disabled)return!1;const l=e.getAttribute("tabindex");return"-1"!==l&&(a.includes(e.tagName)?!n(e)||""!==e.href:!!r(e)||null!==l)},i=e=>Array.from(e.querySelectorAll("*")).filter(l),o=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,e,o):"next"===e?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()};function s(e,t){if(!e)throw new Error(t)}const c=e=>null===e,u=e=>null==e,h=e=>null!=e,f=e=>void 0===e,d=e=>"number"==typeof e,m=e=>"boolean"==typeof e,p=e=>"object"==typeof e,g=e=>p(e)&&!c(e)&&0===Object.keys(e).length,y=e=>e instanceof Date,w=e=>e instanceof Blob,b=e=>e instanceof Error,x=e=>y(e)&&!isNaN(e.getTime()),S=e=>e instanceof RegExp,A=e=>e instanceof Map,M=e=>e instanceof Set,v=e=>"symbol"==typeof e,C=e=>d(e)&&isFinite(e),I=e=>d(e)&&Number.isInteger(e),k=e=>C(e)&&!Number.isInteger(e),E=e=>Array.isArray(e),O=e=>E(e)&&0===e.length,L=e=>e.filter(Boolean),P=e=>[...new Set(e)],T=(e,t)=>(s(t>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))),X=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return P(t).filter(e=>n.every(t=>t.includes(e)))},$=(e,t)=>e.filter(e=>!t.includes(e)),_=(...e)=>t=>e.reduce((e,t)=>t(e),t),z=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),N=()=>{},Y=e=>"function"==typeof e,F=e=>(...t)=>!e(...t),R=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},j=e=>Y(e?.then),U=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},W=async(e,t)=>Promise.all(e.map(t)),D=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const a=e[r];await t(a,r,e)&&n.push(a)}return n},H=async(e,t)=>{const n=await W(e,async(e,n,r)=>!!await t(e,n,r)&&e);return L(n)},B=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return!0;return!1},V=async(e,t)=>{for(let n=0;n<e.length;n++)if(!await t(e[n],n,e))return!1;return!0},Z=async(e,t,n)=>{let r=n;for(let n=0;n<e.length;n++)r=await t(r,e[n],n,e);return r},G=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},J=e=>new Promise(t=>setTimeout(t,e)),q=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,J(t).then(()=>Promise.reject(new Error(n)))])}finally{}},K=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=t;o++)try{return await e(...l)}catch(e){if(i=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await J(t)}}throw i},Q="application/json",ee=(e,t)=>{e.setData(Q,JSON.stringify(t))},te=e=>{const t=e.getData(Q);if(t)try{return JSON.parse(t)}catch{return}},ne=e=>"string"==typeof e,re=(e,{fileName:t,target:n}={})=>{if(f(document))return;const r=document.createElement("a");let a=null;try{const l=ne(e)?e:a=URL.createObjectURL(e);r.href=l,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{s(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},ae=e=>e.scrollWidth>e.clientWidth,le=e=>Math.max(0,e.scrollWidth-e.clientWidth),ie=e=>e.scrollHeight>e.clientHeight,oe=e=>Math.max(0,e.scrollHeight-e.clientHeight),se=({overflowSize:e,containerSize:t,elementOffset:n,elementSize:r})=>{if(e<=0)return 0;const a=n+r/2-t/2;return-Math.max(0,Math.min(a,e))},ce=(e,t,{axis:n="both"}={})=>{let r=0,a=0;"x"!==n&&"both"!==n||(r=se({overflowSize:le(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(a=se({overflowSize:oe(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${a}px)`},ue=e=>{const t=window.getComputedStyle(e).getPropertyValue("transform").match(/^matrix\((.+)\)$/);if(!t)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,l,i,o]=t[1].split(", ").map(parseFloat);return{translateX:i,translateY:o,scaleX:n,scaleY:l,skewX:a,skewY:r}},he=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},fe=()=>{if(!he())return{readable:!1,writable:!1};try{const e="__test_write__";return window.localStorage.setItem(e,"1"),window.localStorage.removeItem(e),{readable:!0,writable:!0}}catch{}return{readable:!0,writable:!1}},de=e=>e instanceof File,me=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},pe=(e,t)=>new File([e],t,{type:e.type}),ge=async(e,{skipFiles:t=[".DS_Store","Thumbs.db","desktop.ini","ehthumbs.db",".Spotlight-V100",".Trashes",".fseventsd","__MACOSX"]}={})=>{const n=new Set(t),r=await(async e=>{const t=e.createReader(),n=async()=>new Promise((e,r)=>{t.readEntries(async t=>{if(t.length)try{const r=await n();e([...t,...r])}catch(e){r(e)}else e([])},r)});return n()})(e);return(await W(r,async e=>e.isDirectory?ge(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},ye=async(e,t={})=>{const n=e?.items;if(!n)return[];const r=[];for(let e=0;e<n.length;e++){const a=n[e];if("webkitGetAsEntry"in a){const e=a.webkitGetAsEntry?.();if(e?.isDirectory){r.push(ge(e,t));continue}if(e?.isFile){r.push(new Promise((t,n)=>e.file(e=>t([e]),n)));continue}}const l=a.getAsFile();l&&r.push(Promise.resolve([l]))}return(await Promise.all(r)).flat()},we=(e,...t)=>"function"==typeof e?e(...t):e,be=({delta:e,value:t,min:n,max:r})=>{if(0===e)return null;const a=t+e;return e<0?t<=n?null:Math.max(a,n):e>0?t>=r?null:Math.min(a,r):null},xe=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:a,friction:l=.002,minVelocityPxMs:i=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<i)return null;const s=be({delta:r*a,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-l*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<i?null:{value:s,velocityPxMs:u}},Se=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,Ae=(e,t)=>Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left))*Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top))/(t.width*t.height),Me=(e,t,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(t){case"x":return{deltaX:a*(0!==e.deltaX?e.deltaX:n?e.deltaY:0),deltaY:0};case"y":return{deltaX:0,deltaY:a*e.deltaY};default:return{deltaX:a*e.deltaX,deltaY:a*e.deltaY}}},ve=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},Ce=(e,t)=>Math.abs(e/t),Ie=(e,t)=>e*t/100,ke=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},Ee=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Oe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Le=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Pe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Te=e=>0===e.length?[]:e.split(" ").filter(Boolean),Xe=e=>""===e||u(e),$e=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},_e=(e,t)=>{if(0===e.length)return[];const n=t.charCodeAt(0),r=[];for(let t=0;t<e.length;t++)e.charCodeAt(t)===n&&r.push(t);return r},ze=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let a=0;a<r;a++){const l=e[a],i={charIndex:a,prevChar:a>0?e[a-1]:null,nextChar:a<r-1?e[a+1]:null};n?.(l,i)||t(l,i)}},Ne=(e,t=1/0)=>0===e.length?"":Te(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),Ye=(e,t,n,r=t)=>e.split(t).map((e,t)=>n(e.trim(),t)).join(r),Fe=(e,t,n,r=[],a=void 0,l=0)=>(e?.forEach(e=>{const{[n]:i,...o}=e,s=e[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:l,childCount:c?s.length:0}),c){const a=e[t];Fe(s,t,n,r,a,l+1)}}),r),Re=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),je=(e,t,n,r)=>{const a=Te(r.toLowerCase());if(!a.length)return e;const l=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(e=>e[t]===i[t]))return r;const u=Te(o.toLowerCase());if(a.every(e=>u.some(t=>t.startsWith(e))))if(f(i.parentId)){r.push(i);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(i)}else{const t=n=>{const a=l[n.parentId],i=e[a];f(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(c(o)||o!==n.parentId)&&(s(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])},Ue=(e,t)=>{s(t>=0&&t<=1,`[@react-hive/honey-utils]: Alpha "${t}" must be a number between 0 and 1.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);s(n,`[@react-hive/honey-utils]: Invalid hex format: ${e}`);const r=n[1];return`#${(3===r.length?r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r)+Math.round(255*t).toString(16).toUpperCase().padStart(2,"0")}`};export{Q as DATA_TRANSFER_JSON_MIME,a as FOCUSABLE_HTML_TAGS,xe as applyInertiaStep,s as assert,pe as blobToFile,se as calculateCenterOffset,ve as calculateEuclideanDistance,Ce as calculateMovingSpeed,Ie as calculatePercentage,Le as camelToDashCase,Pe as camelToWords,ce as centerElementInContainer,T as chunk,e as cloneBlob,L as compact,z as compose,Ee as definedProps,J as delay,$ as difference,re as downloadFile,V as everyAsync,me as fileListToFiles,H as filterParallel,D as filterSequential,G as findAsync,_e as findCharIndices,Fe as flattenTree,ze as forEachChar,Se as generateEphemeralId,Ae as getDOMRectIntersectionRatio,te as getDataTransferJson,t as getElementOffsetRect,i as getFocusableHtmlElements,fe as getLocalStorageCapabilities,Re as getTreeChildren,Ne as getWordsInitials,le as getXOverflowWidth,oe as getYOverflowHeight,ae as hasXOverflow,ie as hasYOverflow,ke as hashString,Ue as hexWithAlpha,X as intersection,we as invokeIfFunction,n as isAnchorHtmlElement,E as isArray,w as isBlob,m as isBool,r as isContentEditableHtmlElement,y as isDate,k as isDecimal,h as isDefined,O as isEmptyArray,g as isEmptyObject,b as isError,de as isFile,C as isFiniteNumber,Y as isFunction,l as isHtmlElementFocusable,I as isInteger,he as isLocalStorageReadable,A as isMap,u as isNil,Xe as isNilOrEmptyString,c as isNull,d as isNumber,p as isObject,j as isPromise,S as isRegExp,M as isSet,ne as isString,v as isSymbol,f as isUndefined,x as isValidDate,o as moveFocusWithinContainer,N as noop,F as not,R as once,ue as parse2DMatrix,$e as parseFileName,_ as pipe,ye as readFilesFromDataTransfer,Z as reduceAsync,Me as resolveAxisDelta,be as resolveBoundedDelta,K as retry,W as runParallel,U as runSequential,je as searchTree,ee as setDataTransferJson,B as someAsync,Ye as splitMapJoin,Te as splitStringIntoWords,q as timeout,Oe as toKebabCase,ge as traverseFileSystemDirectory,P as unique};
|
|
1
|
+
const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),n=e=>"A"===e.tagName,r=e=>"true"===e.getAttribute("contenteditable"),a=["INPUT","SELECT","TEXTAREA","BUTTON","A"],l=e=>{if(!e)return!1;const t=window.getComputedStyle(e);if("hidden"===t.visibility||"none"===t.display)return!1;if("disabled"in e&&e.disabled)return!1;const l=e.getAttribute("tabindex");return"-1"!==l&&(a.includes(e.tagName)?!n(e)||""!==e.href:!!r(e)||null!==l)},i=e=>Array.from(e.querySelectorAll("*")).filter(l),o=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,e,o):"next"===e?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()},s=(...e)=>t=>e.reduce((e,t)=>t(e),t),c=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),u=(e,t)=>e.filter(e=>!t.includes(e)),h=e=>[...new Set(e)],f=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return h(t).filter(e=>n.every(t=>t.includes(e)))};function d(e,t){if(!e)throw new Error(t)}const m=e=>null===e,p=e=>null==e,g=e=>null!=e,y=e=>void 0===e,w=e=>"number"==typeof e,b=e=>"boolean"==typeof e,x=e=>"object"==typeof e,A=e=>x(e)&&!m(e)&&0===Object.keys(e).length,M=e=>e instanceof Date,v=e=>e instanceof Blob,I=e=>e instanceof Error,S=e=>M(e)&&!isNaN(e.getTime()),C=e=>e instanceof RegExp,k=e=>e instanceof Map,E=e=>e instanceof Set,O=e=>"symbol"==typeof e,L=e=>w(e)&&isFinite(e),P=e=>w(e)&&Number.isInteger(e),T=e=>L(e)&&!Number.isInteger(e),X=(e,t)=>(d(t>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))),$=e=>e.filter(Boolean),_=e=>Array.isArray(e),N=e=>_(e)&&0===e.length,Y=(e,t,n)=>{if(!e?.length||!t)return{previousItem:null,currentItem:null,nextItem:null};const r=e.findIndex(e=>n(e,t));return-1===r?{previousItem:null,currentItem:null,nextItem:null}:{previousItem:r>0?e[r-1]:null,currentItem:e[r],nextItem:r<e.length-1?e[r+1]:null}},F=()=>{},R=e=>"function"==typeof e,j=e=>(...t)=>!e(...t),z=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},U=e=>R(e?.then),W=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},D=async(e,t)=>Promise.all(e.map(t)),H=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const a=e[r];await t(a,r,e)&&n.push(a)}return n},B=async(e,t)=>{const n=await D(e,async(e,n,r)=>!!await t(e,n,r)&&e);return $(n)},V=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return!0;return!1},Z=async(e,t)=>{for(let n=0;n<e.length;n++)if(!await t(e[n],n,e))return!1;return!0},G=async(e,t,n)=>{let r=n;for(let n=0;n<e.length;n++)r=await t(r,e[n],n,e);return r},J=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},q=e=>new Promise(t=>setTimeout(t,e)),K=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,q(t).then(()=>Promise.reject(new Error(n)))])}finally{}},Q=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=t;o++)try{return await e(...l)}catch(e){if(i=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await q(t)}}throw i},ee="application/json",te=(e,t)=>{e.setData(ee,JSON.stringify(t))},ne=e=>{const t=e.getData(ee);if(t)try{return JSON.parse(t)}catch{return}},re=e=>"string"==typeof e,ae=(e,{fileName:t,target:n}={})=>{if(y(document))return;const r=document.createElement("a");let a=null;try{const l=re(e)?e:a=URL.createObjectURL(e);r.href=l,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{d(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},le=e=>e.scrollWidth>e.clientWidth,ie=e=>Math.max(0,e.scrollWidth-e.clientWidth),oe=e=>e.scrollHeight>e.clientHeight,se=e=>Math.max(0,e.scrollHeight-e.clientHeight),ce=({containerSize:e,elementOffset:t,elementSize:n})=>-(t+n/2-e/2),ue=(e,t)=>t<=0?0:Math.max(-t,Math.min(e,0)),he=(e,t,{axis:n="both",shouldClamp:r=!0}={})=>{let a=0,l=0;if("x"===n||"both"===n){const n=ce({containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth});a=r?ue(n,ie(e)):n}if("y"===n||"both"===n){const n=ce({containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight});l=r?ue(n,se(e)):n}e.style.transform=`translate(${a}px, ${l}px)`},fe=e=>{const t=window.getComputedStyle(e).getPropertyValue("transform").match(/^matrix\((.+)\)$/);if(!t)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,l,i,o]=t[1].split(", ").map(parseFloat);return{translateX:i,translateY:o,scaleX:n,scaleY:l,skewX:a,skewY:r}},de=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},me=()=>{if(!de())return{readable:!1,writable:!1};try{const e="__test_write__";return window.localStorage.setItem(e,"1"),window.localStorage.removeItem(e),{readable:!0,writable:!0}}catch{}return{readable:!0,writable:!1}},pe=e=>e instanceof File,ge=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},ye=(e,t)=>new File([e],t,{type:e.type}),we=async(e,{skipFiles:t=[".DS_Store","Thumbs.db","desktop.ini","ehthumbs.db",".Spotlight-V100",".Trashes",".fseventsd","__MACOSX"]}={})=>{const n=new Set(t),r=await(async e=>{const t=e.createReader(),n=async()=>new Promise((e,r)=>{t.readEntries(async t=>{if(t.length)try{const r=await n();e([...t,...r])}catch(e){r(e)}else e([])},r)});return n()})(e);return(await D(r,async e=>e.isDirectory?we(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},be=async(e,t={})=>{const n=e?.items;if(!n)return[];const r=[];for(let e=0;e<n.length;e++){const a=n[e];if("webkitGetAsEntry"in a){const e=a.webkitGetAsEntry?.();if(e?.isDirectory){r.push(we(e,t));continue}if(e?.isFile){r.push(new Promise((t,n)=>e.file(e=>t([e]),n)));continue}}const l=a.getAsFile();l&&r.push(Promise.resolve([l]))}return(await Promise.all(r)).flat()},xe=(e,...t)=>"function"==typeof e?e(...t):e,Ae=({delta:e,value:t,min:n,max:r})=>{if(0===e)return null;const a=t+e;return e<0?t<=n?null:Math.max(a,n):e>0?t>=r?null:Math.min(a,r):null},Me=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:a,friction:l=.002,minVelocityPxMs:i=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<i)return null;const s=Ae({delta:r*a,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-l*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<i?null:{value:s,velocityPxMs:u}},ve=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,Ie=(e,t)=>Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left))*Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top))/(t.width*t.height),Se=(e,t,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(t){case"x":return{deltaX:a*(0!==e.deltaX?e.deltaX:n?e.deltaY:0),deltaY:0};case"y":return{deltaX:0,deltaY:a*e.deltaY};default:return{deltaX:a*e.deltaX,deltaY:a*e.deltaY}}},Ce=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},ke=(e,t)=>Math.abs(e/t),Ee=(e,t)=>e*t/100,Oe=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},Le=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Pe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Te=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Xe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),$e=e=>0===e.length?[]:e.split(" ").filter(Boolean),_e=e=>""===e||p(e),Ne=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},Ye=(e,t)=>{if(0===e.length)return[];const n=t.charCodeAt(0),r=[];for(let t=0;t<e.length;t++)e.charCodeAt(t)===n&&r.push(t);return r},Fe=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let a=0;a<r;a++){const l=e[a],i={charIndex:a,prevChar:a>0?e[a-1]:null,nextChar:a<r-1?e[a+1]:null};n?.(l,i)||t(l,i)}},Re=(e,t=1/0)=>0===e.length?"":$e(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),je=(e,t,n,r=t)=>e.split(t).map((e,t)=>n(e.trim(),t)).join(r),ze=(e,t,n,r=[],a=void 0,l=0)=>(e?.forEach(e=>{const{[n]:i,...o}=e,s=e[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:l,childCount:c?s.length:0}),c){const a=e[t];ze(s,t,n,r,a,l+1)}}),r),Ue=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),We=(e,t,n,r)=>{const a=$e(r.toLowerCase());if(!a.length)return e;const l=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(e=>e[t]===i[t]))return r;const s=$e(o.toLowerCase());if(a.every(e=>s.some(t=>t.startsWith(e))))if(y(i.parentId)){r.push(i);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(i)}else{const t=n=>{const a=l[n.parentId],i=e[a];y(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(m(o)||o!==n.parentId)&&(d(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])},De=(e,t)=>{d(t>=0&&t<=1,`[@react-hive/honey-utils]: Alpha "${t}" must be a number between 0 and 1.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);d(n,`[@react-hive/honey-utils]: Invalid hex format: ${e}`);const r=n[1];return`#${(3===r.length?r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r)+Math.round(255*t).toString(16).toUpperCase().padStart(2,"0")}`};export{ee as DATA_TRANSFER_JSON_MIME,a as FOCUSABLE_HTML_TAGS,Me as applyInertiaStep,d as assert,ye as blobToFile,ce as calculateCenterOffset,Ce as calculateEuclideanDistance,ke as calculateMovingSpeed,Ee as calculatePercentage,Te as camelToDashCase,Xe as camelToWords,he as centerElementInContainer,X as chunk,ue as clampOffsetToOverflow,e as cloneBlob,$ as compact,c as compose,Le as definedProps,q as delay,u as difference,ae as downloadFile,Z as everyAsync,ge as fileListToFiles,B as filterParallel,H as filterSequential,J as findAsync,Ye as findCharIndices,ze as flattenTree,Fe as forEachChar,ve as generateEphemeralId,Y as getAdjacentItems,Ie as getDOMRectIntersectionRatio,ne as getDataTransferJson,t as getElementOffsetRect,i as getFocusableHtmlElements,me as getLocalStorageCapabilities,Ue as getTreeChildren,Re as getWordsInitials,ie as getXOverflowWidth,se as getYOverflowHeight,le as hasXOverflow,oe as hasYOverflow,Oe as hashString,De as hexWithAlpha,f as intersection,xe as invokeIfFunction,n as isAnchorHtmlElement,_ as isArray,v as isBlob,b as isBool,r as isContentEditableHtmlElement,M as isDate,T as isDecimal,g as isDefined,N as isEmptyArray,A as isEmptyObject,I as isError,pe as isFile,L as isFiniteNumber,R as isFunction,l as isHtmlElementFocusable,P as isInteger,de as isLocalStorageReadable,k as isMap,p as isNil,_e as isNilOrEmptyString,m as isNull,w as isNumber,x as isObject,U as isPromise,C as isRegExp,E as isSet,re as isString,O as isSymbol,y as isUndefined,S as isValidDate,o as moveFocusWithinContainer,F as noop,j as not,z as once,fe as parse2DMatrix,Ne as parseFileName,s as pipe,be as readFilesFromDataTransfer,G as reduceAsync,Se as resolveAxisDelta,Ae as resolveBoundedDelta,Q as retry,D as runParallel,W as runSequential,We as searchTree,te as setDataTransferJson,V as someAsync,je as splitMapJoin,$e as splitStringIntoWords,K as timeout,Pe as toKebabCase,we as traverseFileSystemDirectory,h as unique};
|
|
2
2
|
//# sourceMappingURL=index.mjs.map
|