@react-hive/honey-layout 15.0.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
 
@@ -5805,7 +5807,7 @@ __webpack_require__.r(__webpack_exports__);
5805
5807
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5806
5808
  /* harmony export */ mergeRefs: () => (/* binding */ mergeRefs)
5807
5809
  /* harmony export */ });
5808
- /* 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");
5809
5811
 
5810
5812
  /**
5811
5813
  * Merges multiple refs into a single ref callback.
@@ -5815,1178 +5817,146 @@ __webpack_require__.r(__webpack_exports__);
5815
5817
  *
5816
5818
  * @returns A single ref callback that assigns the element to all provided refs.
5817
5819
  */
5818
- const mergeRefs = (...refs) => value => {
5819
- refs.forEach(ref => {
5820
- if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(ref)) {
5821
- ref(value);
5822
- }
5823
- else if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isObject)(ref)) {
5824
- ref.current = value;
5825
- }
5826
- });
5827
- };
5828
-
5829
-
5830
- /***/ },
5831
-
5832
- /***/ "./src/hooks/index.ts"
5833
- /*!****************************!*\
5834
- !*** ./src/hooks/index.ts ***!
5835
- \****************************/
5836
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5837
-
5838
- "use strict";
5839
- __webpack_require__.r(__webpack_exports__);
5840
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5841
- /* harmony export */ resolveAxisTranslate: () => (/* reexport safe */ _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__.resolveAxisTranslate),
5842
- /* harmony export */ useHoneyDecay: () => (/* reexport safe */ _use_honey_decay__WEBPACK_IMPORTED_MODULE_13__.useHoneyDecay),
5843
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* reexport safe */ _use_honey_document_key_up__WEBPACK_IMPORTED_MODULE_3__.useHoneyDocumentKeyUp),
5844
- /* harmony export */ useHoneyDrag: () => (/* reexport safe */ _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag),
5845
- /* harmony export */ useHoneyLatest: () => (/* reexport safe */ _use_honey_latest__WEBPACK_IMPORTED_MODULE_14__.useHoneyLatest),
5846
- /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _use_honey_layout__WEBPACK_IMPORTED_MODULE_4__.useHoneyLayout),
5847
- /* harmony export */ useHoneyMediaQuery: () => (/* reexport safe */ _use_honey_media_query__WEBPACK_IMPORTED_MODULE_1__.useHoneyMediaQuery),
5848
- /* harmony export */ useHoneyOnChange: () => (/* reexport safe */ _use_honey_on_change__WEBPACK_IMPORTED_MODULE_0__.useHoneyOnChange),
5849
- /* harmony export */ useHoneyOverlay: () => (/* reexport safe */ _use_honey_overlay__WEBPACK_IMPORTED_MODULE_6__.useHoneyOverlay),
5850
- /* harmony export */ useHoneyRafLoop: () => (/* reexport safe */ _use_honey_raf_loop__WEBPACK_IMPORTED_MODULE_11__.useHoneyRafLoop),
5851
- /* harmony export */ useHoneyResize: () => (/* reexport safe */ _use_honey_resize__WEBPACK_IMPORTED_MODULE_7__.useHoneyResize),
5852
- /* harmony export */ useHoneySyntheticScroll: () => (/* reexport safe */ _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__.useHoneySyntheticScroll),
5853
- /* harmony export */ useHoneySyntheticScrollX: () => (/* reexport safe */ _use_honey_synthetic_scroll_x__WEBPACK_IMPORTED_MODULE_9__.useHoneySyntheticScrollX),
5854
- /* harmony export */ useHoneySyntheticScrollY: () => (/* reexport safe */ _use_honey_synthetic_scroll_y__WEBPACK_IMPORTED_MODULE_10__.useHoneySyntheticScrollY),
5855
- /* harmony export */ useHoneyTimer: () => (/* reexport safe */ _use_honey_timer__WEBPACK_IMPORTED_MODULE_12__.useHoneyTimer),
5856
- /* harmony export */ useRegisterHoneyOverlay: () => (/* reexport safe */ _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_5__.useRegisterHoneyOverlay)
5857
- /* harmony export */ });
5858
- /* harmony import */ var _use_honey_on_change__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./use-honey-on-change */ "./src/hooks/use-honey-on-change.ts");
5859
- /* harmony import */ var _use_honey_media_query__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./use-honey-media-query */ "./src/hooks/use-honey-media-query.ts");
5860
- /* harmony import */ var _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-honey-drag */ "./src/hooks/use-honey-drag.ts");
5861
- /* 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");
5862
- /* harmony import */ var _use_honey_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./use-honey-layout */ "./src/hooks/use-honey-layout.ts");
5863
- /* harmony import */ var _use_register_honey_overlay__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./use-register-honey-overlay */ "./src/hooks/use-register-honey-overlay.ts");
5864
- /* harmony import */ var _use_honey_overlay__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./use-honey-overlay */ "./src/hooks/use-honey-overlay.ts");
5865
- /* harmony import */ var _use_honey_resize__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./use-honey-resize */ "./src/hooks/use-honey-resize.ts");
5866
- /* harmony import */ var _use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./use-honey-synthetic-scroll */ "./src/hooks/use-honey-synthetic-scroll.ts");
5867
- /* 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");
5868
- /* 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");
5869
- /* harmony import */ var _use_honey_raf_loop__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./use-honey-raf-loop */ "./src/hooks/use-honey-raf-loop.ts");
5870
- /* harmony import */ var _use_honey_timer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./use-honey-timer */ "./src/hooks/use-honey-timer.ts");
5871
- /* harmony import */ var _use_honey_decay__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./use-honey-decay */ "./src/hooks/use-honey-decay.ts");
5872
- /* harmony import */ var _use_honey_latest__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./use-honey-latest */ "./src/hooks/use-honey-latest.ts");
5873
-
5874
-
5875
-
5876
-
5877
-
5878
-
5879
-
5880
-
5881
-
5882
-
5883
-
5884
-
5885
-
5886
-
5887
-
5888
-
5889
-
5890
- /***/ },
5891
-
5892
- /***/ "./src/hooks/use-honey-decay.ts"
5893
- /*!**************************************!*\
5894
- !*** ./src/hooks/use-honey-decay.ts ***!
5895
- \**************************************/
5896
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
5897
-
5898
- "use strict";
5899
- __webpack_require__.r(__webpack_exports__);
5900
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
5901
- /* harmony export */ useHoneyDecay: () => (/* binding */ useHoneyDecay)
5902
- /* harmony export */ });
5903
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
5904
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
5905
- /* 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");
5906
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
5907
-
5908
-
5909
-
5910
- /**
5911
- * A bounded, velocity-based inertia (decay) hook built on top
5912
- * of {@link useHoneyRafLoop} and {@link applyInertiaStep}.
5913
- *
5914
- * This hook models **momentum-driven motion** where:
5915
- * - Motion starts with an initial velocity
5916
- * - Velocity decays exponentially over time
5917
- * - Movement is constrained by hard numeric bounds
5918
- * - Inertia stops naturally when velocity becomes negligible
5919
- *
5920
- * Unlike spring-based motion, this hook has **no target value**.
5921
- * Motion continues purely based on momentum until it decays
5922
- * or is blocked by a boundary.
5923
- *
5924
- * ---
5925
- *
5926
- * ### Key characteristics
5927
- * - Frame-rate independent (delta-time based)
5928
- * - Deterministic and interruptible
5929
- * - Direction-aware and bound-safe (no overshoot or jitter)
5930
- * - Closely matches native scroll and drag inertia behavior
5931
- *
5932
- * ---
5933
- *
5934
- * ### Visibility behavior
5935
- * This hook is a **simulation-based system**:
5936
- * - Inertia automatically pauses when the document becomes hidden
5937
- * - No time elapses while hidden
5938
- * - Motion resumes only when explicitly restarted
5939
- *
5940
- * This behavior is inherited from {@link useHoneyRafLoop} and is intentional.
5941
- *
5942
- * ---
5943
- *
5944
- * ### Common use cases
5945
- * - Scroll containers with momentum
5946
- * - Drag-to-scroll interactions
5947
- * - Carousels and sliders
5948
- * - Timelines and scrubbers
5949
- * - Kinetic panning and flinging
5950
- *
5951
- * ---
5952
- *
5953
- * @example
5954
- * ```ts
5955
- * const decay = useHoneyDecay({
5956
- * initialValue: 0,
5957
- * min: -maxOverflow,
5958
- * max: 0,
5959
- * });
5960
- *
5961
- * const onRelease = (velocityPxMs: number) => {
5962
- * decay.start(velocityPxMs);
5963
- * };
5964
- *
5965
- * return (
5966
- * <div style={{ transform: `translateX(${decay.value}px)` }} />
5967
- * );
5968
- * ```
5969
- */
5970
- const useHoneyDecay = ({ initialValue, min, max, friction = 0.002, minVelocityPxMs = 0.01, emaAlpha = 0.2, onStop, }) => {
5971
- const [value, setValue] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialValue);
5972
- const valueRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(initialValue);
5973
- const velocityPxMsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(0);
5974
- const hasActiveInertiaRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
5975
- const minRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(min);
5976
- const maxRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(max);
5977
- const onStopRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyLatest)(onStop);
5978
- const frameHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((deltaTimeMs, frameContext) => {
5979
- // Ignore the first RAF tick
5980
- if (deltaTimeMs === 0) {
5981
- return;
5982
- }
5983
- const inertia = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.applyInertiaStep)({
5984
- value: valueRef.current,
5985
- velocityPxMs: velocityPxMsRef.current,
5986
- min: minRef.current,
5987
- max: maxRef.current,
5988
- deltaTimeMs,
5989
- friction,
5990
- minVelocityPxMs,
5991
- emaAlpha,
5992
- });
5993
- if (inertia === null) {
5994
- velocityPxMsRef.current = 0;
5995
- if (hasActiveInertiaRef.current) {
5996
- hasActiveInertiaRef.current = false;
5997
- onStopRef.current?.();
5998
- }
5999
- frameContext.stop();
6000
- return;
6001
- }
6002
- hasActiveInertiaRef.current = true;
6003
- valueRef.current = inertia.value;
6004
- velocityPxMsRef.current = inertia.velocityPxMs;
6005
- setValue(inertia.value);
6006
- }, [friction, minVelocityPxMs, emaAlpha]);
6007
- const rafLoop = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyRafLoop)(frameHandler);
6008
- const setBounds = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextMin, nextMax) => {
6009
- minRef.current = nextMin;
6010
- maxRef.current = nextMax;
6011
- const currentValue = valueRef.current;
6012
- if (currentValue < nextMin || currentValue > nextMax) {
6013
- const nextValue = Math.min(Math.max(currentValue, nextMin), nextMax);
6014
- valueRef.current = nextValue;
6015
- velocityPxMsRef.current = 0;
6016
- setValue(nextValue);
6017
- if (hasActiveInertiaRef.current) {
6018
- hasActiveInertiaRef.current = false;
6019
- onStopRef.current?.();
6020
- }
6021
- rafLoop.stop();
6022
- }
6023
- }, [rafLoop.stop]);
6024
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((velocityPxMs) => {
6025
- velocityPxMsRef.current = velocityPxMs;
6026
- hasActiveInertiaRef.current = true;
6027
- rafLoop.start();
6028
- }, [rafLoop.start]);
6029
- const startFrom = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextValue, velocityPxMs) => {
6030
- valueRef.current = nextValue;
6031
- velocityPxMsRef.current = velocityPxMs;
6032
- hasActiveInertiaRef.current = true;
6033
- setValue(nextValue);
6034
- rafLoop.start();
6035
- }, [rafLoop.start]);
6036
- const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6037
- if (hasActiveInertiaRef.current) {
6038
- hasActiveInertiaRef.current = false;
6039
- onStopRef.current?.();
6040
- }
6041
- velocityPxMsRef.current = 0;
6042
- rafLoop.stop();
6043
- }, [rafLoop.stop]);
6044
- return {
6045
- value,
6046
- isRunning: rafLoop.isRunning,
6047
- setBounds,
6048
- start,
6049
- startFrom,
6050
- stop,
6051
- };
6052
- };
6053
-
6054
-
6055
- /***/ },
6056
-
6057
- /***/ "./src/hooks/use-honey-document-key-up.ts"
6058
- /*!************************************************!*\
6059
- !*** ./src/hooks/use-honey-document-key-up.ts ***!
6060
- \************************************************/
6061
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6062
-
6063
- "use strict";
6064
- __webpack_require__.r(__webpack_exports__);
6065
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6066
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* binding */ useHoneyDocumentKeyUp)
6067
- /* harmony export */ });
6068
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6069
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6070
-
6071
- /**
6072
- * Hook for handling specific key up events on the `document` object.
6073
- *
6074
- * This hook adds a `keyup` event listener at the document level and triggers the provided `keyUpHandler`
6075
- * when one of the specified `listenKeys` is released.
6076
- *
6077
- * @param onKeyUp - The callback function invoked when a matching key is released.
6078
- * @param listenKeys - An array of key codes (`KeyboardEvent.code`) to listen for.
6079
- * @param options - Optional configuration to control event behavior and listener activation.
6080
- *
6081
- * @example
6082
- * ```tsx
6083
- * useHoneyDocumentKeyUp(
6084
- * (keyCode, event) => {
6085
- * console.log('Key released:', keyCode);
6086
- * },
6087
- * ['Escape'],
6088
- * );
6089
- * ```
6090
- */
6091
- const useHoneyDocumentKeyUp = (onKeyUp, listenKeys, { enabled = true, preventDefault = true } = {}) => {
6092
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6093
- if (!enabled) {
6094
- return;
6095
- }
6096
- const handleKeyUp = (e) => {
6097
- const keyCode = e.code;
6098
- if (listenKeys.includes(keyCode)) {
6099
- if (preventDefault) {
6100
- e.preventDefault();
6101
- }
6102
- onKeyUp(keyCode, e);
6103
- }
6104
- };
6105
- document.addEventListener('keyup', handleKeyUp);
6106
- return () => {
6107
- document.removeEventListener('keyup', handleKeyUp);
6108
- };
6109
- }, [onKeyUp, enabled, preventDefault]);
6110
- };
6111
-
6112
-
6113
- /***/ },
6114
-
6115
- /***/ "./src/hooks/use-honey-drag.ts"
6116
- /*!*************************************!*\
6117
- !*** ./src/hooks/use-honey-drag.ts ***!
6118
- \*************************************/
6119
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6120
-
6121
- "use strict";
6122
- __webpack_require__.r(__webpack_exports__);
6123
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6124
- /* harmony export */ useHoneyDrag: () => (/* binding */ useHoneyDrag)
6125
- /* harmony export */ });
6126
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6127
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6128
-
6129
- /**
6130
- * Enables high-precision mouse and touch dragging for an element.
6131
- *
6132
- * This hook:
6133
- * - Tracks pointer movement using `performance.now()`
6134
- * - Computes **instantaneous release velocity** (px/ms)
6135
- * - Emits deterministic drag lifecycle events
6136
- * - Supports both mouse and touch input
6137
- *
6138
- * Architectural notes:
6139
- * - Velocity is computed **during movement**, not at drag end
6140
- * - Release velocity is suitable for inertia / decay systems
6141
- * - No layout reads or writes are performed internally
6142
- *
6143
- * @template Element - The draggable HTML element type.
6144
- *
6145
- * @param draggableElementRef - Ref pointing to the draggable element.
6146
- * @param options - Drag lifecycle handlers and configuration flags.
6147
- */
6148
- const useHoneyDrag = (draggableElementRef, { skipOnEndDragWhenStopped = false, enabled = true, onMoveDrag, onStartDrag, onEndDrag, }) => {
6149
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6150
- const draggableElement = draggableElementRef.current;
6151
- if (!enabled || !draggableElement) {
6152
- return;
6153
- }
6154
- const onMove = onMoveDrag(draggableElement);
6155
- let isDragging = false;
6156
- let startX = 0;
6157
- let startY = 0;
6158
- let lastX = 0;
6159
- let lastY = 0;
6160
- let lastMoveTimeMs = 0;
6161
- let velocityXPxMs = 0;
6162
- let velocityYPxMs = 0;
6163
- const startDrag = async (clientX, clientY, e) => {
6164
- if (onStartDrag && !(await onStartDrag(draggableElement, e))) {
6165
- // Exit when `onStartDrag` returns false, preventing the dragging
6166
- return;
6167
- }
6168
- lastMoveTimeMs = performance.now();
6169
- isDragging = true;
6170
- startX = clientX;
6171
- startY = clientY;
6172
- lastX = clientX;
6173
- lastY = clientY;
6174
- velocityXPxMs = 0;
6175
- velocityYPxMs = 0;
6176
- };
6177
- const stopDrag = async (isTriggerOnEndDrag, e) => {
6178
- if (!isDragging) {
6179
- return;
6180
- }
6181
- isDragging = false;
6182
- if (isTriggerOnEndDrag && onEndDrag) {
6183
- const deltaX = lastX - startX;
6184
- const deltaY = lastY - startY;
6185
- const endContext = {
6186
- deltaX,
6187
- deltaY,
6188
- velocityXPxMs,
6189
- velocityYPxMs,
6190
- };
6191
- await onEndDrag(endContext, draggableElement, e);
6192
- }
6193
- };
6194
- const releaseDrag = async (isTriggerOnEndDrag, e) => {
6195
- await stopDrag(isTriggerOnEndDrag, e);
6196
- window.removeEventListener('mousemove', mouseMoveHandler, { capture: true });
6197
- window.removeEventListener('mouseup', mouseUpHandler, { capture: true });
6198
- window.removeEventListener('touchmove', touchMoveHandler, { capture: true });
6199
- window.removeEventListener('touchend', touchEndHandler, { capture: true });
6200
- window.removeEventListener('touchcancel', touchCancelHandler, { capture: true });
6201
- };
6202
- const mouseUpHandler = async (e) => {
6203
- await releaseDrag(true, e);
6204
- };
6205
- const moveHandler = async (clientX, clientY, e) => {
6206
- if (!isDragging) {
6207
- return;
6208
- }
6209
- const nowMs = performance.now();
6210
- const deltaTimeMs = nowMs - lastMoveTimeMs;
6211
- const deltaX = clientX - lastX;
6212
- const deltaY = clientY - lastY;
6213
- if (deltaTimeMs > 0) {
6214
- velocityXPxMs = deltaX / deltaTimeMs;
6215
- velocityYPxMs = deltaY / deltaTimeMs;
6216
- }
6217
- const distanceX = clientX - startX;
6218
- const distanceY = clientY - startY;
6219
- const isContinue = await onMove({
6220
- deltaX,
6221
- deltaY,
6222
- distanceX,
6223
- distanceY,
6224
- });
6225
- lastX = clientX;
6226
- lastY = clientY;
6227
- lastMoveTimeMs = nowMs;
6228
- if (!isContinue) {
6229
- await releaseDrag(!skipOnEndDragWhenStopped, e);
6230
- }
6231
- };
6232
- const mouseMoveHandler = async (e) => {
6233
- await moveHandler(e.clientX, e.clientY, e);
6234
- };
6235
- const touchMoveHandler = async (e) => {
6236
- const touch = e.touches[0];
6237
- await moveHandler(touch.clientX, touch.clientY, e);
6238
- };
6239
- const touchEndHandler = async (e) => {
6240
- await releaseDrag(true, e);
6241
- };
6242
- const touchCancelHandler = async (e) => {
6243
- await releaseDrag(true, e);
6244
- };
6245
- const touchStartHandler = async (e) => {
6246
- e.stopPropagation();
6247
- const touch = e.touches[0];
6248
- await startDrag(touch.clientX, touch.clientY, e);
6249
- window.addEventListener('touchmove', touchMoveHandler, {
6250
- passive: true,
6251
- capture: true,
6252
- });
6253
- window.addEventListener('touchend', touchEndHandler, { capture: true });
6254
- window.addEventListener('touchcancel', touchCancelHandler, { capture: true });
6255
- };
6256
- const mouseDownHandler = async (e) => {
6257
- e.stopPropagation();
6258
- await startDrag(e.clientX, e.clientY, e);
6259
- window.addEventListener('mousemove', mouseMoveHandler, { capture: true });
6260
- window.addEventListener('mouseup', mouseUpHandler, { capture: true });
6261
- };
6262
- draggableElement.addEventListener('mousedown', mouseDownHandler);
6263
- draggableElement.addEventListener('touchstart', touchStartHandler, {
6264
- passive: true,
6265
- });
6266
- return () => {
6267
- draggableElement.removeEventListener('mousedown', mouseDownHandler);
6268
- draggableElement.removeEventListener('touchstart', touchStartHandler);
6269
- };
6270
- }, [enabled, onStartDrag, onMoveDrag, onEndDrag]);
6271
- };
6272
-
6273
-
6274
- /***/ },
6275
-
6276
- /***/ "./src/hooks/use-honey-latest.ts"
6277
- /*!***************************************!*\
6278
- !*** ./src/hooks/use-honey-latest.ts ***!
6279
- \***************************************/
6280
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6281
-
6282
- "use strict";
6283
- __webpack_require__.r(__webpack_exports__);
6284
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6285
- /* harmony export */ useHoneyLatest: () => (/* binding */ useHoneyLatest)
6286
- /* harmony export */ });
6287
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6288
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6289
-
6290
- /**
6291
- * Stores the latest value in a stable ref.
6292
- *
6293
- * Guarantees that:
6294
- * - `ref.current` always points to the latest value
6295
- * - the ref object identity never changes
6296
- *
6297
- * Overload behavior:
6298
- * - If a non-optional value is provided, `.current` is non-optional
6299
- * - If an optional value is provided, `.current` is optional
6300
- */
6301
- const useHoneyLatest = (value) => {
6302
- const ref = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(value);
6303
- ref.current = value;
6304
- return ref;
6305
- };
6306
-
6307
-
6308
- /***/ },
6309
-
6310
- /***/ "./src/hooks/use-honey-layout.ts"
6311
- /*!***************************************!*\
6312
- !*** ./src/hooks/use-honey-layout.ts ***!
6313
- \***************************************/
6314
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6315
-
6316
- "use strict";
6317
- __webpack_require__.r(__webpack_exports__);
6318
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6319
- /* harmony export */ useHoneyLayout: () => (/* binding */ useHoneyLayout)
6320
- /* harmony export */ });
6321
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6322
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6323
- /* 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");
6324
- /* harmony import */ var _contexts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../contexts */ "./src/contexts/index.ts");
6325
-
6326
-
6327
-
6328
- /**
6329
- * Custom hook to access the Honey layout context.
6330
- *
6331
- * @throws Will throw an error if the hook is used outside of a `HoneyLayoutProvider` component.
6332
- *
6333
- * @returns The context value providing theming utilities and screen state.
6334
- */
6335
- const useHoneyLayout = () => {
6336
- const context = (0,react__WEBPACK_IMPORTED_MODULE_0__.useContext)(_contexts__WEBPACK_IMPORTED_MODULE_2__.HoneyLayoutContext);
6337
- (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.assert)(context, 'The `useHoneyLayout()` hook must be used inside <HoneyLayoutProvider/> component!');
6338
- return context;
6339
- };
6340
-
6341
-
6342
- /***/ },
6343
-
6344
- /***/ "./src/hooks/use-honey-media-query.ts"
6345
- /*!********************************************!*\
6346
- !*** ./src/hooks/use-honey-media-query.ts ***!
6347
- \********************************************/
6348
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6349
-
6350
- "use strict";
6351
- __webpack_require__.r(__webpack_exports__);
6352
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6353
- /* harmony export */ useHoneyMediaQuery: () => (/* binding */ useHoneyMediaQuery)
6354
- /* harmony export */ });
6355
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6356
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6357
- /* 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");
6358
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_1__);
6359
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
6360
-
6361
-
6362
-
6363
- /**
6364
- * The hook that tracks the current screen state based on the theme's media breakpoints.
6365
- * It updates the state on window resize and orientation change.
6366
- *
6367
- * @param theme - Theme object.
6368
- * @param options - Optional configuration object.
6369
- *
6370
- * @returns The current screen state, indicating the orientation (portrait or landscape)
6371
- * and the active breakpoint (xs, sm, md, lg, xl).
6372
- */
6373
- const useHoneyMediaQuery = (theme, { resizeThrottle = 0, overrideScreenState } = {}) => {
6374
- const [screenState, setScreenState] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(() => ({
6375
- ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
6376
- ...overrideScreenState,
6377
- }));
6378
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6379
- const handleResize = lodash_throttle__WEBPACK_IMPORTED_MODULE_1___default()(() => {
6380
- setScreenState({
6381
- ...(0,_helpers__WEBPACK_IMPORTED_MODULE_2__.resolveScreenState)(theme.breakpoints),
6382
- ...overrideScreenState,
6383
- });
6384
- }, resizeThrottle);
6385
- handleResize();
6386
- window.addEventListener('resize', handleResize);
6387
- window.screen.orientation.addEventListener('change', handleResize);
6388
- return () => {
6389
- handleResize.cancel();
6390
- window.removeEventListener('resize', handleResize);
6391
- window.screen.orientation.removeEventListener('change', handleResize);
6392
- };
6393
- }, []);
6394
- return screenState;
6395
- };
6396
-
6397
-
6398
- /***/ },
6399
-
6400
- /***/ "./src/hooks/use-honey-on-change.ts"
6401
- /*!******************************************!*\
6402
- !*** ./src/hooks/use-honey-on-change.ts ***!
6403
- \******************************************/
6404
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6405
-
6406
- "use strict";
6407
- __webpack_require__.r(__webpack_exports__);
6408
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6409
- /* harmony export */ useHoneyOnChange: () => (/* binding */ useHoneyOnChange)
6410
- /* harmony export */ });
6411
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6412
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6413
-
6414
- /**
6415
- * A hook that invokes a callback function whenever the provided `state` value changes.
6416
- *
6417
- * This hook stores the previous value internally and performs a shallow comparison with the current value.
6418
- * If a change is detected, it executes the `onChange` callback. If the callback returns a cleanup function,
6419
- * it will be invoked before the next change or when the component unmounts, similar to standard `useEffect` behavior.
6420
- *
6421
- * @template T - The type of the state being observed.
6422
- *
6423
- * @param state - The value to monitor for changes. Can be of any type.
6424
- * @param onChange - A function called whenever `state` changes. It may return a cleanup function.
6425
- *
6426
- * @returns void
6427
- *
6428
- * @example
6429
- * ```ts
6430
- * useHoneyOnChange(someValue, (newValue) => {
6431
- * console.log('Value changed to:', newValue);
6432
- *
6433
- * return () => {
6434
- * console.log('Cleanup for value:', newValue);
6435
- * };
6436
- * });
6437
- * ```
6438
- */
6439
- const useHoneyOnChange = (state, onChange) => {
6440
- const prevStateRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(state);
6441
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6442
- if (prevStateRef.current !== state) {
6443
- prevStateRef.current = state;
6444
- return onChange(state);
6445
- }
6446
- }, [state]);
6447
- };
6448
-
6449
-
6450
- /***/ },
6451
-
6452
- /***/ "./src/hooks/use-honey-overlay.ts"
6453
- /*!****************************************!*\
6454
- !*** ./src/hooks/use-honey-overlay.ts ***!
6455
- \****************************************/
6456
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6457
-
6458
- "use strict";
6459
- __webpack_require__.r(__webpack_exports__);
6460
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6461
- /* harmony export */ useHoneyOverlay: () => (/* binding */ useHoneyOverlay)
6462
- /* harmony export */ });
6463
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6464
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6465
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
6466
-
6467
-
6468
- /**
6469
- * Hook for interacting with an active overlay managed by `HoneyLayoutProvider`.
6470
- *
6471
- * @param targetOverlayId - The unique ID of the overlay you want to interact with.
6472
- * @param options - Optional configuration such as event handlers (e.g., `onKeyUp`).
6473
- *
6474
- * @returns The overlay instance matching the provided ID, or `undefined` if not found.
6475
- *
6476
- * @remarks
6477
- * - This hook only works with overlays that are currently active.
6478
- * - If the overlay is not active or not registered, `undefined` will be returned.
6479
- * - Event handlers like `onKeyUp` are automatically registered and cleaned up for the overlay.
6480
- *
6481
- * @example
6482
- * ```tsx
6483
- * const overlay = useHoneyOverlay('my-overlay-id', {
6484
- * onKeyUp: (keyCode, e) => {
6485
- * if (keyCode === 'Escape') {
6486
- * console.log('Escape key pressed!');
6487
- * }
6488
- * },
6489
- * });
6490
- * ```
6491
- */
6492
- const useHoneyOverlay = (targetOverlayId, { onKeyUp } = {}) => {
6493
- const { overlays } = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLayout)();
6494
- const overlay = overlays.find(overlay => overlay.id === targetOverlayId);
6495
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6496
- // If no overlay is found or no `onKeyUp` handler is provided, skip setting up the listener
6497
- if (!overlay || !onKeyUp) {
6498
- return;
6499
- }
6500
- overlay.addListener('keyup', onKeyUp);
6501
- return () => {
6502
- overlay.removeListener('keyup', onKeyUp);
6503
- };
6504
- }, [overlay, onKeyUp]);
6505
- return overlay;
6506
- };
6507
-
6508
-
6509
- /***/ },
6510
-
6511
- /***/ "./src/hooks/use-honey-raf-loop.ts"
6512
- /*!*****************************************!*\
6513
- !*** ./src/hooks/use-honey-raf-loop.ts ***!
6514
- \*****************************************/
6515
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6516
-
6517
- "use strict";
6518
- __webpack_require__.r(__webpack_exports__);
6519
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6520
- /* harmony export */ useHoneyRafLoop: () => (/* binding */ useHoneyRafLoop)
6521
- /* harmony export */ });
6522
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6523
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6524
- /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants */ "./src/constants.ts");
6525
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
6526
-
6527
-
6528
-
6529
- /**
6530
- * A hook for running a controlled `requestAnimationFrame` loop.
6531
- *
6532
- * Features:
6533
- * - Explicit RAF lifecycle control (`start` / `stop`)
6534
- * - Delta time calculation with frame clamping
6535
- * - Automatic cleanup on unmounting
6536
- * - Conservative handling of tab visibility changes (mobile-safe)
6537
- * - Safe error handling (stops loop on exception)
6538
- *
6539
- * Visibility behavior:
6540
- * - The RAF loop is always stopped when the document becomes hidden
6541
- * - Automatic resume is disabled by default and must be explicitly enabled
6542
- *
6543
- * This hook is designed for gesture handling, inertia, physics simulations,
6544
- * and animation loops that must not trigger React re-renders on every frame.
6545
- *
6546
- * @param onFrame - Function invoked on each animation frame.
6547
- * @param options - Optional configuration for the RAF loop.
6548
- *
6549
- * @returns Control helpers and RAF loop state.
6550
- *
6551
- * @example
6552
- * ```ts
6553
- * // Gesture-driven inertia (recommended usage)
6554
- * // The RAF loop stops itself when motion decays.
6555
- *
6556
- * const velocityRef = useRef({ x: 12, y: 4 });
6557
- *
6558
- * const onFrame = useCallback<HoneyRafOnFrameHandler>(
6559
- * (dtMs, { stop }) => {
6560
- * velocityRef.current.x *= 0.94;
6561
- * velocityRef.current.y *= 0.94;
6562
- *
6563
- * setPosition(p => ({
6564
- * x: p.x + velocityRef.current.x,
6565
- * y: p.y + velocityRef.current.y,
6566
- * }));
6567
- *
6568
- * if (
6569
- * Math.abs(velocityRef.current.x) < 0.1 &&
6570
- * Math.abs(velocityRef.current.y) < 0.1
6571
- * ) {
6572
- * stop(); // terminate RAF loop
6573
- * }
6574
- * },
6575
- * [],
6576
- * );
6577
- *
6578
- * useHoneyRafLoop(onFrame);
6579
- * ```
6580
- */
6581
- const useHoneyRafLoop = (onFrame, { autoStart = false, resumeOnVisibility = false, maxDeltaMs = 32, // ~30fps clamp
6582
- onError, } = {}) => {
6583
- const rafIdRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6584
- const lastTimeMsRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6585
- const onFrameRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_2__.useHoneyLatest)(onFrame);
6586
- const [isRunning, setIsRunning] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(false);
6587
- const isRunningRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(false);
6588
- const stop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6589
- if (!isRunningRef.current) {
6590
- return;
6591
- }
6592
- isRunningRef.current = false;
6593
- if (rafIdRef.current !== null) {
6594
- cancelAnimationFrame(rafIdRef.current);
6595
- rafIdRef.current = null;
6596
- }
6597
- lastTimeMsRef.current = null;
6598
- setIsRunning(false);
6599
- }, []);
6600
- const loop = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(timeMs => {
6601
- if (!isRunningRef.current) {
6602
- return;
6603
- }
6604
- if (lastTimeMsRef.current === null) {
6605
- lastTimeMsRef.current = timeMs;
6606
- }
6607
- let deltaTimeMs = timeMs - lastTimeMsRef.current;
6608
- lastTimeMsRef.current = timeMs;
6609
- // Clamp delta (prevents jumps after background tab / lag)
6610
- if (deltaTimeMs > maxDeltaMs) {
6611
- deltaTimeMs = maxDeltaMs;
6612
- }
6613
- try {
6614
- onFrameRef.current(deltaTimeMs, {
6615
- stop,
6616
- });
6617
- if (isRunningRef.current) {
6618
- rafIdRef.current = requestAnimationFrame(loop);
6619
- }
6620
- }
6621
- catch (e) {
6622
- if (_constants__WEBPACK_IMPORTED_MODULE_1__.__DEV__) {
6623
- console.error(e);
6624
- }
6625
- stop();
6626
- onError?.(e);
6627
- }
6628
- }, [maxDeltaMs, stop, onError]);
6629
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6630
- if (isRunningRef.current) {
6631
- return;
6632
- }
6633
- lastTimeMsRef.current = null;
6634
- isRunningRef.current = true;
6635
- setIsRunning(true);
6636
- rafIdRef.current = requestAnimationFrame(loop);
6637
- }, [loop]);
6638
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6639
- if (autoStart) {
6640
- start();
6641
- }
6642
- return stop;
6643
- }, [autoStart]);
6644
- // Pause when a tab is hidden (important for mobile)
6645
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6646
- const onVisibilityChange = () => {
6647
- if (document.hidden) {
6648
- stop();
6649
- }
6650
- else if (resumeOnVisibility && autoStart) {
6651
- start();
6652
- }
6653
- };
6654
- document.addEventListener('visibilitychange', onVisibilityChange);
6655
- return () => {
6656
- document.removeEventListener('visibilitychange', onVisibilityChange);
6657
- };
6658
- }, [autoStart, resumeOnVisibility, start, stop]);
6659
- return {
6660
- isRunning,
6661
- start,
6662
- stop,
6663
- };
6664
- };
6665
-
6666
-
6667
- /***/ },
6668
-
6669
- /***/ "./src/hooks/use-honey-resize.ts"
6670
- /*!***************************************!*\
6671
- !*** ./src/hooks/use-honey-resize.ts ***!
6672
- \***************************************/
6673
- (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6674
-
6675
- "use strict";
6676
- __webpack_require__.r(__webpack_exports__);
6677
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6678
- /* harmony export */ useHoneyResize: () => (/* binding */ useHoneyResize)
6679
- /* harmony export */ });
6680
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6681
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6682
- /* 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");
6683
- /* 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");
6684
- /* harmony import */ var lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(lodash_throttle__WEBPACK_IMPORTED_MODULE_2__);
6685
-
6686
-
6687
-
6688
- /**
6689
- * A hook that subscribes to the window `resize` event and invokes a handler function in response.
6690
- *
6691
- * The handler can be optionally throttled to limit execution frequency, which is useful
6692
- * for expensive layout calculations or DOM measurements.
6693
- *
6694
- * @example
6695
- * ```ts
6696
- * useHoneyResize(() => {
6697
- * console.log('Window resized');
6698
- * }, { throttleTime: 200 });
6699
- * ```
6700
- *
6701
- * @param handler - Callback invoked when the window is resized.
6702
- * @param options - Configuration options controlling invocation timing and performance.
6703
- */
6704
- const useHoneyResize = (handler, { invokeOnMount = false, throttleTime = 0, enabled = true } = {}) => {
6705
- (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6706
- if (!enabled) {
6707
- return;
5820
+ const mergeRefs = (...refs) => value => {
5821
+ refs.forEach(ref => {
5822
+ if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isFunction)(ref)) {
5823
+ ref(value);
6708
5824
  }
6709
- const handleResize = throttleTime
6710
- ? lodash_throttle__WEBPACK_IMPORTED_MODULE_2___default()(handler, throttleTime)
6711
- : handler;
6712
- window.addEventListener('resize', handleResize);
6713
- if (invokeOnMount) {
6714
- handler();
5825
+ else if ((0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_0__.isObject)(ref)) {
5826
+ ref.current = value;
6715
5827
  }
6716
- return () => {
6717
- if ('cancel' in handleResize && (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.isFunction)(handleResize.cancel)) {
6718
- handleResize.cancel();
6719
- }
6720
- window.removeEventListener('resize', handleResize);
6721
- };
6722
- }, [enabled, invokeOnMount, handler]);
5828
+ });
6723
5829
  };
6724
5830
 
6725
5831
 
6726
5832
  /***/ },
6727
5833
 
6728
- /***/ "./src/hooks/use-honey-synthetic-scroll-x.ts"
6729
- /*!***************************************************!*\
6730
- !*** ./src/hooks/use-honey-synthetic-scroll-x.ts ***!
6731
- \***************************************************/
5834
+ /***/ "./src/hooks/index.ts"
5835
+ /*!****************************!*\
5836
+ !*** ./src/hooks/index.ts ***!
5837
+ \****************************/
6732
5838
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6733
5839
 
6734
5840
  "use strict";
6735
5841
  __webpack_require__.r(__webpack_exports__);
6736
5842
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6737
- /* 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)
6738
5847
  /* harmony export */ });
6739
- /* 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
+
6740
5855
 
6741
- /**
6742
- * Enables synthetic horizontal (X-axis) scrolling for a container element
6743
- * using pointer-based drag interactions.
6744
- *
6745
- * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
6746
- * the axis fixed to `'x'`.
6747
- *
6748
- * All behavior, boundaries, and lifecycle guarantees are identical to the
6749
- * base hook, but limited to horizontal movement only.
6750
- *
6751
- * @template Element - The HTML element type of the scrollable container.
6752
- *
6753
- * @param options - Configuration options forwarded to
6754
- * {@link useHoneySyntheticScroll}, excluding the `axis` option.
6755
- *
6756
- * @returns A ref that must be attached to the scrollable container element.
6757
- */
6758
- const useHoneySyntheticScrollX = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
6759
- ...options,
6760
- axis: 'x',
6761
- });
6762
5856
 
6763
5857
 
6764
5858
  /***/ },
6765
5859
 
6766
- /***/ "./src/hooks/use-honey-synthetic-scroll-y.ts"
6767
- /*!***************************************************!*\
6768
- !*** ./src/hooks/use-honey-synthetic-scroll-y.ts ***!
6769
- \***************************************************/
5860
+ /***/ "./src/hooks/use-honey-layout.ts"
5861
+ /*!***************************************!*\
5862
+ !*** ./src/hooks/use-honey-layout.ts ***!
5863
+ \***************************************/
6770
5864
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6771
5865
 
6772
5866
  "use strict";
6773
5867
  __webpack_require__.r(__webpack_exports__);
6774
5868
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6775
- /* harmony export */ useHoneySyntheticScrollY: () => (/* binding */ useHoneySyntheticScrollY)
5869
+ /* harmony export */ useHoneyLayout: () => (/* binding */ useHoneyLayout)
6776
5870
  /* harmony export */ });
6777
- /* 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
+
6778
5877
 
6779
5878
  /**
6780
- * Enables synthetic vertical (Y-axis) scrolling for a container element
6781
- * using pointer-based drag interactions.
6782
- *
6783
- * This is a convenience wrapper around {@link useHoneySyntheticScroll} with
6784
- * the axis fixed to `'y'`.
6785
- *
6786
- * All behavior, boundaries, and lifecycle guarantees are identical to the
6787
- * base hook, but limited to vertical movement only.
6788
- *
6789
- * @template Element - The HTML element type of the scrollable container.
5879
+ * Custom hook to access the Honey layout context.
6790
5880
  *
6791
- * @param options - Configuration options forwarded to
6792
- * {@link useHoneySyntheticScroll}, excluding the `axis` option.
5881
+ * @throws Will throw an error if the hook is used outside of a `HoneyLayoutProvider` component.
6793
5882
  *
6794
- * @returns A ref that must be attached to the scrollable container element.
5883
+ * @returns The context value providing theming utilities and screen state.
6795
5884
  */
6796
- const useHoneySyntheticScrollY = (options) => (0,_use_honey_synthetic_scroll__WEBPACK_IMPORTED_MODULE_0__.useHoneySyntheticScroll)({
6797
- ...options,
6798
- axis: 'y',
6799
- });
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
+ };
6800
5890
 
6801
5891
 
6802
5892
  /***/ },
6803
5893
 
6804
- /***/ "./src/hooks/use-honey-synthetic-scroll.ts"
6805
- /*!*************************************************!*\
6806
- !*** ./src/hooks/use-honey-synthetic-scroll.ts ***!
6807
- \*************************************************/
5894
+ /***/ "./src/hooks/use-honey-media-query.ts"
5895
+ /*!********************************************!*\
5896
+ !*** ./src/hooks/use-honey-media-query.ts ***!
5897
+ \********************************************/
6808
5898
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6809
5899
 
6810
5900
  "use strict";
6811
5901
  __webpack_require__.r(__webpack_exports__);
6812
5902
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6813
- /* harmony export */ resolveAxisTranslate: () => (/* binding */ resolveAxisTranslate),
6814
- /* harmony export */ useHoneySyntheticScroll: () => (/* binding */ useHoneySyntheticScroll)
5903
+ /* harmony export */ useHoneyMediaQuery: () => (/* binding */ useHoneyMediaQuery)
6815
5904
  /* harmony export */ });
6816
5905
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6817
5906
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
6818
- /* 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");
6819
- /* harmony import */ var _use_honey_drag__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./use-honey-drag */ "./src/hooks/use-honey-drag.ts");
6820
- /* harmony import */ var _use_honey_resize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./use-honey-resize */ "./src/hooks/use-honey-resize.ts");
6821
-
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");
6822
5910
 
6823
5911
 
6824
5912
 
6825
- const resolveAxisTranslate = ({ delta, translate, containerSize, overflowSize, overscrollPct, }) => {
6826
- if (overflowSize <= 0) {
6827
- return null;
6828
- }
6829
- const threshold = containerSize * (overscrollPct / 100);
6830
- return (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.resolveBoundedDelta)({
6831
- delta,
6832
- value: translate,
6833
- min: -(overflowSize + threshold),
6834
- max: threshold,
6835
- });
6836
- };
6837
- const applyScrollDelta = ({ axis, container, deltaX, deltaY, overscrollPct, }) => {
6838
- const { translateX, translateY } = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.parse2DMatrix)(container);
6839
- let nextX = translateX;
6840
- let nextY = translateY;
6841
- let shouldScroll = false;
6842
- if (axis === 'x' || axis === 'both') {
6843
- const next = resolveAxisTranslate({
6844
- delta: deltaX,
6845
- translate: translateX,
6846
- containerSize: container.clientWidth,
6847
- overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getXOverflowWidth)(container),
6848
- overscrollPct,
6849
- });
6850
- if (next !== null) {
6851
- nextX = next;
6852
- shouldScroll = true;
6853
- }
6854
- }
6855
- if (axis === 'y' || axis === 'both') {
6856
- const next = resolveAxisTranslate({
6857
- delta: deltaY,
6858
- translate: translateY,
6859
- containerSize: container.clientHeight,
6860
- overflowSize: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.getYOverflowHeight)(container),
6861
- overscrollPct,
6862
- });
6863
- if (next !== null) {
6864
- nextY = next;
6865
- shouldScroll = true;
6866
- }
6867
- }
6868
- if (shouldScroll) {
6869
- container.style.transform = `translate(${nextX}px, ${nextY}px)`;
6870
- }
6871
- return shouldScroll;
6872
- };
6873
5913
  /**
6874
- * Enables synthetic scrolling for a container using pointer-based drag gestures.
6875
- *
6876
- * Instead of relying on native scrollbars, this hook translates the container
6877
- * using CSS transforms in response to drag input.
6878
- *
6879
- * ### Key characteristics
6880
- * - Dragging is only applied when content overflows the container on a given axis.
6881
- * - Movement is clamped within calculated bounds, with optional overscroll allowance.
6882
- * - Scroll position is stored purely in `transform: translate(...)`.
6883
- * - Active transforms can be automatically cleared on window resize.
6884
- *
6885
- * ### Internals
6886
- * - Uses {@link useHoneyDrag} to track mouse / touch movement.
6887
- * - Uses {@link useHoneyResize} to optionally reset scroll state on resize.
6888
- *
6889
- * @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.
6890
5916
  *
6891
- * @param options - Configuration controlling axes, boundaries, and lifecycle behavior.
5917
+ * @param theme - Theme object.
5918
+ * @param options - Optional configuration object.
6892
5919
  *
6893
- * @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).
6894
5922
  */
6895
- const useHoneySyntheticScroll = ({ axis = 'both', overscrollPct = 0, onStartDrag, onEndDrag, scrollMode = 'default', resetOnResize = true, enablePointerScroll = true, enabled = true, } = {}) => {
6896
- const containerRef = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);
6897
- const handleOnStartDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async (...args) => {
6898
- return onStartDrag?.(...args) ?? true;
6899
- }, [onStartDrag]);
6900
- /**
6901
- * Handles drag movement and applies clamped translation along the enabled axis or axes.
6902
- *
6903
- * For each axis:
6904
- * - Skip processing if there is no overflow.
6905
- * - Compute the candidate translate value from the drag delta.
6906
- * - Clamp movement within calculated min / max bounds.
6907
- */
6908
- const handleOnMoveDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(container => async ({ deltaX, deltaY }) => {
6909
- return applyScrollDelta({
6910
- container,
6911
- deltaX,
6912
- deltaY,
6913
- axis,
6914
- overscrollPct,
6915
- });
6916
- }, [axis, overscrollPct]);
6917
- const handleOnEndDrag = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(async (...args) => {
6918
- onEndDrag?.(...args);
6919
- }, [axis, overscrollPct, onEndDrag]);
6920
- (0,_use_honey_drag__WEBPACK_IMPORTED_MODULE_2__.useHoneyDrag)(containerRef, {
6921
- enabled,
6922
- onStartDrag: handleOnStartDrag,
6923
- onMoveDrag: handleOnMoveDrag,
6924
- onEndDrag: handleOnEndDrag,
6925
- });
6926
- const resizeHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
6927
- const container = containerRef.current;
6928
- if (container) {
6929
- container.style.removeProperty('transform');
6930
- }
6931
- }, []);
6932
- (0,_use_honey_resize__WEBPACK_IMPORTED_MODULE_3__.useHoneyResize)(resizeHandler, {
6933
- enabled: enabled && resetOnResize,
6934
- });
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
+ }));
6935
5928
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
6936
- const container = containerRef.current;
6937
- if (!enabled || !container) {
6938
- return;
6939
- }
6940
- if (scrollMode === 'default') {
6941
- const touchAction = axis === 'x' ? 'pan-y' : axis === 'y' ? 'pan-x' : 'none';
6942
- container.style.overscrollBehavior = 'contain';
6943
- container.style.touchAction = touchAction;
6944
- }
6945
- const handleOnWheel = (event) => {
6946
- const { deltaX, deltaY } = (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_1__.resolveAxisDelta)({
6947
- deltaX: event.deltaX,
6948
- deltaY: event.deltaY,
6949
- }, axis);
6950
- const didScroll = applyScrollDelta({
6951
- container,
6952
- deltaX,
6953
- deltaY,
6954
- axis,
6955
- 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,
6956
5933
  });
6957
- if (didScroll) {
6958
- event.preventDefault();
6959
- }
6960
- };
6961
- if (enablePointerScroll) {
6962
- container.addEventListener('wheel', handleOnWheel, { passive: false });
6963
- }
5934
+ }, resizeThrottle);
5935
+ handleResize();
5936
+ window.addEventListener('resize', handleResize);
5937
+ window.screen.orientation.addEventListener('change', handleResize);
6964
5938
  return () => {
6965
- if (scrollMode === 'default') {
6966
- container.style.removeProperty('overscroll-behavior');
6967
- container.style.removeProperty('touch-action');
6968
- }
6969
- if (enablePointerScroll) {
6970
- container.removeEventListener('wheel', handleOnWheel);
6971
- }
5939
+ handleResize.cancel();
5940
+ window.removeEventListener('resize', handleResize);
5941
+ window.screen.orientation.removeEventListener('change', handleResize);
6972
5942
  };
6973
- }, [scrollMode, enabled, enablePointerScroll]);
6974
- return containerRef;
5943
+ }, []);
5944
+ return screenState;
6975
5945
  };
6976
5946
 
6977
5947
 
6978
5948
  /***/ },
6979
5949
 
6980
- /***/ "./src/hooks/use-honey-timer.ts"
6981
- /*!**************************************!*\
6982
- !*** ./src/hooks/use-honey-timer.ts ***!
6983
- \**************************************/
5950
+ /***/ "./src/hooks/use-honey-overlay.ts"
5951
+ /*!****************************************!*\
5952
+ !*** ./src/hooks/use-honey-overlay.ts ***!
5953
+ \****************************************/
6984
5954
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
6985
5955
 
6986
5956
  "use strict";
6987
5957
  __webpack_require__.r(__webpack_exports__);
6988
5958
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
6989
- /* harmony export */ useHoneyTimer: () => (/* binding */ useHoneyTimer)
5959
+ /* harmony export */ useHoneyOverlay: () => (/* binding */ useHoneyOverlay)
6990
5960
  /* harmony export */ });
6991
5961
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
6992
5962
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
@@ -6994,94 +5964,43 @@ __webpack_require__.r(__webpack_exports__);
6994
5964
 
6995
5965
 
6996
5966
  /**
6997
- * 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`).
6998
5971
  *
6999
- * Features:
7000
- * - Frame-accurate time progression using `requestAnimationFrame`
7001
- * - Supports countdown and count-up modes
7002
- * - Explicit lifecycle control (start / pause / resume / reset)
7003
- * - Drift-free timing using delta-based updates
7004
- * - Safe completion handling via `onEnd`
5972
+ * @returns The overlay instance matching the provided ID, or `undefined` if not found.
7005
5973
  *
7006
- * Architectural notes:
7007
- * - Time progression is handled imperatively via refs to avoid stale closures and unnecessary re-renders.
7008
- * - React state is updated only with the derived timer value.
7009
- * - 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.
7010
5978
  *
7011
5979
  * @example
7012
- * ```ts
7013
- * const timer = useHoneyTimer({
7014
- * initialTimeMs: 10_000,
7015
- * targetTimeMs: 0,
7016
- * 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
+ * },
7017
5987
  * });
7018
- *
7019
- * timer.startTimer();
7020
5988
  * ```
7021
5989
  */
7022
- const useHoneyTimer = ({ initialTimeMs, targetTimeMs = 0, mode = 'countdown', autoStart = false, onEnd, }) => {
7023
- const [timeMs, setTimeMs] = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(initialTimeMs);
7024
- const timeRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLatest)(timeMs);
7025
- const onEndRef = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyLatest)(onEnd);
7026
- /**
7027
- * RAF frame handler responsible for advancing the timer.
7028
- *
7029
- * - Computes the next timer value based on `deltaTimeMs`
7030
- * - Detects completion and stops the RAF loop
7031
- * - Updates React state with the derived value
7032
- */
7033
- const frameHandler = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((deltaTimeMs, frameContext) => {
7034
- let nextTime = mode === 'countdown' ? timeRef.current - deltaTimeMs : timeRef.current + deltaTimeMs;
7035
- let finished = false;
7036
- if (mode === 'countdown') {
7037
- if (nextTime <= targetTimeMs) {
7038
- nextTime = targetTimeMs;
7039
- finished = true;
7040
- }
7041
- }
7042
- else if (targetTimeMs > 0 && nextTime >= targetTimeMs) {
7043
- nextTime = targetTimeMs;
7044
- finished = true;
7045
- }
7046
- timeRef.current = nextTime;
7047
- setTimeMs(nextTime);
7048
- if (finished) {
7049
- frameContext.stop();
7050
- onEndRef.current?.();
7051
- }
7052
- }, [mode, targetTimeMs]);
7053
- const rafLoop = (0,_hooks__WEBPACK_IMPORTED_MODULE_1__.useHoneyRafLoop)(frameHandler);
7054
- const start = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7055
- timeRef.current = initialTimeMs;
7056
- setTimeMs(initialTimeMs);
7057
- rafLoop.start();
7058
- }, [initialTimeMs, rafLoop.start]);
7059
- const pause = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7060
- rafLoop.stop();
7061
- }, [rafLoop.stop]);
7062
- const resume = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(() => {
7063
- if (!rafLoop.isRunning) {
7064
- rafLoop.start();
7065
- }
7066
- }, [rafLoop.isRunning, rafLoop.start]);
7067
- const reset = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)((nextTimeMs = initialTimeMs) => {
7068
- rafLoop.stop();
7069
- timeRef.current = nextTimeMs;
7070
- setTimeMs(nextTimeMs);
7071
- }, [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);
7072
5993
  (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(() => {
7073
- if (autoStart) {
7074
- start();
5994
+ // If no overlay is found or no `onKeyUp` handler is provided, skip setting up the listener
5995
+ if (!overlay || !onKeyUp) {
5996
+ return;
7075
5997
  }
7076
- }, [autoStart]);
7077
- return {
7078
- timeMs,
7079
- isRunning: rafLoop.isRunning,
7080
- start,
7081
- pause,
7082
- resume,
7083
- reset,
7084
- };
5998
+ overlay.addListener('keyup', onKeyUp);
5999
+ return () => {
6000
+ overlay.removeListener('keyup', onKeyUp);
6001
+ };
6002
+ }, [overlay, onKeyUp]);
6003
+ return overlay;
7085
6004
  };
7086
6005
 
7087
6006
 
@@ -7505,9 +6424,9 @@ module.exports = require("react");
7505
6424
 
7506
6425
  /***/ },
7507
6426
 
7508
- /***/ "./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"
7509
6428
  /*!*************************************************************************************************************!*\
7510
- !*** ./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 ***!
7511
6430
  \*************************************************************************************************************/
7512
6431
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
7513
6432
 
@@ -7527,7 +6446,7 @@ __webpack_require__.r(__webpack_exports__);
7527
6446
  /* harmony export */ shift: () => (/* binding */ shift),
7528
6447
  /* harmony export */ size: () => (/* binding */ size)
7529
6448
  /* harmony export */ });
7530
- /* 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");
7531
6450
 
7532
6451
 
7533
6452
 
@@ -7652,6 +6571,9 @@ async function detectOverflow(state, options) {
7652
6571
  };
7653
6572
  }
7654
6573
 
6574
+ // Maximum number of resets that can occur before bailing to avoid infinite reset loops.
6575
+ const MAX_RESET_COUNT = 50;
6576
+
7655
6577
  /**
7656
6578
  * Computes the `x` and `y` coordinates that will place the floating element
7657
6579
  * next to a given reference element.
@@ -7666,7 +6588,10 @@ const computePosition = async (reference, floating, config) => {
7666
6588
  middleware = [],
7667
6589
  platform
7668
6590
  } = config;
7669
- const validMiddleware = middleware.filter(Boolean);
6591
+ const platformWithDetectOverflow = platform.detectOverflow ? platform : {
6592
+ ...platform,
6593
+ detectOverflow
6594
+ };
7670
6595
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
7671
6596
  let rects = await platform.getElementRects({
7672
6597
  reference,
@@ -7678,14 +6603,17 @@ const computePosition = async (reference, floating, config) => {
7678
6603
  y
7679
6604
  } = computeCoordsFromPlacement(rects, placement, rtl);
7680
6605
  let statefulPlacement = placement;
7681
- let middlewareData = {};
7682
6606
  let resetCount = 0;
7683
- for (let i = 0; i < validMiddleware.length; i++) {
7684
- 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
+ }
7685
6613
  const {
7686
6614
  name,
7687
6615
  fn
7688
- } = validMiddleware[i];
6616
+ } = currentMiddleware;
7689
6617
  const {
7690
6618
  x: nextX,
7691
6619
  y: nextY,
@@ -7699,10 +6627,7 @@ const computePosition = async (reference, floating, config) => {
7699
6627
  strategy,
7700
6628
  middlewareData,
7701
6629
  rects,
7702
- platform: {
7703
- ...platform,
7704
- detectOverflow: (_platform$detectOverf = platform.detectOverflow) != null ? _platform$detectOverf : detectOverflow
7705
- },
6630
+ platform: platformWithDetectOverflow,
7706
6631
  elements: {
7707
6632
  reference,
7708
6633
  floating
@@ -7710,14 +6635,11 @@ const computePosition = async (reference, floating, config) => {
7710
6635
  });
7711
6636
  x = nextX != null ? nextX : x;
7712
6637
  y = nextY != null ? nextY : y;
7713
- middlewareData = {
7714
- ...middlewareData,
7715
- [name]: {
7716
- ...middlewareData[name],
7717
- ...data
7718
- }
6638
+ middlewareData[name] = {
6639
+ ...middlewareData[name],
6640
+ ...data
7719
6641
  };
7720
- if (reset && resetCount <= 50) {
6642
+ if (reset && resetCount < MAX_RESET_COUNT) {
7721
6643
  resetCount++;
7722
6644
  if (typeof reset === 'object') {
7723
6645
  if (reset.placement) {
@@ -8587,9 +7509,9 @@ const size = function (options) {
8587
7509
 
8588
7510
  /***/ },
8589
7511
 
8590
- /***/ "./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"
8591
7513
  /*!**********************************************************************************************************!*\
8592
- !*** ./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 ***!
8593
7515
  \**********************************************************************************************************/
8594
7516
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8595
7517
 
@@ -8611,9 +7533,9 @@ __webpack_require__.r(__webpack_exports__);
8611
7533
  /* harmony export */ shift: () => (/* binding */ shift),
8612
7534
  /* harmony export */ size: () => (/* binding */ size)
8613
7535
  /* harmony export */ });
8614
- /* 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");
8615
- /* 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");
8616
- /* 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");
8617
7539
 
8618
7540
 
8619
7541
 
@@ -8790,7 +7712,7 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
8790
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)) {
8791
7713
  scroll = (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.getNodeScroll)(offsetParent);
8792
7714
  }
8793
- if ((0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isHTMLElement)(offsetParent)) {
7715
+ if (isOffsetParentAnElement) {
8794
7716
  const offsetRect = getBoundingClientRect(offsetParent);
8795
7717
  scale = getScale(offsetParent);
8796
7718
  offsets.x = offsetRect.x + offsetParent.clientLeft;
@@ -8878,7 +7800,6 @@ function getViewportRect(element, strategy) {
8878
7800
  };
8879
7801
  }
8880
7802
 
8881
- const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
8882
7803
  // Returns the inner client rect, subtracting scrollbars if present.
8883
7804
  function getInnerBoundingClientRect(element, strategy) {
8884
7805
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
@@ -8943,7 +7864,7 @@ function getClippingElementAncestors(element, cache) {
8943
7864
  if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
8944
7865
  currentContainingBlockComputedStyle = null;
8945
7866
  }
8946
- 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);
8947
7868
  if (shouldDropCurrentNode) {
8948
7869
  // Drop non-containing blocks.
8949
7870
  result = result.filter(ancestor => ancestor !== currentNode);
@@ -8968,20 +7889,23 @@ function getClippingRect(_ref) {
8968
7889
  } = _ref;
8969
7890
  const elementClippingAncestors = boundary === 'clippingAncestors' ? (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_2__.isTopLayer)(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
8970
7891
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
8971
- const firstClippingAncestor = clippingAncestors[0];
8972
- const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
8973
- const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
8974
- accRect.top = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.top, accRect.top);
8975
- accRect.right = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.right, accRect.right);
8976
- accRect.bottom = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.min)(rect.bottom, accRect.bottom);
8977
- accRect.left = (0,_floating_ui_core__WEBPACK_IMPORTED_MODULE_1__.max)(rect.left, accRect.left);
8978
- return accRect;
8979
- }, 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
+ }
8980
7904
  return {
8981
- width: clippingRect.right - clippingRect.left,
8982
- height: clippingRect.bottom - clippingRect.top,
8983
- x: clippingRect.left,
8984
- y: clippingRect.top
7905
+ width: right - left,
7906
+ height: bottom - top,
7907
+ x: left,
7908
+ y: top
8985
7909
  };
8986
7910
  }
8987
7911
 
@@ -9232,7 +8156,7 @@ function autoUpdate(reference, floating, update, options) {
9232
8156
  animationFrame = false
9233
8157
  } = options;
9234
8158
  const referenceEl = unwrapElement(reference);
9235
- 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) : [])] : [];
9236
8160
  ancestors.forEach(ancestor => {
9237
8161
  ancestorScroll && ancestor.addEventListener('scroll', update, {
9238
8162
  passive: true
@@ -9245,7 +8169,7 @@ function autoUpdate(reference, floating, update, options) {
9245
8169
  if (elementResize) {
9246
8170
  resizeObserver = new ResizeObserver(_ref => {
9247
8171
  let [firstEntry] = _ref;
9248
- if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
8172
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
9249
8173
  // Prevent update loops when using the `size` middleware.
9250
8174
  // https://github.com/floating-ui/floating-ui/issues/1740
9251
8175
  resizeObserver.unobserve(floating);
@@ -9260,7 +8184,9 @@ function autoUpdate(reference, floating, update, options) {
9260
8184
  if (referenceEl && !animationFrame) {
9261
8185
  resizeObserver.observe(referenceEl);
9262
8186
  }
9263
- resizeObserver.observe(floating);
8187
+ if (floating) {
8188
+ resizeObserver.observe(floating);
8189
+ }
9264
8190
  }
9265
8191
  let frameId;
9266
8192
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
@@ -9395,9 +8321,9 @@ const computePosition = (reference, floating, options) => {
9395
8321
 
9396
8322
  /***/ },
9397
8323
 
9398
- /***/ "./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"
9399
8325
  /*!************************************************************************************************************************************************************************!*\
9400
- !*** ./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 ***!
9401
8327
  \************************************************************************************************************************************************************************/
9402
8328
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9403
8329
 
@@ -9420,8 +8346,8 @@ __webpack_require__.r(__webpack_exports__);
9420
8346
  /* harmony export */ size: () => (/* binding */ size),
9421
8347
  /* harmony export */ useFloating: () => (/* binding */ useFloating)
9422
8348
  /* harmony export */ });
9423
- /* 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");
9424
- /* 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");
9425
8351
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ "react");
9426
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");
9427
8353
 
@@ -9707,28 +8633,39 @@ const arrow$1 = options => {
9707
8633
  * object may be passed.
9708
8634
  * @see https://floating-ui.com/docs/offset
9709
8635
  */
9710
- const offset = (options, deps) => ({
9711
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.offset)(options),
9712
- options: [options, deps]
9713
- });
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
+ };
9714
8644
 
9715
8645
  /**
9716
8646
  * Optimizes the visibility of the floating element by shifting it in order to
9717
8647
  * keep it in view when it will overflow the clipping boundary.
9718
8648
  * @see https://floating-ui.com/docs/shift
9719
8649
  */
9720
- const shift = (options, deps) => ({
9721
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.shift)(options),
9722
- options: [options, deps]
9723
- });
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
+ };
9724
8658
 
9725
8659
  /**
9726
8660
  * Built-in `limiter` that will stop `shift()` at a certain point.
9727
8661
  */
9728
- const limitShift = (options, deps) => ({
9729
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.limitShift)(options),
9730
- options: [options, deps]
9731
- });
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
+ };
9732
8669
 
9733
8670
  /**
9734
8671
  * Optimizes the visibility of the floating element by flipping the `placement`
@@ -9736,10 +8673,14 @@ const limitShift = (options, deps) => ({
9736
8673
  * clipping boundary. Alternative to `autoPlacement`.
9737
8674
  * @see https://floating-ui.com/docs/flip
9738
8675
  */
9739
- const flip = (options, deps) => ({
9740
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.flip)(options),
9741
- options: [options, deps]
9742
- });
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
+ };
9743
8684
 
9744
8685
  /**
9745
8686
  * Provides data that allows you to change the size of the floating element —
@@ -9747,10 +8688,14 @@ const flip = (options, deps) => ({
9747
8688
  * width of the reference element.
9748
8689
  * @see https://floating-ui.com/docs/size
9749
8690
  */
9750
- const size = (options, deps) => ({
9751
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.size)(options),
9752
- options: [options, deps]
9753
- });
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
+ };
9754
8699
 
9755
8700
  /**
9756
8701
  * Optimizes the visibility of the floating element by choosing the placement
@@ -9758,30 +8703,42 @@ const size = (options, deps) => ({
9758
8703
  * preferred placement. Alternative to `flip`.
9759
8704
  * @see https://floating-ui.com/docs/autoPlacement
9760
8705
  */
9761
- const autoPlacement = (options, deps) => ({
9762
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.autoPlacement)(options),
9763
- options: [options, deps]
9764
- });
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
+ };
9765
8714
 
9766
8715
  /**
9767
8716
  * Provides data to hide the floating element in applicable situations, such as
9768
8717
  * when it is not in the same clipping context as the reference element.
9769
8718
  * @see https://floating-ui.com/docs/hide
9770
8719
  */
9771
- const hide = (options, deps) => ({
9772
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.hide)(options),
9773
- options: [options, deps]
9774
- });
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
+ };
9775
8728
 
9776
8729
  /**
9777
8730
  * Provides improved positioning for inline reference elements that can span
9778
8731
  * over multiple lines, such as hyperlinks or range selections.
9779
8732
  * @see https://floating-ui.com/docs/inline
9780
8733
  */
9781
- const inline = (options, deps) => ({
9782
- ...(0,_floating_ui_dom__WEBPACK_IMPORTED_MODULE_0__.inline)(options),
9783
- options: [options, deps]
9784
- });
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
+ };
9785
8742
 
9786
8743
  /**
9787
8744
  * Provides data to position an inner element of the floating element so that it
@@ -9789,19 +8746,23 @@ const inline = (options, deps) => ({
9789
8746
  * This wraps the core `arrow` middleware to allow React refs as the element.
9790
8747
  * @see https://floating-ui.com/docs/arrow
9791
8748
  */
9792
- const arrow = (options, deps) => ({
9793
- ...arrow$1(options),
9794
- options: [options, deps]
9795
- });
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
+ };
9796
8757
 
9797
8758
 
9798
8759
 
9799
8760
 
9800
8761
  /***/ },
9801
8762
 
9802
- /***/ "./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"
9803
8764
  /*!**************************************************************************************************************************************************************!*\
9804
- !*** ./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 ***!
9805
8766
  \**************************************************************************************************************************************************************/
9806
8767
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
9807
8768
 
@@ -9862,14 +8823,14 @@ __webpack_require__.r(__webpack_exports__);
9862
8823
  /* harmony export */ useTypeahead: () => (/* binding */ useTypeahead)
9863
8824
  /* harmony export */ });
9864
8825
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
9865
- /* 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");
9866
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");
9867
- /* 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");
9868
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");
9869
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");
9870
- /* 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");
9871
- /* 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");
9872
- /* 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");
9873
8834
 
9874
8835
 
9875
8836
 
@@ -11232,7 +10193,12 @@ let uncontrolledElementsSet = /*#__PURE__*/new WeakSet();
11232
10193
  let markerMap = {};
11233
10194
  let lockCount$1 = 0;
11234
10195
  const supportsInert = () => typeof HTMLElement !== 'undefined' && 'inert' in HTMLElement.prototype;
11235
- 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
+ }
11236
10202
  const correctElements = (parent, targets) => targets.map(target => {
11237
10203
  if (parent.contains(target)) {
11238
10204
  return target;
@@ -11583,7 +10549,7 @@ function addPreviouslyFocusedElement(element) {
11583
10549
  if (element && (0,_floating_ui_utils_dom__WEBPACK_IMPORTED_MODULE_3__.getNodeName)(element) !== 'body') {
11584
10550
  previouslyFocusedElements.push(new WeakRef(element));
11585
10551
  if (previouslyFocusedElements.length > LIST_LIMIT) {
11586
- previouslyFocusedElements = previouslyFocusedElements.slice(-20);
10552
+ previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
11587
10553
  }
11588
10554
  }
11589
10555
  }
@@ -12703,18 +11669,22 @@ function useDismiss(context, props) {
12703
11669
  })
12704
11670
  })
12705
11671
  }), [closeOnEscapeKeyDown, onOpenChange, referencePress, referencePressEvent]);
12706
- const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => ({
12707
- onKeyDown: closeOnEscapeKeyDown,
12708
- onMouseDown() {
12709
- endedOrStartedInsideRef.current = true;
12710
- },
12711
- onMouseUp() {
11672
+ const floating = react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => {
11673
+ function setMouseDownOrUpInside(event) {
11674
+ if (event.button !== 0) {
11675
+ return;
11676
+ }
12712
11677
  endedOrStartedInsideRef.current = true;
12713
- },
12714
- [captureHandlerKeys[outsidePressEvent]]: () => {
12715
- dataRef.current.insideReactTree = true;
12716
11678
  }
12717
- }), [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]);
12718
11688
  return react__WEBPACK_IMPORTED_MODULE_0__.useMemo(() => enabled ? {
12719
11689
  reference,
12720
11690
  floating
@@ -14473,9 +13443,9 @@ function safePolygon(options) {
14473
13443
 
14474
13444
  /***/ },
14475
13445
 
14476
- /***/ "./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"
14477
13447
  /*!********************************************************************************************************************************************************************!*\
14478
- !*** ./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 ***!
14479
13449
  \********************************************************************************************************************************************************************/
14480
13450
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
14481
13451
 
@@ -14527,9 +13497,9 @@ __webpack_require__.r(__webpack_exports__);
14527
13497
  /* harmony export */ useLatestRef: () => (/* binding */ useLatestRef),
14528
13498
  /* harmony export */ useModernLayoutEffect: () => (/* binding */ index)
14529
13499
  /* harmony export */ });
14530
- /* 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");
14531
13501
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
14532
- /* 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");
14533
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");
14534
13504
 
14535
13505
 
@@ -15072,9 +14042,9 @@ function enableFocusInside(container) {
15072
14042
 
15073
14043
  /***/ },
15074
14044
 
15075
- /***/ "./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"
15076
14046
  /*!*********************************************************************************************************************!*\
15077
- !*** ./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 ***!
15078
14048
  \*********************************************************************************************************************/
15079
14049
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15080
14050
 
@@ -15146,7 +14116,6 @@ function isShadowRoot(value) {
15146
14116
  }
15147
14117
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
15148
14118
  }
15149
- const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
15150
14119
  function isOverflowElement(element) {
15151
14120
  const {
15152
14121
  overflow,
@@ -15154,32 +14123,35 @@ function isOverflowElement(element) {
15154
14123
  overflowY,
15155
14124
  display
15156
14125
  } = getComputedStyle(element);
15157
- 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';
15158
14127
  }
15159
- const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
15160
14128
  function isTableElement(element) {
15161
- return tableElements.has(getNodeName(element));
14129
+ return /^(table|td|th)$/.test(getNodeName(element));
15162
14130
  }
15163
- const topLayerSelectors = [':popover-open', ':modal'];
15164
14131
  function isTopLayer(element) {
15165
- return topLayerSelectors.some(selector => {
15166
- try {
15167
- return element.matches(selector);
15168
- } catch (_e) {
15169
- return false;
14132
+ try {
14133
+ if (element.matches(':popover-open')) {
14134
+ return true;
15170
14135
  }
15171
- });
14136
+ } catch (_e) {
14137
+ // no-op
14138
+ }
14139
+ try {
14140
+ return element.matches(':modal');
14141
+ } catch (_e) {
14142
+ return false;
14143
+ }
15172
14144
  }
15173
- const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
15174
- const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
15175
- 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;
15176
14149
  function isContainingBlock(elementOrCss) {
15177
- const webkit = isWebKit();
15178
14150
  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
15179
14151
 
15180
14152
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
15181
14153
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
15182
- 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 || '');
15183
14155
  }
15184
14156
  function getContainingBlock(element) {
15185
14157
  let currentNode = getParentNode(element);
@@ -15194,12 +14166,13 @@ function getContainingBlock(element) {
15194
14166
  return null;
15195
14167
  }
15196
14168
  function isWebKit() {
15197
- if (typeof CSS === 'undefined' || !CSS.supports) return false;
15198
- 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;
15199
14173
  }
15200
- const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
15201
14174
  function isLastTraversableNode(node) {
15202
- return lastTraversableNodeNames.has(getNodeName(node));
14175
+ return /^(html|body|#document)$/.test(getNodeName(node));
15203
14176
  }
15204
14177
  function getComputedStyle(element) {
15205
14178
  return getWindow(element).getComputedStyle(element);
@@ -15255,8 +14228,9 @@ function getOverflowAncestors(node, list, traverseIframes) {
15255
14228
  if (isBody) {
15256
14229
  const frameElement = getFrameElement(win);
15257
14230
  return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
14231
+ } else {
14232
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
15258
14233
  }
15259
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
15260
14234
  }
15261
14235
  function getFrameElement(win) {
15262
14236
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
@@ -15267,9 +14241,9 @@ function getFrameElement(win) {
15267
14241
 
15268
14242
  /***/ },
15269
14243
 
15270
- /***/ "./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"
15271
14245
  /*!*****************************************************************************************************************!*\
15272
- !*** ./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 ***!
15273
14247
  \*****************************************************************************************************************/
15274
14248
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15275
14249
 
@@ -15323,10 +14297,6 @@ const oppositeSideMap = {
15323
14297
  bottom: 'top',
15324
14298
  top: 'bottom'
15325
14299
  };
15326
- const oppositeAlignmentMap = {
15327
- start: 'end',
15328
- end: 'start'
15329
- };
15330
14300
  function clamp(start, value, end) {
15331
14301
  return max(start, min(value, end));
15332
14302
  }
@@ -15345,9 +14315,9 @@ function getOppositeAxis(axis) {
15345
14315
  function getAxisLength(axis) {
15346
14316
  return axis === 'y' ? 'height' : 'width';
15347
14317
  }
15348
- const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
15349
14318
  function getSideAxis(placement) {
15350
- return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
14319
+ const firstChar = placement[0];
14320
+ return firstChar === 't' || firstChar === 'b' ? 'y' : 'x';
15351
14321
  }
15352
14322
  function getAlignmentAxis(placement) {
15353
14323
  return getOppositeAxis(getSideAxis(placement));
@@ -15370,7 +14340,7 @@ function getExpandedPlacements(placement) {
15370
14340
  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
15371
14341
  }
15372
14342
  function getOppositeAlignmentPlacement(placement) {
15373
- return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
14343
+ return placement.includes('start') ? placement.replace('start', 'end') : placement.replace('end', 'start');
15374
14344
  }
15375
14345
  const lrPlacement = ['left', 'right'];
15376
14346
  const rlPlacement = ['right', 'left'];
@@ -15401,7 +14371,8 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
15401
14371
  return list;
15402
14372
  }
15403
14373
  function getOppositePlacement(placement) {
15404
- return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
14374
+ const side = getSide(placement);
14375
+ return oppositeSideMap[side] + placement.slice(side.length);
15405
14376
  }
15406
14377
  function expandPaddingObject(padding) {
15407
14378
  return {
@@ -15444,56 +14415,87 @@ function rectToClientRect(rect) {
15444
14415
 
15445
14416
  /***/ },
15446
14417
 
15447
- /***/ "./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"
15448
14447
  /*!***************************************************************************************************************!*\
15449
- !*** ./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 ***!
15450
14449
  \***************************************************************************************************************/
15451
14450
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
15452
14451
 
15453
14452
  "use strict";
15454
14453
  __webpack_require__.r(__webpack_exports__);
15455
14454
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
14455
+ /* harmony export */ DATA_TRANSFER_JSON_MIME: () => (/* binding */ Q),
15456
14456
  /* harmony export */ FOCUSABLE_HTML_TAGS: () => (/* binding */ a),
15457
- /* harmony export */ applyInertiaStep: () => (/* binding */ ye),
14457
+ /* harmony export */ applyInertiaStep: () => (/* binding */ xe),
15458
14458
  /* harmony export */ assert: () => (/* binding */ s),
15459
- /* harmony export */ blobToFile: () => (/* binding */ fe),
15460
- /* harmony export */ calculateCenterOffset: () => (/* binding */ le),
15461
- /* harmony export */ calculateEuclideanDistance: () => (/* binding */ Me),
15462
- /* harmony export */ calculateMovingSpeed: () => (/* binding */ Se),
15463
- /* harmony export */ calculatePercentage: () => (/* binding */ Ae),
15464
- /* harmony export */ camelToDashCase: () => (/* binding */ ke),
15465
- /* harmony export */ camelToWords: () => (/* binding */ Ee),
15466
- /* 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),
15467
14467
  /* harmony export */ chunk: () => (/* binding */ T),
15468
14468
  /* harmony export */ cloneBlob: () => (/* binding */ e),
15469
- /* harmony export */ compact: () => (/* binding */ P),
15470
- /* harmony export */ compose: () => (/* binding */ Y),
15471
- /* harmony export */ definedProps: () => (/* binding */ Ce),
15472
- /* harmony export */ delay: () => (/* binding */ q),
15473
- /* harmony export */ difference: () => (/* binding */ _),
15474
- /* 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),
15475
14475
  /* harmony export */ everyAsync: () => (/* binding */ V),
15476
- /* harmony export */ fileListToFiles: () => (/* binding */ he),
15477
- /* harmony export */ filterParallel: () => (/* binding */ B),
15478
- /* harmony export */ filterSequential: () => (/* binding */ H),
14476
+ /* harmony export */ fileListToFiles: () => (/* binding */ me),
14477
+ /* harmony export */ filterParallel: () => (/* binding */ H),
14478
+ /* harmony export */ filterSequential: () => (/* binding */ D),
15479
14479
  /* harmony export */ findAsync: () => (/* binding */ G),
15480
- /* harmony export */ findCharIndices: () => (/* binding */ Te),
15481
- /* harmony export */ flattenTree: () => (/* binding */ Ye),
15482
- /* harmony export */ forEachChar: () => (/* binding */ Xe),
15483
- /* harmony export */ generateEphemeralId: () => (/* binding */ we),
15484
- /* 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),
15485
14486
  /* harmony export */ getElementOffsetRect: () => (/* binding */ t),
15486
14487
  /* harmony export */ getFocusableHtmlElements: () => (/* binding */ i),
15487
- /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ ce),
14488
+ /* harmony export */ getLocalStorageCapabilities: () => (/* binding */ fe),
15488
14489
  /* harmony export */ getTreeChildren: () => (/* binding */ Re),
15489
- /* harmony export */ getWordsInitials: () => (/* binding */ _e),
15490
- /* harmony export */ getXOverflowWidth: () => (/* binding */ ne),
15491
- /* harmony export */ getYOverflowHeight: () => (/* binding */ ae),
15492
- /* harmony export */ hasXOverflow: () => (/* binding */ te),
15493
- /* harmony export */ hasYOverflow: () => (/* binding */ re),
15494
- /* 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),
15495
14497
  /* harmony export */ intersection: () => (/* binding */ X),
15496
- /* harmony export */ invokeIfFunction: () => (/* binding */ pe),
14498
+ /* harmony export */ invokeIfFunction: () => (/* binding */ we),
15497
14499
  /* harmony export */ isAnchorHtmlElement: () => (/* binding */ n),
15498
14500
  /* harmony export */ isArray: () => (/* binding */ E),
15499
14501
  /* harmony export */ isBlob: () => (/* binding */ w),
@@ -15502,52 +14504,53 @@ __webpack_require__.r(__webpack_exports__);
15502
14504
  /* harmony export */ isDate: () => (/* binding */ y),
15503
14505
  /* harmony export */ isDecimal: () => (/* binding */ k),
15504
14506
  /* harmony export */ isDefined: () => (/* binding */ h),
15505
- /* harmony export */ isEmptyArray: () => (/* binding */ L),
14507
+ /* harmony export */ isEmptyArray: () => (/* binding */ O),
15506
14508
  /* harmony export */ isEmptyObject: () => (/* binding */ g),
15507
14509
  /* harmony export */ isError: () => (/* binding */ b),
15508
- /* harmony export */ isFile: () => (/* binding */ ue),
14510
+ /* harmony export */ isFile: () => (/* binding */ de),
15509
14511
  /* harmony export */ isFiniteNumber: () => (/* binding */ C),
15510
- /* harmony export */ isFunction: () => (/* binding */ N),
14512
+ /* harmony export */ isFunction: () => (/* binding */ Y),
15511
14513
  /* harmony export */ isHtmlElementFocusable: () => (/* binding */ l),
15512
14514
  /* harmony export */ isInteger: () => (/* binding */ I),
15513
- /* harmony export */ isLocalStorageReadable: () => (/* binding */ se),
15514
- /* harmony export */ isMap: () => (/* binding */ S),
14515
+ /* harmony export */ isLocalStorageReadable: () => (/* binding */ he),
14516
+ /* harmony export */ isMap: () => (/* binding */ A),
15515
14517
  /* harmony export */ isNil: () => (/* binding */ u),
15516
- /* harmony export */ isNilOrEmptyString: () => (/* binding */ Pe),
14518
+ /* harmony export */ isNilOrEmptyString: () => (/* binding */ Xe),
15517
14519
  /* harmony export */ isNull: () => (/* binding */ c),
15518
14520
  /* harmony export */ isNumber: () => (/* binding */ d),
15519
14521
  /* harmony export */ isObject: () => (/* binding */ p),
15520
- /* harmony export */ isPromise: () => (/* binding */ F),
15521
- /* harmony export */ isRegExp: () => (/* binding */ M),
15522
- /* harmony export */ isSet: () => (/* binding */ A),
15523
- /* 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),
15524
14526
  /* harmony export */ isSymbol: () => (/* binding */ v),
15525
14527
  /* harmony export */ isUndefined: () => (/* binding */ f),
15526
14528
  /* harmony export */ isValidDate: () => (/* binding */ x),
15527
14529
  /* harmony export */ moveFocusWithinContainer: () => (/* binding */ o),
15528
- /* harmony export */ noop: () => (/* binding */ R),
15529
- /* harmony export */ not: () => (/* binding */ $),
15530
- /* harmony export */ once: () => (/* binding */ j),
15531
- /* harmony export */ parse2DMatrix: () => (/* binding */ oe),
15532
- /* harmony export */ parseFileName: () => (/* binding */ Oe),
15533
- /* harmony export */ pipe: () => (/* binding */ z),
15534
- /* 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),
15535
14537
  /* harmony export */ reduceAsync: () => (/* binding */ Z),
15536
- /* harmony export */ resolveAxisDelta: () => (/* binding */ xe),
15537
- /* harmony export */ resolveBoundedDelta: () => (/* binding */ ge),
14538
+ /* harmony export */ resolveAxisDelta: () => (/* binding */ Me),
14539
+ /* harmony export */ resolveBoundedDelta: () => (/* binding */ be),
15538
14540
  /* harmony export */ retry: () => (/* binding */ K),
15539
14541
  /* harmony export */ runParallel: () => (/* binding */ W),
15540
14542
  /* harmony export */ runSequential: () => (/* binding */ U),
15541
- /* harmony export */ searchTree: () => (/* binding */ Ne),
15542
- /* harmony export */ someAsync: () => (/* binding */ D),
15543
- /* harmony export */ splitMapJoin: () => (/* binding */ ze),
15544
- /* harmony export */ splitStringIntoWords: () => (/* binding */ Le),
15545
- /* harmony export */ timeout: () => (/* binding */ J),
15546
- /* harmony export */ toKebabCase: () => (/* binding */ Ie),
15547
- /* harmony export */ traverseFileSystemDirectory: () => (/* binding */ de),
15548
- /* 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)
15549
14552
  /* harmony export */ });
15550
- 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")}`};
15551
14554
  //# sourceMappingURL=index.mjs.map
15552
14555
 
15553
14556
  /***/ }
@@ -15711,27 +14714,15 @@ __webpack_require__.r(__webpack_exports__);
15711
14714
  /* harmony export */ getHoneyListItemId: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.getHoneyListItemId),
15712
14715
  /* harmony export */ honeyVisibilityTransitionEffect: () => (/* reexport safe */ _effects__WEBPACK_IMPORTED_MODULE_8__.honeyVisibilityTransitionEffect),
15713
14716
  /* harmony export */ mergeRefs: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.mergeRefs),
15714
- /* harmony export */ resolveAxisTranslate: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.resolveAxisTranslate),
15715
14717
  /* harmony export */ resolveScreenState: () => (/* reexport safe */ _helpers__WEBPACK_IMPORTED_MODULE_7__.resolveScreenState),
15716
14718
  /* harmony export */ resolveSpacing: () => (/* binding */ resolveSpacing),
15717
- /* harmony export */ useHoneyDecay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDecay),
15718
- /* harmony export */ useHoneyDocumentKeyUp: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDocumentKeyUp),
15719
- /* harmony export */ useHoneyDrag: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyDrag),
15720
14719
  /* harmony export */ useHoneyGridContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyGridContext),
15721
- /* harmony export */ useHoneyLatest: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyLatest),
15722
14720
  /* harmony export */ useHoneyLayerRegistryContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyLayerRegistryContext),
15723
14721
  /* harmony export */ useHoneyLayout: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyLayout),
15724
14722
  /* harmony export */ useHoneyMediaQuery: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyMediaQuery),
15725
- /* harmony export */ useHoneyOnChange: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOnChange),
15726
14723
  /* harmony export */ useHoneyOverlay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyOverlay),
15727
14724
  /* harmony export */ useHoneyPopup: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyPopup),
15728
14725
  /* harmony export */ useHoneyPopupContext: () => (/* reexport safe */ _components__WEBPACK_IMPORTED_MODULE_3__.useHoneyPopupContext),
15729
- /* harmony export */ useHoneyRafLoop: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyRafLoop),
15730
- /* harmony export */ useHoneyResize: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyResize),
15731
- /* harmony export */ useHoneySyntheticScroll: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScroll),
15732
- /* harmony export */ useHoneySyntheticScrollX: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScrollX),
15733
- /* harmony export */ useHoneySyntheticScrollY: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneySyntheticScrollY),
15734
- /* harmony export */ useHoneyTimer: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useHoneyTimer),
15735
14726
  /* harmony export */ useRegisterHoneyOverlay: () => (/* reexport safe */ _hooks__WEBPACK_IMPORTED_MODULE_5__.useRegisterHoneyOverlay),
15736
14727
  /* harmony export */ warnOnce: () => (/* reexport safe */ _utils__WEBPACK_IMPORTED_MODULE_6__.warnOnce)
15737
14728
  /* harmony export */ });