@react-hive/honey-utils 3.19.0 → 3.21.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/dist/geometry/apply-inertia-step.spec.d.ts +1 -0
- package/dist/geometry/resolve-bounded-delta.spec.d.ts +1 -0
- package/dist/id/generate-ephemeral-id.d.ts +18 -0
- package/dist/id/generate-ephemeral-id.spec.d.ts +1 -0
- package/dist/id/index.d.ts +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +9 -8
- package/dist/index.dev.cjs +158 -102
- package/dist/index.dev.cjs.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generates a lightweight, ephemeral identifier for short-lived, client-side use.
|
|
3
|
+
*
|
|
4
|
+
* The identifier combines a high-resolution timestamp with a
|
|
5
|
+
* pseudo-random suffix to reduce collision probability.
|
|
6
|
+
*
|
|
7
|
+
* ⚠️ Uniqueness is **best-effort only**:
|
|
8
|
+
* - No guarantee of global uniqueness
|
|
9
|
+
* - Not suitable for persistence or cross-session usage
|
|
10
|
+
* - Not safe for security-sensitive or externally visible identifiers
|
|
11
|
+
*
|
|
12
|
+
* Intended use cases:
|
|
13
|
+
* - Temporary UI keys (e.g. React lists, animations)
|
|
14
|
+
* - In-memory references scoped to a single runtime
|
|
15
|
+
*
|
|
16
|
+
* @returns An ephemeral identifier string.
|
|
17
|
+
*/
|
|
18
|
+
export declare const generateEphemeralId: () => string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './generate-ephemeral-id';
|
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={};
|
|
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:()=>a,applyInertiaStep:()=>be,assert:()=>u,blobToFile:()=>me,calculateCenterOffset:()=>oe,calculateEuclideanDistance:()=>Me,calculateMovingSpeed:()=>Ae,calculatePercentage:()=>Ee,camelToDashCase:()=>Pe,camelToWords:()=>Te,centerElementInContainer:()=>se,chunk:()=>D,cloneBlob:()=>n,compact:()=>I,compose:()=>X,definedProps:()=>Ce,delay:()=>J,difference:()=>N,downloadFile:()=>ne,everyAsync:()=>G,fileListToFiles:()=>de,filterParallel:()=>q,filterSequential:()=>$,findAsync:()=>K,findCharIndices:()=>De,forEachChar:()=>Le,generateEphemeralId:()=>Se,getDOMRectIntersectionRatio:()=>ve,getElementOffsetRect:()=>r,getFocusableHtmlElements:()=>s,getLocalStorageCapabilities:()=>fe,getWordsInitials:()=>Ne,getXOverflowWidth:()=>le,getYOverflowHeight:()=>ae,hasXOverflow:()=>re,hasYOverflow:()=>ie,hashString:()=>Oe,intersection:()=>L,invokeIfFunction:()=>pe,isAnchorHtmlElement:()=>l,isArray:()=>T,isBlob:()=>S,isBool:()=>y,isContentEditableHtmlElement:()=>i,isDate:()=>b,isDecimal:()=>P,isDefined:()=>d,isEmptyArray:()=>k,isEmptyObject:()=>w,isError:()=>v,isFile:()=>he,isFiniteNumber:()=>C,isFunction:()=>Y,isHtmlElementFocusable:()=>o,isInteger:()=>F,isLocalStorageReadable:()=>ue,isMap:()=>A,isNil:()=>h,isNilOrEmptyString:()=>Ie,isNull:()=>f,isNumber:()=>g,isObject:()=>p,isPromise:()=>W,isRegExp:()=>M,isSet:()=>E,isString:()=>te,isSymbol:()=>O,isUndefined:()=>m,isValidDate:()=>x,moveFocusWithinContainer:()=>c,noop:()=>j,not:()=>H,once:()=>z,parse2DMatrix:()=>ce,parseFileName:()=>_e,pipe:()=>R,readFilesFromDataTransfer:()=>ye,reduceAsync:()=>Z,resolveAxisDelta:()=>xe,resolveBoundedDelta:()=>we,retry:()=>ee,runParallel:()=>U,runSequential:()=>B,someAsync:()=>V,splitStringIntoWords:()=>ke,timeout:()=>Q,toKebabCase:()=>Fe,traverseFileSystemDirectory:()=>ge,unique:()=>_});const n=e=>new Blob([e],{type:e.type}),r=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),l=e=>"A"===e.tagName,i=e=>"true"===e.getAttribute("contenteditable"),a=["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&&(a.includes(e.tagName)?!l(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 l=document.activeElement,i=t??l?.parentElement;if(!l||!i)return;const a=s(i);if(0===a.length)return;const o=a.indexOf(l);if(-1===o)return;let c;r?c=r(o,e,a):"next"===e?(c=o+1,c>=a.length&&(c=n?0:null)):(c=o-1,c<0&&(c=n?a.length-1:null)),null!==c&&a[c]?.focus()};function u(e,t){if(!e)throw new Error(t)}const f=e=>null===e,h=e=>null==e,d=e=>null!=e,m=e=>void 0===e,g=e=>"number"==typeof e,y=e=>"boolean"==typeof e,p=e=>"object"==typeof e,w=e=>p(e)&&!f(e)&&0===Object.keys(e).length,b=e=>e instanceof Date,S=e=>e instanceof Blob,v=e=>e instanceof Error,x=e=>b(e)&&!isNaN(e.getTime()),M=e=>e instanceof RegExp,A=e=>e instanceof Map,E=e=>e instanceof Set,O=e=>"symbol"==typeof e,C=e=>g(e)&&isFinite(e),F=e=>g(e)&&Number.isInteger(e),P=e=>C(e)&&!Number.isInteger(e),T=e=>Array.isArray(e),k=e=>T(e)&&0===e.length,I=e=>e.filter(Boolean),_=e=>[...new Set(e)],D=(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))),L=(...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)))},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=()=>{},Y=e=>"function"==typeof e,H=e=>(...t)=>!e(...t),z=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},W=e=>Y(e?.then),B=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)),$=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const l=e[r];await t(l,r,e)&&n.push(l)}return n},q=async(e,t)=>{const n=await U(e,async(e,n,r)=>!!await t(e,n,r)&&e);return I(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},K=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{}},ee=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:l}={})=>async(...i)=>{let a;for(let o=1;o<=t;o++)try{return await e(...i)}catch(e){if(a=e,o<t){l?.(o,e);const t=r?n*2**(o-1):n;await J(t)}}throw a},te=e=>"string"==typeof e,ne=(e,{fileName:t,target:n}={})=>{if(m(document))return;const r=document.createElement("a");let l=null;try{const i=te(e)?e:l=URL.createObjectURL(e);r.href=i,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),l&&setTimeout(()=>{u(l,"Object URL should not be null"),URL.revokeObjectURL(l)},0)}},re=e=>e.scrollWidth>e.clientWidth,le=e=>Math.max(0,e.scrollWidth-e.clientWidth),ie=e=>e.scrollHeight>e.clientHeight,ae=e=>Math.max(0,e.scrollHeight-e.clientHeight),oe=({overflowSize:e,containerSize:t,elementOffset:n,elementSize:r})=>{if(e<=0)return 0;const l=n+r/2-t/2;return-Math.max(0,Math.min(l,e))},se=(e,t,{axis:n="both"}={})=>{let r=0,l=0;"x"!==n&&"both"!==n||(r=oe({overflowSize:le(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(l=oe({overflowSize:ae(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${l}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,l,i,a,o]=t[1].split(", ").map(parseFloat);return{translateX:a,translateY:o,scaleX:n,scaleY:i,skewX:l,skewY:r}},ue=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},fe=()=>{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}},he=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}),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 U(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 l=n[e];if("webkitGetAsEntry"in l){const e=l.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 i=l.getAsFile();i&&r.push(Promise.resolve([i]))}return(await Promise.all(r)).flat()},pe=(e,...t)=>"function"==typeof e?e(...t):e,we=({delta:e,value:t,min:n,max:r})=>{if(0===e)return null;const l=t+e;return e<0?t<=n?null:Math.max(l,n):e>0?t>=r?null:Math.min(l,r):null},be=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:l,friction:i=.002,minVelocityPxMs:a=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<a)return null;const s=we({delta:r*l,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-i*l),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<a?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),xe=(e,t,{allowFallback:n=!0,invert:r=!0}={})=>{const l=r?-1:1;switch(t){case"x":return{deltaX:l*(0!==e.deltaX?e.deltaX:n?e.deltaY:0),deltaY:0};case"y":return{deltaX:0,deltaY:l*e.deltaY};default:return{deltaX:l*e.deltaX,deltaY:l*e.deltaY}}},Me=(e,t,n,r)=>{const l=n-e,i=r-t;return Math.hypot(l,i)},Ae=(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)},Ce=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Fe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Pe=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"),ke=e=>0===e.length?[]:e.split(" ").filter(Boolean),Ie=e=>""===e||h(e),_e=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},De=(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},Le=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let l=0;l<r;l++){const i=e[l],a={charIndex:l,prevChar:l>0?e[l-1]:null,nextChar:l<r-1?e[l+1]:null};n?.(i,a)||t(i,a)}},Ne=(e,t=1/0)=>0===e.length?"":ke(e).slice(0,t).map(e=>e[0]).join("").toUpperCase();module.exports=t})();
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|