@react-hive/honey-layout 9.15.0 → 10.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.
@@ -7934,30 +7934,34 @@ __webpack_require__.r(__webpack_exports__);
7934
7934
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
7935
7935
  /* harmony export */ FOCUSABLE_HTML_TAGS: () => (/* binding */ ne),
7936
7936
  /* harmony export */ assert: () => (/* binding */ t),
7937
- /* harmony export */ blobToFile: () => (/* binding */ me),
7937
+ /* harmony export */ blobToFile: () => (/* binding */ Se),
7938
7938
  /* harmony export */ calculateEuclideanDistance: () => (/* binding */ ee),
7939
7939
  /* harmony export */ calculateMovingSpeed: () => (/* binding */ te),
7940
7940
  /* harmony export */ calculatePercentage: () => (/* binding */ re),
7941
- /* harmony export */ camelToDashCase: () => (/* binding */ W),
7941
+ /* harmony export */ camelToDashCase: () => (/* binding */ q),
7942
7942
  /* harmony export */ camelToWords: () => (/* binding */ J),
7943
- /* harmony export */ chunk: () => (/* binding */ P),
7943
+ /* harmony export */ chunk: () => (/* binding */ x),
7944
7944
  /* harmony export */ cloneBlob: () => (/* binding */ ie),
7945
- /* harmony export */ compact: () => (/* binding */ k),
7945
+ /* harmony export */ compact: () => (/* binding */ _),
7946
7946
  /* harmony export */ compose: () => (/* binding */ C),
7947
- /* harmony export */ definedProps: () => (/* binding */ Ae),
7947
+ /* harmony export */ definedProps: () => (/* binding */ ke),
7948
7948
  /* harmony export */ delay: () => (/* binding */ X),
7949
7949
  /* harmony export */ difference: () => (/* binding */ E),
7950
- /* harmony export */ everyAsync: () => (/* binding */ Z),
7951
- /* harmony export */ fileListToFiles: () => (/* binding */ ge),
7950
+ /* harmony export */ everyAsync: () => (/* binding */ W),
7951
+ /* harmony export */ fileListToFiles: () => (/* binding */ Ae),
7952
7952
  /* harmony export */ filterParallel: () => (/* binding */ D),
7953
7953
  /* harmony export */ filterSequential: () => (/* binding */ B),
7954
- /* harmony export */ findAsync: () => (/* binding */ U),
7954
+ /* harmony export */ findAsync: () => (/* binding */ Z),
7955
7955
  /* harmony export */ getDOMRectIntersectionRatio: () => (/* binding */ oe),
7956
7956
  /* harmony export */ getElementOffsetRect: () => (/* binding */ se),
7957
7957
  /* harmony export */ getFocusableHtmlElements: () => (/* binding */ fe),
7958
- /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ ye),
7958
+ /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ me),
7959
+ /* harmony export */ getXOverflowWidth: () => (/* binding */ ye),
7960
+ /* harmony export */ getYOverflowHeight: () => (/* binding */ ge),
7961
+ /* harmony export */ hasXOverflow: () => (/* binding */ he),
7962
+ /* harmony export */ hasYOverflow: () => (/* binding */ we),
7959
7963
  /* harmony export */ hashString: () => (/* binding */ Q),
7960
- /* harmony export */ intersection: () => (/* binding */ x),
7964
+ /* harmony export */ intersection: () => (/* binding */ P),
7961
7965
  /* harmony export */ invokeIfFunction: () => (/* binding */ N),
7962
7966
  /* harmony export */ isAnchorHtmlElement: () => (/* binding */ le),
7963
7967
  /* harmony export */ isArray: () => (/* binding */ S),
@@ -7967,25 +7971,25 @@ __webpack_require__.r(__webpack_exports__);
7967
7971
  /* harmony export */ isDate: () => (/* binding */ u),
7968
7972
  /* harmony export */ isDecimal: () => (/* binding */ A),
7969
7973
  /* harmony export */ isDefined: () => (/* binding */ a),
7970
- /* harmony export */ isEmptyArray: () => (/* binding */ _),
7974
+ /* harmony export */ isEmptyArray: () => (/* binding */ M),
7971
7975
  /* harmony export */ isEmptyObject: () => (/* binding */ c),
7972
7976
  /* harmony export */ isError: () => (/* binding */ h),
7973
- /* harmony export */ isFile: () => (/* binding */ we),
7974
- /* harmony export */ isFiniteNumber: () => (/* binding */ d),
7977
+ /* harmony export */ isFile: () => (/* binding */ pe),
7978
+ /* harmony export */ isFiniteNumber: () => (/* binding */ p),
7975
7979
  /* harmony export */ isFunction: () => (/* binding */ v),
7976
7980
  /* harmony export */ isHtmlElementFocusable: () => (/* binding */ ue),
7977
7981
  /* harmony export */ isInteger: () => (/* binding */ b),
7978
- /* harmony export */ isLocalStorageReadable: () => (/* binding */ he),
7979
- /* harmony export */ isMap: () => (/* binding */ p),
7982
+ /* harmony export */ isLocalStorageReadable: () => (/* binding */ de),
7983
+ /* harmony export */ isMap: () => (/* binding */ g),
7980
7984
  /* harmony export */ isNil: () => (/* binding */ n),
7981
- /* harmony export */ isNilOrEmptyString: () => (/* binding */ q),
7985
+ /* harmony export */ isNilOrEmptyString: () => (/* binding */ U),
7982
7986
  /* harmony export */ isNull: () => (/* binding */ r),
7983
7987
  /* harmony export */ isNumber: () => (/* binding */ o),
7984
7988
  /* harmony export */ isObject: () => (/* binding */ l),
7985
7989
  /* harmony export */ isPromise: () => (/* binding */ R),
7986
7990
  /* harmony export */ isRegExp: () => (/* binding */ w),
7987
- /* harmony export */ isSet: () => (/* binding */ g),
7988
- /* harmony export */ isString: () => (/* binding */ V),
7991
+ /* harmony export */ isSet: () => (/* binding */ d),
7992
+ /* harmony export */ isString: () => (/* binding */ G),
7989
7993
  /* harmony export */ isSymbol: () => (/* binding */ m),
7990
7994
  /* harmony export */ isUndefined: () => (/* binding */ i),
7991
7995
  /* harmony export */ isValidDate: () => (/* binding */ y),
@@ -7993,21 +7997,21 @@ __webpack_require__.r(__webpack_exports__);
7993
7997
  /* harmony export */ not: () => (/* binding */ F),
7994
7998
  /* harmony export */ once: () => (/* binding */ L),
7995
7999
  /* harmony export */ parse2DMatrix: () => (/* binding */ ae),
7996
- /* harmony export */ parseFileName: () => (/* binding */ pe),
8000
+ /* harmony export */ parseFileName: () => (/* binding */ be),
7997
8001
  /* harmony export */ pipe: () => (/* binding */ T),
7998
- /* harmony export */ readFilesFromDataTransfer: () => (/* binding */ be),
7999
- /* harmony export */ reduceAsync: () => (/* binding */ G),
8002
+ /* harmony export */ readFilesFromDataTransfer: () => (/* binding */ _e),
8003
+ /* harmony export */ reduceAsync: () => (/* binding */ z),
8000
8004
  /* harmony export */ retry: () => (/* binding */ j),
8001
8005
  /* harmony export */ runParallel: () => (/* binding */ $),
8002
8006
  /* harmony export */ runSequential: () => (/* binding */ Y),
8003
- /* harmony export */ someAsync: () => (/* binding */ z),
8007
+ /* harmony export */ someAsync: () => (/* binding */ H),
8004
8008
  /* harmony export */ splitStringIntoWords: () => (/* binding */ K),
8005
8009
  /* harmony export */ timeout: () => (/* binding */ I),
8006
- /* harmony export */ toKebabCase: () => (/* binding */ H),
8007
- /* harmony export */ traverseFileSystemDirectory: () => (/* binding */ de),
8008
- /* harmony export */ unique: () => (/* binding */ M)
8010
+ /* harmony export */ toKebabCase: () => (/* binding */ V),
8011
+ /* harmony export */ traverseFileSystemDirectory: () => (/* binding */ Me),
8012
+ /* harmony export */ unique: () => (/* binding */ k)
8009
8013
  /* harmony export */ });
8010
- var e={};function t(e,t){if(!e)throw new Error(t)}e.d=(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const r=e=>null===e,n=e=>null==e,a=e=>null!=e,i=e=>void 0===e,o=e=>"number"==typeof e,s=e=>"boolean"==typeof e,l=e=>"object"==typeof e,c=e=>l(e)&&!r(e)&&0===Object.keys(e).length,u=e=>e instanceof Date,f=e=>e instanceof Blob,h=e=>e instanceof Error,y=e=>u(e)&&!isNaN(e.getTime()),w=e=>e instanceof RegExp,p=e=>e instanceof Map,g=e=>e instanceof Set,m=e=>"symbol"==typeof e,d=e=>o(e)&&isFinite(e),b=e=>o(e)&&Number.isInteger(e),A=e=>d(e)&&!Number.isInteger(e),S=e=>Array.isArray(e),_=e=>S(e)&&0===e.length,k=e=>e.filter(Boolean),M=e=>[...new Set(e)],P=(e,r)=>(t(r>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/r)},(t,n)=>e.slice(n*r,(n+1)*r))),x=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...r]=e;return M(t).filter(e=>r.every(t=>t.includes(e)))},E=(e,t)=>e.filter(e=>!t.includes(e)),T=(...e)=>t=>e.reduce((e,t)=>t(e),t),C=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),O=()=>{},v=e=>"function"==typeof e,F=e=>(...t)=>!e(...t),N=(e,...t)=>"function"==typeof e?e(...t):e,X=e=>new Promise(t=>setTimeout(t,e)),I=async(e,t,r="Operation timed out")=>{try{return await Promise.race([e,X(t).then(()=>Promise.reject(new Error(r)))])}finally{}},j=(e,{maxAttempts:t=3,delayMs:r=300,backoff:n=!0,onRetry:a}={})=>async(...i)=>{let o;for(let s=1;s<=t;s++)try{return await e(...i)}catch(e){if(o=e,s<t){a?.(s,e);const t=n?r*2**(s-1):r;await X(t)}}throw o},L=e=>{let t,r=!1;return function(...n){return r||(r=!0,t=e.apply(this,n)),t}},R=e=>v(e?.then),Y=async(e,t)=>{const r=[];for(let n=0;n<e.length;n++)r.push(await t(e[n],n,e));return r},$=async(e,t)=>Promise.all(e.map(t)),B=async(e,t)=>{const r=[];for(let n=0;n<e.length;n++){const a=e[n];await t(a,n,e)&&r.push(a)}return r},D=async(e,t)=>{const r=await $(e,async(e,r,n)=>!!await t(e,r,n)&&e);return k(r)},z=async(e,t)=>{for(let r=0;r<e.length;r++)if(await t(e[r],r,e))return!0;return!1},Z=async(e,t)=>{for(let r=0;r<e.length;r++)if(!await t(e[r],r,e))return!1;return!0},G=async(e,t,r)=>{let n=r;for(let r=0;r<e.length;r++)n=await t(n,e[r],r,e);return n},U=async(e,t)=>{for(let r=0;r<e.length;r++)if(await t(e[r],r,e))return e[r];return null},V=e=>"string"==typeof e,q=e=>""===e||n(e),H=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),W=e=>{const t=e.charAt(0),r=e.slice(1);return t.toLowerCase()+r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},J=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),K=e=>e.split(" ").filter(Boolean),Q=e=>{let t=5381;for(let r=0;r<e.length;r++)t=33*t^e.charCodeAt(r);return(t>>>0).toString(36)},ee=(e,t,r,n)=>{const a=r-e,i=n-t;return Math.hypot(a,i)},te=(e,t)=>Math.abs(e/t),re=(e,t)=>e*t/100,ne=["INPUT","SELECT","TEXTAREA","BUTTON","A"],ae=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[r,n,a,i,o,s]=t[1].split(", ").map(parseFloat);return{translateX:o,translateY:s,scaleX:r,scaleY:i,skewX:a,skewY:n}},ie=e=>new Blob([e],{type:e.type}),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),se=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),le=e=>"A"===e.tagName,ce=e=>"true"===e.getAttribute("contenteditable"),ue=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 r=e.getAttribute("tabindex");return"-1"!==r&&(ne.includes(e.tagName)?!le(e)||""!==e.href:!!ce(e)||null!==r)},fe=e=>Array.from(e.querySelectorAll("*")).filter(ue),he=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},ye=()=>{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}},we=e=>e instanceof File,pe=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},ge=e=>{if(!e)return[];const t=[];for(let r=0;r<e.length;r++)t.push(e[r]);return t},me=(e,t)=>new File([e],t,{type:e.type}),de=async(e,{skipFiles:t=[".DS_Store","Thumbs.db","desktop.ini","ehthumbs.db",".Spotlight-V100",".Trashes",".fseventsd","__MACOSX"]}={})=>{const r=new Set(t),n=await(async e=>{const t=e.createReader(),r=async()=>new Promise((e,n)=>{t.readEntries(async t=>{if(t.length)try{const n=await r();e([...t,...n])}catch(e){n(e)}else e([])},n)});return r()})(e);return(await $(n,async e=>e.isDirectory?de(e,{skipFiles:t}):r.has(e.name)?[]:[await new Promise((t,r)=>{e.file(t,r)})])).flat()},be=async(e,t={})=>{const r=e?.items;if(!r)return[];const n=[];for(let e=0;e<r.length;e++){const a=r[e];if("webkitGetAsEntry"in a){const e=a.webkitGetAsEntry?.();if(e?.isDirectory){n.push(de(e,t));continue}if(e?.isFile){n.push(new Promise((t,r)=>e.file(e=>t([e]),r)));continue}}const i=a.getAsFile();i&&n.push(Promise.resolve([i]))}return(await Promise.all(n)).flat()},Ae=e=>Object.entries(e).reduce((e,[t,r])=>(void 0!==r&&(e[t]=r),e),{});
8014
+ var e={};function t(e,t){if(!e)throw new Error(t)}e.d=(t,r)=>{for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},e.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);const r=e=>null===e,n=e=>null==e,a=e=>null!=e,i=e=>void 0===e,o=e=>"number"==typeof e,s=e=>"boolean"==typeof e,l=e=>"object"==typeof e,c=e=>l(e)&&!r(e)&&0===Object.keys(e).length,u=e=>e instanceof Date,f=e=>e instanceof Blob,h=e=>e instanceof Error,y=e=>u(e)&&!isNaN(e.getTime()),w=e=>e instanceof RegExp,g=e=>e instanceof Map,d=e=>e instanceof Set,m=e=>"symbol"==typeof e,p=e=>o(e)&&isFinite(e),b=e=>o(e)&&Number.isInteger(e),A=e=>p(e)&&!Number.isInteger(e),S=e=>Array.isArray(e),M=e=>S(e)&&0===e.length,_=e=>e.filter(Boolean),k=e=>[...new Set(e)],x=(e,r)=>(t(r>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/r)},(t,n)=>e.slice(n*r,(n+1)*r))),P=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...r]=e;return k(t).filter(e=>r.every(t=>t.includes(e)))},E=(e,t)=>e.filter(e=>!t.includes(e)),T=(...e)=>t=>e.reduce((e,t)=>t(e),t),C=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),O=()=>{},v=e=>"function"==typeof e,F=e=>(...t)=>!e(...t),N=(e,...t)=>"function"==typeof e?e(...t):e,X=e=>new Promise(t=>setTimeout(t,e)),I=async(e,t,r="Operation timed out")=>{try{return await Promise.race([e,X(t).then(()=>Promise.reject(new Error(r)))])}finally{}},j=(e,{maxAttempts:t=3,delayMs:r=300,backoff:n=!0,onRetry:a}={})=>async(...i)=>{let o;for(let s=1;s<=t;s++)try{return await e(...i)}catch(e){if(o=e,s<t){a?.(s,e);const t=n?r*2**(s-1):r;await X(t)}}throw o},L=e=>{let t,r=!1;return function(...n){return r||(r=!0,t=e.apply(this,n)),t}},R=e=>v(e?.then),Y=async(e,t)=>{const r=[];for(let n=0;n<e.length;n++)r.push(await t(e[n],n,e));return r},$=async(e,t)=>Promise.all(e.map(t)),B=async(e,t)=>{const r=[];for(let n=0;n<e.length;n++){const a=e[n];await t(a,n,e)&&r.push(a)}return r},D=async(e,t)=>{const r=await $(e,async(e,r,n)=>!!await t(e,r,n)&&e);return _(r)},H=async(e,t)=>{for(let r=0;r<e.length;r++)if(await t(e[r],r,e))return!0;return!1},W=async(e,t)=>{for(let r=0;r<e.length;r++)if(!await t(e[r],r,e))return!1;return!0},z=async(e,t,r)=>{let n=r;for(let r=0;r<e.length;r++)n=await t(n,e[r],r,e);return n},Z=async(e,t)=>{for(let r=0;r<e.length;r++)if(await t(e[r],r,e))return e[r];return null},G=e=>"string"==typeof e,U=e=>""===e||n(e),V=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),q=e=>{const t=e.charAt(0),r=e.slice(1);return t.toLowerCase()+r.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},J=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),K=e=>e.split(" ").filter(Boolean),Q=e=>{let t=5381;for(let r=0;r<e.length;r++)t=33*t^e.charCodeAt(r);return(t>>>0).toString(36)},ee=(e,t,r,n)=>{const a=r-e,i=n-t;return Math.hypot(a,i)},te=(e,t)=>Math.abs(e/t),re=(e,t)=>e*t/100,ne=["INPUT","SELECT","TEXTAREA","BUTTON","A"],ae=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[r,n,a,i,o,s]=t[1].split(", ").map(parseFloat);return{translateX:o,translateY:s,scaleX:r,scaleY:i,skewX:a,skewY:n}},ie=e=>new Blob([e],{type:e.type}),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),se=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),le=e=>"A"===e.tagName,ce=e=>"true"===e.getAttribute("contenteditable"),ue=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 r=e.getAttribute("tabindex");return"-1"!==r&&(ne.includes(e.tagName)?!le(e)||""!==e.href:!!ce(e)||null!==r)},fe=e=>Array.from(e.querySelectorAll("*")).filter(ue),he=e=>e.scrollWidth>e.clientWidth,ye=e=>Math.max(0,e.scrollWidth-e.clientWidth),we=e=>e.scrollHeight>e.clientHeight,ge=e=>Math.max(0,e.scrollHeight-e.clientHeight),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,be=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},Ae=e=>{if(!e)return[];const t=[];for(let r=0;r<e.length;r++)t.push(e[r]);return t},Se=(e,t)=>new File([e],t,{type:e.type}),Me=async(e,{skipFiles:t=[".DS_Store","Thumbs.db","desktop.ini","ehthumbs.db",".Spotlight-V100",".Trashes",".fseventsd","__MACOSX"]}={})=>{const r=new Set(t),n=await(async e=>{const t=e.createReader(),r=async()=>new Promise((e,n)=>{t.readEntries(async t=>{if(t.length)try{const n=await r();e([...t,...n])}catch(e){n(e)}else e([])},n)});return r()})(e);return(await $(n,async e=>e.isDirectory?Me(e,{skipFiles:t}):r.has(e.name)?[]:[await new Promise((t,r)=>{e.file(t,r)})])).flat()},_e=async(e,t={})=>{const r=e?.items;if(!r)return[];const n=[];for(let e=0;e<r.length;e++){const a=r[e];if("webkitGetAsEntry"in a){const e=a.webkitGetAsEntry?.();if(e?.isDirectory){n.push(Me(e,t));continue}if(e?.isFile){n.push(new Promise((t,r)=>e.file(e=>t([e]),r)));continue}}const i=a.getAsFile();i&&n.push(Promise.resolve([i]))}return(await Promise.all(n)).flat()},ke=e=>Object.entries(e).reduce((e,[t,r])=>(void 0!==r&&(e[t]=r),e),{});
8011
8015
  //# sourceMappingURL=index.mjs.map
8012
8016
 
8013
8017
  /***/ },
@@ -13691,6 +13695,7 @@ const mergeRefs = (...refs) => value => {
13691
13695
  "use strict";
13692
13696
  __webpack_require__.r(__webpack_exports__);
13693
13697
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13698
+ /* harmony export */ applyAxisScroll: () => (/* reexport safe */ _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__.applyAxisScroll),
13694
13699
  /* harmony export */ useHoneyDocumentKeyUpHandler: () => (/* reexport safe */ _use_honey_document_key_up_handler__WEBPACK_IMPORTED_MODULE_3__.useHoneyDocumentKeyUpHandler),
13695
13700
  /* harmony export */ useHoneyDrag: () => (/* reexport safe */ _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag),
13696
13701
  /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _use_honey_layout__WEBPACK_IMPORTED_MODULE_4__.useHoneyLayout),
@@ -14212,6 +14217,23 @@ __webpack_require__.r(__webpack_exports__);
14212
14217
  /* harmony export */ });
14213
14218
  /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
14214
14219
 
14220
+ /**
14221
+ * Enables synthetic horizontal (X-axis) scrolling for a container element
14222
+ * using pointer-based drag interactions.
14223
+ *
14224
+ * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
14225
+ * the axis fixed to `'x'`.
14226
+ *
14227
+ * All behavior, boundaries, and lifecycle guarantees are identical to the
14228
+ * base hook, but limited to horizontal movement only.
14229
+ *
14230
+ * @template Element - The HTML element type of the scrollable container.
14231
+ *
14232
+ * @param options - Configuration options forwarded to
14233
+ * {@link useHoneySyntheticScroll}, excluding the `axis` option.
14234
+ *
14235
+ * @returns A ref that must be attached to the scrollable container element.
14236
+ */
14215
14237
  const useHoneySyntheticScrollX = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
14216
14238
  ...options,
14217
14239
  axis: 'x',
@@ -14233,6 +14255,23 @@ __webpack_require__.r(__webpack_exports__);
14233
14255
  /* harmony export */ });
14234
14256
  /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
14235
14257
 
14258
+ /**
14259
+ * Enables synthetic vertical (Y-axis) scrolling for a container element
14260
+ * using pointer-based drag interactions.
14261
+ *
14262
+ * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
14263
+ * the axis fixed to `'y'`.
14264
+ *
14265
+ * All behavior, boundaries, and lifecycle guarantees are identical to the
14266
+ * base hook, but limited to vertical movement only.
14267
+ *
14268
+ * @template Element - The HTML element type of the scrollable container.
14269
+ *
14270
+ * @param options - Configuration options forwarded to
14271
+ * {@link useHoneySyntheticScroll}, excluding the `axis` option.
14272
+ *
14273
+ * @returns A ref that must be attached to the scrollable container element.
14274
+ */
14236
14275
  const useHoneySyntheticScrollY = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
14237
14276
  ...options,
14238
14277
  axis: 'y',
@@ -14250,6 +14289,7 @@ const useHoneySyntheticScrollY = (options) => (0,_use_honey_synthetic_scroll__WE
14250
14289
  "use strict";
14251
14290
  __webpack_require__.r(__webpack_exports__);
14252
14291
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14292
+ /* harmony export */ applyAxisScroll: () => (/* binding */ applyAxisScroll),
14253
14293
  /* harmony export */ useHoneySyntheticScroll: () => (/* binding */ useHoneySyntheticScroll)
14254
14294
  /* harmony export */ });
14255
14295
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
@@ -14261,6 +14301,23 @@ __webpack_require__.r(__webpack_exports__);
14261
14301
 
14262
14302
 
14263
14303
 
14304
+ /**
14305
+ * Calculates the next translate value for a single scroll axis
14306
+ * and determines whether movement is allowed within bounds.
14307
+ *
14308
+ * @returns The next translate value, or `null` if movement is not allowed.
14309
+ */
14310
+ const applyAxisScroll = ({ delta, currentTranslate, containerSize, overflowSize, overscrollPct, }) => {
14311
+ if (overflowSize <= 0 || delta === 0) {
14312
+ return null;
14313
+ }
14314
+ const threshold = containerSize * (overscrollPct / 100);
14315
+ const candidate = currentTranslate + delta;
14316
+ const min = -(overflowSize + threshold);
14317
+ const max = threshold;
14318
+ const isWithinBounds = (delta < 0 && candidate >= min) || (delta > 0 && candidate <= max);
14319
+ return isWithinBounds ? candidate : null;
14320
+ };
14264
14321
  /**
14265
14322
  * Enables synthetic scrolling for a container using pointer-based drag gestures.
14266
14323
  *
@@ -14283,7 +14340,7 @@ __webpack_require__.r(__webpack_exports__);
14283
14340
  *
14284
14341
  * @returns A ref that must be attached to the scrollable container element.
14285
14342
  */
14286
- const useHoneySyntheticScroll = ({ axis = 'both', availableWindowPct = 0, onStartDrag, onEndDrag, resetOnResize = true, } = {}) => {
14343
+ const useHoneySyntheticScroll = ({ axis = 'both', overscrollPct = 0, onStartDrag, onEndDrag, resetOnResize = true, } = {}) => {
14287
14344
  const scrollableContainerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
14288
14345
  /**
14289
14346
  * Handles drag movement and applies clamped translation along the enabled axis or axes.
@@ -14297,39 +14354,39 @@ const useHoneySyntheticScroll = ({ axis = 'both', availableWindowPct = 0, onStar
14297
14354
  const { translateX, translateY } = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.parse2DMatrix)(scrollableContainer);
14298
14355
  let nextX = translateX;
14299
14356
  let nextY = translateY;
14300
- let handled = false;
14357
+ let shouldScroll = false;
14301
14358
  if (axis === 'x' || axis === 'both') {
14302
- const overflowX = scrollableContainer.scrollWidth - scrollableContainer.clientWidth;
14303
- if (overflowX > 0) {
14304
- const thresholdX = scrollableContainer.clientWidth * (availableWindowPct / 100);
14305
- const candidateX = translateX + deltaX;
14306
- const minX = -(overflowX + thresholdX);
14307
- const maxX = thresholdX;
14308
- if ((deltaX < 0 && candidateX >= minX) || (deltaX > 0 && candidateX <= maxX)) {
14309
- nextX = candidateX;
14310
- handled = true;
14311
- }
14359
+ const next = applyAxisScroll({
14360
+ delta: deltaX,
14361
+ currentTranslate: translateX,
14362
+ containerSize: scrollableContainer.clientWidth,
14363
+ overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getXOverflowWidth)(scrollableContainer),
14364
+ overscrollPct,
14365
+ });
14366
+ if (next !== null) {
14367
+ nextX = next;
14368
+ shouldScroll = true;
14312
14369
  }
14313
14370
  }
14314
14371
  if (axis === 'y' || axis === 'both') {
14315
- const overflowY = scrollableContainer.scrollHeight - scrollableContainer.clientHeight;
14316
- if (overflowY > 0) {
14317
- const thresholdY = scrollableContainer.clientHeight * (availableWindowPct / 100);
14318
- const candidateY = translateY + deltaY;
14319
- const minY = -(overflowY + thresholdY);
14320
- const maxY = thresholdY;
14321
- if ((deltaY < 0 && candidateY >= minY) || (deltaY > 0 && candidateY <= maxY)) {
14322
- nextY = candidateY;
14323
- handled = true;
14324
- }
14372
+ const next = applyAxisScroll({
14373
+ delta: deltaY,
14374
+ currentTranslate: translateY,
14375
+ containerSize: scrollableContainer.clientHeight,
14376
+ overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getYOverflowHeight)(scrollableContainer),
14377
+ overscrollPct,
14378
+ });
14379
+ if (next !== null) {
14380
+ nextY = next;
14381
+ shouldScroll = true;
14325
14382
  }
14326
14383
  }
14327
14384
  // Apply transform only when at least one axis was updated
14328
- if (handled) {
14385
+ if (shouldScroll) {
14329
14386
  scrollableContainer.style.transform = `translate(${nextX}px, ${nextY}px)`;
14330
14387
  }
14331
- return handled;
14332
- }, [availableWindowPct]);
14388
+ return shouldScroll;
14389
+ }, [overscrollPct]);
14333
14390
  (0,_use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag)(scrollableContainerRef, {
14334
14391
  onStartDrag,
14335
14392
  onMoveDrag,
@@ -15090,6 +15147,7 @@ __webpack_require__.r(__webpack_exports__);
15090
15147
  /* harmony export */ HoneyPopupContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyPopupContext),
15091
15148
  /* harmony export */ HoneyStatusContent: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.HoneyStatusContent),
15092
15149
  /* harmony export */ __DEV__: () => (/* reexport safe */ _constants__WEBPACK_IMPORTED_MODULE_1__.__DEV__),
15150
+ /* harmony export */ applyAxisScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.applyAxisScroll),
15093
15151
  /* harmony export */ applyBreakpointStyles: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.applyBreakpointStyles),
15094
15152
  /* harmony export */ bpMedia: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.bpMedia),
15095
15153
  /* harmony export */ createStyles: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.createStyles),