@react-hive/honey-layout 17.3.2 → 17.5.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.
@@ -3292,9 +3292,9 @@ if (false) // removed by dead control flow
3292
3292
 
3293
3293
  /***/ },
3294
3294
 
3295
- /***/ "./node_modules/.pnpm/tabbable@6.4.0/node_modules/tabbable/dist/index.esm.js"
3295
+ /***/ "./node_modules/.pnpm/tabbable@6.5.0/node_modules/tabbable/dist/index.esm.js"
3296
3296
  /*!***********************************************************************************!*\
3297
- !*** ./node_modules/.pnpm/tabbable@6.4.0/node_modules/tabbable/dist/index.esm.js ***!
3297
+ !*** ./node_modules/.pnpm/tabbable@6.5.0/node_modules/tabbable/dist/index.esm.js ***!
3298
3298
  \***********************************************************************************/
3299
3299
  (__unused_webpack_module, __webpack_exports__, __webpack_require__) {
3300
3300
 
@@ -3308,12 +3308,12 @@ __webpack_require__.r(__webpack_exports__);
3308
3308
  /* harmony export */ tabbable: () => (/* binding */ tabbable)
3309
3309
  /* harmony export */ });
3310
3310
  /*!
3311
- * tabbable 6.4.0
3311
+ * tabbable 6.5.0
3312
3312
  * @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
3313
3313
  */
3314
3314
  // NOTE: separate `:not()` selectors has broader browser support than the newer
3315
3315
  // `:not([inert], [inert] *)` (Feb 2023)
3316
- var candidateSelectors = ['input:not([inert]):not([inert] *)', 'select:not([inert]):not([inert] *)', 'textarea:not([inert]):not([inert] *)', 'a[href]:not([inert]):not([inert] *)', 'button:not([inert]):not([inert] *)', '[tabindex]:not(slot):not([inert]):not([inert] *)', 'audio[controls]:not([inert]):not([inert] *)', 'video[controls]:not([inert]):not([inert] *)', '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', 'details>summary:first-of-type:not([inert]):not([inert] *)', 'details:not([inert]):not([inert] *)'];
3316
+ var candidateSelectors = ['input:not([inert]):not([inert] *)', 'select:not([inert]):not([inert] *)', 'textarea:not([inert]):not([inert] *)', 'a[href]:not([inert]):not([inert] *)', 'area[href]:not([inert]):not([inert] *)', 'button:not([inert]):not([inert] *)', '[tabindex]:not(slot):not([inert]):not([inert] *)', 'audio[controls]:not([inert]):not([inert] *)', 'video[controls]:not([inert]):not([inert] *)', '[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)', 'details>summary:first-of-type:not([inert]):not([inert] *)', 'details:not([inert]):not([inert] *)'];
3317
3317
  var candidateSelector = /* #__PURE__ */candidateSelectors.join(',');
3318
3318
  var NoElement = typeof Element === 'undefined';
3319
3319
  var matches = NoElement ? function () {} : Element.prototype.matches || Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
@@ -3671,7 +3671,9 @@ var isHidden = function isHidden(node, _ref) {
3671
3671
  // (this is legacy behavior from a very long way back)
3672
3672
  // NOTE: we check this regardless of `displayCheck="none"` because this is a
3673
3673
  // _visibility_ check, not a _display_ check
3674
- if (getComputedStyle(node).visibility === 'hidden') {
3674
+ var _getComputedStyle = getComputedStyle(node),
3675
+ visibility = _getComputedStyle.visibility;
3676
+ if (visibility === 'hidden' || visibility === 'collapse') {
3675
3677
  return true;
3676
3678
  }
3677
3679
  var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
@@ -4827,9 +4829,11 @@ __webpack_require__.r(__webpack_exports__);
4827
4829
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
4828
4830
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);
4829
4831
  /* harmony import */ var _react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @react-hive/honey-utils */ "./node_modules/.pnpm/@react-hive+honey-utils@4.0.0/node_modules/@react-hive/honey-utils/dist/index.mjs");
4830
- /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
4831
- /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
4832
- /* harmony import */ var _HoneyFlex__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./HoneyFlex */ "./src/components/HoneyFlex/index.ts");
4832
+ /* harmony import */ var _react_hive_honey_hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @react-hive/honey-hooks */ "./node_modules/.pnpm/@react-hive+honey-hooks@3.1.0_react@19.2.7/node_modules/@react-hive/honey-hooks/dist/index.mjs");
4833
+ /* harmony import */ var _hooks__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks */ "./src/hooks/index.ts");
4834
+ /* harmony import */ var _helpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../helpers */ "./src/helpers/index.ts");
4835
+ /* harmony import */ var _HoneyFlex__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./HoneyFlex */ "./src/components/HoneyFlex/index.ts");
4836
+
4833
4837
 
4834
4838
 
4835
4839
 
@@ -4839,9 +4843,14 @@ __webpack_require__.r(__webpack_exports__);
4839
4843
  /**
4840
4844
  * A reusable overlay component integrated with the `HoneyLayoutProvider` system.
4841
4845
  *
4842
- * Automatically registers/unregisters itself with the layout system and handles key events.
4846
+ * The component registers itself with the overlay system when active, provides
4847
+ * overlay context to render-function children, and disables interaction with its
4848
+ * content when inactive by applying the `inert` attribute.
4849
+ *
4850
+ * By default, releasing the Escape key deactivates the overlay. Custom key handling
4851
+ * can be provided through `onKeyUp`.
4843
4852
  *
4844
- * @param props - Component configuration.
4853
+ * @param props - Overlay component props.
4845
4854
  *
4846
4855
  * @example
4847
4856
  * ```tsx
@@ -4857,20 +4866,42 @@ __webpack_require__.r(__webpack_exports__);
4857
4866
  * )}
4858
4867
  * </HoneyOverlay>
4859
4868
  * ```
4869
+ *
4870
+ * @example
4871
+ * ```tsx
4872
+ * <HoneyOverlay
4873
+ * active={isOpen}
4874
+ * onDeactivate={() => setIsOpen(false)}
4875
+ * onKeyUp={(keyCode) => {
4876
+ * if (keyCode === 'Escape') {
4877
+ * setIsOpen(false);
4878
+ * }
4879
+ * }}
4880
+ * >
4881
+ * Overlay content
4882
+ * </HoneyOverlay>
4883
+ * ```
4860
4884
  */
4861
- const HoneyOverlay = ({ ref, children, active, overlayId, onDeactivate, ...props }) => {
4862
- const overlay = (0,_hooks__WEBPACK_IMPORTED_MODULE_3__.useRegisterHoneyOverlay)(active, {
4885
+ const HoneyOverlay = ({ ref, children, active, overlayId, onDeactivate, onKeyUp, ...props }) => {
4886
+ const onKeyUpRef = (0,_react_hive_honey_hooks__WEBPACK_IMPORTED_MODULE_3__.useHoneyLatest)(onKeyUp);
4887
+ const onDeactivateRef = (0,_react_hive_honey_hooks__WEBPACK_IMPORTED_MODULE_3__.useHoneyLatest)(onDeactivate);
4888
+ const handleKeyUp = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((keyCode, ...args) => {
4889
+ if (onKeyUpRef.current) {
4890
+ onKeyUpRef.current(keyCode, ...args);
4891
+ }
4892
+ else if (keyCode === 'Escape') {
4893
+ onDeactivateRef.current();
4894
+ }
4895
+ }, []);
4896
+ const overlay = (0,_hooks__WEBPACK_IMPORTED_MODULE_4__.useRegisterHoneyOverlay)(active, {
4863
4897
  id: overlayId,
4864
- onKeyUp: (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(keyCode => {
4865
- if (keyCode === 'Escape') {
4866
- onDeactivate();
4867
- }
4868
- }, [onDeactivate]),
4898
+ onKeyUp: handleKeyUp,
4869
4899
  });
4870
- const mergedRef = (0,_helpers__WEBPACK_IMPORTED_MODULE_4__.mergeRefs)(overlay?.setContainerRef, ref);
4871
- return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyFlex__WEBPACK_IMPORTED_MODULE_5__.HoneyFlex, { ref: mergedRef, inert: !active, ...props, children: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__.invokeIfFunction)(children, {
4900
+ const mergedRef = (0,_helpers__WEBPACK_IMPORTED_MODULE_5__.mergeRefs)(overlay?.setContainerRef, ref);
4901
+ return ((0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx)(_HoneyFlex__WEBPACK_IMPORTED_MODULE_6__.HoneyFlex, { ref: mergedRef, inert: !active, ...props, children: (0,_react_hive_honey_utils__WEBPACK_IMPORTED_MODULE_2__.invokeIfFunction)(children, {
4872
4902
  overlay,
4873
- deactivateOverlay: onDeactivate,
4903
+ isActive: active,
4904
+ deactivateOverlay: onDeactivateRef.current,
4874
4905
  }) }));
4875
4906
  };
4876
4907
 
@@ -8745,7 +8776,7 @@ const arrow = (options, deps) => {
8745
8776
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
8746
8777
 
8747
8778
  "use strict";
8748
- var react__WEBPACK_IMPORTED_MODULE_0___namespace_cache;
8779
+ let react__WEBPACK_IMPORTED_MODULE_0___namespace_cache;
8749
8780
  __webpack_require__.r(__webpack_exports__);
8750
8781
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
8751
8782
  /* harmony export */ Composite: () => (/* binding */ Composite),
@@ -8804,7 +8835,7 @@ __webpack_require__.r(__webpack_exports__);
8804
8835
  /* 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.7_react@19.2.7__react@19.2.7/node_modules/@floating-ui/react/dist/floating-ui.react.utils.mjs");
8805
8836
  /* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react/jsx-runtime */ "./node_modules/.pnpm/react@19.2.7/node_modules/react/jsx-runtime.js");
8806
8837
  /* 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");
8807
- /* 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");
8838
+ /* harmony import */ var tabbable__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! tabbable */ "./node_modules/.pnpm/tabbable@6.5.0/node_modules/tabbable/dist/index.esm.js");
8808
8839
  /* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! react-dom */ "./node_modules/.pnpm/react-dom@19.2.7_react@19.2.7/node_modules/react-dom/index.js");
8809
8840
  /* 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.7_react@19.2.7__react@19.2.7/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs");
8810
8841
  /* 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");
@@ -13428,7 +13459,7 @@ function safePolygon(options) {
13428
13459
  (__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) {
13429
13460
 
13430
13461
  "use strict";
13431
- var react__WEBPACK_IMPORTED_MODULE_1___namespace_cache;
13462
+ let react__WEBPACK_IMPORTED_MODULE_1___namespace_cache;
13432
13463
  __webpack_require__.r(__webpack_exports__);
13433
13464
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
13434
13465
  /* harmony export */ activeElement: () => (/* binding */ activeElement),
@@ -13478,7 +13509,7 @@ __webpack_require__.r(__webpack_exports__);
13478
13509
  /* 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");
13479
13510
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ "react");
13480
13511
  /* 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");
13481
- /* 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");
13512
+ /* harmony import */ var tabbable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! tabbable */ "./node_modules/.pnpm/tabbable@6.5.0/node_modules/tabbable/dist/index.esm.js");
13482
13513
 
13483
13514
 
13484
13515
 
@@ -14546,17 +14577,17 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14546
14577
  /******/ });
14547
14578
  /************************************************************************/
14548
14579
  /******/ // The module cache
14549
- /******/ var __webpack_module_cache__ = {};
14580
+ /******/ const __webpack_module_cache__ = {};
14550
14581
  /******/
14551
14582
  /******/ // The require function
14552
14583
  /******/ function __webpack_require__(moduleId) {
14553
14584
  /******/ // Check if module is in cache
14554
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
14585
+ /******/ const cachedModule = __webpack_module_cache__[moduleId];
14555
14586
  /******/ if (cachedModule !== undefined) {
14556
14587
  /******/ return cachedModule.exports;
14557
14588
  /******/ }
14558
14589
  /******/ // Create a new module (and put it into the cache)
14559
- /******/ var module = __webpack_module_cache__[moduleId] = {
14590
+ /******/ const module = __webpack_module_cache__[moduleId] = {
14560
14591
  /******/ id: moduleId,
14561
14592
  /******/ loaded: false,
14562
14593
  /******/ exports: {}
@@ -14565,7 +14596,7 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14565
14596
  /******/ // Execute the module function
14566
14597
  /******/ if (!(moduleId in __webpack_modules__)) {
14567
14598
  /******/ delete __webpack_module_cache__[moduleId];
14568
- /******/ var e = new Error("Cannot find module '" + moduleId + "'");
14599
+ /******/ const e = new Error("Cannot find module '" + moduleId + "'");
14569
14600
  /******/ e.code = 'MODULE_NOT_FOUND';
14570
14601
  /******/ throw e;
14571
14602
  /******/ }
@@ -14583,7 +14614,7 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14583
14614
  /******/ (() => {
14584
14615
  /******/ // getDefaultExport function for compatibility with non-harmony modules
14585
14616
  /******/ __webpack_require__.n = (module) => {
14586
- /******/ var getter = module && module.__esModule ?
14617
+ /******/ const getter = module && module.__esModule ?
14587
14618
  /******/ () => (module['default']) :
14588
14619
  /******/ () => (module);
14589
14620
  /******/ __webpack_require__.d(getter, { a: getter });
@@ -14593,8 +14624,8 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14593
14624
  /******/
14594
14625
  /******/ /* webpack/runtime/create fake namespace object */
14595
14626
  /******/ (() => {
14596
- /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
14597
- /******/ var leafPrototypes;
14627
+ /******/ const getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);
14628
+ /******/ let leafPrototypes;
14598
14629
  /******/ // create a fake namespace object
14599
14630
  /******/ // mode & 1: value is a module id, require it
14600
14631
  /******/ // mode & 2: merge all properties of value into the ns
@@ -14608,9 +14639,9 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14608
14639
  /******/ if((mode & 4) && value.__esModule) return value;
14609
14640
  /******/ if((mode & 16) && typeof value.then === 'function') return value;
14610
14641
  /******/ }
14611
- /******/ var ns = Object.create(null);
14642
+ /******/ const ns = Object.create(null);
14612
14643
  /******/ __webpack_require__.r(ns);
14613
- /******/ var def = {};
14644
+ /******/ const def = {};
14614
14645
  /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];
14615
14646
  /******/ for(var current = mode & 2 && value; (typeof current == 'object' || typeof current == 'function') && !~leafPrototypes.indexOf(current); current = getProto(current)) {
14616
14647
  /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));
@@ -14623,11 +14654,26 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14623
14654
  /******/
14624
14655
  /******/ /* webpack/runtime/define property getters */
14625
14656
  /******/ (() => {
14626
- /******/ // define getter functions for harmony exports
14657
+ /******/ // define getter/value functions for harmony exports
14627
14658
  /******/ __webpack_require__.d = (exports, definition) => {
14628
- /******/ for(var key in definition) {
14629
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
14630
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
14659
+ /******/ if(Array.isArray(definition)) {
14660
+ /******/ var i = 0;
14661
+ /******/ while(i < definition.length) {
14662
+ /******/ var key = definition[i++];
14663
+ /******/ var binding = definition[i++];
14664
+ /******/ if(!__webpack_require__.o(exports, key)) {
14665
+ /******/ if(binding === 0) {
14666
+ /******/ Object.defineProperty(exports, key, { enumerable: true, value: definition[i++] });
14667
+ /******/ } else {
14668
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: binding });
14669
+ /******/ }
14670
+ /******/ } else if(binding === 0) { i++; }
14671
+ /******/ }
14672
+ /******/ } else {
14673
+ /******/ for(var key in definition) {
14674
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
14675
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
14676
+ /******/ }
14631
14677
  /******/ }
14632
14678
  /******/ }
14633
14679
  /******/ };
@@ -14654,7 +14700,7 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14654
14700
  /******/ (() => {
14655
14701
  /******/ // define __esModule on exports
14656
14702
  /******/ __webpack_require__.r = (exports) => {
14657
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
14703
+ /******/ if(Symbol.toStringTag) {
14658
14704
  /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
14659
14705
  /******/ }
14660
14706
  /******/ Object.defineProperty(exports, '__esModule', { value: true });
@@ -14671,7 +14717,7 @@ const t=t=>new Blob([t],{type:t.type}),e=t=>new DOMRect(t.offsetLeft,t.offsetTop
14671
14717
  /******/ })();
14672
14718
  /******/
14673
14719
  /************************************************************************/
14674
- var __webpack_exports__ = {};
14720
+ let __webpack_exports__ = {};
14675
14721
  // This entry needs to be wrapped in an IIFE because it needs to be in strict mode.
14676
14722
  (() => {
14677
14723
  "use strict";