@react-hive/honey-layout 14.2.0 → 16.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.
@@ -4478,7 +4478,7 @@ __webpack_require__.r(__webpack_exports__);
4478
4478
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
4479
4479
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
4480
4480
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
4481
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4481
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4482
4482
  /* harmony import */ var _HoneyLayerRegistryContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./HoneyLayerRegistryContext */ "./src/components/HoneyLayerRegistry/HoneyLayerRegistryContext.ts");
4483
4483
 
4484
4484
 
@@ -4592,7 +4592,7 @@ __webpack_require__.r(__webpack_exports__);
4592
4592
  /* harmony export */ });
4593
4593
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
4594
4594
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
4595
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4595
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4596
4596
  /* harmony import */ var _HoneyLayerRegistryContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../HoneyLayerRegistryContext */ "./src/components/HoneyLayerRegistry/HoneyLayerRegistryContext.ts");
4597
4597
 
4598
4598
 
@@ -4826,7 +4826,7 @@ __webpack_require__.r(__webpack_exports__);
4826
4826
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
4827
4827
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
4828
4828
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
4829
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4829
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4830
4830
  /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
4831
4831
  /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
4832
4832
  /* harmony import */ var _HoneyFlex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HoneyFlex */ "./src/components/HoneyFlex/index.ts");
@@ -4935,8 +4935,8 @@ __webpack_require__.r(__webpack_exports__);
4935
4935
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
4936
4936
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
4937
4937
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
4938
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
4939
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4938
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
4939
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4940
4940
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../components */ "./src/components/index.ts");
4941
4941
  /* harmony import */ var _HoneyPopupStyled__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HoneyPopupStyled */ "./src/components/HoneyPopup/HoneyPopupStyled.ts");
4942
4942
  /* harmony import */ var _HoneyPopupPortal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./HoneyPopupPortal */ "./src/components/HoneyPopup/HoneyPopupPortal.tsx");
@@ -5004,7 +5004,7 @@ __webpack_require__.r(__webpack_exports__);
5004
5004
  /* harmony export */ HoneyPopupPortal: () => (/* binding */ HoneyPopupPortal)
5005
5005
  /* harmony export */ });
5006
5006
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
5007
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5007
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5008
5008
 
5009
5009
 
5010
5010
  const HoneyPopupPortal = ({ children, enabled = true, ...props }) => {
@@ -5049,7 +5049,7 @@ __webpack_require__.r(__webpack_exports__);
5049
5049
  /* harmony export */ HoneyPopupTree: () => (/* binding */ HoneyPopupTree)
5050
5050
  /* harmony export */ });
5051
5051
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
5052
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5052
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5053
5053
 
5054
5054
 
5055
5055
  /**
@@ -5101,7 +5101,7 @@ __webpack_require__.r(__webpack_exports__);
5101
5101
  /* harmony export */ });
5102
5102
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5103
5103
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5104
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5104
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5105
5105
  /* harmony import */ var _components__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../components */ "./src/components/index.ts");
5106
5106
 
5107
5107
 
@@ -5126,7 +5126,7 @@ __webpack_require__.r(__webpack_exports__);
5126
5126
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5127
5127
  /* harmony export */ useHoneyPopupInteractions: () => (/* binding */ useHoneyPopupInteractions)
5128
5128
  /* harmony export */ });
5129
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5129
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5130
5130
 
5131
5131
  const useHoneyPopupInteractions = (context, { enabled = true, event = 'click', dismissOptions, clickOptions, hoverOptions, focusOptions, clientPointsOptions, roleOptions, extraInteractions = [], }) => {
5132
5132
  const dismiss = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_0__.useDismiss)(context, {
@@ -5171,12 +5171,14 @@ __webpack_require__.r(__webpack_exports__);
5171
5171
  /* harmony export */ });
5172
5172
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5173
5173
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5174
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5175
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
5176
- /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs");
5177
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5178
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../hooks */ "./src/hooks/index.ts");
5179
- /* harmony import */ var _use_honey_popup_interactions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./use-honey-popup-interactions */ "./src/components/HoneyPopup/hooks/use-honey-popup-interactions.ts");
5174
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs");
5175
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
5176
+ /* harmony import */ var _floating_ui_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react */ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs");
5177
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5178
+ /* harmony import */ var _react_hive_honey_hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @react-hive/honey-hooks */ "./node_modules/.pnpm/@react-hive+honey-hooks@1.0.0_react@19.2.4/node_modules/@react-hive/honey-hooks/dist/index.mjs");
5179
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../hooks */ "./src/hooks/index.ts");
5180
+ /* harmony import */ var _use_honey_popup_interactions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./use-honey-popup-interactions */ "./src/components/HoneyPopup/hooks/use-honey-popup-interactions.ts");
5181
+
5180
5182
 
5181
5183
 
5182
5184
 
@@ -5190,7 +5192,7 @@ __webpack_require__.r(__webpack_exports__);
5190
5192
  * @returns An object containing state and utilities for managing the popup.
5191
5193
  */
5192
5194
  const useHoneyPopup = ({ enabled = true, event, dismissOptions, clickOptions, hoverOptions, focusOptions, clientPointsOptions, roleOptions, extraInteractions, open, floatingOptions, useOffset = true, offsetOptions, useFlip = true, flipOptions, useShift = true, shiftOptions, useArrow = false, arrowOptions, transitionOptions, useAutoPlacement = false, autoPlacementOptions, useAutoUpdate = false, autoUpdateOptions, useAutoSize = false, sizeOptions, minAcceptableWidth = null, minAcceptableHeight = null, maxAcceptableWidth, maxAcceptableHeight, onOpen, onClose, }) => {
5193
- const { theme } = (0,_hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyLayout)();
5195
+ const { theme } = (0,_hooks__WEBPACK_IMPORTED_MODULE_6__.useHoneyLayout)();
5194
5196
  const nodeId = (0,_floating_ui_react__WEBPACK_IMPORTED_MODULE_1__.useFloatingNodeId)();
5195
5197
  const [isOpenLocal, setIsOpenLocal] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
5196
5198
  const arrowRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
@@ -5200,7 +5202,7 @@ const useHoneyPopup = ({ enabled = true, event, dismissOptions, clickOptions, ho
5200
5202
  onOpen?.();
5201
5203
  }
5202
5204
  }, [isOpen]);
5203
- (0,_hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOnChange)(enabled, enabled => {
5205
+ (0,_react_hive_honey_hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOnChange)(enabled, enabled => {
5204
5206
  if (!enabled) {
5205
5207
  setIsOpenLocal(false);
5206
5208
  }
@@ -5312,7 +5314,7 @@ const useHoneyPopup = ({ enabled = true, event, dismissOptions, clickOptions, ho
5312
5314
  }),
5313
5315
  ...floatingOptions,
5314
5316
  });
5315
- const interactions = (0,_use_honey_popup_interactions__WEBPACK_IMPORTED_MODULE_6__.useHoneyPopupInteractions)(floating.context, {
5317
+ const interactions = (0,_use_honey_popup_interactions__WEBPACK_IMPORTED_MODULE_7__.useHoneyPopupInteractions)(floating.context, {
5316
5318
  enabled,
5317
5319
  event,
5318
5320
  dismissOptions,
@@ -5565,7 +5567,7 @@ __webpack_require__.r(__webpack_exports__);
5565
5567
  /* harmony export */ });
5566
5568
  /* harmony import */ var _react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @react-hive/honey-style */ "@react-hive/honey-style");
5567
5569
  /* harmony import */ var _react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_react_hive_honey_style__WEBPACK_IMPORTED_MODULE_0__);
5568
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5570
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5569
5571
 
5570
5572
 
5571
5573
 
@@ -5604,7 +5606,7 @@ const checkIsColorCSSProperty = (propertyName) => _react_hive_honey_style__WEBPA
5604
5606
  *
5605
5607
  * @returns Returns true if the property is a valid prefixed CSS property, otherwise false.
5606
5608
  */
5607
- const checkIs$PrefixedCSSProperty = (propertyName) => propertyName[0] === '$';
5609
+ const is$PrefixedCSSProperty = (propertyName) => propertyName[0] === '$';
5608
5610
  /**
5609
5611
  * Retrieves the CSS property value for a specific breakpoint, potentially resolving it to include units.
5610
5612
  *
@@ -5655,8 +5657,11 @@ const getCSSPropertyValue = (propertyName, propertyValue, breakpoint) => {
5655
5657
  *
5656
5658
  * @returns An array of tuples where each tuple contains a Honey-prefixed CSS property and its value.
5657
5659
  */
5658
- const matchCSSProperties = (props, breakpoint) => Object.entries(props).filter(([propertyName, propertyValue]) => (checkIs$PrefixedCSSProperty(propertyName) && breakpoint === 'xs') ||
5659
- (propertyValue && typeof propertyValue === 'object' && breakpoint in propertyValue));
5660
+ const matchCSSProperties = (props, breakpoint) => Object.entries(props).filter(([propertyName, propertyValue]) => {
5661
+ const isMatchingXsBreakpoint = breakpoint === 'xs' && is$PrefixedCSSProperty(propertyName);
5662
+ return (isMatchingXsBreakpoint ||
5663
+ (propertyValue && typeof propertyValue === 'object' && breakpoint in propertyValue));
5664
+ });
5660
5665
  /**
5661
5666
  * Generates CSS styles based on the provided breakpoint and properties.
5662
5667
  * Filters the properties to include only those that match the specified breakpoint.
@@ -5687,7 +5692,7 @@ const createStyles = (breakpoint) => ({ theme, ...props }) => (0,_react_hive_hon
5687
5692
  *
5688
5693
  * @returns Returns true if at least one property in `props` has styles for the specified breakpoint; otherwise, false.
5689
5694
  */
5690
- const hasBreakpointStyles = (breakpoint, props) => Object.entries(props).some(([propertyName, propertyValue]) => checkIs$PrefixedCSSProperty(propertyName) &&
5695
+ const hasBreakpointStyles = (breakpoint, props) => Object.entries(props).some(([propertyName, propertyValue]) => is$PrefixedCSSProperty(propertyName) &&
5691
5696
  typeof propertyValue === 'object' &&
5692
5697
  breakpoint in propertyValue);
5693
5698
  /**
@@ -5802,7 +5807,7 @@ __webpack_require__.r(__webpack_exports__);
5802
5807
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5803
5808
  /* harmony export */ mergeRefs: () => (/* binding */ mergeRefs)
5804
5809
  /* harmony export */ });
5805
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5810
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5806
5811
 
5807
5812
  /**
5808
5813
  * Merges multiple refs into a single ref callback.
@@ -5817,1173 +5822,141 @@ const mergeRefs = (...refs) => value => {
5817
5822
  if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(ref)) {
5818
5823
  ref(value);
5819
5824
  }
5820
- else if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isObject)(ref)) {
5821
- ref.current = value;
5822
- }
5823
- });
5824
- };
5825
-
5826
-
5827
- /***/ },
5828
-
5829
- /***/ "./src/hooks/index.ts"
5830
- /*!****************************!*\
5831
- !*** ./src/hooks/index.ts ***!
5832
- \****************************/
5833
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5834
-
5835
- "use strict";
5836
- __webpack_require__.r(__webpack_exports__);
5837
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5838
- /* harmony export */ resolveAxisTranslate: () => (/* reexport safe */ _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__.resolveAxisTranslate),
5839
- /* harmony export */ useHoneyDecay: () => (/* reexport safe */ _use_honey_decay__WEBPACK_IMPORTED_MODULE_13__.useHoneyDecay),
5840
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* reexport safe */ _use_honey_document_key_up__WEBPACK_IMPORTED_MODULE_3__.useHoneyDocumentKeyUp),
5841
- /* harmony export */ useHoneyDrag: () => (/* reexport safe */ _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag),
5842
- /* harmony export */ useHoneyLatest: () => (/* reexport safe */ _use_honey_latest__WEBPACK_IMPORTED_MODULE_14__.useHoneyLatest),
5843
- /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _use_honey_layout__WEBPACK_IMPORTED_MODULE_4__.useHoneyLayout),
5844
- /* harmony export */ useHoneyMediaQuery: () => (/* reexport safe */ _use_honey_media_query__WEBPACK_IMPORTED_MODULE_1__.useHoneyMediaQuery),
5845
- /* harmony export */ useHoneyOnChange: () => (/* reexport safe */ _use_honey_on_change__WEBPACK_IMPORTED_MODULE_0__.useHoneyOnChange),
5846
- /* harmony export */ useHoneyOverlay: () => (/* reexport safe */ _use_honey_overlay__WEBPACK_IMPORTED_MODULE_6__.useHoneyOverlay),
5847
- /* harmony export */ useHoneyRafLoop: () => (/* reexport safe */ _use_honey_raf_loop__WEBPACK_IMPORTED_MODULE_11__.useHoneyRafLoop),
5848
- /* harmony export */ useHoneyResize: () => (/* reexport safe */ _use_honey_resize__WEBPACK_IMPORTED_MODULE_7__.useHoneyResize),
5849
- /* harmony export */ useHoneySyntheticScroll: () => (/* reexport safe */ _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__.useHoneySyntheticScroll),
5850
- /* harmony export */ useHoneySyntheticScrollX: () => (/* reexport safe */ _use_honey_synthetic_scroll_x__WEBPACK_IMPORTED_MODULE_9__.useHoneySyntheticScrollX),
5851
- /* harmony export */ useHoneySyntheticScrollY: () => (/* reexport safe */ _use_honey_synthetic_scroll_y__WEBPACK_IMPORTED_MODULE_10__.useHoneySyntheticScrollY),
5852
- /* harmony export */ useHoneyTimer: () => (/* reexport safe */ _use_honey_timer__WEBPACK_IMPORTED_MODULE_12__.useHoneyTimer),
5853
- /* harmony export */ useRegisterHoneyOverlay: () => (/* reexport safe */ _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_5__.useRegisterHoneyOverlay)
5854
- /* harmony export */ });
5855
- /* harmony import */ var _use_honey_on_change__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-on-change */ "./src/hooks/use-honey-on-change.ts");
5856
- /* harmony import */ var _use_honey_media_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-honey-media-query */ "./src/hooks/use-honey-media-query.ts");
5857
- /* harmony import */ var _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-honey-drag */ "./src/hooks/use-honey-drag.ts");
5858
- /* harmony import */ var _use_honey_document_key_up__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-honey-document-key-up */ "./src/hooks/use-honey-document-key-up.ts");
5859
- /* harmony import */ var _use_honey_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-honey-layout */ "./src/hooks/use-honey-layout.ts");
5860
- /* harmony import */ var _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./use-register-honey-overlay */ "./src/hooks/use-register-honey-overlay.ts");
5861
- /* harmony import */ var _use_honey_overlay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./use-honey-overlay */ "./src/hooks/use-honey-overlay.ts");
5862
- /* harmony import */ var _use_honey_resize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./use-honey-resize */ "./src/hooks/use-honey-resize.ts");
5863
- /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
5864
- /* harmony import */ var _use_honey_synthetic_scroll_x__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./use-honey-synthetic-scroll-x */ "./src/hooks/use-honey-synthetic-scroll-x.ts");
5865
- /* harmony import */ var _use_honey_synthetic_scroll_y__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./use-honey-synthetic-scroll-y */ "./src/hooks/use-honey-synthetic-scroll-y.ts");
5866
- /* harmony import */ var _use_honey_raf_loop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./use-honey-raf-loop */ "./src/hooks/use-honey-raf-loop.ts");
5867
- /* harmony import */ var _use_honey_timer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./use-honey-timer */ "./src/hooks/use-honey-timer.ts");
5868
- /* harmony import */ var _use_honey_decay__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./use-honey-decay */ "./src/hooks/use-honey-decay.ts");
5869
- /* harmony import */ var _use_honey_latest__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./use-honey-latest */ "./src/hooks/use-honey-latest.ts");
5870
-
5871
-
5872
-
5873
-
5874
-
5875
-
5876
-
5877
-
5878
-
5879
-
5880
-
5881
-
5882
-
5883
-
5884
-
5885
-
5886
-
5887
- /***/ },
5888
-
5889
- /***/ "./src/hooks/use-honey-decay.ts"
5890
- /*!**************************************!*\
5891
- !*** ./src/hooks/use-honey-decay.ts ***!
5892
- \**************************************/
5893
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5894
-
5895
- "use strict";
5896
- __webpack_require__.r(__webpack_exports__);
5897
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5898
- /* harmony export */ useHoneyDecay: () => (/* binding */ useHoneyDecay)
5899
- /* harmony export */ });
5900
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5901
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5902
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5903
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
5904
-
5905
-
5906
-
5907
- /**
5908
- * A bounded, velocity-based inertia (decay) hook built on top
5909
- * of {@link useHoneyRafLoop} and {@link applyInertiaStep}.
5910
- *
5911
- * This hook models **momentum-driven motion** where:
5912
- * - Motion starts with an initial velocity
5913
- * - Velocity decays exponentially over time
5914
- * - Movement is constrained by hard numeric bounds
5915
- * - Inertia stops naturally when velocity becomes negligible
5916
- *
5917
- * Unlike spring-based motion, this hook has **no target value**.
5918
- * Motion continues purely based on momentum until it decays
5919
- * or is blocked by a boundary.
5920
- *
5921
- * ---
5922
- *
5923
- * ### Key characteristics
5924
- * - Frame-rate independent (delta-time based)
5925
- * - Deterministic and interruptible
5926
- * - Direction-aware and bound-safe (no overshoot or jitter)
5927
- * - Closely matches native scroll and drag inertia behavior
5928
- *
5929
- * ---
5930
- *
5931
- * ### Visibility behavior
5932
- * This hook is a **simulation-based system**:
5933
- * - Inertia automatically pauses when the document becomes hidden
5934
- * - No time elapses while hidden
5935
- * - Motion resumes only when explicitly restarted
5936
- *
5937
- * This behavior is inherited from {@link useHoneyRafLoop} and is intentional.
5938
- *
5939
- * ---
5940
- *
5941
- * ### Common use cases
5942
- * - Scroll containers with momentum
5943
- * - Drag-to-scroll interactions
5944
- * - Carousels and sliders
5945
- * - Timelines and scrubbers
5946
- * - Kinetic panning and flinging
5947
- *
5948
- * ---
5949
- *
5950
- * @example
5951
- * ```ts
5952
- * const decay = useHoneyDecay({
5953
- * initialValue: 0,
5954
- * min: -maxOverflow,
5955
- * max: 0,
5956
- * });
5957
- *
5958
- * const onRelease = (velocityPxMs: number) => {
5959
- * decay.start(velocityPxMs);
5960
- * };
5961
- *
5962
- * return (
5963
- * <div style={{ transform: `translateX(${decay.value}px)` }} />
5964
- * );
5965
- * ```
5966
- */
5967
- const useHoneyDecay = ({ initialValue, min, max, friction = 0.002, minVelocityPxMs = 0.01, emaAlpha = 0.2, onStop, }) => {
5968
- const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue);
5969
- const valueRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(initialValue);
5970
- const velocityPxMsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);
5971
- const hasActiveInertiaRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
5972
- const minRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(min);
5973
- const maxRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(max);
5974
- const onStopRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyLatest)(onStop);
5975
- const frameHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((deltaTimeMs, frameContext) => {
5976
- // Ignore the first RAF tick
5977
- if (deltaTimeMs === 0) {
5978
- return;
5979
- }
5980
- const inertia = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.applyInertiaStep)({
5981
- value: valueRef.current,
5982
- velocityPxMs: velocityPxMsRef.current,
5983
- min: minRef.current,
5984
- max: maxRef.current,
5985
- deltaTimeMs,
5986
- friction,
5987
- minVelocityPxMs,
5988
- emaAlpha,
5989
- });
5990
- if (inertia === null) {
5991
- velocityPxMsRef.current = 0;
5992
- if (hasActiveInertiaRef.current) {
5993
- hasActiveInertiaRef.current = false;
5994
- onStopRef.current?.();
5995
- }
5996
- frameContext.stop();
5997
- return;
5998
- }
5999
- hasActiveInertiaRef.current = true;
6000
- valueRef.current = inertia.value;
6001
- velocityPxMsRef.current = inertia.velocityPxMs;
6002
- setValue(inertia.value);
6003
- }, [friction, minVelocityPxMs, emaAlpha]);
6004
- const rafLoop = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyRafLoop)(frameHandler);
6005
- const setBounds = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextMin, nextMax) => {
6006
- minRef.current = nextMin;
6007
- maxRef.current = nextMax;
6008
- const currentValue = valueRef.current;
6009
- if (currentValue < nextMin || currentValue > nextMax) {
6010
- const nextValue = Math.min(Math.max(currentValue, nextMin), nextMax);
6011
- valueRef.current = nextValue;
6012
- velocityPxMsRef.current = 0;
6013
- setValue(nextValue);
6014
- if (hasActiveInertiaRef.current) {
6015
- hasActiveInertiaRef.current = false;
6016
- onStopRef.current?.();
6017
- }
6018
- rafLoop.stop();
6019
- }
6020
- }, [rafLoop.stop]);
6021
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((velocityPxMs) => {
6022
- velocityPxMsRef.current = velocityPxMs;
6023
- hasActiveInertiaRef.current = true;
6024
- rafLoop.start();
6025
- }, [rafLoop.start]);
6026
- const startFrom = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextValue, velocityPxMs) => {
6027
- valueRef.current = nextValue;
6028
- velocityPxMsRef.current = velocityPxMs;
6029
- hasActiveInertiaRef.current = true;
6030
- setValue(nextValue);
6031
- rafLoop.start();
6032
- }, [rafLoop.start]);
6033
- const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6034
- if (hasActiveInertiaRef.current) {
6035
- hasActiveInertiaRef.current = false;
6036
- onStopRef.current?.();
6037
- }
6038
- velocityPxMsRef.current = 0;
6039
- rafLoop.stop();
6040
- }, [rafLoop.stop]);
6041
- return {
6042
- value,
6043
- isRunning: rafLoop.isRunning,
6044
- setBounds,
6045
- start,
6046
- startFrom,
6047
- stop,
6048
- };
6049
- };
6050
-
6051
-
6052
- /***/ },
6053
-
6054
- /***/ "./src/hooks/use-honey-document-key-up.ts"
6055
- /*!************************************************!*\
6056
- !*** ./src/hooks/use-honey-document-key-up.ts ***!
6057
- \************************************************/
6058
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6059
-
6060
- "use strict";
6061
- __webpack_require__.r(__webpack_exports__);
6062
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6063
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* binding */ useHoneyDocumentKeyUp)
6064
- /* harmony export */ });
6065
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6066
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6067
-
6068
- /**
6069
- * Hook for handling specific key up events on the `document` object.
6070
- *
6071
- * This hook adds a `keyup` event listener at the document level and triggers the provided `keyUpHandler`
6072
- * when one of the specified `listenKeys` is released.
6073
- *
6074
- * @param onKeyUp - The callback function invoked when a matching key is released.
6075
- * @param listenKeys - An array of key codes (`KeyboardEvent.code`) to listen for.
6076
- * @param options - Optional configuration to control event behavior and listener activation.
6077
- *
6078
- * @example
6079
- * ```tsx
6080
- * useHoneyDocumentKeyUp(
6081
- * (keyCode, event) => {
6082
- * console.log('Key released:', keyCode);
6083
- * },
6084
- * ['Escape'],
6085
- * );
6086
- * ```
6087
- */
6088
- const useHoneyDocumentKeyUp = (onKeyUp, listenKeys, { enabled = true, preventDefault = true } = {}) => {
6089
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6090
- if (!enabled) {
6091
- return;
6092
- }
6093
- const handleKeyUp = (e) => {
6094
- const keyCode = e.code;
6095
- if (listenKeys.includes(keyCode)) {
6096
- if (preventDefault) {
6097
- e.preventDefault();
6098
- }
6099
- onKeyUp(keyCode, e);
6100
- }
6101
- };
6102
- document.addEventListener('keyup', handleKeyUp);
6103
- return () => {
6104
- document.removeEventListener('keyup', handleKeyUp);
6105
- };
6106
- }, [onKeyUp, enabled, preventDefault]);
6107
- };
6108
-
6109
-
6110
- /***/ },
6111
-
6112
- /***/ "./src/hooks/use-honey-drag.ts"
6113
- /*!*************************************!*\
6114
- !*** ./src/hooks/use-honey-drag.ts ***!
6115
- \*************************************/
6116
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6117
-
6118
- "use strict";
6119
- __webpack_require__.r(__webpack_exports__);
6120
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6121
- /* harmony export */ useHoneyDrag: () => (/* binding */ useHoneyDrag)
6122
- /* harmony export */ });
6123
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6124
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6125
-
6126
- /**
6127
- * Enables high-precision mouse and touch dragging for an element.
6128
- *
6129
- * This hook:
6130
- * - Tracks pointer movement using `performance.now()`
6131
- * - Computes **instantaneous release velocity** (px/ms)
6132
- * - Emits deterministic drag lifecycle events
6133
- * - Supports both mouse and touch input
6134
- *
6135
- * Architectural notes:
6136
- * - Velocity is computed **during movement**, not at drag end
6137
- * - Release velocity is suitable for inertia / decay systems
6138
- * - No layout reads or writes are performed internally
6139
- *
6140
- * @template Element - The draggable HTML element type.
6141
- *
6142
- * @param draggableElementRef - Ref pointing to the draggable element.
6143
- * @param options - Drag lifecycle handlers and configuration flags.
6144
- */
6145
- const useHoneyDrag = (draggableElementRef, { skipOnEndDragWhenStopped = false, enabled = true, onMoveDrag, onStartDrag, onEndDrag, }) => {
6146
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6147
- const draggableElement = draggableElementRef.current;
6148
- if (!enabled || !draggableElement) {
6149
- return;
6150
- }
6151
- const onMove = onMoveDrag(draggableElement);
6152
- let isDragging = false;
6153
- let startX = 0;
6154
- let startY = 0;
6155
- let lastX = 0;
6156
- let lastY = 0;
6157
- let lastMoveTimeMs = 0;
6158
- let velocityXPxMs = 0;
6159
- let velocityYPxMs = 0;
6160
- const startDrag = async (clientX, clientY, e) => {
6161
- if (onStartDrag && !(await onStartDrag(draggableElement, e))) {
6162
- // Exit when `onStartDrag` returns false, preventing the dragging
6163
- return;
6164
- }
6165
- lastMoveTimeMs = performance.now();
6166
- isDragging = true;
6167
- startX = clientX;
6168
- startY = clientY;
6169
- lastX = clientX;
6170
- lastY = clientY;
6171
- velocityXPxMs = 0;
6172
- velocityYPxMs = 0;
6173
- };
6174
- const stopDrag = async (isTriggerOnEndDrag, e) => {
6175
- if (!isDragging) {
6176
- return;
6177
- }
6178
- isDragging = false;
6179
- if (isTriggerOnEndDrag && onEndDrag) {
6180
- const deltaX = lastX - startX;
6181
- const deltaY = lastY - startY;
6182
- const endContext = {
6183
- deltaX,
6184
- deltaY,
6185
- velocityXPxMs,
6186
- velocityYPxMs,
6187
- };
6188
- await onEndDrag(endContext, draggableElement, e);
6189
- }
6190
- };
6191
- const releaseDrag = async (isTriggerOnEndDrag, e) => {
6192
- await stopDrag(isTriggerOnEndDrag, e);
6193
- window.removeEventListener('mousemove', mouseMoveHandler, { capture: true });
6194
- window.removeEventListener('mouseup', mouseUpHandler, { capture: true });
6195
- window.removeEventListener('touchmove', touchMoveHandler, { capture: true });
6196
- window.removeEventListener('touchend', touchEndHandler, { capture: true });
6197
- window.removeEventListener('touchcancel', touchCancelHandler, { capture: true });
6198
- };
6199
- const mouseUpHandler = async (e) => {
6200
- await releaseDrag(true, e);
6201
- };
6202
- const moveHandler = async (clientX, clientY, e) => {
6203
- if (!isDragging) {
6204
- return;
6205
- }
6206
- const nowMs = performance.now();
6207
- const deltaTimeMs = nowMs - lastMoveTimeMs;
6208
- const deltaX = clientX - lastX;
6209
- const deltaY = clientY - lastY;
6210
- if (deltaTimeMs > 0) {
6211
- velocityXPxMs = deltaX / deltaTimeMs;
6212
- velocityYPxMs = deltaY / deltaTimeMs;
6213
- }
6214
- const distanceX = clientX - startX;
6215
- const distanceY = clientY - startY;
6216
- const isContinue = await onMove({
6217
- deltaX,
6218
- deltaY,
6219
- distanceX,
6220
- distanceY,
6221
- });
6222
- lastX = clientX;
6223
- lastY = clientY;
6224
- lastMoveTimeMs = nowMs;
6225
- if (!isContinue) {
6226
- await releaseDrag(!skipOnEndDragWhenStopped, e);
6227
- }
6228
- };
6229
- const mouseMoveHandler = async (e) => {
6230
- await moveHandler(e.clientX, e.clientY, e);
6231
- };
6232
- const touchMoveHandler = async (e) => {
6233
- const touch = e.touches[0];
6234
- await moveHandler(touch.clientX, touch.clientY, e);
6235
- };
6236
- const touchEndHandler = async (e) => {
6237
- await releaseDrag(true, e);
6238
- };
6239
- const touchCancelHandler = async (e) => {
6240
- await releaseDrag(true, e);
6241
- };
6242
- const touchStartHandler = async (e) => {
6243
- e.stopPropagation();
6244
- const touch = e.touches[0];
6245
- await startDrag(touch.clientX, touch.clientY, e);
6246
- window.addEventListener('touchmove', touchMoveHandler, {
6247
- passive: true,
6248
- capture: true,
6249
- });
6250
- window.addEventListener('touchend', touchEndHandler, { capture: true });
6251
- window.addEventListener('touchcancel', touchCancelHandler, { capture: true });
6252
- };
6253
- const mouseDownHandler = async (e) => {
6254
- e.stopPropagation();
6255
- await startDrag(e.clientX, e.clientY, e);
6256
- window.addEventListener('mousemove', mouseMoveHandler, { capture: true });
6257
- window.addEventListener('mouseup', mouseUpHandler, { capture: true });
6258
- };
6259
- draggableElement.addEventListener('mousedown', mouseDownHandler);
6260
- draggableElement.addEventListener('touchstart', touchStartHandler, {
6261
- passive: true,
6262
- });
6263
- return () => {
6264
- draggableElement.removeEventListener('mousedown', mouseDownHandler);
6265
- draggableElement.removeEventListener('touchstart', touchStartHandler);
6266
- };
6267
- }, [enabled, onStartDrag, onMoveDrag, onEndDrag]);
6268
- };
6269
-
6270
-
6271
- /***/ },
6272
-
6273
- /***/ "./src/hooks/use-honey-latest.ts"
6274
- /*!***************************************!*\
6275
- !*** ./src/hooks/use-honey-latest.ts ***!
6276
- \***************************************/
6277
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6278
-
6279
- "use strict";
6280
- __webpack_require__.r(__webpack_exports__);
6281
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6282
- /* harmony export */ useHoneyLatest: () => (/* binding */ useHoneyLatest)
6283
- /* harmony export */ });
6284
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6285
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6286
-
6287
- /**
6288
- * Stores the latest value in a stable ref.
6289
- *
6290
- * Guarantees that:
6291
- * - `ref.current` always points to the latest value
6292
- * - the ref object identity never changes
6293
- *
6294
- * Overload behavior:
6295
- * - If a non-optional value is provided, `.current` is non-optional
6296
- * - If an optional value is provided, `.current` is optional
6297
- */
6298
- const useHoneyLatest = (value) => {
6299
- const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);
6300
- ref.current = value;
6301
- return ref;
6302
- };
6303
-
6304
-
6305
- /***/ },
6306
-
6307
- /***/ "./src/hooks/use-honey-layout.ts"
6308
- /*!***************************************!*\
6309
- !*** ./src/hooks/use-honey-layout.ts ***!
6310
- \***************************************/
6311
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6312
-
6313
- "use strict";
6314
- __webpack_require__.r(__webpack_exports__);
6315
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6316
- /* harmony export */ useHoneyLayout: () => (/* binding */ useHoneyLayout)
6317
- /* harmony export */ });
6318
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6319
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6320
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
6321
- /* harmony import */ var _contexts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../contexts */ "./src/contexts/index.ts");
6322
-
6323
-
6324
-
6325
- /**
6326
- * Custom hook to access the Honey layout context.
6327
- *
6328
- * @throws Will throw an error if the hook is used outside of a `HoneyLayoutProvider` component.
6329
- *
6330
- * @returns The context value providing theming utilities and screen state.
6331
- */
6332
- const useHoneyLayout = () => {
6333
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts__WEBPACK_IMPORTED_MODULE_2__.HoneyLayoutContext);
6334
- (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.assert)(context, 'The `useHoneyLayout()` hook must be used inside <HoneyLayoutProvider/> component!');
6335
- return context;
6336
- };
6337
-
6338
-
6339
- /***/ },
6340
-
6341
- /***/ "./src/hooks/use-honey-media-query.ts"
6342
- /*!********************************************!*\
6343
- !*** ./src/hooks/use-honey-media-query.ts ***!
6344
- \********************************************/
6345
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6346
-
6347
- "use strict";
6348
- __webpack_require__.r(__webpack_exports__);
6349
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6350
- /* harmony export */ useHoneyMediaQuery: () => (/* binding */ useHoneyMediaQuery)
6351
- /* harmony export */ });
6352
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6353
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6354
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.throttle */ "./node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js");
6355
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_1__);
6356
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
6357
-
6358
-
6359
-
6360
- /**
6361
- * The hook that tracks the current screen state based on the theme's media breakpoints.
6362
- * It updates the state on window resize and orientation change.
6363
- *
6364
- * @param theme - Theme object.
6365
- * @param options - Optional configuration object.
6366
- *
6367
- * @returns The current screen state, indicating the orientation (portrait or landscape)
6368
- * and the active breakpoint (xs, sm, md, lg, xl).
6369
- */
6370
- const useHoneyMediaQuery = (theme, { resizeThrottle = 0, overrideScreenState } = {}) => {
6371
- const [screenState, setScreenState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => ({
6372
- ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
6373
- ...overrideScreenState,
6374
- }));
6375
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6376
- const handleResize = lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default()(() => {
6377
- setScreenState({
6378
- ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
6379
- ...overrideScreenState,
6380
- });
6381
- }, resizeThrottle);
6382
- handleResize();
6383
- window.addEventListener('resize', handleResize);
6384
- window.screen.orientation.addEventListener('change', handleResize);
6385
- return () => {
6386
- handleResize.cancel();
6387
- window.removeEventListener('resize', handleResize);
6388
- window.screen.orientation.removeEventListener('change', handleResize);
6389
- };
6390
- }, []);
6391
- return screenState;
6392
- };
6393
-
6394
-
6395
- /***/ },
6396
-
6397
- /***/ "./src/hooks/use-honey-on-change.ts"
6398
- /*!******************************************!*\
6399
- !*** ./src/hooks/use-honey-on-change.ts ***!
6400
- \******************************************/
6401
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6402
-
6403
- "use strict";
6404
- __webpack_require__.r(__webpack_exports__);
6405
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6406
- /* harmony export */ useHoneyOnChange: () => (/* binding */ useHoneyOnChange)
6407
- /* harmony export */ });
6408
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6409
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6410
-
6411
- /**
6412
- * A hook that invokes a callback function whenever the provided `state` value changes.
6413
- *
6414
- * This hook stores the previous value internally and performs a shallow comparison with the current value.
6415
- * If a change is detected, it executes the `onChange` callback. If the callback returns a cleanup function,
6416
- * it will be invoked before the next change or when the component unmounts, similar to standard `useEffect` behavior.
6417
- *
6418
- * @template T - The type of the state being observed.
6419
- *
6420
- * @param state - The value to monitor for changes. Can be of any type.
6421
- * @param onChange - A function called whenever `state` changes. It may return a cleanup function.
6422
- *
6423
- * @returns void
6424
- *
6425
- * @example
6426
- * ```ts
6427
- * useHoneyOnChange(someValue, (newValue) => {
6428
- * console.log('Value changed to:', newValue);
6429
- *
6430
- * return () => {
6431
- * console.log('Cleanup for value:', newValue);
6432
- * };
6433
- * });
6434
- * ```
6435
- */
6436
- const useHoneyOnChange = (state, onChange) => {
6437
- const prevStateRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(state);
6438
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6439
- if (prevStateRef.current !== state) {
6440
- prevStateRef.current = state;
6441
- return onChange(state);
6442
- }
6443
- }, [state]);
6444
- };
6445
-
6446
-
6447
- /***/ },
6448
-
6449
- /***/ "./src/hooks/use-honey-overlay.ts"
6450
- /*!****************************************!*\
6451
- !*** ./src/hooks/use-honey-overlay.ts ***!
6452
- \****************************************/
6453
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6454
-
6455
- "use strict";
6456
- __webpack_require__.r(__webpack_exports__);
6457
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6458
- /* harmony export */ useHoneyOverlay: () => (/* binding */ useHoneyOverlay)
6459
- /* harmony export */ });
6460
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6461
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6462
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
6463
-
6464
-
6465
- /**
6466
- * Hook for interacting with an active overlay managed by `HoneyLayoutProvider`.
6467
- *
6468
- * @param targetOverlayId - The unique ID of the overlay you want to interact with.
6469
- * @param options - Optional configuration such as event handlers (e.g., `onKeyUp`).
6470
- *
6471
- * @returns The overlay instance matching the provided ID, or `undefined` if not found.
6472
- *
6473
- * @remarks
6474
- * - This hook only works with overlays that are currently active.
6475
- * - If the overlay is not active or not registered, `undefined` will be returned.
6476
- * - Event handlers like `onKeyUp` are automatically registered and cleaned up for the overlay.
6477
- *
6478
- * @example
6479
- * ```tsx
6480
- * const overlay = useHoneyOverlay('my-overlay-id', {
6481
- * onKeyUp: (keyCode, e) => {
6482
- * if (keyCode === 'Escape') {
6483
- * console.log('Escape key pressed!');
6484
- * }
6485
- * },
6486
- * });
6487
- * ```
6488
- */
6489
- const useHoneyOverlay = (targetOverlayId, { onKeyUp } = {}) => {
6490
- const { overlays } = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLayout)();
6491
- const overlay = overlays.find(overlay => overlay.id === targetOverlayId);
6492
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6493
- // If no overlay is found or no `onKeyUp` handler is provided, skip setting up the listener
6494
- if (!overlay || !onKeyUp) {
6495
- return;
6496
- }
6497
- overlay.addListener('keyup', onKeyUp);
6498
- return () => {
6499
- overlay.removeListener('keyup', onKeyUp);
6500
- };
6501
- }, [overlay, onKeyUp]);
6502
- return overlay;
6503
- };
6504
-
6505
-
6506
- /***/ },
6507
-
6508
- /***/ "./src/hooks/use-honey-raf-loop.ts"
6509
- /*!*****************************************!*\
6510
- !*** ./src/hooks/use-honey-raf-loop.ts ***!
6511
- \*****************************************/
6512
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6513
-
6514
- "use strict";
6515
- __webpack_require__.r(__webpack_exports__);
6516
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6517
- /* harmony export */ useHoneyRafLoop: () => (/* binding */ useHoneyRafLoop)
6518
- /* harmony export */ });
6519
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6520
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6521
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./src/constants.ts");
6522
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
6523
-
6524
-
6525
-
6526
- /**
6527
- * A hook for running a controlled `requestAnimationFrame` loop.
6528
- *
6529
- * Features:
6530
- * - Explicit RAF lifecycle control (`start` / `stop`)
6531
- * - Delta time calculation with frame clamping
6532
- * - Automatic cleanup on unmounting
6533
- * - Conservative handling of tab visibility changes (mobile-safe)
6534
- * - Safe error handling (stops loop on exception)
6535
- *
6536
- * Visibility behavior:
6537
- * - The RAF loop is always stopped when the document becomes hidden
6538
- * - Automatic resume is disabled by default and must be explicitly enabled
6539
- *
6540
- * This hook is designed for gesture handling, inertia, physics simulations,
6541
- * and animation loops that must not trigger React re-renders on every frame.
6542
- *
6543
- * @param onFrame - Function invoked on each animation frame.
6544
- * @param options - Optional configuration for the RAF loop.
6545
- *
6546
- * @returns Control helpers and RAF loop state.
6547
- *
6548
- * @example
6549
- * ```ts
6550
- * // Gesture-driven inertia (recommended usage)
6551
- * // The RAF loop stops itself when motion decays.
6552
- *
6553
- * const velocityRef = useRef({ x: 12, y: 4 });
6554
- *
6555
- * const onFrame = useCallback<HoneyRafOnFrameHandler>(
6556
- * (dtMs, { stop }) => {
6557
- * velocityRef.current.x *= 0.94;
6558
- * velocityRef.current.y *= 0.94;
6559
- *
6560
- * setPosition(p => ({
6561
- * x: p.x + velocityRef.current.x,
6562
- * y: p.y + velocityRef.current.y,
6563
- * }));
6564
- *
6565
- * if (
6566
- * Math.abs(velocityRef.current.x) < 0.1 &&
6567
- * Math.abs(velocityRef.current.y) < 0.1
6568
- * ) {
6569
- * stop(); // terminate RAF loop
6570
- * }
6571
- * },
6572
- * [],
6573
- * );
6574
- *
6575
- * useHoneyRafLoop(onFrame);
6576
- * ```
6577
- */
6578
- const useHoneyRafLoop = (onFrame, { autoStart = false, resumeOnVisibility = false, maxDeltaMs = 32, // ~30fps clamp
6579
- onError, } = {}) => {
6580
- const rafIdRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6581
- const lastTimeMsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6582
- const onFrameRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyLatest)(onFrame);
6583
- const [isRunning, setIsRunning] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6584
- const isRunningRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
6585
- const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6586
- if (!isRunningRef.current) {
6587
- return;
6588
- }
6589
- isRunningRef.current = false;
6590
- if (rafIdRef.current !== null) {
6591
- cancelAnimationFrame(rafIdRef.current);
6592
- rafIdRef.current = null;
6593
- }
6594
- lastTimeMsRef.current = null;
6595
- setIsRunning(false);
6596
- }, []);
6597
- const loop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(timeMs => {
6598
- if (!isRunningRef.current) {
6599
- return;
6600
- }
6601
- if (lastTimeMsRef.current === null) {
6602
- lastTimeMsRef.current = timeMs;
6603
- }
6604
- let deltaTimeMs = timeMs - lastTimeMsRef.current;
6605
- lastTimeMsRef.current = timeMs;
6606
- // Clamp delta (prevents jumps after background tab / lag)
6607
- if (deltaTimeMs > maxDeltaMs) {
6608
- deltaTimeMs = maxDeltaMs;
6609
- }
6610
- try {
6611
- onFrameRef.current(deltaTimeMs, {
6612
- stop,
6613
- });
6614
- if (isRunningRef.current) {
6615
- rafIdRef.current = requestAnimationFrame(loop);
6616
- }
6617
- }
6618
- catch (e) {
6619
- if (_constants__WEBPACK_IMPORTED_MODULE_1__.__DEV__) {
6620
- console.error(e);
6621
- }
6622
- stop();
6623
- onError?.(e);
6624
- }
6625
- }, [maxDeltaMs, stop, onError]);
6626
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6627
- if (isRunningRef.current) {
6628
- return;
6629
- }
6630
- lastTimeMsRef.current = null;
6631
- isRunningRef.current = true;
6632
- setIsRunning(true);
6633
- rafIdRef.current = requestAnimationFrame(loop);
6634
- }, [loop]);
6635
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6636
- if (autoStart) {
6637
- start();
6638
- }
6639
- return stop;
6640
- }, [autoStart]);
6641
- // Pause when a tab is hidden (important for mobile)
6642
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6643
- const onVisibilityChange = () => {
6644
- if (document.hidden) {
6645
- stop();
6646
- }
6647
- else if (resumeOnVisibility && autoStart) {
6648
- start();
6649
- }
6650
- };
6651
- document.addEventListener('visibilitychange', onVisibilityChange);
6652
- return () => {
6653
- document.removeEventListener('visibilitychange', onVisibilityChange);
6654
- };
6655
- }, [autoStart, resumeOnVisibility, start, stop]);
6656
- return {
6657
- isRunning,
6658
- start,
6659
- stop,
6660
- };
6661
- };
6662
-
6663
-
6664
- /***/ },
6665
-
6666
- /***/ "./src/hooks/use-honey-resize.ts"
6667
- /*!***************************************!*\
6668
- !*** ./src/hooks/use-honey-resize.ts ***!
6669
- \***************************************/
6670
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6671
-
6672
- "use strict";
6673
- __webpack_require__.r(__webpack_exports__);
6674
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6675
- /* harmony export */ useHoneyResize: () => (/* binding */ useHoneyResize)
6676
- /* harmony export */ });
6677
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6678
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6679
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
6680
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash.throttle */ "./node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js");
6681
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_2__);
6682
-
6683
-
6684
-
6685
- /**
6686
- * A hook that subscribes to the window `resize` event and invokes a handler function in response.
6687
- *
6688
- * The handler can be optionally throttled to limit execution frequency, which is useful
6689
- * for expensive layout calculations or DOM measurements.
6690
- *
6691
- * @example
6692
- * ```ts
6693
- * useHoneyResize(() => {
6694
- * console.log('Window resized');
6695
- * }, { throttleTime: 200 });
6696
- * ```
6697
- *
6698
- * @param handler - Callback invoked when the window is resized.
6699
- * @param options - Configuration options controlling invocation timing and performance.
6700
- */
6701
- const useHoneyResize = (handler, { invokeOnMount = false, throttleTime = 0, enabled = true } = {}) => {
6702
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6703
- if (!enabled) {
6704
- return;
6705
- }
6706
- const handleResize = throttleTime
6707
- ? lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default()(handler, throttleTime)
6708
- : handler;
6709
- window.addEventListener('resize', handleResize);
6710
- if (invokeOnMount) {
6711
- handler();
6712
- }
6713
- return () => {
6714
- if ('cancel' in handleResize && (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handleResize.cancel)) {
6715
- handleResize.cancel();
6716
- }
6717
- window.removeEventListener('resize', handleResize);
6718
- };
6719
- }, [enabled, invokeOnMount, handler]);
5825
+ else if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isObject)(ref)) {
5826
+ ref.current = value;
5827
+ }
5828
+ });
6720
5829
  };
6721
5830
 
6722
5831
 
6723
5832
  /***/ },
6724
5833
 
6725
- /***/ "./src/hooks/use-honey-synthetic-scroll-x.ts"
6726
- /*!***************************************************!*\
6727
- !*** ./src/hooks/use-honey-synthetic-scroll-x.ts ***!
6728
- \***************************************************/
5834
+ /***/ "./src/hooks/index.ts"
5835
+ /*!****************************!*\
5836
+ !*** ./src/hooks/index.ts ***!
5837
+ \****************************/
6729
5838
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6730
5839
 
6731
5840
  "use strict";
6732
5841
  __webpack_require__.r(__webpack_exports__);
6733
5842
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6734
- /* harmony export */ useHoneySyntheticScrollX: () => (/* binding */ useHoneySyntheticScrollX)
5843
+ /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _use_honey_layout__WEBPACK_IMPORTED_MODULE_1__.useHoneyLayout),
5844
+ /* harmony export */ useHoneyMediaQuery: () => (/* reexport safe */ _use_honey_media_query__WEBPACK_IMPORTED_MODULE_0__.useHoneyMediaQuery),
5845
+ /* harmony export */ useHoneyOverlay: () => (/* reexport safe */ _use_honey_overlay__WEBPACK_IMPORTED_MODULE_3__.useHoneyOverlay),
5846
+ /* harmony export */ useRegisterHoneyOverlay: () => (/* reexport safe */ _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_2__.useRegisterHoneyOverlay)
6735
5847
  /* harmony export */ });
6736
- /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
5848
+ /* harmony import */ var _use_honey_media_query__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-media-query */ "./src/hooks/use-honey-media-query.ts");
5849
+ /* harmony import */ var _use_honey_layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-honey-layout */ "./src/hooks/use-honey-layout.ts");
5850
+ /* harmony import */ var _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-register-honey-overlay */ "./src/hooks/use-register-honey-overlay.ts");
5851
+ /* harmony import */ var _use_honey_overlay__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-honey-overlay */ "./src/hooks/use-honey-overlay.ts");
5852
+
5853
+
5854
+
6737
5855
 
6738
- /**
6739
- * Enables synthetic horizontal (X-axis) scrolling for a container element
6740
- * using pointer-based drag interactions.
6741
- *
6742
- * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
6743
- * the axis fixed to `'x'`.
6744
- *
6745
- * All behavior, boundaries, and lifecycle guarantees are identical to the
6746
- * base hook, but limited to horizontal movement only.
6747
- *
6748
- * @template Element - The HTML element type of the scrollable container.
6749
- *
6750
- * @param options - Configuration options forwarded to
6751
- * {@link useHoneySyntheticScroll}, excluding the `axis` option.
6752
- *
6753
- * @returns A ref that must be attached to the scrollable container element.
6754
- */
6755
- const useHoneySyntheticScrollX = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
6756
- ...options,
6757
- axis: 'x',
6758
- });
6759
5856
 
6760
5857
 
6761
5858
  /***/ },
6762
5859
 
6763
- /***/ "./src/hooks/use-honey-synthetic-scroll-y.ts"
6764
- /*!***************************************************!*\
6765
- !*** ./src/hooks/use-honey-synthetic-scroll-y.ts ***!
6766
- \***************************************************/
5860
+ /***/ "./src/hooks/use-honey-layout.ts"
5861
+ /*!***************************************!*\
5862
+ !*** ./src/hooks/use-honey-layout.ts ***!
5863
+ \***************************************/
6767
5864
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6768
5865
 
6769
5866
  "use strict";
6770
5867
  __webpack_require__.r(__webpack_exports__);
6771
5868
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6772
- /* harmony export */ useHoneySyntheticScrollY: () => (/* binding */ useHoneySyntheticScrollY)
5869
+ /* harmony export */ useHoneyLayout: () => (/* binding */ useHoneyLayout)
6773
5870
  /* harmony export */ });
6774
- /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
5871
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5872
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5873
+ /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
5874
+ /* harmony import */ var _contexts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../contexts */ "./src/contexts/index.ts");
5875
+
5876
+
6775
5877
 
6776
5878
  /**
6777
- * Enables synthetic vertical (Y-axis) scrolling for a container element
6778
- * using pointer-based drag interactions.
6779
- *
6780
- * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
6781
- * the axis fixed to `'y'`.
6782
- *
6783
- * All behavior, boundaries, and lifecycle guarantees are identical to the
6784
- * base hook, but limited to vertical movement only.
6785
- *
6786
- * @template Element - The HTML element type of the scrollable container.
5879
+ * Custom hook to access the Honey layout context.
6787
5880
  *
6788
- * @param options - Configuration options forwarded to
6789
- * {@link useHoneySyntheticScroll}, excluding the `axis` option.
5881
+ * @throws Will throw an error if the hook is used outside of a `HoneyLayoutProvider` component.
6790
5882
  *
6791
- * @returns A ref that must be attached to the scrollable container element.
5883
+ * @returns The context value providing theming utilities and screen state.
6792
5884
  */
6793
- const useHoneySyntheticScrollY = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
6794
- ...options,
6795
- axis: 'y',
6796
- });
5885
+ const useHoneyLayout = () => {
5886
+ const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts__WEBPACK_IMPORTED_MODULE_2__.HoneyLayoutContext);
5887
+ (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.assert)(context, 'The `useHoneyLayout()` hook must be used inside <HoneyLayoutProvider/> component!');
5888
+ return context;
5889
+ };
6797
5890
 
6798
5891
 
6799
5892
  /***/ },
6800
5893
 
6801
- /***/ "./src/hooks/use-honey-synthetic-scroll.ts"
6802
- /*!*************************************************!*\
6803
- !*** ./src/hooks/use-honey-synthetic-scroll.ts ***!
6804
- \*************************************************/
5894
+ /***/ "./src/hooks/use-honey-media-query.ts"
5895
+ /*!********************************************!*\
5896
+ !*** ./src/hooks/use-honey-media-query.ts ***!
5897
+ \********************************************/
6805
5898
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6806
5899
 
6807
5900
  "use strict";
6808
5901
  __webpack_require__.r(__webpack_exports__);
6809
5902
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6810
- /* harmony export */ resolveAxisTranslate: () => (/* binding */ resolveAxisTranslate),
6811
- /* harmony export */ useHoneySyntheticScroll: () => (/* binding */ useHoneySyntheticScroll)
5903
+ /* harmony export */ useHoneyMediaQuery: () => (/* binding */ useHoneyMediaQuery)
6812
5904
  /* harmony export */ });
6813
5905
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6814
5906
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6815
- /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
6816
- /* harmony import */ var _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-honey-drag */ "./src/hooks/use-honey-drag.ts");
6817
- /* harmony import */ var _use_honey_resize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-honey-resize */ "./src/hooks/use-honey-resize.ts");
6818
-
5907
+ /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! lodash.throttle */ "./node_modules/.pnpm/lodash.throttle@4.1.1/node_modules/lodash.throttle/index.js");
5908
+ /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_1__);
5909
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
6819
5910
 
6820
5911
 
6821
5912
 
6822
- const resolveAxisTranslate = ({ delta, translate, containerSize, overflowSize, overscrollPct, }) => {
6823
- if (overflowSize <= 0) {
6824
- return null;
6825
- }
6826
- const threshold = containerSize * (overscrollPct / 100);
6827
- return (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.resolveBoundedDelta)({
6828
- delta,
6829
- value: translate,
6830
- min: -(overflowSize + threshold),
6831
- max: threshold,
6832
- });
6833
- };
6834
- const applyScrollDelta = ({ axis, container, deltaX, deltaY, overscrollPct, }) => {
6835
- const { translateX, translateY } = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.parse2DMatrix)(container);
6836
- let nextX = translateX;
6837
- let nextY = translateY;
6838
- let shouldScroll = false;
6839
- if (axis === 'x' || axis === 'both') {
6840
- const next = resolveAxisTranslate({
6841
- delta: deltaX,
6842
- translate: translateX,
6843
- containerSize: container.clientWidth,
6844
- overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getXOverflowWidth)(container),
6845
- overscrollPct,
6846
- });
6847
- if (next !== null) {
6848
- nextX = next;
6849
- shouldScroll = true;
6850
- }
6851
- }
6852
- if (axis === 'y' || axis === 'both') {
6853
- const next = resolveAxisTranslate({
6854
- delta: deltaY,
6855
- translate: translateY,
6856
- containerSize: container.clientHeight,
6857
- overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getYOverflowHeight)(container),
6858
- overscrollPct,
6859
- });
6860
- if (next !== null) {
6861
- nextY = next;
6862
- shouldScroll = true;
6863
- }
6864
- }
6865
- if (shouldScroll) {
6866
- container.style.transform = `translate(${nextX}px, ${nextY}px)`;
6867
- }
6868
- return shouldScroll;
6869
- };
6870
5913
  /**
6871
- * Enables synthetic scrolling for a container using pointer-based drag gestures.
6872
- *
6873
- * Instead of relying on native scrollbars, this hook translates the container
6874
- * using CSS transforms in response to drag input.
6875
- *
6876
- * ### Key characteristics
6877
- * - Dragging is only applied when content overflows the container on a given axis.
6878
- * - Movement is clamped within calculated bounds, with optional overscroll allowance.
6879
- * - Scroll position is stored purely in `transform: translate(...)`.
6880
- * - Active transforms can be automatically cleared on window resize.
6881
- *
6882
- * ### Internals
6883
- * - Uses {@link useHoneyDrag} to track mouse / touch movement.
6884
- * - Uses {@link useHoneyResize} to optionally reset scroll state on resize.
6885
- *
6886
- * @template Element - The HTML element type of the scrollable container.
5914
+ * The hook that tracks the current screen state based on the theme's media breakpoints.
5915
+ * It updates the state on window resize and orientation change.
6887
5916
  *
6888
- * @param options - Configuration controlling axes, boundaries, and lifecycle behavior.
5917
+ * @param theme - Theme object.
5918
+ * @param options - Optional configuration object.
6889
5919
  *
6890
- * @returns A ref that must be attached to the scrollable container element.
5920
+ * @returns The current screen state, indicating the orientation (portrait or landscape)
5921
+ * and the active breakpoint (xs, sm, md, lg, xl).
6891
5922
  */
6892
- const useHoneySyntheticScroll = ({ axis = 'both', overscrollPct = 0, onStartDrag, onEndDrag, scrollMode = 'default', resetOnResize = true, enablePointerScroll = true, enabled = true, } = {}) => {
6893
- const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6894
- const handleOnStartDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async (...args) => {
6895
- return onStartDrag?.(...args) ?? true;
6896
- }, [onStartDrag]);
6897
- /**
6898
- * Handles drag movement and applies clamped translation along the enabled axis or axes.
6899
- *
6900
- * For each axis:
6901
- * - Skip processing if there is no overflow.
6902
- * - Compute the candidate translate value from the drag delta.
6903
- * - Clamp movement within calculated min / max bounds.
6904
- */
6905
- const handleOnMoveDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(container => async ({ deltaX, deltaY }) => {
6906
- return applyScrollDelta({
6907
- container,
6908
- deltaX,
6909
- deltaY,
6910
- axis,
6911
- overscrollPct,
6912
- });
6913
- }, [axis, overscrollPct]);
6914
- const handleOnEndDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async (...args) => {
6915
- onEndDrag?.(...args);
6916
- }, [axis, overscrollPct, onEndDrag]);
6917
- (0,_use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag)(containerRef, {
6918
- enabled,
6919
- onStartDrag: handleOnStartDrag,
6920
- onMoveDrag: handleOnMoveDrag,
6921
- onEndDrag: handleOnEndDrag,
6922
- });
6923
- const resizeHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6924
- const container = containerRef.current;
6925
- if (container) {
6926
- container.style.removeProperty('transform');
6927
- }
6928
- }, []);
6929
- (0,_use_honey_resize__WEBPACK_IMPORTED_MODULE_3__.useHoneyResize)(resizeHandler, {
6930
- enabled: enabled && resetOnResize,
6931
- });
5923
+ const useHoneyMediaQuery = (theme, { resizeThrottle = 0, overrideScreenState } = {}) => {
5924
+ const [screenState, setScreenState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => ({
5925
+ ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
5926
+ ...overrideScreenState,
5927
+ }));
6932
5928
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6933
- const container = containerRef.current;
6934
- if (!enabled || !container) {
6935
- return;
6936
- }
6937
- if (scrollMode === 'default') {
6938
- const touchAction = axis === 'x' ? 'pan-y' : axis === 'y' ? 'pan-x' : 'none';
6939
- container.style.overscrollBehavior = 'contain';
6940
- container.style.touchAction = touchAction;
6941
- }
6942
- const handleOnWheel = (event) => {
6943
- const { deltaX, deltaY } = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.resolveAxisDelta)({
6944
- deltaX: event.deltaX,
6945
- deltaY: event.deltaY,
6946
- }, axis);
6947
- const didScroll = applyScrollDelta({
6948
- container,
6949
- deltaX,
6950
- deltaY,
6951
- axis,
6952
- overscrollPct,
5929
+ const handleResize = lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default()(() => {
5930
+ setScreenState({
5931
+ ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
5932
+ ...overrideScreenState,
6953
5933
  });
6954
- if (didScroll) {
6955
- event.preventDefault();
6956
- }
6957
- };
6958
- if (enablePointerScroll) {
6959
- container.addEventListener('wheel', handleOnWheel, { passive: false });
6960
- }
5934
+ }, resizeThrottle);
5935
+ handleResize();
5936
+ window.addEventListener('resize', handleResize);
5937
+ window.screen.orientation.addEventListener('change', handleResize);
6961
5938
  return () => {
6962
- if (scrollMode === 'default') {
6963
- container.style.removeProperty('overscroll-behavior');
6964
- container.style.removeProperty('touch-action');
6965
- }
6966
- if (enablePointerScroll) {
6967
- container.removeEventListener('wheel', handleOnWheel);
6968
- }
5939
+ handleResize.cancel();
5940
+ window.removeEventListener('resize', handleResize);
5941
+ window.screen.orientation.removeEventListener('change', handleResize);
6969
5942
  };
6970
- }, [scrollMode, enabled, enablePointerScroll]);
6971
- return containerRef;
5943
+ }, []);
5944
+ return screenState;
6972
5945
  };
6973
5946
 
6974
5947
 
6975
5948
  /***/ },
6976
5949
 
6977
- /***/ "./src/hooks/use-honey-timer.ts"
6978
- /*!**************************************!*\
6979
- !*** ./src/hooks/use-honey-timer.ts ***!
6980
- \**************************************/
5950
+ /***/ "./src/hooks/use-honey-overlay.ts"
5951
+ /*!****************************************!*\
5952
+ !*** ./src/hooks/use-honey-overlay.ts ***!
5953
+ \****************************************/
6981
5954
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6982
5955
 
6983
5956
  "use strict";
6984
5957
  __webpack_require__.r(__webpack_exports__);
6985
5958
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6986
- /* harmony export */ useHoneyTimer: () => (/* binding */ useHoneyTimer)
5959
+ /* harmony export */ useHoneyOverlay: () => (/* binding */ useHoneyOverlay)
6987
5960
  /* harmony export */ });
6988
5961
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6989
5962
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
@@ -6991,94 +5964,43 @@ __webpack_require__.r(__webpack_exports__);
6991
5964
 
6992
5965
 
6993
5966
  /**
6994
- * A high-precision timer hook built on top of {@link useHoneyRafLoop}.
5967
+ * Hook for interacting with an active overlay managed by `HoneyLayoutProvider`.
5968
+ *
5969
+ * @param targetOverlayId - The unique ID of the overlay you want to interact with.
5970
+ * @param options - Optional configuration such as event handlers (e.g., `onKeyUp`).
6995
5971
  *
6996
- * Features:
6997
- * - Frame-accurate time progression using `requestAnimationFrame`
6998
- * - Supports countdown and count-up modes
6999
- * - Explicit lifecycle control (start / pause / resume / reset)
7000
- * - Drift-free timing using delta-based updates
7001
- * - Safe completion handling via `onEnd`
5972
+ * @returns The overlay instance matching the provided ID, or `undefined` if not found.
7002
5973
  *
7003
- * Architectural notes:
7004
- * - Time progression is handled imperatively via refs to avoid stale closures and unnecessary re-renders.
7005
- * - React state is updated only with the derived timer value.
7006
- * - RAF lifecycle is fully delegated to `useHoneyRafLoop`.
5974
+ * @remarks
5975
+ * - This hook only works with overlays that are currently active.
5976
+ * - If the overlay is not active or not registered, `undefined` will be returned.
5977
+ * - Event handlers like `onKeyUp` are automatically registered and cleaned up for the overlay.
7007
5978
  *
7008
5979
  * @example
7009
- * ```ts
7010
- * const timer = useHoneyTimer({
7011
- * initialTimeMs: 10_000,
7012
- * targetTimeMs: 0,
7013
- * onEnd: () => console.log('Done'),
5980
+ * ```tsx
5981
+ * const overlay = useHoneyOverlay('my-overlay-id', {
5982
+ * onKeyUp: (keyCode, e) => {
5983
+ * if (keyCode === 'Escape') {
5984
+ * console.log('Escape key pressed!');
5985
+ * }
5986
+ * },
7014
5987
  * });
7015
- *
7016
- * timer.startTimer();
7017
5988
  * ```
7018
5989
  */
7019
- const useHoneyTimer = ({ initialTimeMs, targetTimeMs = 0, mode = 'countdown', autoStart = false, onEnd, }) => {
7020
- const [timeMs, setTimeMs] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialTimeMs);
7021
- const timeRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLatest)(timeMs);
7022
- const onEndRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLatest)(onEnd);
7023
- /**
7024
- * RAF frame handler responsible for advancing the timer.
7025
- *
7026
- * - Computes the next timer value based on `deltaTimeMs`
7027
- * - Detects completion and stops the RAF loop
7028
- * - Updates React state with the derived value
7029
- */
7030
- const frameHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((deltaTimeMs, frameContext) => {
7031
- let nextTime = mode === 'countdown' ? timeRef.current - deltaTimeMs : timeRef.current + deltaTimeMs;
7032
- let finished = false;
7033
- if (mode === 'countdown') {
7034
- if (nextTime <= targetTimeMs) {
7035
- nextTime = targetTimeMs;
7036
- finished = true;
7037
- }
7038
- }
7039
- else if (targetTimeMs > 0 && nextTime >= targetTimeMs) {
7040
- nextTime = targetTimeMs;
7041
- finished = true;
7042
- }
7043
- timeRef.current = nextTime;
7044
- setTimeMs(nextTime);
7045
- if (finished) {
7046
- frameContext.stop();
7047
- onEndRef.current?.();
7048
- }
7049
- }, [mode, targetTimeMs]);
7050
- const rafLoop = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyRafLoop)(frameHandler);
7051
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7052
- timeRef.current = initialTimeMs;
7053
- setTimeMs(initialTimeMs);
7054
- rafLoop.start();
7055
- }, [initialTimeMs, rafLoop.start]);
7056
- const pause = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7057
- rafLoop.stop();
7058
- }, [rafLoop.stop]);
7059
- const resume = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7060
- if (!rafLoop.isRunning) {
7061
- rafLoop.start();
7062
- }
7063
- }, [rafLoop.isRunning, rafLoop.start]);
7064
- const reset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextTimeMs = initialTimeMs) => {
7065
- rafLoop.stop();
7066
- timeRef.current = nextTimeMs;
7067
- setTimeMs(nextTimeMs);
7068
- }, [initialTimeMs, rafLoop.stop]);
5990
+ const useHoneyOverlay = (targetOverlayId, { onKeyUp } = {}) => {
5991
+ const { overlays } = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLayout)();
5992
+ const overlay = overlays.find(overlay => overlay.id === targetOverlayId);
7069
5993
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
7070
- if (autoStart) {
7071
- start();
5994
+ // If no overlay is found or no `onKeyUp` handler is provided, skip setting up the listener
5995
+ if (!overlay || !onKeyUp) {
5996
+ return;
7072
5997
  }
7073
- }, [autoStart]);
7074
- return {
7075
- timeMs,
7076
- isRunning: rafLoop.isRunning,
7077
- start,
7078
- pause,
7079
- resume,
7080
- reset,
7081
- };
5998
+ overlay.addListener('keyup', onKeyUp);
5999
+ return () => {
6000
+ overlay.removeListener('keyup', onKeyUp);
6001
+ };
6002
+ }, [overlay, onKeyUp]);
6003
+ return overlay;
7082
6004
  };
7083
6005
 
7084
6006
 
@@ -7502,9 +6424,9 @@ module.exports = require("react");
7502
6424
 
7503
6425
  /***/ },
7504
6426
 
7505
- /***/ "./node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs"
6427
+ /***/ "./node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs"
7506
6428
  /*!*************************************************************************************************************!*\
7507
- !*** ./node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs ***!
6429
+ !*** ./node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs ***!
7508
6430
  \*************************************************************************************************************/
7509
6431
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7510
6432
 
@@ -7524,7 +6446,7 @@ __webpack_require__.r(__webpack_exports__);
7524
6446
  /* harmony export */ shift: () => (/* binding */ shift),
7525
6447
  /* harmony export */ size: () => (/* binding */ size)
7526
6448
  /* harmony export */ });
7527
- /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
6449
+ /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
7528
6450
 
7529
6451
 
7530
6452
 
@@ -7649,6 +6571,9 @@ async function detectOverflow(state, options) {
7649
6571
  };
7650
6572
  }
7651
6573
 
6574
+ // Maximum number of resets that can occur before bailing to avoid infinite reset loops.
6575
+ const MAX_RESET_COUNT = 50;
6576
+
7652
6577
  /**
7653
6578
  * Computes the `x` and `y` coordinates that will place the floating element
7654
6579
  * next to a given reference element.
@@ -7663,7 +6588,10 @@ const computePosition = async (reference, floating, config) => {
7663
6588
  middleware = [],
7664
6589
  platform
7665
6590
  } = config;
7666
- const validMiddleware = middleware.filter(Boolean);
6591
+ const platformWithDetectOverflow = platform.detectOverflow ? platform : {
6592
+ ...platform,
6593
+ detectOverflow
6594
+ };
7667
6595
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
7668
6596
  let rects = await platform.getElementRects({
7669
6597
  reference,
@@ -7675,14 +6603,17 @@ const computePosition = async (reference, floating, config) => {
7675
6603
  y
7676
6604
  } = computeCoordsFromPlacement(rects, placement, rtl);
7677
6605
  let statefulPlacement = placement;
7678
- let middlewareData = {};
7679
6606
  let resetCount = 0;
7680
- for (let i = 0; i < validMiddleware.length; i++) {
7681
- var _platform$detectOverf;
6607
+ const middlewareData = {};
6608
+ for (let i = 0; i < middleware.length; i++) {
6609
+ const currentMiddleware = middleware[i];
6610
+ if (!currentMiddleware) {
6611
+ continue;
6612
+ }
7682
6613
  const {
7683
6614
  name,
7684
6615
  fn
7685
- } = validMiddleware[i];
6616
+ } = currentMiddleware;
7686
6617
  const {
7687
6618
  x: nextX,
7688
6619
  y: nextY,
@@ -7696,10 +6627,7 @@ const computePosition = async (reference, floating, config) => {
7696
6627
  strategy,
7697
6628
  middlewareData,
7698
6629
  rects,
7699
- platform: {
7700
- ...platform,
7701
- detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
7702
- },
6630
+ platform: platformWithDetectOverflow,
7703
6631
  elements: {
7704
6632
  reference,
7705
6633
  floating
@@ -7707,14 +6635,11 @@ const computePosition = async (reference, floating, config) => {
7707
6635
  });
7708
6636
  x = nextX != null ? nextX : x;
7709
6637
  y = nextY != null ? nextY : y;
7710
- middlewareData = {
7711
- ...middlewareData,
7712
- [name]: {
7713
- ...middlewareData[name],
7714
- ...data
7715
- }
6638
+ middlewareData[name] = {
6639
+ ...middlewareData[name],
6640
+ ...data
7716
6641
  };
7717
- if (reset && resetCount <= 50) {
6642
+ if (reset && resetCount < MAX_RESET_COUNT) {
7718
6643
  resetCount++;
7719
6644
  if (typeof reset === 'object') {
7720
6645
  if (reset.placement) {
@@ -8584,9 +7509,9 @@ const size = function (options) {
8584
7509
 
8585
7510
  /***/ },
8586
7511
 
8587
- /***/ "./node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"
7512
+ /***/ "./node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs"
8588
7513
  /*!**********************************************************************************************************!*\
8589
- !*** ./node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs ***!
7514
+ !*** ./node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs ***!
8590
7515
  \**********************************************************************************************************/
8591
7516
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8592
7517
 
@@ -8608,9 +7533,9 @@ __webpack_require__.r(__webpack_exports__);
8608
7533
  /* harmony export */ shift: () => (/* binding */ shift),
8609
7534
  /* harmony export */ size: () => (/* binding */ size)
8610
7535
  /* harmony export */ });
8611
- /* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/core */ "./node_modules/.pnpm/@floating-ui+core@1.7.4/node_modules/@floating-ui/core/dist/floating-ui.core.mjs");
8612
- /* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
8613
- /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/utils/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
7536
+ /* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/core */ "./node_modules/.pnpm/@floating-ui+core@1.7.5/node_modules/@floating-ui/core/dist/floating-ui.core.mjs");
7537
+ /* harmony import */ var _floating_ui_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
7538
+ /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/utils/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
8614
7539
 
8615
7540
 
8616
7541
 
@@ -8787,7 +7712,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
8787
7712
  if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getNodeName)(offsetParent) !== 'body' || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isOverflowElement)(documentElement)) {
8788
7713
  scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getNodeScroll)(offsetParent);
8789
7714
  }
8790
- if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isHTMLElement)(offsetParent)) {
7715
+ if (isOffsetParentAnElement) {
8791
7716
  const offsetRect = getBoundingClientRect(offsetParent);
8792
7717
  scale = getScale(offsetParent);
8793
7718
  offsets.x = offsetRect.x + offsetParent.clientLeft;
@@ -8875,7 +7800,6 @@ function getViewportRect(element, strategy) {
8875
7800
  };
8876
7801
  }
8877
7802
 
8878
- const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
8879
7803
  // Returns the inner client rect, subtracting scrollbars if present.
8880
7804
  function getInnerBoundingClientRect(element, strategy) {
8881
7805
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
@@ -8940,7 +7864,7 @@ function getClippingElementAncestors(element, cache) {
8940
7864
  if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
8941
7865
  currentContainingBlockComputedStyle = null;
8942
7866
  }
8943
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isOverflowElement)(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
7867
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && (currentContainingBlockComputedStyle.position === 'absolute' || currentContainingBlockComputedStyle.position === 'fixed') || (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isOverflowElement)(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
8944
7868
  if (shouldDropCurrentNode) {
8945
7869
  // Drop non-containing blocks.
8946
7870
  result = result.filter(ancestor => ancestor !== currentNode);
@@ -8965,20 +7889,23 @@ function getClippingRect(_ref) {
8965
7889
  } = _ref;
8966
7890
  const elementClippingAncestors = boundary === 'clippingAncestors' ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isTopLayer)(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
8967
7891
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
8968
- const firstClippingAncestor = clippingAncestors[0];
8969
- const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
8970
- const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
8971
- accRect.top = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, accRect.top);
8972
- accRect.right = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, accRect.right);
8973
- accRect.bottom = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, accRect.bottom);
8974
- accRect.left = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, accRect.left);
8975
- return accRect;
8976
- }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
7892
+ const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
7893
+ let top = firstRect.top;
7894
+ let right = firstRect.right;
7895
+ let bottom = firstRect.bottom;
7896
+ let left = firstRect.left;
7897
+ for (let i = 1; i < clippingAncestors.length; i++) {
7898
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
7899
+ top = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, top);
7900
+ right = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, right);
7901
+ bottom = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, bottom);
7902
+ left = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, left);
7903
+ }
8977
7904
  return {
8978
- width: clippingRect.right - clippingRect.left,
8979
- height: clippingRect.bottom - clippingRect.top,
8980
- x: clippingRect.left,
8981
- y: clippingRect.top
7905
+ width: right - left,
7906
+ height: bottom - top,
7907
+ x: left,
7908
+ y: top
8982
7909
  };
8983
7910
  }
8984
7911
 
@@ -9229,7 +8156,7 @@ function autoUpdate(reference, floating, update, options) {
9229
8156
  animationFrame = false
9230
8157
  } = options;
9231
8158
  const referenceEl = unwrapElement(reference);
9232
- const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getOverflowAncestors)(referenceEl) : []), ...(0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getOverflowAncestors)(floating)] : [];
8159
+ const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getOverflowAncestors)(referenceEl) : []), ...(floating ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getOverflowAncestors)(floating) : [])] : [];
9233
8160
  ancestors.forEach(ancestor => {
9234
8161
  ancestorScroll && ancestor.addEventListener('scroll', update, {
9235
8162
  passive: true
@@ -9242,7 +8169,7 @@ function autoUpdate(reference, floating, update, options) {
9242
8169
  if (elementResize) {
9243
8170
  resizeObserver = new ResizeObserver(_ref => {
9244
8171
  let [firstEntry] = _ref;
9245
- if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
8172
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
9246
8173
  // Prevent update loops when using the `size` middleware.
9247
8174
  // https://github.com/floating-ui/floating-ui/issues/1740
9248
8175
  resizeObserver.unobserve(floating);
@@ -9257,7 +8184,9 @@ function autoUpdate(reference, floating, update, options) {
9257
8184
  if (referenceEl && !animationFrame) {
9258
8185
  resizeObserver.observe(referenceEl);
9259
8186
  }
9260
- resizeObserver.observe(floating);
8187
+ if (floating) {
8188
+ resizeObserver.observe(floating);
8189
+ }
9261
8190
  }
9262
8191
  let frameId;
9263
8192
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
@@ -9392,9 +8321,9 @@ const computePosition = (reference, floating, options) => {
9392
8321
 
9393
8322
  /***/ },
9394
8323
 
9395
- /***/ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"
8324
+ /***/ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs"
9396
8325
  /*!************************************************************************************************************************************************************************!*\
9397
- !*** ./node_modules/.pnpm/@floating-ui+react-dom@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs ***!
8326
+ !*** ./node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs ***!
9398
8327
  \************************************************************************************************************************************************************************/
9399
8328
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9400
8329
 
@@ -9417,8 +8346,8 @@ __webpack_require__.r(__webpack_exports__);
9417
8346
  /* harmony export */ size: () => (/* binding */ size),
9418
8347
  /* harmony export */ useFloating: () => (/* binding */ useFloating)
9419
8348
  /* harmony export */ });
9420
- /* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
9421
- /* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
8349
+ /* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
8350
+ /* harmony import */ var _floating_ui_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
9422
8351
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
9423
8352
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-dom */ "./node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/index.js");
9424
8353
 
@@ -9704,28 +8633,39 @@ const arrow$1 = options => {
9704
8633
  * object may be passed.
9705
8634
  * @see https://floating-ui.com/docs/offset
9706
8635
  */
9707
- const offset = (options, deps) => ({
9708
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.offset)(options),
9709
- options: [options, deps]
9710
- });
8636
+ const offset = (options, deps) => {
8637
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.offset)(options);
8638
+ return {
8639
+ name: result.name,
8640
+ fn: result.fn,
8641
+ options: [options, deps]
8642
+ };
8643
+ };
9711
8644
 
9712
8645
  /**
9713
8646
  * Optimizes the visibility of the floating element by shifting it in order to
9714
8647
  * keep it in view when it will overflow the clipping boundary.
9715
8648
  * @see https://floating-ui.com/docs/shift
9716
8649
  */
9717
- const shift = (options, deps) => ({
9718
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.shift)(options),
9719
- options: [options, deps]
9720
- });
8650
+ const shift = (options, deps) => {
8651
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.shift)(options);
8652
+ return {
8653
+ name: result.name,
8654
+ fn: result.fn,
8655
+ options: [options, deps]
8656
+ };
8657
+ };
9721
8658
 
9722
8659
  /**
9723
8660
  * Built-in `limiter` that will stop `shift()` at a certain point.
9724
8661
  */
9725
- const limitShift = (options, deps) => ({
9726
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.limitShift)(options),
9727
- options: [options, deps]
9728
- });
8662
+ const limitShift = (options, deps) => {
8663
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.limitShift)(options);
8664
+ return {
8665
+ fn: result.fn,
8666
+ options: [options, deps]
8667
+ };
8668
+ };
9729
8669
 
9730
8670
  /**
9731
8671
  * Optimizes the visibility of the floating element by flipping the `placement`
@@ -9733,10 +8673,14 @@ const limitShift = (options, deps) => ({
9733
8673
  * clipping boundary. Alternative to `autoPlacement`.
9734
8674
  * @see https://floating-ui.com/docs/flip
9735
8675
  */
9736
- const flip = (options, deps) => ({
9737
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.flip)(options),
9738
- options: [options, deps]
9739
- });
8676
+ const flip = (options, deps) => {
8677
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.flip)(options);
8678
+ return {
8679
+ name: result.name,
8680
+ fn: result.fn,
8681
+ options: [options, deps]
8682
+ };
8683
+ };
9740
8684
 
9741
8685
  /**
9742
8686
  * Provides data that allows you to change the size of the floating element —
@@ -9744,10 +8688,14 @@ const flip = (options, deps) => ({
9744
8688
  * width of the reference element.
9745
8689
  * @see https://floating-ui.com/docs/size
9746
8690
  */
9747
- const size = (options, deps) => ({
9748
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.size)(options),
9749
- options: [options, deps]
9750
- });
8691
+ const size = (options, deps) => {
8692
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.size)(options);
8693
+ return {
8694
+ name: result.name,
8695
+ fn: result.fn,
8696
+ options: [options, deps]
8697
+ };
8698
+ };
9751
8699
 
9752
8700
  /**
9753
8701
  * Optimizes the visibility of the floating element by choosing the placement
@@ -9755,30 +8703,42 @@ const size = (options, deps) => ({
9755
8703
  * preferred placement. Alternative to `flip`.
9756
8704
  * @see https://floating-ui.com/docs/autoPlacement
9757
8705
  */
9758
- const autoPlacement = (options, deps) => ({
9759
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoPlacement)(options),
9760
- options: [options, deps]
9761
- });
8706
+ const autoPlacement = (options, deps) => {
8707
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoPlacement)(options);
8708
+ return {
8709
+ name: result.name,
8710
+ fn: result.fn,
8711
+ options: [options, deps]
8712
+ };
8713
+ };
9762
8714
 
9763
8715
  /**
9764
8716
  * Provides data to hide the floating element in applicable situations, such as
9765
8717
  * when it is not in the same clipping context as the reference element.
9766
8718
  * @see https://floating-ui.com/docs/hide
9767
8719
  */
9768
- const hide = (options, deps) => ({
9769
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.hide)(options),
9770
- options: [options, deps]
9771
- });
8720
+ const hide = (options, deps) => {
8721
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.hide)(options);
8722
+ return {
8723
+ name: result.name,
8724
+ fn: result.fn,
8725
+ options: [options, deps]
8726
+ };
8727
+ };
9772
8728
 
9773
8729
  /**
9774
8730
  * Provides improved positioning for inline reference elements that can span
9775
8731
  * over multiple lines, such as hyperlinks or range selections.
9776
8732
  * @see https://floating-ui.com/docs/inline
9777
8733
  */
9778
- const inline = (options, deps) => ({
9779
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.inline)(options),
9780
- options: [options, deps]
9781
- });
8734
+ const inline = (options, deps) => {
8735
+ const result = (0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.inline)(options);
8736
+ return {
8737
+ name: result.name,
8738
+ fn: result.fn,
8739
+ options: [options, deps]
8740
+ };
8741
+ };
9782
8742
 
9783
8743
  /**
9784
8744
  * Provides data to position an inner element of the floating element so that it
@@ -9786,19 +8746,23 @@ const inline = (options, deps) => ({
9786
8746
  * This wraps the core `arrow` middleware to allow React refs as the element.
9787
8747
  * @see https://floating-ui.com/docs/arrow
9788
8748
  */
9789
- const arrow = (options, deps) => ({
9790
- ...arrow$1(options),
9791
- options: [options, deps]
9792
- });
8749
+ const arrow = (options, deps) => {
8750
+ const result = arrow$1(options);
8751
+ return {
8752
+ name: result.name,
8753
+ fn: result.fn,
8754
+ options: [options, deps]
8755
+ };
8756
+ };
9793
8757
 
9794
8758
 
9795
8759
 
9796
8760
 
9797
8761
  /***/ },
9798
8762
 
9799
- /***/ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs"
8763
+ /***/ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs"
9800
8764
  /*!**************************************************************************************************************************************************************!*\
9801
- !*** ./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs ***!
8765
+ !*** ./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.mjs ***!
9802
8766
  \**************************************************************************************************************************************************************/
9803
8767
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9804
8768
 
@@ -9859,14 +8823,14 @@ __webpack_require__.r(__webpack_exports__);
9859
8823
  /* harmony export */ useTypeahead: () => (/* binding */ useTypeahead)
9860
8824
  /* harmony export */ });
9861
8825
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
9862
- /* harmony import */ var _floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react/utils */ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs");
8826
+ /* harmony import */ var _floating_ui_react_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @floating-ui/react/utils */ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs");
9863
8827
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.4/node_modules/react/jsx-runtime.js");
9864
- /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
8828
+ /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
9865
8829
  /* harmony import */ var tabbable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tabbable */ "./node_modules/.pnpm/tabbable@6.4.0/node_modules/tabbable/dist/index.esm.js");
9866
8830
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "./node_modules/.pnpm/react-dom@19.2.4_react@19.2.4/node_modules/react-dom/index.js");
9867
- /* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.7_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs");
9868
- /* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+dom@1.7.5/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
9869
- /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
8831
+ /* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+react-dom@2.1.8_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs");
8832
+ /* harmony import */ var _floating_ui_react_dom__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @floating-ui/react-dom */ "./node_modules/.pnpm/@floating-ui+dom@1.7.6/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs");
8833
+ /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
9870
8834
 
9871
8835
 
9872
8836
 
@@ -11229,7 +10193,12 @@ let uncontrolledElementsSet = /*#__PURE__*/new WeakSet();
11229
10193
  let markerMap = {};
11230
10194
  let lockCount$1 = 0;
11231
10195
  const supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;
11232
- const unwrapHost = node => node && (node.host || unwrapHost(node.parentNode));
10196
+ function unwrapHost(node) {
10197
+ if (!node) {
10198
+ return null;
10199
+ }
10200
+ return (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_3__.isShadowRoot)(node) ? node.host : unwrapHost(node.parentNode);
10201
+ }
11233
10202
  const correctElements = (parent, targets) => targets.map(target => {
11234
10203
  if (parent.contains(target)) {
11235
10204
  return target;
@@ -11580,7 +10549,7 @@ function addPreviouslyFocusedElement(element) {
11580
10549
  if (element && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_3__.getNodeName)(element) !== 'body') {
11581
10550
  previouslyFocusedElements.push(new WeakRef(element));
11582
10551
  if (previouslyFocusedElements.length > LIST_LIMIT) {
11583
- previouslyFocusedElements = previouslyFocusedElements.slice(-20);
10552
+ previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
11584
10553
  }
11585
10554
  }
11586
10555
  }
@@ -12700,18 +11669,22 @@ function useDismiss(context, props) {
12700
11669
  })
12701
11670
  })
12702
11671
  }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);
12703
- const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({
12704
- onKeyDown: closeOnEscapeKeyDown,
12705
- onMouseDown() {
12706
- endedOrStartedInsideRef.current = true;
12707
- },
12708
- onMouseUp() {
11672
+ const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {
11673
+ function setMouseDownOrUpInside(event) {
11674
+ if (event.button !== 0) {
11675
+ return;
11676
+ }
12709
11677
  endedOrStartedInsideRef.current = true;
12710
- },
12711
- [captureHandlerKeys[outsidePressEvent]]: () => {
12712
- dataRef.current.insideReactTree = true;
12713
11678
  }
12714
- }), [closeOnEscapeKeyDown, outsidePressEvent, dataRef]);
11679
+ return {
11680
+ onKeyDown: closeOnEscapeKeyDown,
11681
+ onMouseDown: setMouseDownOrUpInside,
11682
+ onMouseUp: setMouseDownOrUpInside,
11683
+ [captureHandlerKeys[outsidePressEvent]]: () => {
11684
+ dataRef.current.insideReactTree = true;
11685
+ }
11686
+ };
11687
+ }, [closeOnEscapeKeyDown, outsidePressEvent, dataRef]);
12715
11688
  return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {
12716
11689
  reference,
12717
11690
  floating
@@ -14470,9 +13443,9 @@ function safePolygon(options) {
14470
13443
 
14471
13444
  /***/ },
14472
13445
 
14473
- /***/ "./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"
13446
+ /***/ "./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs"
14474
13447
  /*!********************************************************************************************************************************************************************!*\
14475
- !*** ./node_modules/.pnpm/@floating-ui+react@0.27.18_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs ***!
13448
+ !*** ./node_modules/.pnpm/@floating-ui+react@0.27.19_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs ***!
14476
13449
  \********************************************************************************************************************************************************************/
14477
13450
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
14478
13451
 
@@ -14524,9 +13497,9 @@ __webpack_require__.r(__webpack_exports__);
14524
13497
  /* harmony export */ useLatestRef: () => (/* binding */ useLatestRef),
14525
13498
  /* harmony export */ useModernLayoutEffect: () => (/* binding */ index)
14526
13499
  /* harmony export */ });
14527
- /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
13500
+ /* harmony import */ var _floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @floating-ui/utils/dom */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs");
14528
13501
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
14529
- /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
13502
+ /* harmony import */ var _floating_ui_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @floating-ui/utils */ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs");
14530
13503
  /* harmony import */ var tabbable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tabbable */ "./node_modules/.pnpm/tabbable@6.4.0/node_modules/tabbable/dist/index.esm.js");
14531
13504
 
14532
13505
 
@@ -15069,9 +14042,9 @@ function enableFocusInside(container) {
15069
14042
 
15070
14043
  /***/ },
15071
14044
 
15072
- /***/ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"
14045
+ /***/ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs"
15073
14046
  /*!*********************************************************************************************************************!*\
15074
- !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs ***!
14047
+ !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs ***!
15075
14048
  \*********************************************************************************************************************/
15076
14049
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15077
14050
 
@@ -15143,7 +14116,6 @@ function isShadowRoot(value) {
15143
14116
  }
15144
14117
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
15145
14118
  }
15146
- const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
15147
14119
  function isOverflowElement(element) {
15148
14120
  const {
15149
14121
  overflow,
@@ -15151,32 +14123,35 @@ function isOverflowElement(element) {
15151
14123
  overflowY,
15152
14124
  display
15153
14125
  } = getComputedStyle(element);
15154
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
14126
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== 'inline' && display !== 'contents';
15155
14127
  }
15156
- const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
15157
14128
  function isTableElement(element) {
15158
- return tableElements.has(getNodeName(element));
14129
+ return /^(table|td|th)$/.test(getNodeName(element));
15159
14130
  }
15160
- const topLayerSelectors = [':popover-open', ':modal'];
15161
14131
  function isTopLayer(element) {
15162
- return topLayerSelectors.some(selector => {
15163
- try {
15164
- return element.matches(selector);
15165
- } catch (_e) {
15166
- return false;
14132
+ try {
14133
+ if (element.matches(':popover-open')) {
14134
+ return true;
15167
14135
  }
15168
- });
14136
+ } catch (_e) {
14137
+ // no-op
14138
+ }
14139
+ try {
14140
+ return element.matches(':modal');
14141
+ } catch (_e) {
14142
+ return false;
14143
+ }
15169
14144
  }
15170
- const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
15171
- const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
15172
- const containValues = ['paint', 'layout', 'strict', 'content'];
14145
+ const willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
14146
+ const containRe = /paint|layout|strict|content/;
14147
+ const isNotNone = value => !!value && value !== 'none';
14148
+ let isWebKitValue;
15173
14149
  function isContainingBlock(elementOrCss) {
15174
- const webkit = isWebKit();
15175
14150
  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
15176
14151
 
15177
14152
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
15178
14153
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
15179
- return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
14154
+ return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || '') || containRe.test(css.contain || '');
15180
14155
  }
15181
14156
  function getContainingBlock(element) {
15182
14157
  let currentNode = getParentNode(element);
@@ -15191,12 +14166,13 @@ function getContainingBlock(element) {
15191
14166
  return null;
15192
14167
  }
15193
14168
  function isWebKit() {
15194
- if (typeof CSS === 'undefined' || !CSS.supports) return false;
15195
- return CSS.supports('-webkit-backdrop-filter', 'none');
14169
+ if (isWebKitValue == null) {
14170
+ isWebKitValue = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('-webkit-backdrop-filter', 'none');
14171
+ }
14172
+ return isWebKitValue;
15196
14173
  }
15197
- const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
15198
14174
  function isLastTraversableNode(node) {
15199
- return lastTraversableNodeNames.has(getNodeName(node));
14175
+ return /^(html|body|#document)$/.test(getNodeName(node));
15200
14176
  }
15201
14177
  function getComputedStyle(element) {
15202
14178
  return getWindow(element).getComputedStyle(element);
@@ -15252,8 +14228,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
15252
14228
  if (isBody) {
15253
14229
  const frameElement = getFrameElement(win);
15254
14230
  return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
14231
+ } else {
14232
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
15255
14233
  }
15256
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
15257
14234
  }
15258
14235
  function getFrameElement(win) {
15259
14236
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
@@ -15264,9 +14241,9 @@ function getFrameElement(win) {
15264
14241
 
15265
14242
  /***/ },
15266
14243
 
15267
- /***/ "./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"
14244
+ /***/ "./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs"
15268
14245
  /*!*****************************************************************************************************************!*\
15269
- !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.10/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs ***!
14246
+ !*** ./node_modules/.pnpm/@floating-ui+utils@0.2.11/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs ***!
15270
14247
  \*****************************************************************************************************************/
15271
14248
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15272
14249
 
@@ -15320,10 +14297,6 @@ const oppositeSideMap = {
15320
14297
  bottom: 'top',
15321
14298
  top: 'bottom'
15322
14299
  };
15323
- const oppositeAlignmentMap = {
15324
- start: 'end',
15325
- end: 'start'
15326
- };
15327
14300
  function clamp(start, value, end) {
15328
14301
  return max(start, min(value, end));
15329
14302
  }
@@ -15342,9 +14315,9 @@ function getOppositeAxis(axis) {
15342
14315
  function getAxisLength(axis) {
15343
14316
  return axis === 'y' ? 'height' : 'width';
15344
14317
  }
15345
- const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
15346
14318
  function getSideAxis(placement) {
15347
- return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
14319
+ const firstChar = placement[0];
14320
+ return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';
15348
14321
  }
15349
14322
  function getAlignmentAxis(placement) {
15350
14323
  return getOppositeAxis(getSideAxis(placement));
@@ -15367,7 +14340,7 @@ function getExpandedPlacements(placement) {
15367
14340
  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
15368
14341
  }
15369
14342
  function getOppositeAlignmentPlacement(placement) {
15370
- return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
14343
+ return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');
15371
14344
  }
15372
14345
  const lrPlacement = ['left', 'right'];
15373
14346
  const rlPlacement = ['right', 'left'];
@@ -15398,7 +14371,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
15398
14371
  return list;
15399
14372
  }
15400
14373
  function getOppositePlacement(placement) {
15401
- return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
14374
+ const side = getSide(placement);
14375
+ return oppositeSideMap[side] + placement.slice(side.length);
15402
14376
  }
15403
14377
  function expandPaddingObject(padding) {
15404
14378
  return {
@@ -15441,56 +14415,87 @@ function rectToClientRect(rect) {
15441
14415
 
15442
14416
  /***/ },
15443
14417
 
15444
- /***/ "./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs"
14418
+ /***/ "./node_modules/.pnpm/@react-hive+honey-hooks@1.0.0_react@19.2.4/node_modules/@react-hive/honey-hooks/dist/index.mjs"
14419
+ /*!***************************************************************************************************************************!*\
14420
+ !*** ./node_modules/.pnpm/@react-hive+honey-hooks@1.0.0_react@19.2.4/node_modules/@react-hive/honey-hooks/dist/index.mjs ***!
14421
+ \***************************************************************************************************************************/
14422
+ (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
14423
+
14424
+ "use strict";
14425
+ __webpack_require__.r(__webpack_exports__);
14426
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14427
+ /* harmony export */ resolveAxisTranslate: () => (/* binding */ h),
14428
+ /* harmony export */ useHoneyDecay: () => (/* binding */ d),
14429
+ /* harmony export */ useHoneyDocumentKeyUp: () => (/* binding */ v),
14430
+ /* harmony export */ useHoneyDrag: () => (/* binding */ f),
14431
+ /* harmony export */ useHoneyLatest: () => (/* binding */ c),
14432
+ /* harmony export */ useHoneyOnChange: () => (/* binding */ m),
14433
+ /* harmony export */ useHoneyRafLoop: () => (/* binding */ l),
14434
+ /* harmony export */ useHoneyResize: () => (/* binding */ w),
14435
+ /* harmony export */ useHoneySyntheticScroll: () => (/* binding */ g),
14436
+ /* harmony export */ useHoneySyntheticScrollX: () => (/* binding */ b),
14437
+ /* harmony export */ useHoneySyntheticScrollY: () => (/* binding */ E),
14438
+ /* harmony export */ useHoneyTimer: () => (/* binding */ M)
14439
+ /* harmony export */ });
14440
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14441
+ var a={551(t,e,n){var r="Expected a function",a=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,c=/^0o[0-7]+$/i,u=parseInt,s="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,l="object"==typeof self&&self&&self.Object===Object&&self,d=s||l||Function("return this")(),v=Object.prototype.toString,f=Math.max,m=Math.min,p=function(){return d.Date.now()};function y(t){var e=typeof t;return!!t&&("object"==e||"function"==e)}function w(t){if("number"==typeof t)return t;if(function(t){return"symbol"==typeof t||function(t){return!!t&&"object"==typeof t}(t)&&"[object Symbol]"==v.call(t)}(t))return NaN;if(y(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=y(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=t.replace(a,"");var n=i.test(t);return n||c.test(t)?u(t.slice(2),n?2:8):o.test(t)?NaN:+t}t.exports=function(t,e,n){var a=!0,o=!0;if("function"!=typeof t)throw new TypeError(r);return y(n)&&(a="leading"in n?!!n.leading:a,o="trailing"in n?!!n.trailing:o),function(t,e,n){var a,o,i,c,u,s,l=0,d=!1,v=!1,h=!0;if("function"!=typeof t)throw new TypeError(r);function x(e){var n=a,r=o;return a=o=void 0,l=e,c=t.apply(r,n)}function g(t){var n=t-s;return void 0===s||n>=e||n<0||v&&t-l>=i}function b(){var t=p();if(g(t))return E(t);u=setTimeout(b,function(t){var n=e-(t-s);return v?m(n,i-(t-l)):n}(t))}function E(t){return u=void 0,h&&a?x(t):(a=o=void 0,c)}function M(){var t=p(),n=g(t);if(a=arguments,o=this,s=t,n){if(void 0===u)return function(t){return l=t,u=setTimeout(b,e),d?x(t):c}(s);if(v)return u=setTimeout(b,e),x(s)}return void 0===u&&(u=setTimeout(b,e)),c}return e=w(e)||0,y(n)&&(d=!!n.leading,i=(v="maxWait"in n)?f(w(n.maxWait)||0,e):i,h="trailing"in n?!!n.trailing:h),M.cancel=function(){void 0!==u&&clearTimeout(u),l=0,a=s=o=u=void 0},M.flush=function(){return void 0===u?c:E(p())},M}(t,e,{leading:a,maxWait:e,trailing:o})}}},o={};function i(t){var e=o[t];if(void 0!==e)return e.exports;var n=o[t]={exports:{}};return a[t](n,n.exports,i),n.exports}i.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return i.d(e,{a:e}),e},i.d=(t,e)=>{for(var n in e)i.o(e,n)&&!i.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},i.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),i.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);const c=t=>{const e=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);return e.current=t,e},u=t=>Math.max(0,t.scrollHeight-t.clientHeight),s=({delta:t,value:e,min:n,max:r})=>{if(0===t)return null;const a=e+t;return t<0?e<=n?null:Math.max(a,n):t>0?e>=r?null:Math.min(a,r):null},l=(a,{autoStart:o=!1,resumeOnVisibility:i=!1,maxDeltaMs:u=32,onError:s}={})=>{const l=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null),d=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null),v=c(a),[f,m]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(!1),p=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1),y=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{p.current&&(p.current=!1,null!==l.current&&(cancelAnimationFrame(l.current),l.current=null),d.current=null,m(!1))},[]),w=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(t=>{if(!p.current)return;null===d.current&&(d.current=t);let e=t-d.current;d.current=t,e>u&&(e=u);try{v.current(e,{stop:y}),p.current&&(l.current=requestAnimationFrame(w))}catch(t){y(),s?.(t)}},[u,y,s]),h=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{p.current||(d.current=null,p.current=!0,m(!0),l.current=requestAnimationFrame(w))},[w]);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>(o&&h(),y),[o]),(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const t=()=>{document.hidden?y():i&&o&&h()};return document.addEventListener("visibilitychange",t),()=>{document.removeEventListener("visibilitychange",t)}},[o,i,h,y]),{isRunning:f,start:h,stop:y}},d=({initialValue:e,min:a,max:o,friction:i=.002,minVelocityPxMs:u=.01,emaAlpha:d=.2,onStop:v})=>{const[f,m]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(e),p=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(e),y=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0),w=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(!1),h=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(a),x=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(o),g=c(v),b=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((t,e)=>{if(0===t)return;const n=(({value:t,min:e,max:n,velocityPxMs:r,deltaTimeMs:a,friction:o=.002,minVelocityPxMs:i=.01,emaAlpha:c=.2})=>{if(Math.abs(r)<i)return null;const u=s({delta:r*a,value:t,min:e,max:n});if(null===u)return null;const l=r*Math.exp(-o*a),d=c>0?r*(1-c)+l*c:l;return Math.abs(d)<i?null:{value:u,velocityPxMs:d}})({value:p.current,velocityPxMs:y.current,min:h.current,max:x.current,deltaTimeMs:t,friction:i,minVelocityPxMs:u,emaAlpha:d});if(null===n)return y.current=0,w.current&&(w.current=!1,g.current?.()),void e.stop();w.current=!0,p.current=n.value,y.current=n.velocityPxMs,m(n.value)},[i,u,d]),E=l(b),M=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((t,e)=>{h.current=t,x.current=e;const n=p.current;if(n<t||n>e){const r=Math.min(Math.max(n,t),e);p.current=r,y.current=0,m(r),w.current&&(w.current=!1,g.current?.()),E.stop()}},[E.stop]),X=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(t=>{y.current=t,w.current=!0,E.start()},[E.start]),Y=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((t,e)=>{p.current=t,y.current=e,w.current=!0,m(t),E.start()},[E.start]),P=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{w.current&&(w.current=!1,g.current?.()),y.current=0,E.stop()},[E.stop]);return{value:f,isRunning:E.isRunning,setBounds:M,start:X,startFrom:Y,stop:P}},v=(t,n,{enabled:r=!0,preventDefault:a=!0}={})=>{(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(!r)return;const e=e=>{const r=e.code;n.includes(r)&&(a&&e.preventDefault(),t(r,e))};return document.addEventListener("keyup",e),()=>{document.removeEventListener("keyup",e)}},[t,r,a])},f=(t,{skipOnEndDragWhenStopped:n=!1,enabled:r=!0,onMoveDrag:a,onStartDrag:o,onEndDrag:i})=>{(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const e=t.current;if(!r||!e)return;const c=a(e);let u=!1,s=0,l=0,d=0,v=0,f=0,m=0,p=0;const y=async(t,n,r)=>{o&&!await o(e,r)||(f=performance.now(),u=!0,s=t,l=n,d=t,v=n,m=0,p=0)},w=async(t,n)=>{await(async(t,n)=>{if(u&&(u=!1,t&&i)){const t={deltaX:d-s,deltaY:v-l,velocityXPxMs:m,velocityYPxMs:p};await i(t,e,n)}})(t,n),window.removeEventListener("mousemove",g,{capture:!0}),window.removeEventListener("mouseup",h,{capture:!0}),window.removeEventListener("touchmove",b,{capture:!0}),window.removeEventListener("touchend",E,{capture:!0}),window.removeEventListener("touchcancel",M,{capture:!0})},h=async t=>{await w(!0,t)},x=async(t,e,r)=>{if(!u)return;const a=performance.now(),o=a-f,i=t-d,y=e-v;o>0&&(m=i/o,p=y/o);const h=t-s,x=e-l,g=await c({deltaX:i,deltaY:y,distanceX:h,distanceY:x});d=t,v=e,f=a,g||await w(!n,r)},g=async t=>{await x(t.clientX,t.clientY,t)},b=async t=>{const e=t.touches[0];await x(e.clientX,e.clientY,t)},E=async t=>{await w(!0,t)},M=async t=>{await w(!0,t)},X=async t=>{t.stopPropagation();const e=t.touches[0];await y(e.clientX,e.clientY,t),window.addEventListener("touchmove",b,{passive:!0,capture:!0}),window.addEventListener("touchend",E,{capture:!0}),window.addEventListener("touchcancel",M,{capture:!0})},Y=async t=>{t.stopPropagation(),await y(t.clientX,t.clientY,t),window.addEventListener("mousemove",g,{capture:!0}),window.addEventListener("mouseup",h,{capture:!0})};return e.addEventListener("mousedown",Y),e.addEventListener("touchstart",X,{passive:!0}),()=>{e.removeEventListener("mousedown",Y),e.removeEventListener("touchstart",X)}},[r,o,a,i])},m=(t,r)=>{const a=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(t);(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(a.current!==t)return a.current=t,r(t)},[t])};var p=i(551),y=i.n(p);const w=(t,{invokeOnMount:n=!1,throttleTime:r=0,enabled:a=!0}={})=>{(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{if(!a)return;const e=r?y()(t,r):t;return window.addEventListener("resize",e),n&&t(),()=>{"cancel"in e&&"function"==typeof e.cancel&&e.cancel(),window.removeEventListener("resize",e)}},[a,n,t])},h=({delta:t,translate:e,containerSize:n,overflowSize:r,overscrollPct:a})=>{if(r<=0)return null;const o=n*(a/100);return s({delta:t,value:e,min:-(r+o),max:o})},x=({axis:t,container:e,deltaX:n,deltaY:r,overscrollPct:a})=>{const{translateX:o,translateY:i}=(t=>{const e=window.getComputedStyle(t).getPropertyValue("transform").match(/^matrix\((.+)\)$/);if(!e)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,o,i,c]=e[1].split(", ").map(parseFloat);return{translateX:i,translateY:c,scaleX:n,scaleY:o,skewX:a,skewY:r}})(e);let c=o,s=i,l=!1;if("x"===t||"both"===t){const t=h({delta:n,translate:o,containerSize:e.clientWidth,overflowSize:(d=e,Math.max(0,d.scrollWidth-d.clientWidth)),overscrollPct:a});null!==t&&(c=t,l=!0)}var d;if("y"===t||"both"===t){const t=h({delta:r,translate:i,containerSize:e.clientHeight,overflowSize:u(e),overscrollPct:a});null!==t&&(s=t,l=!0)}return l&&(e.style.transform=`translate(${c}px, ${s}px)`),l},g=({axis:r="both",overscrollPct:a=0,onStartDrag:o,onEndDrag:i,scrollMode:c="default",resetOnResize:u=!0,enablePointerScroll:s=!0,enabled:l=!0}={})=>{const d=(0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null),v=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async(...t)=>o?.(...t)??!0,[o]),m=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(t=>async({deltaX:e,deltaY:n})=>x({container:t,deltaX:e,deltaY:n,axis:r,overscrollPct:a}),[r,a]),p=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async(...t)=>{i?.(...t)},[r,a,i]);f(d,{enabled:l,onStartDrag:v,onMoveDrag:m,onEndDrag:p});const y=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{const t=d.current;t&&t.style.removeProperty("transform")},[]);return w(y,{enabled:l&&u}),(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{const t=d.current;if(!l||!t)return;if("default"===c){const e="x"===r?"pan-y":"y"===r?"pan-x":"none";t.style.overscrollBehavior="contain",t.style.touchAction=e}const e=e=>{const{deltaX:n,deltaY:o}=((t,e,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(e){case"x":return{deltaX:a*(0!==t.deltaX?t.deltaX:n?t.deltaY:0),deltaY:0};case"y":return{deltaX:0,deltaY:a*t.deltaY};default:return{deltaX:a*t.deltaX,deltaY:a*t.deltaY}}})({deltaX:e.deltaX,deltaY:e.deltaY},r);x({container:t,deltaX:n,deltaY:o,axis:r,overscrollPct:a})&&e.preventDefault()};return s&&t.addEventListener("wheel",e,{passive:!1}),()=>{"default"===c&&(t.style.removeProperty("overscroll-behavior"),t.style.removeProperty("touch-action")),s&&t.removeEventListener("wheel",e)}},[c,l,s]),d},b=t=>g({...t,axis:"x"}),E=t=>g({...t,axis:"y"}),M=({initialTimeMs:n,targetTimeMs:a=0,mode:o="countdown",autoStart:i=!1,onEnd:u})=>{const[s,d]=(0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(n),v=c(s),f=c(u),m=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((t,e)=>{let n="countdown"===o?v.current-t:v.current+t,r=!1;"countdown"===o?n<=a&&(n=a,r=!0):a>0&&n>=a&&(n=a,r=!0),v.current=n,d(n),r&&(e.stop(),f.current?.())},[o,a]),p=l(m),y=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{v.current=n,d(n),p.start()},[n,p.start]),w=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{p.stop()},[p.stop]),h=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{p.isRunning||p.start()},[p.isRunning,p.start]),x=(0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((t=n)=>{p.stop(),v.current=t,d(t)},[n,p.stop]);return (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{i&&y()},[i]),{timeMs:s,isRunning:p.isRunning,start:y,pause:w,resume:h,reset:x}};
14442
+ //# sourceMappingURL=index.mjs.map
14443
+
14444
+ /***/ },
14445
+
14446
+ /***/ "./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs"
15445
14447
  /*!***************************************************************************************************************!*\
15446
- !*** ./node_modules/.pnpm/@react-hive+honey-utils@3.24.0/node_modules/@react-hive/honey-utils/dist/index.mjs ***!
14448
+ !*** ./node_modules/.pnpm/@react-hive+honey-utils@3.26.0/node_modules/@react-hive/honey-utils/dist/index.mjs ***!
15447
14449
  \***************************************************************************************************************/
15448
14450
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15449
14451
 
15450
14452
  "use strict";
15451
14453
  __webpack_require__.r(__webpack_exports__);
15452
14454
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14455
+ /* harmony export */ DATA_TRANSFER_JSON_MIME: () => (/* binding */ Q),
15453
14456
  /* harmony export */ FOCUSABLE_HTML_TAGS: () => (/* binding */ a),
15454
- /* harmony export */ applyInertiaStep: () => (/* binding */ ye),
14457
+ /* harmony export */ applyInertiaStep: () => (/* binding */ xe),
15455
14458
  /* harmony export */ assert: () => (/* binding */ s),
15456
- /* harmony export */ blobToFile: () => (/* binding */ fe),
15457
- /* harmony export */ calculateCenterOffset: () => (/* binding */ le),
15458
- /* harmony export */ calculateEuclideanDistance: () => (/* binding */ Me),
15459
- /* harmony export */ calculateMovingSpeed: () => (/* binding */ Se),
15460
- /* harmony export */ calculatePercentage: () => (/* binding */ Ae),
15461
- /* harmony export */ camelToDashCase: () => (/* binding */ ke),
15462
- /* harmony export */ camelToWords: () => (/* binding */ Ee),
15463
- /* harmony export */ centerElementInContainer: () => (/* binding */ ie),
14459
+ /* harmony export */ blobToFile: () => (/* binding */ pe),
14460
+ /* harmony export */ calculateCenterOffset: () => (/* binding */ se),
14461
+ /* harmony export */ calculateEuclideanDistance: () => (/* binding */ ve),
14462
+ /* harmony export */ calculateMovingSpeed: () => (/* binding */ Ce),
14463
+ /* harmony export */ calculatePercentage: () => (/* binding */ Ie),
14464
+ /* harmony export */ camelToDashCase: () => (/* binding */ Le),
14465
+ /* harmony export */ camelToWords: () => (/* binding */ Pe),
14466
+ /* harmony export */ centerElementInContainer: () => (/* binding */ ce),
15464
14467
  /* harmony export */ chunk: () => (/* binding */ T),
15465
14468
  /* harmony export */ cloneBlob: () => (/* binding */ e),
15466
- /* harmony export */ compact: () => (/* binding */ P),
15467
- /* harmony export */ compose: () => (/* binding */ Y),
15468
- /* harmony export */ definedProps: () => (/* binding */ Ce),
15469
- /* harmony export */ delay: () => (/* binding */ q),
15470
- /* harmony export */ difference: () => (/* binding */ _),
15471
- /* harmony export */ downloadFile: () => (/* binding */ ee),
14469
+ /* harmony export */ compact: () => (/* binding */ L),
14470
+ /* harmony export */ compose: () => (/* binding */ z),
14471
+ /* harmony export */ definedProps: () => (/* binding */ Ee),
14472
+ /* harmony export */ delay: () => (/* binding */ J),
14473
+ /* harmony export */ difference: () => (/* binding */ $),
14474
+ /* harmony export */ downloadFile: () => (/* binding */ re),
15472
14475
  /* harmony export */ everyAsync: () => (/* binding */ V),
15473
- /* harmony export */ fileListToFiles: () => (/* binding */ he),
15474
- /* harmony export */ filterParallel: () => (/* binding */ B),
15475
- /* harmony export */ filterSequential: () => (/* binding */ H),
14476
+ /* harmony export */ fileListToFiles: () => (/* binding */ me),
14477
+ /* harmony export */ filterParallel: () => (/* binding */ H),
14478
+ /* harmony export */ filterSequential: () => (/* binding */ D),
15476
14479
  /* harmony export */ findAsync: () => (/* binding */ G),
15477
- /* harmony export */ findCharIndices: () => (/* binding */ Te),
15478
- /* harmony export */ flattenTree: () => (/* binding */ Ye),
15479
- /* harmony export */ forEachChar: () => (/* binding */ Xe),
15480
- /* harmony export */ generateEphemeralId: () => (/* binding */ we),
15481
- /* harmony export */ getDOMRectIntersectionRatio: () => (/* binding */ be),
14480
+ /* harmony export */ findCharIndices: () => (/* binding */ _e),
14481
+ /* harmony export */ flattenTree: () => (/* binding */ Fe),
14482
+ /* harmony export */ forEachChar: () => (/* binding */ ze),
14483
+ /* harmony export */ generateEphemeralId: () => (/* binding */ Se),
14484
+ /* harmony export */ getDOMRectIntersectionRatio: () => (/* binding */ Ae),
14485
+ /* harmony export */ getDataTransferJson: () => (/* binding */ te),
15482
14486
  /* harmony export */ getElementOffsetRect: () => (/* binding */ t),
15483
14487
  /* harmony export */ getFocusableHtmlElements: () => (/* binding */ i),
15484
- /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ ce),
14488
+ /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ fe),
15485
14489
  /* harmony export */ getTreeChildren: () => (/* binding */ Re),
15486
- /* harmony export */ getWordsInitials: () => (/* binding */ _e),
15487
- /* harmony export */ getXOverflowWidth: () => (/* binding */ ne),
15488
- /* harmony export */ getYOverflowHeight: () => (/* binding */ ae),
15489
- /* harmony export */ hasXOverflow: () => (/* binding */ te),
15490
- /* harmony export */ hasYOverflow: () => (/* binding */ re),
15491
- /* harmony export */ hashString: () => (/* binding */ ve),
14490
+ /* harmony export */ getWordsInitials: () => (/* binding */ Ne),
14491
+ /* harmony export */ getXOverflowWidth: () => (/* binding */ le),
14492
+ /* harmony export */ getYOverflowHeight: () => (/* binding */ oe),
14493
+ /* harmony export */ hasXOverflow: () => (/* binding */ ae),
14494
+ /* harmony export */ hasYOverflow: () => (/* binding */ ie),
14495
+ /* harmony export */ hashString: () => (/* binding */ ke),
14496
+ /* harmony export */ hexWithAlpha: () => (/* binding */ Ue),
15492
14497
  /* harmony export */ intersection: () => (/* binding */ X),
15493
- /* harmony export */ invokeIfFunction: () => (/* binding */ pe),
14498
+ /* harmony export */ invokeIfFunction: () => (/* binding */ we),
15494
14499
  /* harmony export */ isAnchorHtmlElement: () => (/* binding */ n),
15495
14500
  /* harmony export */ isArray: () => (/* binding */ E),
15496
14501
  /* harmony export */ isBlob: () => (/* binding */ w),
@@ -15499,52 +14504,53 @@ __webpack_require__.r(__webpack_exports__);
15499
14504
  /* harmony export */ isDate: () => (/* binding */ y),
15500
14505
  /* harmony export */ isDecimal: () => (/* binding */ k),
15501
14506
  /* harmony export */ isDefined: () => (/* binding */ h),
15502
- /* harmony export */ isEmptyArray: () => (/* binding */ L),
14507
+ /* harmony export */ isEmptyArray: () => (/* binding */ O),
15503
14508
  /* harmony export */ isEmptyObject: () => (/* binding */ g),
15504
14509
  /* harmony export */ isError: () => (/* binding */ b),
15505
- /* harmony export */ isFile: () => (/* binding */ ue),
14510
+ /* harmony export */ isFile: () => (/* binding */ de),
15506
14511
  /* harmony export */ isFiniteNumber: () => (/* binding */ C),
15507
- /* harmony export */ isFunction: () => (/* binding */ N),
14512
+ /* harmony export */ isFunction: () => (/* binding */ Y),
15508
14513
  /* harmony export */ isHtmlElementFocusable: () => (/* binding */ l),
15509
14514
  /* harmony export */ isInteger: () => (/* binding */ I),
15510
- /* harmony export */ isLocalStorageReadable: () => (/* binding */ se),
15511
- /* harmony export */ isMap: () => (/* binding */ S),
14515
+ /* harmony export */ isLocalStorageReadable: () => (/* binding */ he),
14516
+ /* harmony export */ isMap: () => (/* binding */ A),
15512
14517
  /* harmony export */ isNil: () => (/* binding */ u),
15513
- /* harmony export */ isNilOrEmptyString: () => (/* binding */ Pe),
14518
+ /* harmony export */ isNilOrEmptyString: () => (/* binding */ Xe),
15514
14519
  /* harmony export */ isNull: () => (/* binding */ c),
15515
14520
  /* harmony export */ isNumber: () => (/* binding */ d),
15516
14521
  /* harmony export */ isObject: () => (/* binding */ p),
15517
- /* harmony export */ isPromise: () => (/* binding */ F),
15518
- /* harmony export */ isRegExp: () => (/* binding */ M),
15519
- /* harmony export */ isSet: () => (/* binding */ A),
15520
- /* harmony export */ isString: () => (/* binding */ Q),
14522
+ /* harmony export */ isPromise: () => (/* binding */ j),
14523
+ /* harmony export */ isRegExp: () => (/* binding */ S),
14524
+ /* harmony export */ isSet: () => (/* binding */ M),
14525
+ /* harmony export */ isString: () => (/* binding */ ne),
15521
14526
  /* harmony export */ isSymbol: () => (/* binding */ v),
15522
14527
  /* harmony export */ isUndefined: () => (/* binding */ f),
15523
14528
  /* harmony export */ isValidDate: () => (/* binding */ x),
15524
14529
  /* harmony export */ moveFocusWithinContainer: () => (/* binding */ o),
15525
- /* harmony export */ noop: () => (/* binding */ R),
15526
- /* harmony export */ not: () => (/* binding */ $),
15527
- /* harmony export */ once: () => (/* binding */ j),
15528
- /* harmony export */ parse2DMatrix: () => (/* binding */ oe),
15529
- /* harmony export */ parseFileName: () => (/* binding */ Oe),
15530
- /* harmony export */ pipe: () => (/* binding */ z),
15531
- /* harmony export */ readFilesFromDataTransfer: () => (/* binding */ me),
14530
+ /* harmony export */ noop: () => (/* binding */ N),
14531
+ /* harmony export */ not: () => (/* binding */ F),
14532
+ /* harmony export */ once: () => (/* binding */ R),
14533
+ /* harmony export */ parse2DMatrix: () => (/* binding */ ue),
14534
+ /* harmony export */ parseFileName: () => (/* binding */ $e),
14535
+ /* harmony export */ pipe: () => (/* binding */ _),
14536
+ /* harmony export */ readFilesFromDataTransfer: () => (/* binding */ ye),
15532
14537
  /* harmony export */ reduceAsync: () => (/* binding */ Z),
15533
- /* harmony export */ resolveAxisDelta: () => (/* binding */ xe),
15534
- /* harmony export */ resolveBoundedDelta: () => (/* binding */ ge),
14538
+ /* harmony export */ resolveAxisDelta: () => (/* binding */ Me),
14539
+ /* harmony export */ resolveBoundedDelta: () => (/* binding */ be),
15535
14540
  /* harmony export */ retry: () => (/* binding */ K),
15536
14541
  /* harmony export */ runParallel: () => (/* binding */ W),
15537
14542
  /* harmony export */ runSequential: () => (/* binding */ U),
15538
- /* harmony export */ searchTree: () => (/* binding */ Ne),
15539
- /* harmony export */ someAsync: () => (/* binding */ D),
15540
- /* harmony export */ splitMapJoin: () => (/* binding */ ze),
15541
- /* harmony export */ splitStringIntoWords: () => (/* binding */ Le),
15542
- /* harmony export */ timeout: () => (/* binding */ J),
15543
- /* harmony export */ toKebabCase: () => (/* binding */ Ie),
15544
- /* harmony export */ traverseFileSystemDirectory: () => (/* binding */ de),
15545
- /* harmony export */ unique: () => (/* binding */ O)
14543
+ /* harmony export */ searchTree: () => (/* binding */ je),
14544
+ /* harmony export */ setDataTransferJson: () => (/* binding */ ee),
14545
+ /* harmony export */ someAsync: () => (/* binding */ B),
14546
+ /* harmony export */ splitMapJoin: () => (/* binding */ Ye),
14547
+ /* harmony export */ splitStringIntoWords: () => (/* binding */ Te),
14548
+ /* harmony export */ timeout: () => (/* binding */ q),
14549
+ /* harmony export */ toKebabCase: () => (/* binding */ Oe),
14550
+ /* harmony export */ traverseFileSystemDirectory: () => (/* binding */ ge),
14551
+ /* harmony export */ unique: () => (/* binding */ P)
15546
14552
  /* harmony export */ });
15547
- const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),n=e=>"A"===e.tagName,r=e=>"true"===e.getAttribute("contenteditable"),a=["INPUT","SELECT","TEXTAREA","BUTTON","A"],l=e=>{if(!e)return!1;const t=window.getComputedStyle(e);if("hidden"===t.visibility||"none"===t.display)return!1;if("disabled"in e&&e.disabled)return!1;const l=e.getAttribute("tabindex");return"-1"!==l&&(a.includes(e.tagName)?!n(e)||""!==e.href:!!r(e)||null!==l)},i=e=>Array.from(e.querySelectorAll("*")).filter(l),o=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,e,o):"next"===e?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()};function s(e,t){if(!e)throw new Error(t)}const c=e=>null===e,u=e=>null==e,h=e=>null!=e,f=e=>void 0===e,d=e=>"number"==typeof e,m=e=>"boolean"==typeof e,p=e=>"object"==typeof e,g=e=>p(e)&&!c(e)&&0===Object.keys(e).length,y=e=>e instanceof Date,w=e=>e instanceof Blob,b=e=>e instanceof Error,x=e=>y(e)&&!isNaN(e.getTime()),M=e=>e instanceof RegExp,S=e=>e instanceof Map,A=e=>e instanceof Set,v=e=>"symbol"==typeof e,C=e=>d(e)&&isFinite(e),I=e=>d(e)&&Number.isInteger(e),k=e=>C(e)&&!Number.isInteger(e),E=e=>Array.isArray(e),L=e=>E(e)&&0===e.length,P=e=>e.filter(Boolean),O=e=>[...new Set(e)],T=(e,t)=>(s(t>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))),X=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return O(t).filter(e=>n.every(t=>t.includes(e)))},_=(e,t)=>e.filter(e=>!t.includes(e)),z=(...e)=>t=>e.reduce((e,t)=>t(e),t),Y=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),R=()=>{},N=e=>"function"==typeof e,$=e=>(...t)=>!e(...t),j=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},F=e=>N(e?.then),U=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},W=async(e,t)=>Promise.all(e.map(t)),H=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const a=e[r];await t(a,r,e)&&n.push(a)}return n},B=async(e,t)=>{const n=await W(e,async(e,n,r)=>!!await t(e,n,r)&&e);return P(n)},D=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return!0;return!1},V=async(e,t)=>{for(let n=0;n<e.length;n++)if(!await t(e[n],n,e))return!1;return!0},Z=async(e,t,n)=>{let r=n;for(let n=0;n<e.length;n++)r=await t(r,e[n],n,e);return r},G=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},q=e=>new Promise(t=>setTimeout(t,e)),J=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,q(t).then(()=>Promise.reject(new Error(n)))])}finally{}},K=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=t;o++)try{return await e(...l)}catch(e){if(i=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await q(t)}}throw i},Q=e=>"string"==typeof e,ee=(e,{fileName:t,target:n}={})=>{if(f(document))return;const r=document.createElement("a");let a=null;try{const l=Q(e)?e:a=URL.createObjectURL(e);r.href=l,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{s(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},te=e=>e.scrollWidth>e.clientWidth,ne=e=>Math.max(0,e.scrollWidth-e.clientWidth),re=e=>e.scrollHeight>e.clientHeight,ae=e=>Math.max(0,e.scrollHeight-e.clientHeight),le=({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))},ie=(e,t,{axis:n="both"}={})=>{let r=0,a=0;"x"!==n&&"both"!==n||(r=le({overflowSize:ne(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(a=le({overflowSize:ae(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${a}px)`},oe=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}},se=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},ce=()=>{if(!se())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}},ue=e=>e instanceof File,he=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},fe=(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 n=new Set(t),r=await(async e=>{const t=e.createReader(),n=async()=>new Promise((e,r)=>{t.readEntries(async t=>{if(t.length)try{const r=await n();e([...t,...r])}catch(e){r(e)}else e([])},r)});return n()})(e);return(await W(r,async e=>e.isDirectory?de(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},me=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(de(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()},pe=(e,...t)=>"function"==typeof e?e(...t):e,ge=({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},ye=({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=ge({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}},we=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,be=(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 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}}},Me=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},Se=(e,t)=>Math.abs(e/t),Ae=(e,t)=>e*t/100,ve=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),{}),Ie=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),ke=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Ee=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Le=e=>0===e.length?[]:e.split(" ").filter(Boolean),Pe=e=>""===e||u(e),Oe=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},Te=(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},Xe=(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)}},_e=(e,t=1/0)=>0===e.length?"":Le(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),ze=(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),Re=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),Ne=(e,t,n,r)=>{const a=Le(r.toLowerCase());if(!a.length)return e;const l=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(e=>e[t]===i[t]))return r;const u=Le(o.toLowerCase());if(a.every(e=>u.some(t=>t.startsWith(e))))if(f(i.parentId)){r.push(i);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(i)}else{const t=n=>{const a=l[n.parentId],i=e[a];f(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(c(o)||o!==n.parentId)&&(s(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])};
14553
+ const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop,e.clientWidth,e.clientHeight),n=e=>"A"===e.tagName,r=e=>"true"===e.getAttribute("contenteditable"),a=["INPUT","SELECT","TEXTAREA","BUTTON","A"],l=e=>{if(!e)return!1;const t=window.getComputedStyle(e);if("hidden"===t.visibility||"none"===t.display)return!1;if("disabled"in e&&e.disabled)return!1;const l=e.getAttribute("tabindex");return"-1"!==l&&(a.includes(e.tagName)?!n(e)||""!==e.href:!!r(e)||null!==l)},i=e=>Array.from(e.querySelectorAll("*")).filter(l),o=(e,t=null,{wrap:n=!0,getNextIndex:r}={})=>{const a=document.activeElement,l=t??a?.parentElement;if(!a||!l)return;const o=i(l);if(0===o.length)return;const s=o.indexOf(a);if(-1===s)return;let c;r?c=r(s,e,o):"next"===e?(c=s+1,c>=o.length&&(c=n?0:null)):(c=s-1,c<0&&(c=n?o.length-1:null)),null!==c&&o[c]?.focus()};function s(e,t){if(!e)throw new Error(t)}const c=e=>null===e,u=e=>null==e,h=e=>null!=e,f=e=>void 0===e,d=e=>"number"==typeof e,m=e=>"boolean"==typeof e,p=e=>"object"==typeof e,g=e=>p(e)&&!c(e)&&0===Object.keys(e).length,y=e=>e instanceof Date,w=e=>e instanceof Blob,b=e=>e instanceof Error,x=e=>y(e)&&!isNaN(e.getTime()),S=e=>e instanceof RegExp,A=e=>e instanceof Map,M=e=>e instanceof Set,v=e=>"symbol"==typeof e,C=e=>d(e)&&isFinite(e),I=e=>d(e)&&Number.isInteger(e),k=e=>C(e)&&!Number.isInteger(e),E=e=>Array.isArray(e),O=e=>E(e)&&0===e.length,L=e=>e.filter(Boolean),P=e=>[...new Set(e)],T=(e,t)=>(s(t>0,"Chunk size must be greater than 0"),Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))),X=(...e)=>{if(0===e.length)return[];if(1===e.length)return[...e[0]];const[t,...n]=e;return P(t).filter(e=>n.every(t=>t.includes(e)))},$=(e,t)=>e.filter(e=>!t.includes(e)),_=(...e)=>t=>e.reduce((e,t)=>t(e),t),z=(...e)=>t=>e.reduceRight((e,t)=>t(e),t),N=()=>{},Y=e=>"function"==typeof e,F=e=>(...t)=>!e(...t),R=e=>{let t,n=!1;return function(...r){return n||(n=!0,t=e.apply(this,r)),t}},j=e=>Y(e?.then),U=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++)n.push(await t(e[r],r,e));return n},W=async(e,t)=>Promise.all(e.map(t)),D=async(e,t)=>{const n=[];for(let r=0;r<e.length;r++){const a=e[r];await t(a,r,e)&&n.push(a)}return n},H=async(e,t)=>{const n=await W(e,async(e,n,r)=>!!await t(e,n,r)&&e);return L(n)},B=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return!0;return!1},V=async(e,t)=>{for(let n=0;n<e.length;n++)if(!await t(e[n],n,e))return!1;return!0},Z=async(e,t,n)=>{let r=n;for(let n=0;n<e.length;n++)r=await t(r,e[n],n,e);return r},G=async(e,t)=>{for(let n=0;n<e.length;n++)if(await t(e[n],n,e))return e[n];return null},J=e=>new Promise(t=>setTimeout(t,e)),q=async(e,t,n="Operation timed out")=>{try{return await Promise.race([e,J(t).then(()=>Promise.reject(new Error(n)))])}finally{}},K=(e,{maxAttempts:t=3,delayMs:n=300,backoff:r=!0,onRetry:a}={})=>async(...l)=>{let i;for(let o=1;o<=t;o++)try{return await e(...l)}catch(e){if(i=e,o<t){a?.(o,e);const t=r?n*2**(o-1):n;await J(t)}}throw i},Q="application/json",ee=(e,t)=>{e.setData(Q,JSON.stringify(t))},te=e=>{const t=e.getData(Q);if(t)try{return JSON.parse(t)}catch{return}},ne=e=>"string"==typeof e,re=(e,{fileName:t,target:n}={})=>{if(f(document))return;const r=document.createElement("a");let a=null;try{const l=ne(e)?e:a=URL.createObjectURL(e);r.href=l,t&&(r.download=t),n&&(r.target=n),document.body.appendChild(r),r.click()}finally{r.remove(),a&&setTimeout(()=>{s(a,"Object URL should not be null"),URL.revokeObjectURL(a)},0)}},ae=e=>e.scrollWidth>e.clientWidth,le=e=>Math.max(0,e.scrollWidth-e.clientWidth),ie=e=>e.scrollHeight>e.clientHeight,oe=e=>Math.max(0,e.scrollHeight-e.clientHeight),se=({overflowSize:e,containerSize:t,elementOffset:n,elementSize:r})=>{if(e<=0)return 0;const a=n+r/2-t/2;return-Math.max(0,Math.min(a,e))},ce=(e,t,{axis:n="both"}={})=>{let r=0,a=0;"x"!==n&&"both"!==n||(r=se({overflowSize:le(e),containerSize:e.clientWidth,elementOffset:t.offsetLeft,elementSize:t.clientWidth})),"y"!==n&&"both"!==n||(a=se({overflowSize:oe(e),containerSize:e.clientHeight,elementOffset:t.offsetTop,elementSize:t.clientHeight})),e.style.transform=`translate(${r}px, ${a}px)`},ue=e=>{const t=window.getComputedStyle(e).getPropertyValue("transform").match(/^matrix\((.+)\)$/);if(!t)return{translateX:0,translateY:0,scaleX:1,scaleY:1,skewX:0,skewY:0};const[n,r,a,l,i,o]=t[1].split(", ").map(parseFloat);return{translateX:i,translateY:o,scaleX:n,scaleY:l,skewX:a,skewY:r}},he=()=>{if("undefined"==typeof window||!window.localStorage)return!1;try{return window.localStorage.getItem("__non_existing_key__"),!0}catch{return!1}},fe=()=>{if(!he())return{readable:!1,writable:!1};try{const e="__test_write__";return window.localStorage.setItem(e,"1"),window.localStorage.removeItem(e),{readable:!0,writable:!0}}catch{}return{readable:!0,writable:!1}},de=e=>e instanceof File,me=e=>{if(!e)return[];const t=[];for(let n=0;n<e.length;n++)t.push(e[n]);return t},pe=(e,t)=>new File([e],t,{type:e.type}),ge=async(e,{skipFiles:t=[".DS_Store","Thumbs.db","desktop.ini","ehthumbs.db",".Spotlight-V100",".Trashes",".fseventsd","__MACOSX"]}={})=>{const n=new Set(t),r=await(async e=>{const t=e.createReader(),n=async()=>new Promise((e,r)=>{t.readEntries(async t=>{if(t.length)try{const r=await n();e([...t,...r])}catch(e){r(e)}else e([])},r)});return n()})(e);return(await W(r,async e=>e.isDirectory?ge(e,{skipFiles:t}):n.has(e.name)?[]:[await new Promise((t,n)=>{e.file(t,n)})])).flat()},ye=async(e,t={})=>{const n=e?.items;if(!n)return[];const r=[];for(let e=0;e<n.length;e++){const a=n[e];if("webkitGetAsEntry"in a){const e=a.webkitGetAsEntry?.();if(e?.isDirectory){r.push(ge(e,t));continue}if(e?.isFile){r.push(new Promise((t,n)=>e.file(e=>t([e]),n)));continue}}const l=a.getAsFile();l&&r.push(Promise.resolve([l]))}return(await Promise.all(r)).flat()},we=(e,...t)=>"function"==typeof e?e(...t):e,be=({delta:e,value:t,min:n,max:r})=>{if(0===e)return null;const a=t+e;return e<0?t<=n?null:Math.max(a,n):e>0?t>=r?null:Math.min(a,r):null},xe=({value:e,min:t,max:n,velocityPxMs:r,deltaTimeMs:a,friction:l=.002,minVelocityPxMs:i=.01,emaAlpha:o=.2})=>{if(Math.abs(r)<i)return null;const s=be({delta:r*a,value:e,min:t,max:n});if(null===s)return null;const c=r*Math.exp(-l*a),u=o>0?r*(1-o)+c*o:c;return Math.abs(u)<i?null:{value:s,velocityPxMs:u}},Se=()=>`${Math.floor(1e3*performance.now()).toString(36)}${Math.random().toString(36).slice(2,10)}`,Ae=(e,t)=>Math.max(0,Math.min(e.right,t.right)-Math.max(e.left,t.left))*Math.max(0,Math.min(e.bottom,t.bottom)-Math.max(e.top,t.top))/(t.width*t.height),Me=(e,t,{allowFallback:n=!0,invert:r=!0}={})=>{const a=r?-1:1;switch(t){case"x":return{deltaX:a*(0!==e.deltaX?e.deltaX:n?e.deltaY:0),deltaY:0};case"y":return{deltaX:0,deltaY:a*e.deltaY};default:return{deltaX:a*e.deltaX,deltaY:a*e.deltaY}}},ve=(e,t,n,r)=>{const a=n-e,l=r-t;return Math.hypot(a,l)},Ce=(e,t)=>Math.abs(e/t),Ie=(e,t)=>e*t/100,ke=e=>{let t=5381;for(let n=0;n<e.length;n++)t=33*t^e.charCodeAt(n);return(t>>>0).toString(36)},Ee=e=>Object.entries(e).reduce((e,[t,n])=>(void 0!==n&&(e[t]=n),e),{}),Oe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),Le=e=>{const t=e.charAt(0),n=e.slice(1);return t.toLowerCase()+n.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)},Pe=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1 $2"),Te=e=>0===e.length?[]:e.split(" ").filter(Boolean),Xe=e=>""===e||u(e),$e=e=>{const t=e.lastIndexOf(".");return t<=0||t===e.length-1?[e,""]:[e.slice(0,t),e.slice(t+1).toLowerCase()]},_e=(e,t)=>{if(0===e.length)return[];const n=t.charCodeAt(0),r=[];for(let t=0;t<e.length;t++)e.charCodeAt(t)===n&&r.push(t);return r},ze=(e,t,n)=>{if(0===e.length)return;const r=e.length;for(let a=0;a<r;a++){const l=e[a],i={charIndex:a,prevChar:a>0?e[a-1]:null,nextChar:a<r-1?e[a+1]:null};n?.(l,i)||t(l,i)}},Ne=(e,t=1/0)=>0===e.length?"":Te(e).slice(0,t).map(e=>e[0]).join("").toUpperCase(),Ye=(e,t,n,r=t)=>e.split(t).map((e,t)=>n(e.trim(),t)).join(r),Fe=(e,t,n,r=[],a=void 0,l=0)=>(e?.forEach(e=>{const{[n]:i,...o}=e,s=e[n],c=Array.isArray(s);if(r.push({...o,parentId:a,depthLevel:l,childCount:c?s.length:0}),c){const a=e[t];Fe(s,t,n,r,a,l+1)}}),r),Re=(e,t,n)=>e.filter(e=>e.parentId===t&&(!n||n(e))),je=(e,t,n,r)=>{const a=Te(r.toLowerCase());if(!a.length)return e;const l=e.reduce((e,n,r)=>(e[n[t]]=r,e),{});return e.reduce((r,i)=>{const o=i[n];if(!o)return r;if(r.some(e=>e[t]===i[t]))return r;const u=Te(o.toLowerCase());if(a.every(e=>u.some(t=>t.startsWith(e))))if(f(i.parentId)){r.push(i);const n=a=>{a.childCount&&e.forEach(e=>{e.parentId===a[t]&&(r.push(e),n(e))})};n(i)}else{const t=n=>{const a=l[n.parentId],i=e[a];f(i.parentId)||t(i);const o=r.length?r[r.length-1].parentId:null;(c(o)||o!==n.parentId)&&(s(i,"[@react-hive/honey-utils]: Parent node was not found."),r.push(i))};t(i),r.push(i)}return r},[])},Ue=(e,t)=>{s(t>=0&&t<=1,`[@react-hive/honey-utils]: Alpha "${t}" must be a number between 0 and 1.`);const n=e.match(/^#?([0-9A-Fa-f]{3}|[0-9A-Fa-f]{6})$/);s(n,`[@react-hive/honey-utils]: Invalid hex format: ${e}`);const r=n[1];return`#${(3===r.length?r[0]+r[0]+r[1]+r[1]+r[2]+r[2]:r)+Math.round(255*t).toString(16).toUpperCase().padStart(2,"0")}`};
15548
14554
  //# sourceMappingURL=index.mjs.map
15549
14555
 
15550
14556
  /***/ }
@@ -15561,12 +14567,6 @@ const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop
15561
14567
  /******/ if (cachedModule !== undefined) {
15562
14568
  /******/ return cachedModule.exports;
15563
14569
  /******/ }
15564
- /******/ // Check if module exists (development only)
15565
- /******/ if (__webpack_modules__[moduleId] === undefined) {
15566
- /******/ var e = new Error("Cannot find module '" + moduleId + "'");
15567
- /******/ e.code = 'MODULE_NOT_FOUND';
15568
- /******/ throw e;
15569
- /******/ }
15570
14570
  /******/ // Create a new module (and put it into the cache)
15571
14571
  /******/ var module = __webpack_module_cache__[moduleId] = {
15572
14572
  /******/ id: moduleId,
@@ -15575,6 +14575,12 @@ const e=e=>new Blob([e],{type:e.type}),t=e=>new DOMRect(e.offsetLeft,e.offsetTop
15575
14575
  /******/ };
15576
14576
  /******/
15577
14577
  /******/ // Execute the module function
14578
+ /******/ if (!(moduleId in __webpack_modules__)) {
14579
+ /******/ delete __webpack_module_cache__[moduleId];
14580
+ /******/ var e = new Error("Cannot find module '" + moduleId + "'");
14581
+ /******/ e.code = 'MODULE_NOT_FOUND';
14582
+ /******/ throw e;
14583
+ /******/ }
15578
14584
  /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15579
14585
  /******/
15580
14586
  /******/ // Flag the module as loaded
@@ -15708,27 +14714,15 @@ __webpack_require__.r(__webpack_exports__);
15708
14714
  /* harmony export */ getHoneyListItemId: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.getHoneyListItemId),
15709
14715
  /* harmony export */ honeyVisibilityTransitionEffect: () => (/* reexport safe */ _effects__WEBPACK_IMPORTED_MODULE_8__.honeyVisibilityTransitionEffect),
15710
14716
  /* harmony export */ mergeRefs: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.mergeRefs),
15711
- /* harmony export */ resolveAxisTranslate: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.resolveAxisTranslate),
15712
14717
  /* harmony export */ resolveScreenState: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.resolveScreenState),
15713
14718
  /* harmony export */ resolveSpacing: () => (/* binding */ resolveSpacing),
15714
- /* harmony export */ useHoneyDecay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDecay),
15715
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDocumentKeyUp),
15716
- /* harmony export */ useHoneyDrag: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDrag),
15717
14719
  /* harmony export */ useHoneyGridContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyGridContext),
15718
- /* harmony export */ useHoneyLatest: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyLatest),
15719
14720
  /* harmony export */ useHoneyLayerRegistryContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyLayerRegistryContext),
15720
14721
  /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyLayout),
15721
14722
  /* harmony export */ useHoneyMediaQuery: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyMediaQuery),
15722
- /* harmony export */ useHoneyOnChange: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOnChange),
15723
14723
  /* harmony export */ useHoneyOverlay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOverlay),
15724
14724
  /* harmony export */ useHoneyPopup: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyPopup),
15725
14725
  /* harmony export */ useHoneyPopupContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyPopupContext),
15726
- /* harmony export */ useHoneyRafLoop: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyRafLoop),
15727
- /* harmony export */ useHoneyResize: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyResize),
15728
- /* harmony export */ useHoneySyntheticScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScroll),
15729
- /* harmony export */ useHoneySyntheticScrollX: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScrollX),
15730
- /* harmony export */ useHoneySyntheticScrollY: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScrollY),
15731
- /* harmony export */ useHoneyTimer: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyTimer),
15732
14726
  /* harmony export */ useRegisterHoneyOverlay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useRegisterHoneyOverlay),
15733
14727
  /* harmony export */ warnOnce: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.warnOnce)
15734
14728
  /* harmony export */ });