@react-hive/honey-utils 3.25.0 → 3.27.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 +6 -0
- package/dist/README.md +6 -0
- package/dist/dom/data-transfer.d.ts +18 -0
- package/dist/dom/index.d.ts +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.dev.cjs +262 -201
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +20 -13
package/README.md
CHANGED
|
@@ -674,6 +674,12 @@ function divide(a: number, b: number): number {
|
|
|
674
674
|
|
|
675
675
|
- `parse2DMatrix(element: HTMLElement): { translateX: number, translateY: number, scaleX: number, scaleY: number, skewX: number, skewY: number }` - Extracts transformation values (translate, scale, skew) from the 2D transformation matrix of a given HTML element.
|
|
676
676
|
|
|
677
|
+
#### Data Transfer
|
|
678
|
+
|
|
679
|
+
- `DATA_TRANSFER_JSON_MIME: string` - MIME type constant (`application/json`) used for storing serialized JSON data inside the browser `DataTransfer` API.
|
|
680
|
+
- `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.
|
|
681
|
+
- `getDataTransferJson<T>(dataTransfer: DataTransfer): T | undefined` - Retrieves and parses JSON data previously stored in a `DataTransfer` object using `setDataTransferJson`. Returns `undefined` when no data is present or when the JSON parsing fails.
|
|
682
|
+
|
|
677
683
|
### File Utilities
|
|
678
684
|
|
|
679
685
|
---
|
package/dist/README.md
CHANGED
|
@@ -674,6 +674,12 @@ function divide(a: number, b: number): number {
|
|
|
674
674
|
|
|
675
675
|
- `parse2DMatrix(element: HTMLElement): { translateX: number, translateY: number, scaleX: number, scaleY: number, skewX: number, skewY: number }` - Extracts transformation values (translate, scale, skew) from the 2D transformation matrix of a given HTML element.
|
|
676
676
|
|
|
677
|
+
#### Data Transfer
|
|
678
|
+
|
|
679
|
+
- `DATA_TRANSFER_JSON_MIME: string` - MIME type constant (`application/json`) used for storing serialized JSON data inside the browser `DataTransfer` API.
|
|
680
|
+
- `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.
|
|
681
|
+
- `getDataTransferJson<T>(dataTransfer: DataTransfer): T | undefined` - Retrieves and parses JSON data previously stored in a `DataTransfer` object using `setDataTransferJson`. Returns `undefined` when no data is present or when the JSON parsing fails.
|
|
682
|
+
|
|
677
683
|
### File Utilities
|
|
678
684
|
|
|
679
685
|
---
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const DATA_TRANSFER_JSON_MIME = "application/json";
|
|
2
|
+
/**
|
|
3
|
+
* Serializes and stores JSON data in a DataTransfer object.
|
|
4
|
+
*
|
|
5
|
+
* Useful for drag-and-drop communication between elements.
|
|
6
|
+
*
|
|
7
|
+
* @param dataTransfer DataTransfer instance from a drag event.
|
|
8
|
+
* @param data Data to serialize.
|
|
9
|
+
*/
|
|
10
|
+
export declare const setDataTransferJson: <T>(dataTransfer: DataTransfer, data: T) => void;
|
|
11
|
+
/**
|
|
12
|
+
* Retrieves and parses JSON data from a DataTransfer object.
|
|
13
|
+
*
|
|
14
|
+
* @param dataTransfer DataTransfer instance from a drop event.
|
|
15
|
+
*
|
|
16
|
+
* @returns Parsed JSON value or undefined if not present or invalid.
|
|
17
|
+
*/
|
|
18
|
+
export declare const getDataTransferJson: <T>(dataTransfer: DataTransfer) => T | undefined;
|
package/dist/dom/index.d.ts
CHANGED
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,{FOCUSABLE_HTML_TAGS:()=>l,applyInertiaStep:()=>be,assert:()=>u,blobToFile:()=>me,calculateCenterOffset:()=>oe,calculateEuclideanDistance:()=>xe,calculateMovingSpeed:()=>Me,calculatePercentage:()=>Ce,camelToDashCase:()=>Fe,camelToWords:()=>Te,centerElementInContainer:()=>se,chunk:()=>_,cloneBlob:()=>n,compact:()=>L,compose:()=>X,definedProps:()=>Oe,delay:()=>K,difference:()=>N,downloadFile:()=>ne,everyAsync:()=>G,fileListToFiles:()=>de,filterParallel:()=>q,filterSequential:()=>B,findAsync:()=>J,findCharIndices:()=>_e,flattenTree:()=>Xe,forEachChar:()=>De,generateEphemeralId:()=>Se,getDOMRectIntersectionRatio:()=>ve,getElementOffsetRect:()=>r,getFocusableHtmlElements:()=>s,getLocalStorageCapabilities:()=>he,getTreeChildren:()=>je,getWordsInitials:()=>Ne,getXOverflowWidth:()=>ae,getYOverflowHeight:()=>le,hasXOverflow:()=>re,hasYOverflow:()=>ie,hashString:()=>Ee,hexWithAlpha:()=>Ye,intersection:()=>D,invokeIfFunction:()=>ye,isAnchorHtmlElement:()=>a,isArray:()=>T,isBlob:()=>S,isBool:()=>g,isContentEditableHtmlElement:()=>i,isDate:()=>b,isDecimal:()=>F,isDefined:()=>d,isEmptyArray:()=>P,isEmptyObject:()=>w,isError:()=>v,isFile:()=>fe,isFiniteNumber:()=>O,isFunction:()=>W,isHtmlElementFocusable:()=>o,isInteger:()=>I,isLocalStorageReadable:()=>ue,isMap:()=>M,isNil:()=>f,isNilOrEmptyString:()=>Le,isNull:()=>h,isNumber:()=>p,isObject:()=>y,isPromise:()=>H,isRegExp:()=>x,isSet:()=>C,isString:()=>te,isSymbol:()=>E,isUndefined:()=>m,isValidDate:()=>A,moveFocusWithinContainer:()=>c,noop:()=>j,not:()=>Y,once:()=>$,parse2DMatrix:()=>ce,parseFileName:()=>ke,pipe:()=>R,readFilesFromDataTransfer:()=>ge,reduceAsync:()=>Z,resolveAxisDelta:()=>Ae,resolveBoundedDelta:()=>we,retry:()=>ee,runParallel:()=>U,runSequential:()=>z,searchTree:()=>We,someAsync:()=>V,splitMapJoin:()=>Re,splitStringIntoWords:()=>Pe,timeout:()=>Q,toKebabCase:()=>Ie,traverseFileSystemDirectory:()=>pe,unique:()=>k});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,i=e=>"true"===e.getAttribute("contenteditable"),l=["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&&(l.includes(e.tagName)?!a(e)||""!==e.href:!!i(e)||null!==n)},s=e=>Array.from(e.querySelectorAll("*")).filter(o),c=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,i=t??a?.parentElement;if(!a||!i)return;const l=s(i);if(0===l.length)return;const o=l.indexOf(a);if(-1===o)return;let c;r?c=r(o,e,l):"next"===e?(c=o+1,c>=l.length&&(c=n?0:null)):(c=o-1,c<0&&(c=n?l.length-1:null)),null!==c&&l[c]?.focus()};function u(e,t){if(!e)throw new Error(t)}const h=e=>null===e,f=e=>null==e,d=e=>null!=e,m=e=>void 0===e,p=e=>"number"==typeof e,g=e=>"boolean"==typeof e,y=e=>"object"==typeof e,w=e=>y(e)&&!h(e)&&0===Object.keys(e).length,b=e=>e instanceof Date,S=e=>e instanceof Blob,v=e=>e instanceof Error,A=e=>b(e)&&!isNaN(e.getTime()),x=e=>e instanceof RegExp,M=e=>e instanceof Map,C=e=>e instanceof Set,E=e=>"symbol"==typeof e,O=e=>p(e)&&isFinite(e),I=e=>p(e)&&Number.isInteger(e),F=e=>O(e)&&!Number.isInteger(e),T=e=>Array.isArray(e),P=e=>T(e)&&0===e.length,L=e=>e.filter(Boolean),k=e=>[...new Set(e)],_=(e,t)=>(u(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))),D=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return k(t).filter(e=>n.every(t=>t.includes(e)))},N=(e,t)=>e.filter(e=>!t.includes(e)),R=(...e)=>t=>e.reduce((e,t)=>t(e),t),X=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),j=()=>{},W=e=>"function"==typeof e,Y=e=>(...t)=>!e(...t),$=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},H=e=>W(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)),B=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},q=async(e,t)=>{const n=await U(e,async(e,n,r)=>!!await t(e,n,r)&&e);return L(n)},V=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return!0;return!1},G=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},J=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},K=e=>new Promise(t=>setTimeout(t,e)),Q=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,K(t).then(()=>Promise.reject(new Error(n)))])}finally{}},ee=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...i)=>{let l;for(let o=1;o<=t;o++)try{return await e(...i)}catch(e){if(l=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await K(t)}}throw l},te=e=>"string"==typeof e,ne=(e,{fileName:t,target:n}={})=>{if(m(document))return;const r=document.createElement("a");let a=null;try{const i=te(e)?e:a=URL.createObjectURL(e);r.href=i,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{u(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},re=e=>e.scrollWidth>e.clientWidth,ae=e=>Math.max(0,e.scrollWidth-e.clientWidth),ie=e=>e.scrollHeight>e.clientHeight,le=e=>Math.max(0,e.scrollHeight-e.clientHeight),oe=({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))},se=(e,t,{axis:n="both"}={})=>{let r=0,a=0;"x"!==n&&"both"!==n||(r=oe({overflowSize:ae(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(a=oe({overflowSize:le(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${a}px)`},ce=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,i,l,o]=t[1].split(", ").map(parseFloat);return{translateX:l,translateY:o,scaleX:n,scaleY:i,skewX:a,skewY:r}},ue=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},he=()=>{if(!ue())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}},fe=e=>e instanceof File,de=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},me=(e,t)=>new File([e],t,{type:e.type}),pe=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?pe(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},ge=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(pe(e,t));continue}if(e?.isFile){r.push(new Promise((t,n)=>e.file(e=>t([e]),n)));continue}}const i=a.getAsFile();i&&r.push(Promise.resolve([i]))}return(await Promise.all(r)).flat()},ye=(e,...t)=>"function"==typeof e?e(...t):e,we=({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},be=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:a,friction:i=.002,minVelocityPxMs:l=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<l)return null;const s=we({delta:r*a,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-i*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<l?null:{value:s,velocityPxMs:u}},Se=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,ve=(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),Ae=(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}}},xe=(e,t,n,r)=>{const a=n-e,i=r-t;return Math.hypot(a,i)},Me=(e,t)=>Math.abs(e/t),Ce=(e,t)=>e*t/100,Ee=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},Oe=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Ie=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Fe=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Te=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Pe=e=>0===e.length?[]:e.split(" ").filter(Boolean),Le=e=>""===e||f(e),ke=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},De=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let a=0;a<r;a++){const i=e[a],l={charIndex:a,prevChar:a>0?e[a-1]:null,nextChar:a<r-1?e[a+1]:null};n?.(i,l)||t(i,l)}},Ne=(e,t=1/0)=>0===e.length?"":Pe(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),Re=(e,t,n,r=t)=>e.split(t).map((e,t)=>n(e.trim(),t)).join(r),Xe=(e,t,n,r=[],a=void 0,i=0)=>(e?.forEach(e=>{const{[n]:l,...o}=e,s=e[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:i,childCount:c?s.length:0}),c){const a=e[t];Xe(s,t,n,r,a,i+1)}}),r),je=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),We=(e,t,n,r)=>{const a=Pe(r.toLowerCase());if(!a.length)return e;const i=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,l)=>{const o=l[n];if(!o)return r;if(r.some(e=>e[t]===l[t]))return r;const s=Pe(o.toLowerCase());if(a.every(e=>s.some(t=>t.startsWith(e))))if(m(l.parentId)){r.push(l);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(l)}else{const t=n=>{const a=i[n.parentId],l=e[a];m(l.parentId)||t(l);const o=r.length?r[r.length-1].parentId:null;(h(o)||o!==n.parentId)&&(u(l,"[@react-hive/honey-utils]: Parent node was not found."),r.push(l))};t(l),r.push(l)}return r},[])},Ye=(e,t)=>{u(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})$/);u(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")}`};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:()=>te,FOCUSABLE_HTML_TAGS:()=>l,applyInertiaStep:()=>Ae,assert:()=>u,blobToFile:()=>ye,calculateCenterOffset:()=>ue,calculateEuclideanDistance:()=>Oe,calculateMovingSpeed:()=>Ce,calculatePercentage:()=>Te,camelToDashCase:()=>De,camelToWords:()=>_e,centerElementInContainer:()=>he,chunk:()=>L,cloneBlob:()=>n,compact:()=>D,compose:()=>j,definedProps:()=>Fe,delay:()=>K,difference:()=>k,downloadFile:()=>ie,everyAsync:()=>V,fileListToFiles:()=>ge,filterParallel:()=>J,filterSequential:()=>B,findAsync:()=>Z,findCharIndices:()=>Re,flattenTree:()=>Ye,forEachChar:()=>je,generateEphemeralId:()=>Me,getDOMRectIntersectionRatio:()=>xe,getDataTransferJson:()=>re,getElementOffsetRect:()=>r,getFocusableHtmlElements:()=>s,getLocalStorageCapabilities:()=>me,getTreeChildren:()=>$e,getWordsInitials:()=>Xe,getXOverflowWidth:()=>oe,getYOverflowHeight:()=>ce,hasXOverflow:()=>le,hasYOverflow:()=>se,hashString:()=>Ie,hexWithAlpha:()=>ze,intersection:()=>N,invokeIfFunction:()=>Se,isAnchorHtmlElement:()=>a,isArray:()=>F,isBlob:()=>S,isBool:()=>g,isContentEditableHtmlElement:()=>i,isDate:()=>b,isDecimal:()=>I,isDefined:()=>d,isEmptyArray:()=>P,isEmptyObject:()=>w,isError:()=>v,isFile:()=>pe,isFiniteNumber:()=>C,isFunction:()=>W,isHtmlElementFocusable:()=>o,isInteger:()=>T,isLocalStorageReadable:()=>de,isMap:()=>x,isNil:()=>f,isNilOrEmptyString:()=>Ne,isNull:()=>h,isNumber:()=>p,isObject:()=>y,isPromise:()=>H,isRegExp:()=>M,isSet:()=>E,isString:()=>ae,isSymbol:()=>O,isUndefined:()=>m,isValidDate:()=>A,moveFocusWithinContainer:()=>c,noop:()=>X,not:()=>Y,once:()=>$,parse2DMatrix:()=>fe,parseFileName:()=>ke,pipe:()=>R,readFilesFromDataTransfer:()=>be,reduceAsync:()=>G,resolveAxisDelta:()=>Ee,resolveBoundedDelta:()=>ve,retry:()=>ee,runParallel:()=>U,runSequential:()=>z,searchTree:()=>He,setDataTransferJson:()=>ne,someAsync:()=>q,splitMapJoin:()=>We,splitStringIntoWords:()=>Le,timeout:()=>Q,toKebabCase:()=>Pe,traverseFileSystemDirectory:()=>we,unique:()=>_});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,i=e=>"true"===e.getAttribute("contenteditable"),l=["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&&(l.includes(e.tagName)?!a(e)||""!==e.href:!!i(e)||null!==n)},s=e=>Array.from(e.querySelectorAll("*")).filter(o),c=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,i=t??a?.parentElement;if(!a||!i)return;const l=s(i);if(0===l.length)return;const o=l.indexOf(a);if(-1===o)return;let c;r?c=r(o,e,l):"next"===e?(c=o+1,c>=l.length&&(c=n?0:null)):(c=o-1,c<0&&(c=n?l.length-1:null)),null!==c&&l[c]?.focus()};function u(e,t){if(!e)throw new Error(t)}const h=e=>null===e,f=e=>null==e,d=e=>null!=e,m=e=>void 0===e,p=e=>"number"==typeof e,g=e=>"boolean"==typeof e,y=e=>"object"==typeof e,w=e=>y(e)&&!h(e)&&0===Object.keys(e).length,b=e=>e instanceof Date,S=e=>e instanceof Blob,v=e=>e instanceof Error,A=e=>b(e)&&!isNaN(e.getTime()),M=e=>e instanceof RegExp,x=e=>e instanceof Map,E=e=>e instanceof Set,O=e=>"symbol"==typeof e,C=e=>p(e)&&isFinite(e),T=e=>p(e)&&Number.isInteger(e),I=e=>C(e)&&!Number.isInteger(e),F=e=>Array.isArray(e),P=e=>F(e)&&0===e.length,D=e=>e.filter(Boolean),_=e=>[...new Set(e)],L=(e,t)=>(u(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))),N=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return _(t).filter(e=>n.every(t=>t.includes(e)))},k=(e,t)=>e.filter(e=>!t.includes(e)),R=(...e)=>t=>e.reduce((e,t)=>t(e),t),j=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),X=()=>{},W=e=>"function"==typeof e,Y=e=>(...t)=>!e(...t),$=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},H=e=>W(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)),B=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},J=async(e,t)=>{const n=await U(e,async(e,n,r)=>!!await t(e,n,r)&&e);return D(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},Z=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},K=e=>new Promise(t=>setTimeout(t,e)),Q=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,K(t).then(()=>Promise.reject(new Error(n)))])}finally{}},ee=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...i)=>{let l;for(let o=1;o<=t;o++)try{return await e(...i)}catch(e){if(l=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await K(t)}}throw l},te="application/json",ne=(e,t)=>{e.setData(te,JSON.stringify(t))},re=e=>{const t=e.getData(te);if(t)try{return JSON.parse(t)}catch{return}},ae=e=>"string"==typeof e,ie=(e,{fileName:t,target:n}={})=>{if(m(document))return;const r=document.createElement("a");let a=null;try{const i=ae(e)?e:a=URL.createObjectURL(e);r.href=i,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{u(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},le=e=>e.scrollWidth>e.clientWidth,oe=e=>Math.max(0,e.scrollWidth-e.clientWidth),se=e=>e.scrollHeight>e.clientHeight,ce=e=>Math.max(0,e.scrollHeight-e.clientHeight),ue=({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))},he=(e,t,{axis:n="both"}={})=>{let r=0,a=0;"x"!==n&&"both"!==n||(r=ue({overflowSize:oe(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(a=ue({overflowSize:ce(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${a}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,i,l,o]=t[1].split(", ").map(parseFloat);return{translateX:l,translateY:o,scaleX:n,scaleY:i,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 U(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 i=a.getAsFile();i&&r.push(Promise.resolve([i]))}return(await Promise.all(r)).flat()},Se=(e,...t)=>"function"==typeof e?e(...t):e,ve=({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},Ae=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:a,friction:i=.002,minVelocityPxMs:l=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<l)return null;const s=ve({delta:r*a,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-i*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<l?null:{value:s,velocityPxMs:u}},Me=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,xe=(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}}},Oe=(e,t,n,r)=>{const a=n-e,i=r-t;return Math.hypot(a,i)},Ce=(e,t)=>Math.abs(e/t),Te=(e,t)=>e*t/100,Ie=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},Fe=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(),De=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},_e=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Le=e=>0===e.length?[]:e.split(" ").filter(Boolean),Ne=e=>""===e||f(e),ke=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},Re=(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},je=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let a=0;a<r;a++){const i=e[a],l={charIndex:a,prevChar:a>0?e[a-1]:null,nextChar:a<r-1?e[a+1]:null};n?.(i,l)||t(i,l)}},Xe=(e,t=1/0)=>0===e.length?"":Le(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,i=0)=>(e?.forEach(e=>{const{[n]:l,...o}=e,s=e[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:i,childCount:c?s.length:0}),c){const a=e[t];Ye(s,t,n,r,a,i+1)}}),r),$e=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),He=(e,t,n,r)=>{const a=Le(r.toLowerCase());if(!a.length)return e;const i=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,l)=>{const o=l[n];if(!o)return r;if(r.some(e=>e[t]===l[t]))return r;const s=Le(o.toLowerCase());if(a.every(e=>s.some(t=>t.startsWith(e))))if(m(l.parentId)){r.push(l);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(l)}else{const t=n=>{const a=i[n.parentId],l=e[a];m(l.parentId)||t(l);const o=r.length?r[r.length-1].parentId:null;(h(o)||o!==n.parentId)&&(u(l,"[@react-hive/honey-utils]: Parent node was not found."),r.push(l))};t(l),r.push(l)}return r},[])},ze=(e,t)=>{u(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})$/);u(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")}`};module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|