@react-hive/honey-utils 3.32.0 → 4.0.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 +1 -1
- package/dist/README.md +1 -1
- package/dist/dom/data-transfer.d.ts +3 -2
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.dev.cjs +5 -8
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -758,7 +758,7 @@ function divide(a: number, b: number): number {
|
|
|
758
758
|
|
|
759
759
|
- `DATA_TRANSFER_JSON_MIME: string` - MIME type constant (`application/json`) used for storing serialized JSON data inside the browser `DataTransfer` API.
|
|
760
760
|
- `setDataTransferJson<T>(dataTransfer: DataTransfer, data: T): void` - Serializes a JavaScript value to JSON and stores it in a `DataTransfer` object using the `application/json` MIME type. Commonly used in drag-and-drop interactions to transfer structured data between elements.
|
|
761
|
-
- `getDataTransferJson<
|
|
761
|
+
- `getDataTransferJson<Value>(dataTransfer: DataTransfer): Nullable<Value>` - Retrieves and parses JSON data previously stored in a `DataTransfer` object using `setDataTransferJson`. Returns `null` when no data is present or when JSON parsing fails.
|
|
762
762
|
|
|
763
763
|
### File Utilities
|
|
764
764
|
|
package/dist/README.md
CHANGED
|
@@ -758,7 +758,7 @@ function divide(a: number, b: number): number {
|
|
|
758
758
|
|
|
759
759
|
- `DATA_TRANSFER_JSON_MIME: string` - MIME type constant (`application/json`) used for storing serialized JSON data inside the browser `DataTransfer` API.
|
|
760
760
|
- `setDataTransferJson<T>(dataTransfer: DataTransfer, data: T): void` - Serializes a JavaScript value to JSON and stores it in a `DataTransfer` object using the `application/json` MIME type. Commonly used in drag-and-drop interactions to transfer structured data between elements.
|
|
761
|
-
- `getDataTransferJson<
|
|
761
|
+
- `getDataTransferJson<Value>(dataTransfer: DataTransfer): Nullable<Value>` - Retrieves and parses JSON data previously stored in a `DataTransfer` object using `setDataTransferJson`. Returns `null` when no data is present or when JSON parsing fails.
|
|
762
762
|
|
|
763
763
|
### File Utilities
|
|
764
764
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { Nullable } from '~/types';
|
|
1
2
|
export declare const DATA_TRANSFER_JSON_MIME = "application/json";
|
|
2
3
|
/**
|
|
3
4
|
* Serializes and stores JSON data in a DataTransfer object.
|
|
@@ -13,6 +14,6 @@ export declare const setDataTransferJson: <T>(dataTransfer: DataTransfer, data:
|
|
|
13
14
|
*
|
|
14
15
|
* @param dataTransfer DataTransfer instance from a drop event.
|
|
15
16
|
*
|
|
16
|
-
* @returns Parsed JSON value or
|
|
17
|
+
* @returns Parsed JSON value or null if not present or invalid.
|
|
17
18
|
*/
|
|
18
|
-
export declare const getDataTransferJson: <
|
|
19
|
+
export declare const getDataTransferJson: <Value>(dataTransfer: DataTransfer) => Nullable<Value>;
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DATA_TRANSFER_JSON_MIME:()=>ne,FOCUSABLE_HTML_TAGS:()=>i,applyInertiaStep:()=>Ie,assert:()=>p,blobToFile:()=>we,calculateCenterOffset:()=>fe,calculateEuclideanDistance:()=>Ee,calculateMovingSpeed:()=>Te,calculatePercentage:()=>Fe,camelToDashCase:()=>_e,camelToWords:()=>Le,centerElementInContainer:()=>de,chunk:()=>L,clampOffsetToOverflow:()=>he,cloneBlob:()=>n,compact:()=>R,compose:()=>f,decodeBase64:()=>qe,decodeBase64Json:()=>Ve,definedProps:()=>De,delay:()=>Q,difference:()=>h,downloadFile:()=>ie,everyAsync:()=>V,fileListToFiles:()=>be,filterParallel:()=>Z,filterSequential:()=>J,findAsync:()=>K,findCharIndices:()=>Xe,flattenTree:()=>Ye,forEachChar:()=>$e,generateEphemeralId:()=>Me,getAdjacentItems:()=>X,getDOMRectIntersectionRatio:()=>Oe,getDataTransferJson:()=>ae,getElementOffsetRect:()=>r,getFocusableHtmlElements:()=>s,getLocalStorageCapabilities:()=>ge,getTreeChildren:()=>He,getWordsInitials:()=>Be,getXOverflowWidth:()=>se,getYOverflowHeight:()=>ue,hasXOverflow:()=>oe,hasYOverflow:()=>ce,hashString:()=>Pe,hexWithAlpha:()=>Ue,intersection:()=>m,invokeIfFunction:()=>ve,isAnchorHtmlElement:()=>a,isArray:()=>j,isBlob:()=>M,isBool:()=>A,isContentEditableHtmlElement:()=>l,isDate:()=>I,isDecimal:()=>_,isDefined:()=>b,isEmptyArray:()=>k,isEmptyObject:()=>x,isError:()=>O,isFile:()=>ye,isFiniteNumber:()=>D,isFunction:()=>B,isHtmlElementFocusable:()=>o,isInteger:()=>N,isLocalStorageReadable:()=>pe,isMap:()=>T,isNil:()=>y,isNilOrEmptyString:()=>je,isNull:()=>g,isNumber:()=>S,isObject:()=>v,isPromise:()=>H,isRegExp:()=>E,isSet:()=>F,isString:()=>le,isSymbol:()=>P,isUndefined:()=>w,isValidDate:()=>C,moveFocusWithinContainer:()=>c,noop:()=>$,not:()=>W,once:()=>Y,parse2DMatrix:()=>me,parseFileName:()=>ke,parseJson:()=>Je,pipe:()=>u,readFilesFromDataTransfer:()=>Ae,reduceAsync:()=>G,resolveAxisDelta:()=>Ce,resolveBoundedDelta:()=>xe,retry:()=>te,runParallel:()=>U,runSequential:()=>z,searchTree:()=>ze,setDataTransferJson:()=>re,someAsync:()=>q,splitMapJoin:()=>We,splitStringIntoWords:()=>Re,timeout:()=>ee,toKebabCase:()=>Ne,traverseFileSystemDirectory:()=>Se,unique:()=>d});const n=e=>new Blob([e],{type:e.type}),r=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),a=e=>"A"===e.tagName,l=e=>"true"===e.getAttribute("contenteditable"),i=["INPUT","SELECT","TEXTAREA","BUTTON","A"],o=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 n=e.getAttribute("tabindex");return"-1"!==n&&(i.includes(e.tagName)?!a(e)||""!==e.href:!!l(e)||null!==n)},s=e=>Array.from(e.querySelectorAll("*")).filter(o),c=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const i=s(l);if(0===i.length)return;const o=i.indexOf(a);if(-1===o)return;let c;r?c=r(o,e,i):"next"===e?(c=o+1,c>=i.length&&(c=n?0:null)):(c=o-1,c<0&&(c=n?i.length-1:null)),null!==c&&i[c]?.focus()},u=(...e)=>t=>e.reduce((e,t)=>t(e),t),f=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),h=(e,t)=>e.filter(e=>!t.includes(e)),d=e=>[...new Set(e)],m=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return d(t).filter(e=>n.every(t=>t.includes(e)))};function p(e,t){if(!e)throw new Error(t)}const g=e=>null===e,y=e=>null==e,b=e=>null!=e,w=e=>void 0===e,S=e=>"number"==typeof e,A=e=>"boolean"==typeof e,v=e=>"object"==typeof e,x=e=>v(e)&&!g(e)&&0===Object.keys(e).length,I=e=>e instanceof Date,M=e=>e instanceof Blob,O=e=>e instanceof Error,C=e=>I(e)&&!isNaN(e.getTime()),E=e=>e instanceof RegExp,T=e=>e instanceof Map,F=e=>e instanceof Set,P=e=>"symbol"==typeof e,D=e=>S(e)&&isFinite(e),N=e=>S(e)&&Number.isInteger(e),_=e=>D(e)&&!Number.isInteger(e),L=(e,t)=>(p(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))),R=e=>e.filter(Boolean),j=e=>Array.isArray(e),k=e=>j(e)&&0===e.length,X=(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}},$=()=>{},B=e=>"function"==typeof e,W=e=>(...t)=>!e(...t),Y=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},H=e=>B(e?.then),z=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},U=async(e,t)=>Promise.all(e.map(t)),J=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},Z=async(e,t)=>{const n=await U(e,async(e,n,r)=>!!await t(e,n,r)&&e);return R(n)},q=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},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},K=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)),ee=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,Q(t).then(()=>Promise.reject(new Error(n)))])}finally{}},te=(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},ne="application/json",re=(e,t)=>{e.setData(ne,JSON.stringify(t))},ae=e=>{const t=e.getData(ne);if(t)try{return JSON.parse(t)}catch{return}},le=e=>"string"==typeof e,ie=(e,{fileName:t,target:n}={})=>{if(w(document))return;const r=document.createElement("a");let a=null;try{const l=le(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(()=>{p(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},oe=e=>e.scrollWidth>e.clientWidth,se=e=>Math.max(0,e.scrollWidth-e.clientWidth),ce=e=>e.scrollHeight>e.clientHeight,ue=e=>Math.max(0,e.scrollHeight-e.clientHeight),fe=({containerSize:e,elementOffset:t,elementSize:n})=>-(t+n/2-e/2),he=(e,t)=>t<=0?0:Math.max(-t,Math.min(e,0)),de=(e,t,{axis:n="both",shouldClamp:r=!0}={})=>{let a=0,l=0;if("x"===n||"both"===n){const n=fe({containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth});a=r?he(n,se(e)):n}if("y"===n||"both"===n){const n=fe({containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight});l=r?he(n,ue(e)):n}e.style.transform=`translate(${a}px, ${l}px)`},me=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}},pe=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},ge=()=>{if(!pe())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}},ye=e=>e instanceof File,be=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},we=(e,t)=>new File([e],t,{type:e.type}),Se=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 U(r,async e=>e.isDirectory?Se(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},Ae=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(Se(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()},ve=(e,...t)=>"function"==typeof e?e(...t):e,xe=({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},Ie=({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=xe({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}},Me=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,Oe=(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),Ce=(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}}},Ee=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},Te=(e,t)=>Math.abs(e/t),Fe=(e,t)=>e*t/100,Pe=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},De=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Ne=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),_e=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Le=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Re=e=>0===e.length?[]:e.split(" ").filter(Boolean),je=e=>""===e||y(e),ke=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},Xe=(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},$e=(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)}},Be=(e,t=1/0)=>0===e.length?"":Re(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),We=(e,t,n,r=t)=>e.split(t).map((e,t)=>n(e.trim(),t)).join(r),Ye=(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];Ye(s,t,n,r,a,l+1)}}),r),He=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),ze=(e,t,n,r)=>{const a=Re(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=Re(o.toLowerCase());if(a.every(e=>s.some(t=>t.startsWith(e))))if(w(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];w(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(g(o)||o!==n.parentId)&&(p(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])},Ue=(e,t)=>{p(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})$/);p(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")}`},Je=e=>{try{return JSON.parse(e)}catch{return null}},Ze=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,qe=e=>{try{return Ze.test(e)?"undefined"!=typeof Buffer?Buffer.from(e,"base64").toString("utf-8"):decodeURIComponent(atob(e).split("").map(e=>`%${e.charCodeAt(0).toString(16).padStart(2,"0")}`).join("")):null}catch{return null}},Ve=e=>{const t=qe(e);return null===t?null:Je(t)};module.exports=t})();
|
|
1
|
+
(()=>{"use strict";var e={d:(t,n)=>{for(var r in n)e.o(n,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:n[r]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{DATA_TRANSFER_JSON_MIME:()=>re,FOCUSABLE_HTML_TAGS:()=>i,applyInertiaStep:()=>Me,assert:()=>p,blobToFile:()=>Se,calculateCenterOffset:()=>he,calculateEuclideanDistance:()=>Te,calculateMovingSpeed:()=>Fe,calculatePercentage:()=>Pe,camelToDashCase:()=>Ne,camelToWords:()=>Re,centerElementInContainer:()=>me,chunk:()=>N,clampOffsetToOverflow:()=>de,cloneBlob:()=>n,compact:()=>R,compose:()=>f,decodeBase64:()=>qe,decodeBase64Json:()=>Ve,definedProps:()=>_e,delay:()=>Q,difference:()=>h,downloadFile:()=>oe,everyAsync:()=>V,fileListToFiles:()=>we,filterParallel:()=>Z,filterSequential:()=>J,findAsync:()=>K,findCharIndices:()=>$e,flattenTree:()=>He,forEachChar:()=>Be,generateEphemeralId:()=>Ce,getAdjacentItems:()=>X,getDOMRectIntersectionRatio:()=>Oe,getDataTransferJson:()=>le,getElementOffsetRect:()=>r,getFocusableHtmlElements:()=>s,getLocalStorageCapabilities:()=>ye,getTreeChildren:()=>ze,getWordsInitials:()=>We,getXOverflowWidth:()=>ce,getYOverflowHeight:()=>fe,hasXOverflow:()=>se,hasYOverflow:()=>ue,hashString:()=>De,hexWithAlpha:()=>Je,intersection:()=>m,invokeIfFunction:()=>xe,isAnchorHtmlElement:()=>a,isArray:()=>j,isBlob:()=>M,isBool:()=>A,isContentEditableHtmlElement:()=>l,isDate:()=>I,isDecimal:()=>L,isDefined:()=>b,isEmptyArray:()=>k,isEmptyObject:()=>x,isError:()=>C,isFile:()=>be,isFiniteNumber:()=>D,isFunction:()=>B,isHtmlElementFocusable:()=>o,isInteger:()=>_,isLocalStorageReadable:()=>ge,isMap:()=>T,isNil:()=>y,isNilOrEmptyString:()=>ke,isNull:()=>g,isNumber:()=>S,isObject:()=>v,isPromise:()=>H,isRegExp:()=>E,isSet:()=>F,isString:()=>ie,isSymbol:()=>P,isUndefined:()=>w,isValidDate:()=>O,moveFocusWithinContainer:()=>c,noop:()=>$,not:()=>W,once:()=>Y,parse2DMatrix:()=>pe,parseFileName:()=>Xe,parseJson:()=>ne,pipe:()=>u,readFilesFromDataTransfer:()=>ve,reduceAsync:()=>G,resolveAxisDelta:()=>Ee,resolveBoundedDelta:()=>Ie,retry:()=>te,runParallel:()=>U,runSequential:()=>z,searchTree:()=>Ue,setDataTransferJson:()=>ae,someAsync:()=>q,splitMapJoin:()=>Ye,splitStringIntoWords:()=>je,timeout:()=>ee,toKebabCase:()=>Le,traverseFileSystemDirectory:()=>Ae,unique:()=>d});const n=e=>new Blob([e],{type:e.type}),r=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),a=e=>"A"===e.tagName,l=e=>"true"===e.getAttribute("contenteditable"),i=["INPUT","SELECT","TEXTAREA","BUTTON","A"],o=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 n=e.getAttribute("tabindex");return"-1"!==n&&(i.includes(e.tagName)?!a(e)||""!==e.href:!!l(e)||null!==n)},s=e=>Array.from(e.querySelectorAll("*")).filter(o),c=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const i=s(l);if(0===i.length)return;const o=i.indexOf(a);if(-1===o)return;let c;r?c=r(o,e,i):"next"===e?(c=o+1,c>=i.length&&(c=n?0:null)):(c=o-1,c<0&&(c=n?i.length-1:null)),null!==c&&i[c]?.focus()},u=(...e)=>t=>e.reduce((e,t)=>t(e),t),f=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),h=(e,t)=>e.filter(e=>!t.includes(e)),d=e=>[...new Set(e)],m=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return d(t).filter(e=>n.every(t=>t.includes(e)))};function p(e,t){if(!e)throw new Error(t)}const g=e=>null===e,y=e=>null==e,b=e=>null!=e,w=e=>void 0===e,S=e=>"number"==typeof e,A=e=>"boolean"==typeof e,v=e=>"object"==typeof e,x=e=>v(e)&&!g(e)&&0===Object.keys(e).length,I=e=>e instanceof Date,M=e=>e instanceof Blob,C=e=>e instanceof Error,O=e=>I(e)&&!isNaN(e.getTime()),E=e=>e instanceof RegExp,T=e=>e instanceof Map,F=e=>e instanceof Set,P=e=>"symbol"==typeof e,D=e=>S(e)&&isFinite(e),_=e=>S(e)&&Number.isInteger(e),L=e=>D(e)&&!Number.isInteger(e),N=(e,t)=>(p(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))),R=e=>e.filter(Boolean),j=e=>Array.isArray(e),k=e=>j(e)&&0===e.length,X=(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}},$=()=>{},B=e=>"function"==typeof e,W=e=>(...t)=>!e(...t),Y=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},H=e=>B(e?.then),z=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},U=async(e,t)=>Promise.all(e.map(t)),J=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},Z=async(e,t)=>{const n=await U(e,async(e,n,r)=>!!await t(e,n,r)&&e);return R(n)},q=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},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},K=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)),ee=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,Q(t).then(()=>Promise.reject(new Error(n)))])}finally{}},te=(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},ne=e=>{try{return JSON.parse(e)}catch{return null}},re="application/json",ae=(e,t)=>{e.setData(re,JSON.stringify(t))},le=e=>{const t=e.getData(re);return t?ne(t):null},ie=e=>"string"==typeof e,oe=(e,{fileName:t,target:n}={})=>{if(w(document))return;const r=document.createElement("a");let a=null;try{const l=ie(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(()=>{p(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},se=e=>e.scrollWidth>e.clientWidth,ce=e=>Math.max(0,e.scrollWidth-e.clientWidth),ue=e=>e.scrollHeight>e.clientHeight,fe=e=>Math.max(0,e.scrollHeight-e.clientHeight),he=({containerSize:e,elementOffset:t,elementSize:n})=>-(t+n/2-e/2),de=(e,t)=>t<=0?0:Math.max(-t,Math.min(e,0)),me=(e,t,{axis:n="both",shouldClamp:r=!0}={})=>{let a=0,l=0;if("x"===n||"both"===n){const n=he({containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth});a=r?de(n,ce(e)):n}if("y"===n||"both"===n){const n=he({containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight});l=r?de(n,fe(e)):n}e.style.transform=`translate(${a}px, ${l}px)`},pe=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}},ge=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},ye=()=>{if(!ge())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}},be=e=>e instanceof File,we=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},Se=(e,t)=>new File([e],t,{type:e.type}),Ae=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 U(r,async e=>e.isDirectory?Ae(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},ve=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(Ae(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,Ie=({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=Ie({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}},Ce=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,Oe=(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),Ee=(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}}},Te=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},Fe=(e,t)=>Math.abs(e/t),Pe=(e,t)=>e*t/100,De=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},_e=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Le=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Ne=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Re=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),je=e=>0===e.length?[]:e.split(" ").filter(Boolean),ke=e=>""===e||y(e),Xe=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},Be=(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)}},We=(e,t=1/0)=>0===e.length?"":je(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),He=(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];He(s,t,n,r,a,l+1)}}),r),ze=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),Ue=(e,t,n,r)=>{const a=je(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=je(o.toLowerCase());if(a.every(e=>s.some(t=>t.startsWith(e))))if(w(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];w(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(g(o)||o!==n.parentId)&&(p(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])},Je=(e,t)=>{p(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})$/);p(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")}`},Ze=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,qe=e=>{try{return Ze.test(e)?"undefined"!=typeof Buffer?Buffer.from(e,"base64").toString("utf-8"):decodeURIComponent(atob(e).split("").map(e=>`%${e.charCodeAt(0).toString(16).padStart(2,"0")}`).join("")):null}catch{return null}},Ve=e=>{const t=qe(e);return null===t?null:ne(t)};module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|