[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/ -> customize-widgets.js (source)

   1  (function() {
   2  var wp;
   3  (wp ||= {}).customizeWidgets = (() => {
   4    var __create = Object.create;
   5    var __defProp = Object.defineProperty;
   6    var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   7    var __getOwnPropNames = Object.getOwnPropertyNames;
   8    var __getProtoOf = Object.getPrototypeOf;
   9    var __hasOwnProp = Object.prototype.hasOwnProperty;
  10    var __commonJS = (cb, mod) => function __require() {
  11      return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
  12    };
  13    var __export = (target, all) => {
  14      for (var name in all)
  15        __defProp(target, name, { get: all[name], enumerable: true });
  16    };
  17    var __copyProps = (to, from, except, desc) => {
  18      if (from && typeof from === "object" || typeof from === "function") {
  19        for (let key of __getOwnPropNames(from))
  20          if (!__hasOwnProp.call(to, key) && key !== except)
  21            __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  22      }
  23      return to;
  24    };
  25    var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  26      // If the importer is in node compatibility mode or this is not an ESM
  27      // file that has been converted to a CommonJS file using a Babel-
  28      // compatible transform (i.e. "__esModule" has not been set), then set
  29      // "default" to the CommonJS "module.exports" for node compatibility.
  30      isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  31      mod
  32    ));
  33    var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
  34  
  35    // package-external:@wordpress/element
  36    var require_element = __commonJS({
  37      "package-external:@wordpress/element"(exports, module) {
  38        module.exports = window.wp.element;
  39      }
  40    });
  41  
  42    // package-external:@wordpress/block-library
  43    var require_block_library = __commonJS({
  44      "package-external:@wordpress/block-library"(exports, module) {
  45        module.exports = window.wp.blockLibrary;
  46      }
  47    });
  48  
  49    // package-external:@wordpress/widgets
  50    var require_widgets = __commonJS({
  51      "package-external:@wordpress/widgets"(exports, module) {
  52        module.exports = window.wp.widgets;
  53      }
  54    });
  55  
  56    // package-external:@wordpress/blocks
  57    var require_blocks = __commonJS({
  58      "package-external:@wordpress/blocks"(exports, module) {
  59        module.exports = window.wp.blocks;
  60      }
  61    });
  62  
  63    // package-external:@wordpress/data
  64    var require_data = __commonJS({
  65      "package-external:@wordpress/data"(exports, module) {
  66        module.exports = window.wp.data;
  67      }
  68    });
  69  
  70    // package-external:@wordpress/preferences
  71    var require_preferences = __commonJS({
  72      "package-external:@wordpress/preferences"(exports, module) {
  73        module.exports = window.wp.preferences;
  74      }
  75    });
  76  
  77    // package-external:@wordpress/i18n
  78    var require_i18n = __commonJS({
  79      "package-external:@wordpress/i18n"(exports, module) {
  80        module.exports = window.wp.i18n;
  81      }
  82    });
  83  
  84    // vendor-external:react
  85    var require_react = __commonJS({
  86      "vendor-external:react"(exports, module) {
  87        module.exports = window.React;
  88      }
  89    });
  90  
  91    // vendor-external:react/jsx-runtime
  92    var require_jsx_runtime = __commonJS({
  93      "vendor-external:react/jsx-runtime"(exports, module) {
  94        module.exports = window.ReactJSXRuntime;
  95      }
  96    });
  97  
  98    // vendor-external:react-dom
  99    var require_react_dom = __commonJS({
 100      "vendor-external:react-dom"(exports, module) {
 101        module.exports = window.ReactDOM;
 102      }
 103    });
 104  
 105    // package-external:@wordpress/primitives
 106    var require_primitives = __commonJS({
 107      "package-external:@wordpress/primitives"(exports, module) {
 108        module.exports = window.wp.primitives;
 109      }
 110    });
 111  
 112    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js
 113    var require_use_sync_external_store_shim_development = __commonJS({
 114      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js"(exports) {
 115        "use strict";
 116        (function() {
 117          function is(x, y) {
 118            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 119          }
 120          function useSyncExternalStore$2(subscribe, getSnapshot) {
 121            didWarnOld18Alpha || void 0 === React60.startTransition || (didWarnOld18Alpha = true, console.error(
 122              "You are using an outdated, pre-release alpha of React 18 that does not support useSyncExternalStore. The use-sync-external-store shim will not work correctly. Upgrade to a newer pre-release."
 123            ));
 124            var value = getSnapshot();
 125            if (!didWarnUncachedGetSnapshot) {
 126              var cachedValue = getSnapshot();
 127              objectIs(value, cachedValue) || (console.error(
 128                "The result of getSnapshot should be cached to avoid an infinite loop"
 129              ), didWarnUncachedGetSnapshot = true);
 130            }
 131            cachedValue = useState21({
 132              inst: { value, getSnapshot }
 133            });
 134            var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
 135            useLayoutEffect3(
 136              function() {
 137                inst.value = value;
 138                inst.getSnapshot = getSnapshot;
 139                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 140              },
 141              [subscribe, value, getSnapshot]
 142            );
 143            useEffect27(
 144              function() {
 145                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 146                return subscribe(function() {
 147                  checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 148                });
 149              },
 150              [subscribe]
 151            );
 152            useDebugValue2(value);
 153            return value;
 154          }
 155          function checkIfSnapshotChanged(inst) {
 156            var latestGetSnapshot = inst.getSnapshot;
 157            inst = inst.value;
 158            try {
 159              var nextValue = latestGetSnapshot();
 160              return !objectIs(inst, nextValue);
 161            } catch (error2) {
 162              return true;
 163            }
 164          }
 165          function useSyncExternalStore$1(subscribe, getSnapshot) {
 166            return getSnapshot();
 167          }
 168          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 169          var React60 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState21 = React60.useState, useEffect27 = React60.useEffect, useLayoutEffect3 = React60.useLayoutEffect, useDebugValue2 = React60.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
 170          exports.useSyncExternalStore = void 0 !== React60.useSyncExternalStore ? React60.useSyncExternalStore : shim;
 171          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 172        })();
 173      }
 174    });
 175  
 176    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 177    var require_shim = __commonJS({
 178      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 179        "use strict";
 180        if (false) {
 181          module.exports = null;
 182        } else {
 183          module.exports = require_use_sync_external_store_shim_development();
 184        }
 185      }
 186    });
 187  
 188    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js
 189    var require_with_selector_development = __commonJS({
 190      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js"(exports) {
 191        "use strict";
 192        (function() {
 193          function is(x, y) {
 194            return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 195          }
 196          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 197          var React60 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore3 = shim.useSyncExternalStore, useRef26 = React60.useRef, useEffect27 = React60.useEffect, useMemo25 = React60.useMemo, useDebugValue2 = React60.useDebugValue;
 198          exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
 199            var instRef = useRef26(null);
 200            if (null === instRef.current) {
 201              var inst = { hasValue: false, value: null };
 202              instRef.current = inst;
 203            } else inst = instRef.current;
 204            instRef = useMemo25(
 205              function() {
 206                function memoizedSelector(nextSnapshot) {
 207                  if (!hasMemo) {
 208                    hasMemo = true;
 209                    memoizedSnapshot = nextSnapshot;
 210                    nextSnapshot = selector(nextSnapshot);
 211                    if (void 0 !== isEqual && inst.hasValue) {
 212                      var currentSelection = inst.value;
 213                      if (isEqual(currentSelection, nextSnapshot))
 214                        return memoizedSelection = currentSelection;
 215                    }
 216                    return memoizedSelection = nextSnapshot;
 217                  }
 218                  currentSelection = memoizedSelection;
 219                  if (objectIs(memoizedSnapshot, nextSnapshot))
 220                    return currentSelection;
 221                  var nextSelection = selector(nextSnapshot);
 222                  if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 223                    return memoizedSnapshot = nextSnapshot, currentSelection;
 224                  memoizedSnapshot = nextSnapshot;
 225                  return memoizedSelection = nextSelection;
 226                }
 227                var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 228                return [
 229                  function() {
 230                    return memoizedSelector(getSnapshot());
 231                  },
 232                  null === maybeGetServerSnapshot ? void 0 : function() {
 233                    return memoizedSelector(maybeGetServerSnapshot());
 234                  }
 235                ];
 236              },
 237              [getSnapshot, getServerSnapshot, selector, isEqual]
 238            );
 239            var value = useSyncExternalStore3(subscribe, instRef[0], instRef[1]);
 240            useEffect27(
 241              function() {
 242                inst.hasValue = true;
 243                inst.value = value;
 244              },
 245              [value]
 246            );
 247            useDebugValue2(value);
 248            return value;
 249          };
 250          "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 251        })();
 252      }
 253    });
 254  
 255    // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 256    var require_with_selector = __commonJS({
 257      "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 258        "use strict";
 259        if (false) {
 260          module.exports = null;
 261        } else {
 262          module.exports = require_with_selector_development();
 263        }
 264      }
 265    });
 266  
 267    // package-external:@wordpress/compose
 268    var require_compose = __commonJS({
 269      "package-external:@wordpress/compose"(exports, module) {
 270        module.exports = window.wp.compose;
 271      }
 272    });
 273  
 274    // package-external:@wordpress/a11y
 275    var require_a11y = __commonJS({
 276      "package-external:@wordpress/a11y"(exports, module) {
 277        module.exports = window.wp.a11y;
 278      }
 279    });
 280  
 281    // package-external:@wordpress/theme
 282    var require_theme = __commonJS({
 283      "package-external:@wordpress/theme"(exports, module) {
 284        module.exports = window.wp.theme;
 285      }
 286    });
 287  
 288    // package-external:@wordpress/private-apis
 289    var require_private_apis = __commonJS({
 290      "package-external:@wordpress/private-apis"(exports, module) {
 291        module.exports = window.wp.privateApis;
 292      }
 293    });
 294  
 295    // package-external:@wordpress/components
 296    var require_components = __commonJS({
 297      "package-external:@wordpress/components"(exports, module) {
 298        module.exports = window.wp.components;
 299      }
 300    });
 301  
 302    // package-external:@wordpress/hooks
 303    var require_hooks = __commonJS({
 304      "package-external:@wordpress/hooks"(exports, module) {
 305        module.exports = window.wp.hooks;
 306      }
 307    });
 308  
 309    // package-external:@wordpress/core-data
 310    var require_core_data = __commonJS({
 311      "package-external:@wordpress/core-data"(exports, module) {
 312        module.exports = window.wp.coreData;
 313      }
 314    });
 315  
 316    // package-external:@wordpress/block-editor
 317    var require_block_editor = __commonJS({
 318      "package-external:@wordpress/block-editor"(exports, module) {
 319        module.exports = window.wp.blockEditor;
 320      }
 321    });
 322  
 323    // package-external:@wordpress/media-utils
 324    var require_media_utils = __commonJS({
 325      "package-external:@wordpress/media-utils"(exports, module) {
 326        module.exports = window.wp.mediaUtils;
 327      }
 328    });
 329  
 330    // package-external:@wordpress/keycodes
 331    var require_keycodes = __commonJS({
 332      "package-external:@wordpress/keycodes"(exports, module) {
 333        module.exports = window.wp.keycodes;
 334      }
 335    });
 336  
 337    // package-external:@wordpress/keyboard-shortcuts
 338    var require_keyboard_shortcuts = __commonJS({
 339      "package-external:@wordpress/keyboard-shortcuts"(exports, module) {
 340        module.exports = window.wp.keyboardShortcuts;
 341      }
 342    });
 343  
 344    // node_modules/.store/fast-deep-equal@3.1.3-Dk0kpzcWCOUHE1bkOO2LLA/node_modules/fast-deep-equal/es6/index.js
 345    var require_es6 = __commonJS({
 346      "node_modules/.store/fast-deep-equal@3.1.3-Dk0kpzcWCOUHE1bkOO2LLA/node_modules/fast-deep-equal/es6/index.js"(exports, module) {
 347        "use strict";
 348        module.exports = function equal(a, b) {
 349          if (a === b) return true;
 350          if (a && b && typeof a == "object" && typeof b == "object") {
 351            if (a.constructor !== b.constructor) return false;
 352            var length, i, keys;
 353            if (Array.isArray(a)) {
 354              length = a.length;
 355              if (length != b.length) return false;
 356              for (i = length; i-- !== 0; )
 357                if (!equal(a[i], b[i])) return false;
 358              return true;
 359            }
 360            if (a instanceof Map && b instanceof Map) {
 361              if (a.size !== b.size) return false;
 362              for (i of a.entries())
 363                if (!b.has(i[0])) return false;
 364              for (i of a.entries())
 365                if (!equal(i[1], b.get(i[0]))) return false;
 366              return true;
 367            }
 368            if (a instanceof Set && b instanceof Set) {
 369              if (a.size !== b.size) return false;
 370              for (i of a.entries())
 371                if (!b.has(i[0])) return false;
 372              return true;
 373            }
 374            if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
 375              length = a.length;
 376              if (length != b.length) return false;
 377              for (i = length; i-- !== 0; )
 378                if (a[i] !== b[i]) return false;
 379              return true;
 380            }
 381            if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;
 382            if (a.valueOf !== Object.prototype.valueOf) return a.valueOf() === b.valueOf();
 383            if (a.toString !== Object.prototype.toString) return a.toString() === b.toString();
 384            keys = Object.keys(a);
 385            length = keys.length;
 386            if (length !== Object.keys(b).length) return false;
 387            for (i = length; i-- !== 0; )
 388              if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;
 389            for (i = length; i-- !== 0; ) {
 390              var key = keys[i];
 391              if (!equal(a[key], b[key])) return false;
 392            }
 393            return true;
 394          }
 395          return a !== a && b !== b;
 396        };
 397      }
 398    });
 399  
 400    // package-external:@wordpress/is-shallow-equal
 401    var require_is_shallow_equal = __commonJS({
 402      "package-external:@wordpress/is-shallow-equal"(exports, module) {
 403        module.exports = window.wp.isShallowEqual;
 404      }
 405    });
 406  
 407    // package-external:@wordpress/dom
 408    var require_dom = __commonJS({
 409      "package-external:@wordpress/dom"(exports, module) {
 410        module.exports = window.wp.dom;
 411      }
 412    });
 413  
 414    // packages/customize-widgets/build-module/index.mjs
 415    var index_exports = {};
 416    __export(index_exports, {
 417      initialize: () => initialize,
 418      store: () => store
 419    });
 420    var import_element61 = __toESM(require_element(), 1);
 421    var import_block_library = __toESM(require_block_library(), 1);
 422    var import_widgets5 = __toESM(require_widgets(), 1);
 423    var import_blocks2 = __toESM(require_blocks(), 1);
 424    var import_data18 = __toESM(require_data(), 1);
 425    var import_preferences4 = __toESM(require_preferences(), 1);
 426  
 427    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 428    var React4 = __toESM(require_react(), 1);
 429  
 430    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 431    var React = __toESM(require_react(), 1);
 432    var UNINITIALIZED = {};
 433    function useRefWithInit(init, initArg) {
 434      const ref = React.useRef(UNINITIALIZED);
 435      if (ref.current === UNINITIALIZED) {
 436        ref.current = init(initArg);
 437      }
 438      return ref;
 439    }
 440  
 441    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 442    function useMergedRefs(a, b, c, d) {
 443      const forkRef = useRefWithInit(createForkRef).current;
 444      if (didChange(forkRef, a, b, c, d)) {
 445        update(forkRef, [a, b, c, d]);
 446      }
 447      return forkRef.callback;
 448    }
 449    function useMergedRefsN(refs) {
 450      const forkRef = useRefWithInit(createForkRef).current;
 451      if (didChangeN(forkRef, refs)) {
 452        update(forkRef, refs);
 453      }
 454      return forkRef.callback;
 455    }
 456    function createForkRef() {
 457      return {
 458        callback: null,
 459        cleanup: null,
 460        refs: []
 461      };
 462    }
 463    function didChange(forkRef, a, b, c, d) {
 464      return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
 465    }
 466    function didChangeN(forkRef, newRefs) {
 467      return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]);
 468    }
 469    function update(forkRef, refs) {
 470      forkRef.refs = refs;
 471      if (refs.every((ref) => ref == null)) {
 472        forkRef.callback = null;
 473        return;
 474      }
 475      forkRef.callback = (instance) => {
 476        if (forkRef.cleanup) {
 477          forkRef.cleanup();
 478          forkRef.cleanup = null;
 479        }
 480        if (instance != null) {
 481          const cleanupCallbacks = Array(refs.length).fill(null);
 482          for (let i = 0; i < refs.length; i += 1) {
 483            const ref = refs[i];
 484            if (ref == null) {
 485              continue;
 486            }
 487            switch (typeof ref) {
 488              case "function": {
 489                const refCleanup = ref(instance);
 490                if (typeof refCleanup === "function") {
 491                  cleanupCallbacks[i] = refCleanup;
 492                }
 493                break;
 494              }
 495              case "object": {
 496                ref.current = instance;
 497                break;
 498              }
 499              default:
 500            }
 501          }
 502          forkRef.cleanup = () => {
 503            for (let i = 0; i < refs.length; i += 1) {
 504              const ref = refs[i];
 505              if (ref == null) {
 506                continue;
 507              }
 508              switch (typeof ref) {
 509                case "function": {
 510                  const cleanupCallback = cleanupCallbacks[i];
 511                  if (typeof cleanupCallback === "function") {
 512                    cleanupCallback();
 513                  } else {
 514                    void ref(null);
 515                  }
 516                  break;
 517                }
 518                case "object": {
 519                  ref.current = null;
 520                  break;
 521                }
 522                default:
 523              }
 524            }
 525          };
 526        }
 527      };
 528    }
 529  
 530    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 531    var React3 = __toESM(require_react(), 1);
 532  
 533    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 534    var React2 = __toESM(require_react(), 1);
 535    var majorVersion = parseInt(React2.version, 10);
 536    function isReactVersionAtLeast(reactVersionToCheck) {
 537      return majorVersion >= reactVersionToCheck;
 538    }
 539  
 540    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 541    function getReactElementRef(element) {
 542      if (!/* @__PURE__ */ React3.isValidElement(element)) {
 543        return null;
 544      }
 545      const reactElement = element;
 546      const propsWithRef = reactElement.props;
 547      return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 548    }
 549  
 550    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 551    function mergeObjects(a, b) {
 552      if (a && !b) {
 553        return a;
 554      }
 555      if (!a && b) {
 556        return b;
 557      }
 558      if (a || b) {
 559        return {
 560          ...a,
 561          ...b
 562        };
 563      }
 564      return void 0;
 565    }
 566  
 567    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 568    var loggedMessages;
 569    if (true) {
 570      loggedMessages = /* @__PURE__ */ new Set();
 571    }
 572    function createLogOnce(severity, prefix) {
 573      return function logOnce(...messages) {
 574        if (true) {
 575          const message = messages.join(" ");
 576          const output = prefix ? `$prefix}: $message}` : message;
 577          const key = `$severity}:$output}`;
 578          if (!loggedMessages.has(key)) {
 579            loggedMessages.add(key);
 580            if (severity === "warn") {
 581              console.warn(output);
 582            } else {
 583              console.error(output);
 584            }
 585          }
 586        }
 587      };
 588    }
 589  
 590    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 591    var warn = createLogOnce("warn", "Base UI");
 592  
 593    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 594    function NOOP() {
 595    }
 596    var EMPTY_ARRAY = Object.freeze([]);
 597    var EMPTY_OBJECT = Object.freeze({});
 598  
 599    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 600    function getStateAttributesProps(state, customMapping) {
 601      const props = {};
 602      for (const key in state) {
 603        const value = state[key];
 604        if (customMapping?.hasOwnProperty(key)) {
 605          const customProps = customMapping[key](value);
 606          if (customProps != null) {
 607            Object.assign(props, customProps);
 608          }
 609          continue;
 610        }
 611        if (value === true) {
 612          props[`data-$key.toLowerCase()}`] = "";
 613        } else if (value) {
 614          props[`data-$key.toLowerCase()}`] = value.toString();
 615        }
 616      }
 617      return props;
 618    }
 619  
 620    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 621    function resolveClassName(className, state) {
 622      return typeof className === "function" ? className(state) : className;
 623    }
 624  
 625    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 626    function resolveStyle(style, state) {
 627      return typeof style === "function" ? style(state) : style;
 628    }
 629  
 630    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 631    var EMPTY_PROPS = {};
 632    function mergeProps(a, b, c, d, e) {
 633      if (!c && !d && !e && !a) {
 634        return createInitialMergedProps(b);
 635      }
 636      let merged = createInitialMergedProps(a);
 637      if (b) {
 638        merged = mergeInto(merged, b);
 639      }
 640      if (c) {
 641        merged = mergeInto(merged, c);
 642      }
 643      if (d) {
 644        merged = mergeInto(merged, d);
 645      }
 646      if (e) {
 647        merged = mergeInto(merged, e);
 648      }
 649      return merged;
 650    }
 651    function mergePropsN(props) {
 652      if (props.length === 0) {
 653        return EMPTY_PROPS;
 654      }
 655      if (props.length === 1) {
 656        return createInitialMergedProps(props[0]);
 657      }
 658      let merged = createInitialMergedProps(props[0]);
 659      for (let i = 1; i < props.length; i += 1) {
 660        merged = mergeInto(merged, props[i]);
 661      }
 662      return merged;
 663    }
 664    function createInitialMergedProps(inputProps) {
 665      if (isPropsGetter(inputProps)) {
 666        return {
 667          ...inputProps(EMPTY_PROPS)
 668        };
 669      }
 670      return copyInitialProps(inputProps);
 671    }
 672    function mergeInto(merged, inputProps) {
 673      if (isPropsGetter(inputProps)) {
 674        return inputProps(merged);
 675      }
 676      return mutablyMergeInto(merged, inputProps);
 677    }
 678    function copyInitialProps(inputProps) {
 679      const copiedProps = {
 680        ...inputProps
 681      };
 682      for (const propName in copiedProps) {
 683        const propValue = copiedProps[propName];
 684        if (isEventHandler(propName, propValue)) {
 685          copiedProps[propName] = wrapEventHandler(propValue);
 686        }
 687      }
 688      return copiedProps;
 689    }
 690    function mutablyMergeInto(mergedProps, externalProps) {
 691      if (!externalProps) {
 692        return mergedProps;
 693      }
 694      for (const propName in externalProps) {
 695        const externalPropValue = externalProps[propName];
 696        switch (propName) {
 697          case "style": {
 698            mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 699            break;
 700          }
 701          case "className": {
 702            mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 703            break;
 704          }
 705          default: {
 706            if (isEventHandler(propName, externalPropValue)) {
 707              mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 708            } else {
 709              mergedProps[propName] = externalPropValue;
 710            }
 711          }
 712        }
 713      }
 714      return mergedProps;
 715    }
 716    function isEventHandler(key, value) {
 717      const code0 = key.charCodeAt(0);
 718      const code1 = key.charCodeAt(1);
 719      const code2 = key.charCodeAt(2);
 720      return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 721    }
 722    function isPropsGetter(inputProps) {
 723      return typeof inputProps === "function";
 724    }
 725    function mergeEventHandlers(ourHandler, theirHandler) {
 726      if (!theirHandler) {
 727        return ourHandler;
 728      }
 729      if (!ourHandler) {
 730        return wrapEventHandler(theirHandler);
 731      }
 732      return (...args) => {
 733        const event = args[0];
 734        if (isSyntheticEvent(event)) {
 735          const baseUIEvent = event;
 736          makeEventPreventable(baseUIEvent);
 737          const result2 = theirHandler(...args);
 738          if (!baseUIEvent.baseUIHandlerPrevented) {
 739            ourHandler?.(...args);
 740          }
 741          return result2;
 742        }
 743        const result = theirHandler(...args);
 744        ourHandler?.(...args);
 745        return result;
 746      };
 747    }
 748    function wrapEventHandler(handler) {
 749      if (!handler) {
 750        return handler;
 751      }
 752      return (...args) => {
 753        const event = args[0];
 754        if (isSyntheticEvent(event)) {
 755          makeEventPreventable(event);
 756        }
 757        return handler(...args);
 758      };
 759    }
 760    function makeEventPreventable(event) {
 761      event.preventBaseUIHandler = () => {
 762        event.baseUIHandlerPrevented = true;
 763      };
 764      return event;
 765    }
 766    function mergeClassNames(ourClassName, theirClassName) {
 767      if (theirClassName) {
 768        if (ourClassName) {
 769          return theirClassName + " " + ourClassName;
 770        }
 771        return theirClassName;
 772      }
 773      return ourClassName;
 774    }
 775    function isSyntheticEvent(event) {
 776      return event != null && typeof event === "object" && "nativeEvent" in event;
 777    }
 778  
 779    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 780    var import_react = __toESM(require_react(), 1);
 781    function useRenderElement(element, componentProps, params = {}) {
 782      let renderProp = componentProps.render;
 783      if (params.enabled !== false) {
 784        renderProp = unwrapLazyRenderProp(renderProp);
 785      }
 786      const outProps = useRenderElementProps(componentProps, params, renderProp);
 787      if (params.enabled === false) {
 788        return null;
 789      }
 790      const state = params.state ?? EMPTY_OBJECT;
 791      return evaluateRenderProp(element, renderProp, outProps, state);
 792    }
 793    function useRenderElementProps(componentProps, params, renderProp) {
 794      const {
 795        className: classNameProp,
 796        style: styleProp
 797      } = componentProps;
 798      const {
 799        state = EMPTY_OBJECT,
 800        ref,
 801        props,
 802        stateAttributesMapping: stateAttributesMapping2,
 803        enabled = true
 804      } = params;
 805      const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 806      const style = enabled ? resolveStyle(styleProp, state) : void 0;
 807      const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping2) : EMPTY_OBJECT;
 808      const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 809      const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 810      if (typeof document !== "undefined") {
 811        if (!enabled) {
 812          void useMergedRefs(null, null);
 813        } else if (Array.isArray(ref)) {
 814          outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 815        } else {
 816          outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 817        }
 818      }
 819      if (!enabled) {
 820        return EMPTY_OBJECT;
 821      }
 822      if (className !== void 0) {
 823        outProps.className = mergeClassNames(outProps.className, className);
 824      }
 825      if (style !== void 0) {
 826        outProps.style = mergeObjects(outProps.style, style);
 827      }
 828      return outProps;
 829    }
 830    function resolveRenderFunctionProps(props) {
 831      if (Array.isArray(props)) {
 832        return mergePropsN(props);
 833      }
 834      return mergeProps(void 0, props);
 835    }
 836    var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 837    var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 838    var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 839    function unwrapLazyRenderProp(render) {
 840      if (render?.$$typeof !== REACT_LAZY_TYPE) {
 841        return render;
 842      }
 843      const unwrapped = React4.Children.toArray(render)[0];
 844      return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 845    }
 846    function evaluateRenderProp(element, render, props, state) {
 847      if (render) {
 848        if (typeof render === "function") {
 849          if (true) {
 850            warnIfRenderPropLooksLikeComponent(render);
 851          }
 852          return render(props, state);
 853        }
 854        const mergedProps = mergeProps(props, render.props);
 855        mergedProps.ref = props.ref;
 856        if (true) {
 857          if (!/* @__PURE__ */ React4.isValidElement(render)) {
 858            throw new Error(["Base UI: The `render` prop was provided an invalid React element as `React.isValidElement(render)` is `false`.", "A valid React element must be provided to the `render` prop because it is cloned with props to replace the default element.", "https://base-ui.com/r/invalid-render-prop"].join("\n"));
 859          }
 860        }
 861        return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 862      }
 863      return renderTag(element, props);
 864    }
 865    function warnIfRenderPropLooksLikeComponent(renderFn) {
 866      const functionName = renderFn.name;
 867      if (functionName.length === 0) {
 868        return;
 869      }
 870      if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
 871        return;
 872      }
 873      if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
 874        return;
 875      }
 876      warn(`The \`render\` prop received a function named \`$functionName}\` that starts with an uppercase letter.`, "This usually means a React component was passed directly as `render={Component}`.", "Base UI calls `render` as a plain function, which can break the Rules of Hooks during reconciliation.", "If this is an intentional render callback, rename it to start with a lowercase letter.", "Use `render={<Component />}` or `render={(props) => <Component {...props} />}` instead.", "https://base-ui.com/r/invalid-render-prop");
 877    }
 878    function renderTag(Tag, props) {
 879      if (Tag === "button") {
 880        return /* @__PURE__ */ (0, import_react.createElement)("button", {
 881          type: "button",
 882          ...props,
 883          key: props.key
 884        });
 885      }
 886      if (Tag === "img") {
 887        return /* @__PURE__ */ (0, import_react.createElement)("img", {
 888          alt: "",
 889          ...props,
 890          key: props.key
 891        });
 892      }
 893      return /* @__PURE__ */ React4.createElement(Tag, props);
 894    }
 895  
 896    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
 897    var React5 = __toESM(require_react(), 1);
 898    var SafeReact = {
 899      ...React5
 900    };
 901  
 902    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
 903    var useInsertionEffect = SafeReact.useInsertionEffect;
 904    var useSafeInsertionEffect = (
 905      // React 17 doesn't have useInsertionEffect.
 906      useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
 907      useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
 908    );
 909    function useStableCallback(callback) {
 910      const stable = useRefWithInit(createStableCallback).current;
 911      stable.next = callback;
 912      useSafeInsertionEffect(stable.effect);
 913      return stable.trampoline;
 914    }
 915    function createStableCallback() {
 916      const stable = {
 917        next: void 0,
 918        callback: assertNotCalled,
 919        trampoline: (...args) => stable.callback?.(...args),
 920        effect: () => {
 921          stable.callback = stable.next;
 922        }
 923      };
 924      return stable;
 925    }
 926    function assertNotCalled() {
 927      if (true) {
 928        throw (
 929          /* minify-error-disabled */
 930          new Error("Base UI: Cannot call an event handler while rendering.")
 931        );
 932      }
 933    }
 934  
 935    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
 936    var React6 = __toESM(require_react(), 1);
 937    var noop = () => {
 938    };
 939    var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
 940  
 941    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
 942    var React8 = __toESM(require_react(), 1);
 943  
 944    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
 945    var ReactDOM = __toESM(require_react_dom(), 1);
 946  
 947    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
 948    var React7 = __toESM(require_react(), 1);
 949    function useOnMount(fn) {
 950      React7.useEffect(fn, EMPTY_ARRAY);
 951    }
 952  
 953    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
 954    var EMPTY = null;
 955    var LAST_RAF = globalThis.requestAnimationFrame;
 956    var Scheduler = class {
 957      /* This implementation uses an array as a backing data-structure for frame callbacks.
 958       * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
 959       * never calls the native `cancelAnimationFrame` if there are no frames left. This can
 960       * be much more efficient if there is a call pattern that alterns as
 961       * "request-cancel-request-cancel-…".
 962       * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
 963       * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
 964      callbacks = [];
 965      callbacksCount = 0;
 966      nextId = 1;
 967      startId = 1;
 968      isScheduled = false;
 969      tick = (timestamp) => {
 970        this.isScheduled = false;
 971        const currentCallbacks = this.callbacks;
 972        const currentCallbacksCount = this.callbacksCount;
 973        this.callbacks = [];
 974        this.callbacksCount = 0;
 975        this.startId = this.nextId;
 976        if (currentCallbacksCount > 0) {
 977          for (let i = 0; i < currentCallbacks.length; i += 1) {
 978            currentCallbacks[i]?.(timestamp);
 979          }
 980        }
 981      };
 982      request(fn) {
 983        const id = this.nextId;
 984        this.nextId += 1;
 985        this.callbacks.push(fn);
 986        this.callbacksCount += 1;
 987        const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
 988        if (!this.isScheduled || didRAFChange) {
 989          requestAnimationFrame(this.tick);
 990          this.isScheduled = true;
 991        }
 992        return id;
 993      }
 994      cancel(id) {
 995        const index2 = id - this.startId;
 996        if (index2 < 0 || index2 >= this.callbacks.length) {
 997          return;
 998        }
 999        if (this.callbacks[index2] === null) {
1000          return;
1001        }
1002        this.callbacks[index2] = null;
1003        this.callbacksCount -= 1;
1004      }
1005    };
1006    var scheduler = new Scheduler();
1007    var AnimationFrame = class _AnimationFrame {
1008      static create() {
1009        return new _AnimationFrame();
1010      }
1011      static request(fn) {
1012        return scheduler.request(fn);
1013      }
1014      static cancel(id) {
1015        return scheduler.cancel(id);
1016      }
1017      currentId = EMPTY;
1018      /**
1019       * Executes `fn` after `delay`, clearing any previously scheduled call.
1020       */
1021      request(fn) {
1022        this.cancel();
1023        this.currentId = scheduler.request(() => {
1024          this.currentId = EMPTY;
1025          fn();
1026        });
1027      }
1028      cancel = () => {
1029        if (this.currentId !== EMPTY) {
1030          scheduler.cancel(this.currentId);
1031          this.currentId = EMPTY;
1032        }
1033      };
1034      disposeEffect = () => {
1035        return this.cancel;
1036      };
1037    };
1038    function useAnimationFrame() {
1039      const timeout = useRefWithInit(AnimationFrame.create).current;
1040      useOnMount(timeout.disposeEffect);
1041      return timeout;
1042    }
1043  
1044    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
1045    function resolveRef(maybeRef) {
1046      if (maybeRef == null) {
1047        return maybeRef;
1048      }
1049      return "current" in maybeRef ? maybeRef.current : maybeRef;
1050    }
1051  
1052    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
1053    function getFiniteAnimations(element, options) {
1054      return element.getAnimations(options).filter((animation) => {
1055        const timing = animation.effect?.getTiming();
1056        return timing?.duration !== Infinity && timing?.iterations !== Infinity;
1057      });
1058    }
1059  
1060    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
1061    var TransitionStatusDataAttributes_exports = {};
1062    __export(TransitionStatusDataAttributes_exports, {
1063      endingStyle: () => endingStyle,
1064      startingStyle: () => startingStyle
1065    });
1066    var startingStyle = "data-starting-style";
1067    var endingStyle = "data-ending-style";
1068  
1069    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
1070    var pendingCallbacks = null;
1071    function flushBeforePaint(fn) {
1072      if (!pendingCallbacks) {
1073        const callbacks = [];
1074        pendingCallbacks = callbacks;
1075        queueMicrotask(() => {
1076          pendingCallbacks = null;
1077          ReactDOM.flushSync(() => {
1078            for (const callback of callbacks) {
1079              callback();
1080            }
1081          });
1082        });
1083      }
1084      pendingCallbacks.push(fn);
1085    }
1086    function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
1087      const frame = useAnimationFrame();
1088      return useStableCallback((fnToExecute, signal = null) => {
1089        frame.cancel();
1090        const element = resolveRef(elementOrRef);
1091        if (element == null) {
1092          return;
1093        }
1094        const resolvedElement = element;
1095        const done = () => {
1096          if (!batch) {
1097            ReactDOM.flushSync(fnToExecute);
1098            return;
1099          }
1100          flushBeforePaint(() => {
1101            if (!signal?.aborted) {
1102              fnToExecute();
1103            }
1104          });
1105        };
1106        if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
1107          fnToExecute();
1108          return;
1109        }
1110        function exec() {
1111          Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
1112            if (!signal?.aborted) {
1113              done();
1114            }
1115          }, () => {
1116            if (signal?.aborted) {
1117              return;
1118            }
1119            const currentAnimations = getFiniteAnimations(resolvedElement);
1120            if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
1121              exec();
1122              return;
1123            }
1124            done();
1125          });
1126        }
1127        if (waitForStartingStyleRemoved) {
1128          const startingStyleAttribute = startingStyle;
1129          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1130            frame.request(exec);
1131            return;
1132          }
1133          const attributeObserver = new MutationObserver(() => {
1134            if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
1135              attributeObserver.disconnect();
1136              exec();
1137            }
1138          });
1139          attributeObserver.observe(resolvedElement, {
1140            attributes: true,
1141            attributeFilter: [startingStyleAttribute]
1142          });
1143          signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
1144            once: true
1145          });
1146          return;
1147        }
1148        frame.request(exec);
1149      });
1150    }
1151  
1152    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1153    function useOpenChangeComplete(parameters) {
1154      const {
1155        enabled = true,
1156        open: open3,
1157        ref,
1158        batch = false,
1159        onComplete: onCompleteParam
1160      } = parameters;
1161      const onComplete = useStableCallback(onCompleteParam);
1162      const runOnceAnimationsFinish = useAnimationsFinished(ref, open3, batch);
1163      React8.useEffect(() => {
1164        if (!enabled) {
1165          return void 0;
1166        }
1167        const abortController = new AbortController();
1168        runOnceAnimationsFinish(onComplete, abortController.signal);
1169        return () => {
1170          abortController.abort();
1171        };
1172      }, [enabled, open3, onComplete, runOnceAnimationsFinish]);
1173    }
1174  
1175    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1176    var STARTING_HOOK = {
1177      [startingStyle]: ""
1178    };
1179    var ENDING_HOOK = {
1180      [endingStyle]: ""
1181    };
1182    var transitionStatusMapping = {
1183      transitionStatus(value) {
1184        if (value === "starting") {
1185          return STARTING_HOOK;
1186        }
1187        if (value === "ending") {
1188          return ENDING_HOOK;
1189        }
1190        return null;
1191      }
1192    };
1193  
1194    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1195    var React9 = __toESM(require_react(), 1);
1196    function useTransitionStatus(open3, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1197      const [transitionStatus, setTransitionStatus] = React9.useState(open3 && enableIdleState ? "idle" : void 0);
1198      const [mounted, setMounted] = React9.useState(open3 && !animateInitialOpen);
1199      if (open3 && !mounted) {
1200        setMounted(true);
1201        setTransitionStatus("starting");
1202      }
1203      if (!open3 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1204        setTransitionStatus("ending");
1205      }
1206      if (!open3 && !mounted && transitionStatus === "ending") {
1207        setTransitionStatus(void 0);
1208      }
1209      useIsoLayoutEffect(() => {
1210        if (!open3 && mounted && transitionStatus !== "ending" && deferEndingState) {
1211          const frame = AnimationFrame.request(() => {
1212            setTransitionStatus("ending");
1213          });
1214          return () => {
1215            AnimationFrame.cancel(frame);
1216          };
1217        }
1218        return void 0;
1219      }, [open3, mounted, transitionStatus, deferEndingState]);
1220      useIsoLayoutEffect(() => {
1221        if (!open3 || enableIdleState || transitionStatus === void 0) {
1222          return void 0;
1223        }
1224        const frame = AnimationFrame.request(() => {
1225          setTransitionStatus(void 0);
1226        });
1227        return () => {
1228          AnimationFrame.cancel(frame);
1229        };
1230      }, [enableIdleState, open3, transitionStatus]);
1231      useIsoLayoutEffect(() => {
1232        if (!open3 || !enableIdleState) {
1233          return void 0;
1234        }
1235        if (open3 && mounted && transitionStatus !== "idle") {
1236          setTransitionStatus("starting");
1237        }
1238        const frame = AnimationFrame.request(() => {
1239          setTransitionStatus("idle");
1240        });
1241        return () => {
1242          AnimationFrame.cancel(frame);
1243        };
1244      }, [enableIdleState, open3, mounted, transitionStatus]);
1245      return {
1246        mounted,
1247        setMounted,
1248        transitionStatus
1249      };
1250    }
1251  
1252    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1253    var EMPTY2 = 0;
1254    var Timeout = class _Timeout {
1255      static create() {
1256        return new _Timeout();
1257      }
1258      currentId = EMPTY2;
1259      /**
1260       * Executes `fn` after `delay`, clearing any previously scheduled call.
1261       */
1262      start(delay, fn) {
1263        this.clear();
1264        this.currentId = setTimeout(() => {
1265          this.currentId = EMPTY2;
1266          fn();
1267        }, delay);
1268      }
1269      isStarted() {
1270        return this.currentId !== EMPTY2;
1271      }
1272      clear = () => {
1273        if (this.currentId !== EMPTY2) {
1274          clearTimeout(this.currentId);
1275          this.currentId = EMPTY2;
1276        }
1277      };
1278      disposeEffect = () => {
1279        return this.clear;
1280      };
1281    };
1282    function useTimeout() {
1283      const timeout = useRefWithInit(Timeout.create).current;
1284      useOnMount(timeout.disposeEffect);
1285      return timeout;
1286    }
1287  
1288    // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
1289    function r(e) {
1290      var t, f, n = "";
1291      if ("string" == typeof e || "number" == typeof e) n += e;
1292      else if ("object" == typeof e) if (Array.isArray(e)) {
1293        var o = e.length;
1294        for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
1295      } else for (f in e) e[f] && (n && (n += " "), n += f);
1296      return n;
1297    }
1298    function clsx() {
1299      for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
1300      return n;
1301    }
1302    var clsx_default = clsx;
1303  
1304    // packages/ui/build-module/icon/icon.mjs
1305    var import_element = __toESM(require_element(), 1);
1306    var import_primitives = __toESM(require_primitives(), 1);
1307    var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
1308    var Icon = (0, import_element.forwardRef)(
1309      function UnforwardedIcon({ icon, size: size4 = 24, style, ...restProps }, ref) {
1310        const mergedStyle = icon.props.style || style ? { ...icon.props.style, ...style } : void 0;
1311        return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1312          import_primitives.SVG,
1313          {
1314            ref,
1315            ...icon.props,
1316            ...restProps,
1317            ...mergedStyle ? { style: mergedStyle } : {},
1318            width: size4,
1319            height: size4
1320          }
1321        );
1322      }
1323    );
1324  
1325    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1326    var React10 = __toESM(require_react(), 1);
1327  
1328    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1329    var error = createLogOnce("error", "Base UI");
1330  
1331    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1332    function useControlled({
1333      controlled,
1334      default: defaultProp,
1335      name,
1336      state = "value"
1337    }) {
1338      const {
1339        current: isControlled
1340      } = React10.useRef(controlled !== void 0);
1341      const [valueState, setValue] = React10.useState(() => defaultProp);
1342      const value = isControlled && controlled !== void 0 ? controlled : valueState;
1343      if (true) {
1344        React10.useEffect(() => {
1345          if (isControlled !== (controlled !== void 0)) {
1346            error([`A component is changing the $isControlled ? "" : "un"}controlled $state} state of $name} to be $isControlled ? "un" : ""}controlled.`, "Elements should not switch from uncontrolled to controlled (or vice versa).", `Decide between using a controlled or uncontrolled $name} element for the lifetime of the component.`, "The nature of the state is determined during the first render. It's considered controlled if the value is not `undefined`.", "More info: https://fb.me/react-controlled-components"].join("\n"));
1347          }
1348        }, [state, name, controlled]);
1349        const {
1350          current: defaultValue
1351        } = React10.useRef(defaultProp);
1352        React10.useEffect(() => {
1353          if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1354            error([`A component is changing the default $state} state of an uncontrolled $name} after being initialized. To suppress this warning opt to use a controlled $name}.`].join("\n"));
1355          }
1356        }, [defaultProp]);
1357      }
1358      const setValueIfUncontrolled = React10.useCallback((newValue) => {
1359        if (!isControlled) {
1360          setValue(newValue);
1361        }
1362      }, []);
1363      return [value, setValueIfUncontrolled];
1364    }
1365    function serializeToDevModeString(input) {
1366      let nextId = 0;
1367      const seen = /* @__PURE__ */ new WeakMap();
1368      try {
1369        const result = JSON.stringify(input, function replacer(key, value) {
1370          if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1371            return void 0;
1372          }
1373          if (typeof value === "bigint") {
1374            return `__bigint__:$value}`;
1375          }
1376          if (value !== null && typeof value === "object") {
1377            const id = seen.get(value);
1378            if (id !== void 0) {
1379              return `__object__:$id}`;
1380            }
1381            seen.set(value, nextId);
1382            nextId += 1;
1383          }
1384          return value;
1385        });
1386        return result ?? `__top__:$typeof input}`;
1387      } catch {
1388        return "__unserializable__";
1389      }
1390    }
1391  
1392    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1393    var React12 = __toESM(require_react(), 1);
1394  
1395    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1396    var React11 = __toESM(require_react(), 1);
1397    function useForcedRerendering() {
1398      const [, setState] = React11.useState({});
1399      return React11.useCallback(() => {
1400        setState({});
1401      }, []);
1402    }
1403  
1404    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1405    var globalId = 0;
1406    function useGlobalId(idOverride, prefix = "mui") {
1407      const defaultId = React12.useRef(void 0);
1408      const forceRerender = useForcedRerendering();
1409      const id = idOverride ?? defaultId.current;
1410      React12.useEffect(() => {
1411        if (defaultId.current == null) {
1412          globalId += 1;
1413          defaultId.current = `$prefix}-$globalId}`;
1414          if (idOverride == null) {
1415            forceRerender();
1416          }
1417        }
1418      }, [idOverride, prefix, forceRerender]);
1419      return id;
1420    }
1421    var maybeReactUseId = SafeReact.useId;
1422    function useId(idOverride, prefix) {
1423      if (maybeReactUseId !== void 0) {
1424        const reactId = maybeReactUseId();
1425        return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1426      }
1427      return useGlobalId(idOverride, prefix);
1428    }
1429  
1430    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1431    function useBaseUiId(idOverride) {
1432      return useId(idOverride, "base-ui");
1433    }
1434  
1435    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/useCollapsibleRoot.mjs
1436    var React13 = __toESM(require_react(), 1);
1437  
1438    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1439    function createChangeEventDetails(reason, event, trigger, customProperties) {
1440      let canceled = false;
1441      let allowPropagation = false;
1442      const custom = customProperties ?? EMPTY_OBJECT;
1443      const details = {
1444        reason,
1445        event: event ?? new Event("base-ui"),
1446        cancel() {
1447          canceled = true;
1448        },
1449        allowPropagation() {
1450          allowPropagation = true;
1451        },
1452        get isCanceled() {
1453          return canceled;
1454        },
1455        get isPropagationAllowed() {
1456          return allowPropagation;
1457        },
1458        trigger,
1459        ...custom
1460      };
1461      return details;
1462    }
1463  
1464    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1465    var reason_parts_exports = {};
1466    __export(reason_parts_exports, {
1467      cancelOpen: () => cancelOpen,
1468      chipRemovePress: () => chipRemovePress,
1469      clearPress: () => clearPress,
1470      closePress: () => closePress,
1471      closeWatcher: () => closeWatcher,
1472      decrementPress: () => decrementPress,
1473      disabled: () => disabled,
1474      drag: () => drag,
1475      escapeKey: () => escapeKey,
1476      focusOut: () => focusOut,
1477      imperativeAction: () => imperativeAction,
1478      incrementPress: () => incrementPress,
1479      initial: () => initial,
1480      inputBlur: () => inputBlur,
1481      inputChange: () => inputChange,
1482      inputClear: () => inputClear,
1483      inputPaste: () => inputPaste,
1484      inputPress: () => inputPress,
1485      itemPress: () => itemPress,
1486      keyboard: () => keyboard,
1487      linkPress: () => linkPress,
1488      listNavigation: () => listNavigation,
1489      missing: () => missing,
1490      none: () => none,
1491      outsidePress: () => outsidePress,
1492      pointer: () => pointer,
1493      popupClose: () => popupClose,
1494      scrub: () => scrub,
1495      siblingOpen: () => siblingOpen,
1496      swipe: () => swipe,
1497      trackPress: () => trackPress,
1498      triggerFocus: () => triggerFocus,
1499      triggerHover: () => triggerHover,
1500      triggerPress: () => triggerPress,
1501      wheel: () => wheel,
1502      windowResize: () => windowResize
1503    });
1504    var none = "none";
1505    var triggerPress = "trigger-press";
1506    var triggerHover = "trigger-hover";
1507    var triggerFocus = "trigger-focus";
1508    var outsidePress = "outside-press";
1509    var itemPress = "item-press";
1510    var closePress = "close-press";
1511    var linkPress = "link-press";
1512    var clearPress = "clear-press";
1513    var chipRemovePress = "chip-remove-press";
1514    var trackPress = "track-press";
1515    var incrementPress = "increment-press";
1516    var decrementPress = "decrement-press";
1517    var inputChange = "input-change";
1518    var inputClear = "input-clear";
1519    var inputBlur = "input-blur";
1520    var inputPaste = "input-paste";
1521    var inputPress = "input-press";
1522    var focusOut = "focus-out";
1523    var escapeKey = "escape-key";
1524    var closeWatcher = "close-watcher";
1525    var listNavigation = "list-navigation";
1526    var keyboard = "keyboard";
1527    var pointer = "pointer";
1528    var drag = "drag";
1529    var wheel = "wheel";
1530    var scrub = "scrub";
1531    var popupClose = "popup-close";
1532    var cancelOpen = "cancel-open";
1533    var siblingOpen = "sibling-open";
1534    var disabled = "disabled";
1535    var missing = "missing";
1536    var initial = "initial";
1537    var imperativeAction = "imperative-action";
1538    var swipe = "swipe";
1539    var windowResize = "window-resize";
1540  
1541    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/useCollapsibleRoot.mjs
1542    function useCollapsibleRoot(parameters) {
1543      const {
1544        open: openParam,
1545        defaultOpen = false,
1546        onOpenChange,
1547        disabled: disabled2
1548      } = parameters;
1549      const [open3, setOpen] = useControlled({
1550        controlled: openParam,
1551        default: defaultOpen,
1552        name: "Collapsible",
1553        state: "open"
1554      });
1555      const {
1556        mounted,
1557        setMounted,
1558        transitionStatus
1559      } = useTransitionStatus(open3, true, true);
1560      const defaultPanelId = useBaseUiId();
1561      const [registeredPanelId, setPanelIdState] = React13.useState();
1562      const panelId = registeredPanelId === null ? void 0 : registeredPanelId ?? defaultPanelId;
1563      const handleTrigger = useStableCallback((event) => {
1564        const nextOpen = !open3;
1565        const eventDetails = createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent);
1566        onOpenChange(nextOpen, eventDetails);
1567        if (eventDetails.isCanceled) {
1568          return;
1569        }
1570        setOpen(nextOpen);
1571      });
1572      return React13.useMemo(() => ({
1573        defaultPanelId,
1574        disabled: disabled2,
1575        handleTrigger,
1576        mounted,
1577        open: open3,
1578        panelId,
1579        setMounted,
1580        setOpen,
1581        setPanelIdState,
1582        transitionStatus
1583      }), [defaultPanelId, disabled2, handleTrigger, mounted, open3, panelId, setMounted, setOpen, setPanelIdState, transitionStatus]);
1584    }
1585  
1586    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/CollapsibleRootContext.mjs
1587    var React14 = __toESM(require_react(), 1);
1588    var CollapsibleRootContext = /* @__PURE__ */ React14.createContext(void 0);
1589    if (true) CollapsibleRootContext.displayName = "CollapsibleRootContext";
1590    function useCollapsibleRootContext() {
1591      const context = React14.useContext(CollapsibleRootContext);
1592      if (context === void 0) {
1593        throw new Error(true ? "Base UI: CollapsibleRootContext is missing. Collapsible parts must be placed within <Collapsible.Root>." : formatErrorMessage_default(15));
1594      }
1595      return context;
1596    }
1597  
1598    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/CollapsiblePanelDataAttributes.mjs
1599    var open = "data-open";
1600    var closed = "data-closed";
1601    var startingStyle2 = TransitionStatusDataAttributes_exports.startingStyle;
1602    var endingStyle2 = TransitionStatusDataAttributes_exports.endingStyle;
1603  
1604    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/trigger/CollapsibleTriggerDataAttributes.mjs
1605    var panelOpen = "data-panel-open";
1606  
1607    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/collapsibleOpenStateMapping.mjs
1608    var PANEL_OPEN_HOOK = {
1609      [open]: ""
1610    };
1611    var PANEL_CLOSED_HOOK = {
1612      [closed]: ""
1613    };
1614    var triggerOpenStateMapping = {
1615      open(value) {
1616        if (value) {
1617          return {
1618            [panelOpen]: ""
1619          };
1620        }
1621        return null;
1622      }
1623    };
1624    var collapsibleOpenStateMapping = {
1625      open(value) {
1626        if (value) {
1627          return PANEL_OPEN_HOOK;
1628        }
1629        return PANEL_CLOSED_HOOK;
1630      }
1631    };
1632  
1633    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1634    var React17 = __toESM(require_react(), 1);
1635  
1636    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1637    function hasWindow() {
1638      return typeof window !== "undefined";
1639    }
1640    function getNodeName(node) {
1641      if (isNode(node)) {
1642        return (node.nodeName || "").toLowerCase();
1643      }
1644      return "#document";
1645    }
1646    function getWindow(node) {
1647      var _node$ownerDocument;
1648      return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1649    }
1650    function getDocumentElement(node) {
1651      var _ref;
1652      return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1653    }
1654    function isNode(value) {
1655      if (!hasWindow()) {
1656        return false;
1657      }
1658      return value instanceof Node || value instanceof getWindow(value).Node;
1659    }
1660    function isElement(value) {
1661      if (!hasWindow()) {
1662        return false;
1663      }
1664      return value instanceof Element || value instanceof getWindow(value).Element;
1665    }
1666    function isHTMLElement(value) {
1667      if (!hasWindow()) {
1668        return false;
1669      }
1670      return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1671    }
1672    function isShadowRoot(value) {
1673      if (!hasWindow() || typeof ShadowRoot === "undefined") {
1674        return false;
1675      }
1676      return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1677    }
1678    function isOverflowElement(element) {
1679      const {
1680        overflow,
1681        overflowX,
1682        overflowY,
1683        display
1684      } = getComputedStyle2(element);
1685      return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1686    }
1687    function isTableElement(element) {
1688      return /^(table|td|th)$/.test(getNodeName(element));
1689    }
1690    function isTopLayer(element) {
1691      try {
1692        if (element.matches(":popover-open")) {
1693          return true;
1694        }
1695      } catch (_e) {
1696      }
1697      try {
1698        return element.matches(":modal");
1699      } catch (_e) {
1700        return false;
1701      }
1702    }
1703    var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1704    var containRe = /paint|layout|strict|content/;
1705    var isNotNone = (value) => !!value && value !== "none";
1706    var isWebKitValue;
1707    function isContainingBlock(elementOrCss) {
1708      const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
1709      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 || "");
1710    }
1711    function getContainingBlock(element) {
1712      let currentNode = getParentNode(element);
1713      while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1714        if (isContainingBlock(currentNode)) {
1715          return currentNode;
1716        } else if (isTopLayer(currentNode)) {
1717          return null;
1718        }
1719        currentNode = getParentNode(currentNode);
1720      }
1721      return null;
1722    }
1723    function isWebKit() {
1724      if (isWebKitValue == null) {
1725        isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1726      }
1727      return isWebKitValue;
1728    }
1729    function isLastTraversableNode(node) {
1730      return /^(html|body|#document)$/.test(getNodeName(node));
1731    }
1732    function getComputedStyle2(element) {
1733      return getWindow(element).getComputedStyle(element);
1734    }
1735    function getNodeScroll(element) {
1736      if (isElement(element)) {
1737        return {
1738          scrollLeft: element.scrollLeft,
1739          scrollTop: element.scrollTop
1740        };
1741      }
1742      return {
1743        scrollLeft: element.scrollX,
1744        scrollTop: element.scrollY
1745      };
1746    }
1747    function getParentNode(node) {
1748      if (getNodeName(node) === "html") {
1749        return node;
1750      }
1751      const result = (
1752        // Step into the shadow DOM of the parent of a slotted node.
1753        node.assignedSlot || // DOM Element detected.
1754        node.parentNode || // ShadowRoot detected.
1755        isShadowRoot(node) && node.host || // Fallback.
1756        getDocumentElement(node)
1757      );
1758      return isShadowRoot(result) ? result.host : result;
1759    }
1760    function getNearestOverflowAncestor(node) {
1761      const parentNode = getParentNode(node);
1762      if (isLastTraversableNode(parentNode)) {
1763        return (node.ownerDocument || node).body;
1764      }
1765      if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1766        return parentNode;
1767      }
1768      return getNearestOverflowAncestor(parentNode);
1769    }
1770    function getOverflowAncestors(node, list, traverseIframes) {
1771      var _node$ownerDocument2;
1772      if (list === void 0) {
1773        list = [];
1774      }
1775      if (traverseIframes === void 0) {
1776        traverseIframes = true;
1777      }
1778      const scrollableAncestor = getNearestOverflowAncestor(node);
1779      const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1780      const win = getWindow(scrollableAncestor);
1781      if (isBody) {
1782        const frameElement = getFrameElement(win);
1783        return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1784      } else {
1785        return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1786      }
1787    }
1788    function getFrameElement(win) {
1789      return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1790    }
1791  
1792    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
1793    var React15 = __toESM(require_react(), 1);
1794    var CompositeRootContext = /* @__PURE__ */ React15.createContext(void 0);
1795    if (true) CompositeRootContext.displayName = "CompositeRootContext";
1796    function useCompositeRootContext(optional = false) {
1797      const context = React15.useContext(CompositeRootContext);
1798      if (context === void 0 && !optional) {
1799        throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
1800      }
1801      return context;
1802    }
1803  
1804    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
1805    var React16 = __toESM(require_react(), 1);
1806    function useFocusableWhenDisabled(parameters) {
1807      const {
1808        focusableWhenDisabled,
1809        disabled: disabled2,
1810        composite = false,
1811        tabIndex: tabIndexProp = 0,
1812        isNativeButton
1813      } = parameters;
1814      const isFocusableComposite = composite && focusableWhenDisabled !== false;
1815      const isNonFocusableComposite = composite && focusableWhenDisabled === false;
1816      const props = React16.useMemo(() => {
1817        const additionalProps = {
1818          // allow Tabbing away from focusableWhenDisabled elements
1819          onKeyDown(event) {
1820            if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
1821              event.preventDefault();
1822            }
1823          }
1824        };
1825        if (!composite) {
1826          additionalProps.tabIndex = tabIndexProp;
1827          if (!isNativeButton && disabled2) {
1828            additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
1829          }
1830        }
1831        if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
1832          additionalProps["aria-disabled"] = disabled2;
1833        }
1834        if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
1835          additionalProps.disabled = disabled2;
1836        }
1837        return additionalProps;
1838      }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
1839      return {
1840        props
1841      };
1842    }
1843  
1844    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
1845    function ownerDocument(node) {
1846      return node?.ownerDocument || document;
1847    }
1848  
1849    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
1850    function dispatchClickWithModifiers(target, sourceEvent, {
1851      detail = 0,
1852      pointerType = ""
1853    } = {}) {
1854      target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
1855        bubbles: true,
1856        cancelable: true,
1857        composed: true,
1858        detail,
1859        pointerType,
1860        shiftKey: sourceEvent.shiftKey,
1861        ctrlKey: sourceEvent.ctrlKey,
1862        altKey: sourceEvent.altKey,
1863        metaKey: sourceEvent.metaKey
1864      }));
1865    }
1866  
1867    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1868    function useButton(parameters = {}) {
1869      const {
1870        disabled: disabled2 = false,
1871        focusableWhenDisabled,
1872        tabIndex = 0,
1873        native: isNativeButton = true,
1874        composite: compositeProp
1875      } = parameters;
1876      const elementRef = React17.useRef(null);
1877      const compositeRootContext = useCompositeRootContext(true);
1878      const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
1879      const {
1880        props: focusableWhenDisabledProps
1881      } = useFocusableWhenDisabled({
1882        focusableWhenDisabled,
1883        disabled: disabled2,
1884        composite: isCompositeItem,
1885        tabIndex,
1886        isNativeButton
1887      });
1888      if (true) {
1889        React17.useEffect(() => {
1890          if (!elementRef.current) {
1891            return;
1892          }
1893          const isButtonTag = isButtonElement(elementRef.current);
1894          if (isNativeButton) {
1895            if (!isButtonTag) {
1896              const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
1897              const message = "A component that acts as a button expected a native <button> because the `nativeButton` prop is true. Rendering a non-<button> removes native button semantics, which can impact forms and accessibility. Use a real <button> in the `render` prop, or set `nativeButton` to `false`.";
1898              error(`$message}$ownerStackMessage}`);
1899            }
1900          } else if (isButtonTag) {
1901            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
1902            const message = "A component that acts as a button expected a non-<button> because the `nativeButton` prop is false. Rendering a <button> keeps native behavior while Base UI applies non-native attributes and handlers, which can add unintended extra attributes (such as `role` or `aria-disabled`). Use a non-<button> in the `render` prop, or set `nativeButton` to `true`.";
1903            error(`$message}$ownerStackMessage}`);
1904          }
1905        }, [isNativeButton]);
1906      }
1907      const updateDisabled = React17.useCallback(() => {
1908        const element = elementRef.current;
1909        if (!isButtonElement(element)) {
1910          return;
1911        }
1912        if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
1913          element.disabled = false;
1914        }
1915      }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
1916      useIsoLayoutEffect(updateDisabled, [updateDisabled]);
1917      const getButtonProps = React17.useCallback((externalProps = {}) => {
1918        const {
1919          onClick: externalOnClick,
1920          onMouseDown: externalOnMouseDown,
1921          onKeyUp: externalOnKeyUp,
1922          onKeyDown: externalOnKeyDown,
1923          onPointerDown: externalOnPointerDown,
1924          ...otherExternalProps
1925        } = externalProps;
1926        return mergeProps({
1927          onClick(event) {
1928            if (disabled2) {
1929              event.preventDefault();
1930              return;
1931            }
1932            externalOnClick?.(event);
1933          },
1934          onMouseDown(event) {
1935            if (!disabled2) {
1936              externalOnMouseDown?.(event);
1937            }
1938          },
1939          onKeyDown(event) {
1940            if (disabled2) {
1941              return;
1942            }
1943            makeEventPreventable(event);
1944            externalOnKeyDown?.(event);
1945            if (event.baseUIHandlerPrevented) {
1946              return;
1947            }
1948            const isCurrentTarget = event.target === event.currentTarget;
1949            const currentTarget = event.currentTarget;
1950            const isButton = isButtonElement(currentTarget);
1951            const isLink = !isNativeButton && isValidLinkElement(currentTarget);
1952            const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
1953            const isEnterKey = event.key === "Enter";
1954            const isSpaceKey = event.key === " ";
1955            const role = currentTarget.getAttribute("role");
1956            const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
1957            if (isCurrentTarget && isCompositeItem && isSpaceKey) {
1958              if (event.defaultPrevented && isTextNavigationRole) {
1959                return;
1960              }
1961              event.preventDefault();
1962              if (!isNativeButton || isButton) {
1963                event.preventBaseUIHandler();
1964                dispatchClickWithModifiers(currentTarget, event);
1965              }
1966              return;
1967            }
1968            if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
1969              if (isCurrentTarget && isLink && isSpaceKey) {
1970                event.preventDefault();
1971              }
1972              return;
1973            }
1974            if (event.defaultPrevented) {
1975              return;
1976            }
1977            event.preventDefault();
1978            if (isEnterKey) {
1979              event.preventBaseUIHandler();
1980              dispatchClickWithModifiers(currentTarget, event);
1981            }
1982          },
1983          onKeyUp(event) {
1984            if (disabled2) {
1985              return;
1986            }
1987            makeEventPreventable(event);
1988            externalOnKeyUp?.(event);
1989            if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
1990              event.preventDefault();
1991              return;
1992            }
1993            if (event.baseUIHandlerPrevented) {
1994              return;
1995            }
1996            if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
1997              event.preventBaseUIHandler();
1998              dispatchClickWithModifiers(event.currentTarget, event);
1999            }
2000          },
2001          onPointerDown(event) {
2002            if (disabled2) {
2003              event.preventDefault();
2004              return;
2005            }
2006            externalOnPointerDown?.(event);
2007          }
2008        }, isNativeButton ? {
2009          type: "button"
2010        } : {
2011          role: "button"
2012        }, focusableWhenDisabledProps, otherExternalProps);
2013      }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2014      const buttonRef = useStableCallback((element) => {
2015        elementRef.current = element;
2016        updateDisabled();
2017      });
2018      return {
2019        getButtonProps,
2020        buttonRef
2021      };
2022    }
2023    function isButtonElement(elem) {
2024      return isHTMLElement(elem) && elem.tagName === "BUTTON";
2025    }
2026    function isValidLinkElement(elem) {
2027      return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2028    }
2029  
2030    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/useCollapsiblePanel.mjs
2031    var React18 = __toESM(require_react(), 1);
2032  
2033    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2034    function addEventListener(target, type, listener, options) {
2035      target.addEventListener(type, listener, options);
2036      return () => {
2037        target.removeEventListener(type, listener, options);
2038      };
2039    }
2040  
2041    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2042    function useValueAsRef(value) {
2043      const latest = useRefWithInit(createLatestRef, value).current;
2044      latest.next = value;
2045      useIsoLayoutEffect(latest.effect);
2046      return latest;
2047    }
2048    function createLatestRef(value) {
2049      const latest = {
2050        current: value,
2051        next: value,
2052        effect: () => {
2053          latest.current = latest.next;
2054        }
2055      };
2056      return latest;
2057    }
2058  
2059    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/useCollapsiblePanel.mjs
2060    var EMPTY_DIMENSIONS = {
2061      height: void 0,
2062      width: void 0
2063    };
2064    function useCollapsiblePanel(parameters) {
2065      const {
2066        externalRef,
2067        hiddenUntilFound,
2068        id: idParam,
2069        keepMounted,
2070        mounted,
2071        onOpenChange,
2072        open: open3,
2073        setMounted,
2074        setOpen,
2075        transitionStatus
2076      } = parameters;
2077      const panelRef = React18.useRef(null);
2078      const animationTypeRef = React18.useRef(null);
2079      const [dimensions, setDimensionsUnwrapped] = React18.useState(EMPTY_DIMENSIONS);
2080      const lastMeasuredDimensionsRef = React18.useRef(EMPTY_DIMENSIONS);
2081      const shouldSkipNextOpenRef = React18.useRef(false);
2082      const shouldPreventMountAnimationRef = React18.useRef(open3);
2083      const shouldPreventActivityResumeAnimationRef = React18.useRef(false);
2084      const [forcePanelIdle, setForcePanelIdle] = React18.useState(false);
2085      const pendingTemporaryStyleRestoreRef = React18.useRef(null);
2086      const mergedPanelRef = useMergedRefs(externalRef, panelRef);
2087      const latestOpenRef = useValueAsRef(open3);
2088      const runOnceCloseAnimationsFinish = useAnimationsFinished(panelRef);
2089      const hidden = !open3 && !mounted;
2090      const panelTransitionStatus = forcePanelIdle ? "idle" : transitionStatus;
2091      const shouldPreventOpenAnimation = open3 && // These 2 refs are safe to read in render, they are only written from committed
2092      // layout/effect paths and gate one-shot motion suppression for the next open
2093      // lifecycle. They intentionally expose the last committed motion snapshot.
2094      (shouldPreventMountAnimationRef.current || shouldPreventActivityResumeAnimationRef.current);
2095      const renderedDimensions = !open3 && mounted && // These 2 refs are also safe to read in render, both hold the last committed
2096      // animation mode and measurement. This fallback only restores a previously
2097      // measured pixel size after the live dimensions state has been reset back to `auto`.
2098      animationTypeRef.current === "css-animation" && dimensions.height === void 0 && dimensions.width === void 0 ? lastMeasuredDimensionsRef.current : dimensions;
2099      const shouldPersistHiddenTransitionStyles = hiddenUntilFound && hidden && animationTypeRef.current !== "css-animation";
2100      const setDimensions = useStableCallback((nextDimensions, shouldCacheMeasurement = true) => {
2101        if (shouldCacheMeasurement) {
2102          lastMeasuredDimensionsRef.current = nextDimensions;
2103        }
2104        setDimensionsUnwrapped(nextDimensions);
2105      });
2106      const restorePendingTemporaryStyle = useStableCallback(() => {
2107        pendingTemporaryStyleRestoreRef.current?.();
2108        pendingTemporaryStyleRestoreRef.current = null;
2109      });
2110      const setPendingTemporaryStyleRestore = useStableCallback((restore) => {
2111        restorePendingTemporaryStyle();
2112        pendingTemporaryStyleRestoreRef.current = () => {
2113          pendingTemporaryStyleRestoreRef.current = null;
2114          restore();
2115        };
2116      });
2117      const markActivityResumeAnimationSuppressed = useStableCallback(() => {
2118        if (open3 && mounted && animationTypeRef.current === "css-animation") {
2119          shouldPreventActivityResumeAnimationRef.current = true;
2120        }
2121      });
2122      useIsoLayoutEffect(() => {
2123        if (!forcePanelIdle || transitionStatus === "starting") {
2124          return;
2125        }
2126        setForcePanelIdle(false);
2127      }, [forcePanelIdle, transitionStatus]);
2128      React18.useEffect(() => {
2129        return () => {
2130          markActivityResumeAnimationSuppressed();
2131          restorePendingTemporaryStyle();
2132        };
2133      }, [markActivityResumeAnimationSuppressed, restorePendingTemporaryStyle]);
2134      useIsoLayoutEffect(() => {
2135        if (!open3) {
2136          shouldPreventMountAnimationRef.current = false;
2137          shouldPreventActivityResumeAnimationRef.current = false;
2138        }
2139        const panel = panelRef.current;
2140        if (!panel) {
2141          return void 0;
2142        }
2143        if (!open3 && pendingTemporaryStyleRestoreRef.current) {
2144          restorePendingTemporaryStyle();
2145        }
2146        const animationType = getAnimationType(panel, shouldPreventOpenAnimation);
2147        animationTypeRef.current = animationType;
2148        if (open3 && transitionStatus === "idle" && shouldPreventMountAnimationRef.current && animationType === "css-animation") {
2149          lastMeasuredDimensionsRef.current = getDimensions(panel);
2150          return void 0;
2151        }
2152        if (open3 && transitionStatus === "starting") {
2153          const skipNextOpen = shouldSkipNextOpenRef.current;
2154          shouldSkipNextOpenRef.current = false;
2155          if (animationType === "none") {
2156            setDimensions(getDimensions(panel));
2157            setForcePanelIdle(true);
2158            return void 0;
2159          }
2160          if (animationType === "css-transition") {
2161            const restoreLayoutStyles = resetLayoutStyles(panel);
2162            setDimensions(getDimensions(panel));
2163            if (!skipNextOpen) {
2164              return restoreLayoutStyles;
2165            }
2166            const restoreTransitionDuration = setTemporaryStyle(panel, "transition-duration", "0s");
2167            setPendingTemporaryStyleRestore(restoreTransitionDuration);
2168            setForcePanelIdle(true);
2169            return restoreLayoutStyles;
2170          }
2171          setDimensions(getDimensions(panel));
2172          const restoreAnimationName = setTemporaryStyle(panel, "animation-name", "none");
2173          if (!skipNextOpen) {
2174            restoreAnimationName();
2175            return void 0;
2176          }
2177          const restoreAnimationDuration = setTemporaryStyle(panel, "animation-duration", "0s");
2178          restoreAnimationName();
2179          setPendingTemporaryStyleRestore(restoreAnimationDuration);
2180          setForcePanelIdle(true);
2181          return void 0;
2182        }
2183        if (!open3 && mounted && (transitionStatus === "idle" || transitionStatus === "starting")) {
2184          if (animationType === "none") {
2185            setDimensions(EMPTY_DIMENSIONS, false);
2186            setMounted(false);
2187            return void 0;
2188          }
2189          setDimensions(getDimensions(panel));
2190          return void 0;
2191        }
2192        if (transitionStatus !== "ending") {
2193          return void 0;
2194        }
2195        if (animationType === "none") {
2196          setMounted(false);
2197          return void 0;
2198        }
2199        const nextDimensions = getDimensions(panel);
2200        const hasMeasuredSize = nextDimensions.height > 0 || nextDimensions.width > 0;
2201        if (!hasMeasuredSize) {
2202          setMounted(false);
2203          return void 0;
2204        }
2205        setDimensions(nextDimensions);
2206        if (animationType === "css-animation") {
2207          const restoreAnimationName = setTemporaryStyle(panel, "animation-name", "none");
2208          restoreAnimationName();
2209        }
2210        return void 0;
2211      }, [mounted, open3, restorePendingTemporaryStyle, setDimensions, setMounted, setPendingTemporaryStyleRestore, shouldPreventOpenAnimation, transitionStatus]);
2212      useOpenChangeComplete({
2213        enabled: open3 && mounted && panelTransitionStatus === "idle",
2214        open: true,
2215        ref: panelRef,
2216        onComplete() {
2217          if (!open3) {
2218            return;
2219          }
2220          setDimensions(EMPTY_DIMENSIONS, false);
2221        }
2222      });
2223      React18.useEffect(() => {
2224        if (open3 || !mounted || panelTransitionStatus !== "ending") {
2225          return void 0;
2226        }
2227        const panel = panelRef.current;
2228        if (!panel) {
2229          setMounted(false);
2230          setDimensions(EMPTY_DIMENSIONS, false);
2231          return void 0;
2232        }
2233        const abortController = new AbortController();
2234        let endingStyleFrame = -1;
2235        function handleComplete() {
2236          if (latestOpenRef.current) {
2237            return;
2238          }
2239          setMounted(false);
2240          setDimensions(EMPTY_DIMENSIONS, false);
2241        }
2242        endingStyleFrame = AnimationFrame.request(() => {
2243          runOnceCloseAnimationsFinish(handleComplete, abortController.signal);
2244        });
2245        return () => {
2246          AnimationFrame.cancel(endingStyleFrame);
2247          abortController.abort();
2248        };
2249      }, [latestOpenRef, mounted, open3, panelTransitionStatus, runOnceCloseAnimationsFinish, setDimensions, setMounted]);
2250      useIsoLayoutEffect(() => {
2251        const panel = panelRef.current;
2252        if (!panel || !hiddenUntilFound || !hidden) {
2253          return;
2254        }
2255        panel.setAttribute("hidden", "until-found");
2256      }, [hidden, hiddenUntilFound]);
2257      React18.useEffect(function registerBeforeMatchListener() {
2258        const panel = panelRef.current;
2259        if (!panel) {
2260          return void 0;
2261        }
2262        const revealDecisionTimeout = Timeout.create();
2263        let revertRevealFrame = -1;
2264        const scheduleRevealRevert = (revertSkippedMotion, restoreStartingStyle) => {
2265          revealDecisionTimeout.start(0, () => {
2266            if (latestOpenRef.current) {
2267              return;
2268            }
2269            revertRevealFrame = AnimationFrame.request(() => {
2270              if (latestOpenRef.current) {
2271                return;
2272              }
2273              if (revertSkippedMotion) {
2274                shouldSkipNextOpenRef.current = false;
2275              }
2276              if (restoreStartingStyle) {
2277                panel.setAttribute(startingStyle2, "");
2278              }
2279              panel.setAttribute("hidden", "until-found");
2280            });
2281          });
2282        };
2283        const handleBeforeMatch = (event) => {
2284          const eventDetails = createChangeEventDetails(reason_parts_exports.none, event);
2285          onOpenChange(true, eventDetails);
2286          if (eventDetails.isCanceled) {
2287            scheduleRevealRevert(false, false);
2288            return;
2289          }
2290          shouldSkipNextOpenRef.current = true;
2291          const hadStartingStyle = panel.hasAttribute(startingStyle2);
2292          panel.removeAttribute(startingStyle2);
2293          setOpen(true);
2294          scheduleRevealRevert(true, hadStartingStyle);
2295        };
2296        const cleanupBeforeMatchListener = addEventListener(panel, "beforematch", handleBeforeMatch);
2297        return () => {
2298          revealDecisionTimeout.clear();
2299          AnimationFrame.cancel(revertRevealFrame);
2300          cleanupBeforeMatchListener();
2301        };
2302      }, [latestOpenRef, onOpenChange, setOpen]);
2303      const shouldRender = keepMounted || hiddenUntilFound || mounted || open3;
2304      return {
2305        height: renderedDimensions.height,
2306        props: {
2307          ...shouldPersistHiddenTransitionStyles ? {
2308            [startingStyle2]: ""
2309          } : void 0,
2310          hidden,
2311          id: idParam
2312        },
2313        ref: mergedPanelRef,
2314        shouldPreventOpenAnimation,
2315        shouldRender,
2316        transitionStatus: panelTransitionStatus,
2317        width: renderedDimensions.width
2318      };
2319    }
2320    function getDimensions(element) {
2321      return {
2322        height: element.scrollHeight,
2323        width: element.scrollWidth
2324      };
2325    }
2326    function getAnimationType(element, hasSuppressedMountAnimation) {
2327      const panelStyles = getWindow(element).getComputedStyle(element);
2328      const hasAnimation = (panelStyles.animationName.split(",").map((name) => name.trim()).some((name) => name !== "" && name !== "none") || hasSuppressedMountAnimation) && hasNonZeroDuration(panelStyles.animationDuration);
2329      const hasTransition = hasNonZeroDuration(panelStyles.transitionDuration);
2330      if (hasAnimation && hasTransition) {
2331        if (true) {
2332          warn("CSS transitions and CSS animations both detected on Collapsible or Accordion panel.", "Only one of either animation type should be used.");
2333        }
2334        return "css-transition";
2335      }
2336      if (hasTransition) {
2337        return "css-transition";
2338      }
2339      if (hasAnimation) {
2340        return "css-animation";
2341      }
2342      return "none";
2343    }
2344    function hasNonZeroDuration(value) {
2345      return value.split(",").map((part) => part.trim()).some((part) => part !== "" && Number.parseFloat(part) > 0);
2346    }
2347    function setTemporaryStyle(element, property, value) {
2348      const previousValue = element.style.getPropertyValue(property);
2349      const previousPriority = element.style.getPropertyPriority(property);
2350      element.style.setProperty(property, value);
2351      return () => {
2352        if (previousValue === "") {
2353          element.style.removeProperty(property);
2354          return;
2355        }
2356        element.style.setProperty(property, previousValue, previousPriority);
2357      };
2358    }
2359    function resetLayoutStyles(element) {
2360      const originalLayoutStyles = {
2361        "justify-content": element.style.justifyContent,
2362        "align-items": element.style.alignItems,
2363        "align-content": element.style.alignContent,
2364        "justify-items": element.style.justifyItems
2365      };
2366      Object.keys(originalLayoutStyles).forEach((key) => {
2367        element.style.setProperty(key, "initial", "important");
2368      });
2369      function restoreLayoutStyles() {
2370        Object.entries(originalLayoutStyles).forEach(([key, value]) => {
2371          if (value === "") {
2372            element.style.removeProperty(key);
2373            return;
2374          }
2375          element.style.setProperty(key, value);
2376        });
2377      }
2378      const frame = AnimationFrame.request(restoreLayoutStyles);
2379      return () => {
2380        AnimationFrame.cancel(frame);
2381        restoreLayoutStyles();
2382      };
2383    }
2384  
2385    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2386    var parts_exports = {};
2387    __export(parts_exports, {
2388      engine: () => engine_exports,
2389      env: () => env_exports,
2390      mediaQuery: () => media_query_exports,
2391      os: () => os_exports,
2392      screenReader: () => screen_reader_exports
2393    });
2394  
2395    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2396    var os_exports = {};
2397    __export(os_exports, {
2398      android: () => android,
2399      apple: () => apple,
2400      ios: () => ios,
2401      linux: () => linux,
2402      mac: () => mac,
2403      windows: () => windows
2404    });
2405  
2406    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2407    function readRawData() {
2408      if (typeof navigator === "undefined") {
2409        return {
2410          userAgent: "",
2411          platform: "",
2412          maxTouchPoints: 0
2413        };
2414      }
2415      if (true) {
2416        const uaData = navigator.userAgentData;
2417        if (uaData && Array.isArray(uaData.brands)) {
2418          return {
2419            userAgent: uaData.brands.map(({
2420              brand,
2421              version: version2
2422            }) => `$brand}/$version2}`).join(" "),
2423            platform: uaData.platform ?? navigator.platform ?? "",
2424            maxTouchPoints: navigator.maxTouchPoints ?? 0
2425          };
2426        }
2427      }
2428      return {
2429        userAgent: navigator.userAgent,
2430        platform: navigator.platform ?? "",
2431        maxTouchPoints: navigator.maxTouchPoints ?? 0
2432      };
2433    }
2434    var {
2435      userAgent,
2436      platform,
2437      maxTouchPoints
2438    } = readRawData();
2439    var lowerUserAgent = userAgent.toLowerCase();
2440    var lowerPlatform = platform.toLowerCase();
2441  
2442    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2443    var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2444    var ANDROID_STRING = "android";
2445    var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2446    var mac = !ios && lowerPlatform.startsWith("mac");
2447    var windows = lowerPlatform.startsWith("win");
2448    var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2449    var apple = mac || ios;
2450  
2451    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2452    var engine_exports = {};
2453    __export(engine_exports, {
2454      blink: () => blink,
2455      gecko: () => gecko,
2456      webkit: () => webkit
2457    });
2458    var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2459    var gecko = !webkit && lowerUserAgent.includes("firefox");
2460    var blink = !webkit && lowerUserAgent.includes("chrom");
2461  
2462    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2463    var screen_reader_exports = {};
2464    __export(screen_reader_exports, {
2465      voiceOver: () => voiceOver
2466    });
2467    var voiceOver = apple;
2468  
2469    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2470    var env_exports = {};
2471    __export(env_exports, {
2472      jsdom: () => jsdom
2473    });
2474    var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2475  
2476    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2477    var media_query_exports = {};
2478    __export(media_query_exports, {
2479      iOS: () => iOS
2480    });
2481    var iOS = "@supports (-webkit-touch-callout: none)";
2482  
2483    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2484    var React19 = __toESM(require_react(), 1);
2485  
2486    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2487    function isReactEvent(event) {
2488      return "nativeEvent" in event;
2489    }
2490    function isVirtualClick(event) {
2491      if (event.pointerType === "" && event.isTrusted) {
2492        return true;
2493      }
2494      if (parts_exports.os.android && event.pointerType) {
2495        return event.type === "click" && event.buttons === 1;
2496      }
2497      return event.detail === 0 && !event.pointerType;
2498    }
2499    function isMouseLikePointerType(pointerType, strict) {
2500      const values = ["mouse", "pen"];
2501      if (!strict) {
2502        values.push("", void 0);
2503      }
2504      return values.includes(pointerType);
2505    }
2506    function isClickLikeEvent(event) {
2507      const type = event.type;
2508      return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2509    }
2510  
2511    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2512    function activeElement(doc) {
2513      let element = doc.activeElement;
2514      while (element?.shadowRoot?.activeElement != null) {
2515        element = element.shadowRoot.activeElement;
2516      }
2517      return element;
2518    }
2519    function contains(parent, child) {
2520      if (!parent || !child) {
2521        return false;
2522      }
2523      const rootNode = child.getRootNode?.();
2524      if (parent.contains(child)) {
2525        return true;
2526      }
2527      if (rootNode && isShadowRoot(rootNode)) {
2528        let next = child;
2529        while (next) {
2530          if (parent === next) {
2531            return true;
2532          }
2533          next = next.parentNode || next.host;
2534        }
2535      }
2536      return false;
2537    }
2538    function closest(node, selector) {
2539      let current = node;
2540      while (current) {
2541        if (isElement(current) && current.matches(selector)) {
2542          return current;
2543        }
2544        current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2545      }
2546      return null;
2547    }
2548    function getTarget(event) {
2549      if ("composedPath" in event) {
2550        return event.composedPath()[0] ?? event.target;
2551      }
2552      return event.target;
2553    }
2554  
2555    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2556    var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2557    var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2558  
2559    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2560    var open2 = "data-open";
2561    var closed2 = "data-closed";
2562    var anchorHidden = "data-anchor-hidden";
2563  
2564    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2565    var CommonTriggerDataAttributes_exports = {};
2566    __export(CommonTriggerDataAttributes_exports, {
2567      popupOpen: () => popupOpen,
2568      pressed: () => pressed
2569    });
2570    var popupOpen = "data-popup-open";
2571    var pressed = "data-pressed";
2572  
2573    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2574    var TRIGGER_HOOK = {
2575      [popupOpen]: ""
2576    };
2577    var PRESSABLE_TRIGGER_HOOK = {
2578      [popupOpen]: "",
2579      [pressed]: ""
2580    };
2581    var POPUP_OPEN_HOOK = {
2582      [open2]: ""
2583    };
2584    var POPUP_CLOSED_HOOK = {
2585      [closed2]: ""
2586    };
2587    var ANCHOR_HIDDEN_HOOK = {
2588      [anchorHidden]: ""
2589    };
2590    var triggerOpenStateMapping2 = {
2591      open(value) {
2592        if (value) {
2593          return TRIGGER_HOOK;
2594        }
2595        return null;
2596      }
2597    };
2598    var popupStateMapping = {
2599      open(value) {
2600        if (value) {
2601          return POPUP_OPEN_HOOK;
2602        }
2603        return POPUP_CLOSED_HOOK;
2604      },
2605      anchorHidden(value) {
2606        if (value) {
2607          return ANCHOR_HIDDEN_HOOK;
2608        }
2609        return null;
2610      }
2611    };
2612    var popupTransitionStateMapping = {
2613      ...popupStateMapping,
2614      ...transitionStatusMapping
2615    };
2616  
2617    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTriggerDataAttributes.mjs
2618    var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
2619    var triggerDisabled = "data-trigger-disabled";
2620  
2621    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2622    function isTargetInsideEnabledTrigger(target, triggerElements) {
2623      if (!isElement(target)) {
2624        return false;
2625      }
2626      const targetElement = target;
2627      if (triggerElements.hasElement(targetElement)) {
2628        return !targetElement.hasAttribute(triggerDisabled);
2629      }
2630      for (const [, trigger] of triggerElements.entries()) {
2631        if (contains(trigger, targetElement)) {
2632          return !trigger.hasAttribute(triggerDisabled);
2633        }
2634      }
2635      return false;
2636    }
2637    function isEventTargetWithin(event, node) {
2638      if (node == null) {
2639        return false;
2640      }
2641      if ("composedPath" in event) {
2642        return event.composedPath().includes(node);
2643      }
2644      const eventAgain = event;
2645      return eventAgain.target != null && node.contains(eventAgain.target);
2646    }
2647    function isRootElement(element) {
2648      return element.matches("html,body");
2649    }
2650    function isTypeableElement(element) {
2651      return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2652    }
2653    function isInteractiveElement(element) {
2654      return closest(element, `button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),$TYPEABLE_SELECTOR}`) != null;
2655    }
2656    function matchesFocusVisible(element) {
2657      if (!element || parts_exports.env.jsdom) {
2658        return true;
2659      }
2660      try {
2661        return element.matches(":focus-visible");
2662      } catch (_e) {
2663        return true;
2664      }
2665    }
2666  
2667    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverShared.mjs
2668    function resolveValue(value, pointerType) {
2669      if (pointerType != null && !isMouseLikePointerType(pointerType)) {
2670        return 0;
2671      }
2672      if (typeof value === "function") {
2673        return value();
2674      }
2675      return value;
2676    }
2677    function getDelay(value, prop, pointerType) {
2678      const result = resolveValue(value, pointerType);
2679      if (typeof result === "number") {
2680        return result;
2681      }
2682      return result?.[prop];
2683    }
2684    function getRestMs(value) {
2685      if (typeof value === "function") {
2686        return value();
2687      }
2688      return value;
2689    }
2690    function isClickLikeOpenEvent(openEventType, interactedInside) {
2691      return interactedInside || openEventType === "click" || openEventType === "mousedown";
2692    }
2693    function isHoverOpenEvent(openEventType) {
2694      return openEventType?.includes("mouse") && openEventType !== "mousedown";
2695    }
2696  
2697    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2698    var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
2699    var FloatingDelayGroupContext = /* @__PURE__ */ React19.createContext({
2700      hasProvider: false,
2701      timeoutMs: 0,
2702      delayRef: {
2703        current: 0
2704      },
2705      initialDelayRef: {
2706        current: 0
2707      },
2708      timeout: new Timeout(),
2709      currentIdRef: {
2710        current: null
2711      },
2712      currentContextRef: {
2713        current: null
2714      }
2715    });
2716    if (true) FloatingDelayGroupContext.displayName = "FloatingDelayGroupContext";
2717    function resetDelayRef(delayRef, initialDelayRef) {
2718      delayRef.current = initialDelayRef.current;
2719    }
2720    function FloatingDelayGroup(props) {
2721      const {
2722        children,
2723        delay,
2724        timeoutMs = 0
2725      } = props;
2726      const delayRef = React19.useRef(delay);
2727      const initialDelayRef = React19.useRef(delay);
2728      const currentIdRef = React19.useRef(null);
2729      const currentContextRef = React19.useRef(null);
2730      const timeout = useTimeout();
2731      useIsoLayoutEffect(() => {
2732        initialDelayRef.current = delay;
2733        if (!currentIdRef.current) {
2734          delayRef.current = delay;
2735          return;
2736        }
2737        delayRef.current = {
2738          open: getDelay(delayRef.current, "open"),
2739          close: getDelay(delay, "close")
2740        };
2741      }, [delay, currentIdRef, delayRef, initialDelayRef]);
2742      return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(FloatingDelayGroupContext.Provider, {
2743        value: React19.useMemo(() => ({
2744          hasProvider: true,
2745          delayRef,
2746          initialDelayRef,
2747          currentIdRef,
2748          timeoutMs,
2749          currentContextRef,
2750          timeout
2751        }), [timeoutMs, timeout]),
2752        children
2753      });
2754    }
2755    function useDelayGroup(store2, options = {
2756      open: false
2757    }) {
2758      const {
2759        open: open3
2760      } = options;
2761      const floatingId = store2.useState("floatingId");
2762      const groupContext = React19.useContext(FloatingDelayGroupContext);
2763      const {
2764        currentIdRef,
2765        delayRef,
2766        timeoutMs,
2767        initialDelayRef,
2768        currentContextRef,
2769        hasProvider,
2770        timeout
2771      } = groupContext;
2772      const [isInstantPhase, setIsInstantPhase] = React19.useState(false);
2773      const openRef = React19.useRef(open3);
2774      useIsoLayoutEffect(() => {
2775        openRef.current = open3;
2776      }, [open3]);
2777      useIsoLayoutEffect(() => {
2778        function unset() {
2779          currentContextRef.current?.setIsInstantPhase(false);
2780          currentIdRef.current = null;
2781          currentContextRef.current = null;
2782          delayRef.current = initialDelayRef.current;
2783          timeout.clear();
2784        }
2785        if (!currentIdRef.current) {
2786          return void 0;
2787        }
2788        if (!open3 && currentIdRef.current === floatingId) {
2789          setIsInstantPhase(false);
2790          if (timeoutMs) {
2791            const closingId = floatingId;
2792            timeout.start(timeoutMs, () => {
2793              if (store2.select("open") || currentIdRef.current && currentIdRef.current !== closingId) {
2794                return;
2795              }
2796              unset();
2797            });
2798            return () => {
2799              if (openRef.current || currentIdRef.current !== closingId) {
2800                timeout.clear();
2801              }
2802            };
2803          }
2804          unset();
2805        }
2806        return void 0;
2807      }, [open3, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeout, store2]);
2808      useIsoLayoutEffect(() => {
2809        if (!open3) {
2810          return;
2811        }
2812        const prevContext = currentContextRef.current;
2813        const prevId = currentIdRef.current;
2814        timeout.clear();
2815        currentContextRef.current = {
2816          onOpenChange: store2.setOpen,
2817          setIsInstantPhase
2818        };
2819        currentIdRef.current = floatingId;
2820        delayRef.current = {
2821          open: 0,
2822          close: getDelay(initialDelayRef.current, "close")
2823        };
2824        if (prevId !== null && prevId !== floatingId) {
2825          setIsInstantPhase(true);
2826          prevContext?.setIsInstantPhase(true);
2827          prevContext?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.none));
2828        } else {
2829          setIsInstantPhase(false);
2830          prevContext?.setIsInstantPhase(false);
2831        }
2832      }, [open3, floatingId, store2, currentIdRef, delayRef, initialDelayRef, currentContextRef, timeout]);
2833      useIsoLayoutEffect(() => {
2834        return () => {
2835          if (currentIdRef.current === floatingId) {
2836            currentContextRef.current = null;
2837            if (!openRef.current) {
2838              return;
2839            }
2840            currentIdRef.current = null;
2841            resetDelayRef(delayRef, initialDelayRef);
2842            timeout.clear();
2843          }
2844        };
2845      }, [currentContextRef, currentIdRef, delayRef, floatingId, initialDelayRef, timeout]);
2846      return React19.useMemo(() => ({
2847        activeIdRef: currentIdRef,
2848        hasProvider,
2849        delayRef,
2850        isInstantPhase
2851      }), [currentIdRef, hasProvider, delayRef, isInstantPhase]);
2852    }
2853  
2854    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
2855    function mergeCleanups(...cleanups) {
2856      return () => {
2857        for (let i = 0; i < cleanups.length; i += 1) {
2858          const cleanup = cleanups[i];
2859          if (cleanup) {
2860            cleanup();
2861          }
2862        }
2863      };
2864    }
2865  
2866    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2867    var React20 = __toESM(require_react(), 1);
2868  
2869    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
2870    var visuallyHiddenBase = {
2871      clipPath: "inset(50%)",
2872      overflow: "hidden",
2873      whiteSpace: "nowrap",
2874      border: 0,
2875      padding: 0,
2876      width: 1,
2877      height: 1,
2878      margin: -1
2879    };
2880    var visuallyHidden = {
2881      ...visuallyHiddenBase,
2882      position: "fixed",
2883      margin: 0,
2884      top: 0,
2885      left: 0
2886    };
2887    var visuallyHiddenInput = {
2888      ...visuallyHiddenBase,
2889      position: "absolute"
2890    };
2891  
2892    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2893    var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
2894    var FocusGuard = /* @__PURE__ */ React20.forwardRef(function FocusGuard2(props, ref) {
2895      const [role, setRole] = React20.useState();
2896      useIsoLayoutEffect(() => {
2897        if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
2898          setRole("button");
2899        }
2900      }, []);
2901      const restProps = {
2902        tabIndex: 0,
2903        // Role is only for VoiceOver
2904        role
2905      };
2906      return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", {
2907        ...props,
2908        ref,
2909        style: visuallyHidden,
2910        "aria-hidden": role ? void 0 : true,
2911        ...restProps,
2912        "data-base-ui-focus-guard": ""
2913      });
2914    });
2915    if (true) FocusGuard.displayName = "FocusGuard";
2916  
2917    // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2918    var min = Math.min;
2919    var max = Math.max;
2920    var round = Math.round;
2921    var floor = Math.floor;
2922    var createCoords = (v) => ({
2923      x: v,
2924      y: v
2925    });
2926    var oppositeSideMap = {
2927      left: "right",
2928      right: "left",
2929      bottom: "top",
2930      top: "bottom"
2931    };
2932    function clamp(start, value, end) {
2933      return max(start, min(value, end));
2934    }
2935    function evaluate(value, param) {
2936      return typeof value === "function" ? value(param) : value;
2937    }
2938    function getSide(placement) {
2939      return placement.split("-")[0];
2940    }
2941    function getAlignment(placement) {
2942      return placement.split("-")[1];
2943    }
2944    function getOppositeAxis(axis) {
2945      return axis === "x" ? "y" : "x";
2946    }
2947    function getAxisLength(axis) {
2948      return axis === "y" ? "height" : "width";
2949    }
2950    function getSideAxis(placement) {
2951      const firstChar = placement[0];
2952      return firstChar === "t" || firstChar === "b" ? "y" : "x";
2953    }
2954    function getAlignmentAxis(placement) {
2955      return getOppositeAxis(getSideAxis(placement));
2956    }
2957    function getAlignmentSides(placement, rects, rtl) {
2958      if (rtl === void 0) {
2959        rtl = false;
2960      }
2961      const alignment = getAlignment(placement);
2962      const alignmentAxis = getAlignmentAxis(placement);
2963      const length = getAxisLength(alignmentAxis);
2964      let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
2965      if (rects.reference[length] > rects.floating[length]) {
2966        mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
2967      }
2968      return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
2969    }
2970    function getExpandedPlacements(placement) {
2971      const oppositePlacement = getOppositePlacement(placement);
2972      return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
2973    }
2974    function getOppositeAlignmentPlacement(placement) {
2975      return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
2976    }
2977    var lrPlacement = ["left", "right"];
2978    var rlPlacement = ["right", "left"];
2979    var tbPlacement = ["top", "bottom"];
2980    var btPlacement = ["bottom", "top"];
2981    function getSideList(side, isStart, rtl) {
2982      switch (side) {
2983        case "top":
2984        case "bottom":
2985          if (rtl) return isStart ? rlPlacement : lrPlacement;
2986          return isStart ? lrPlacement : rlPlacement;
2987        case "left":
2988        case "right":
2989          return isStart ? tbPlacement : btPlacement;
2990        default:
2991          return [];
2992      }
2993    }
2994    function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
2995      const alignment = getAlignment(placement);
2996      let list = getSideList(getSide(placement), direction === "start", rtl);
2997      if (alignment) {
2998        list = list.map((side) => side + "-" + alignment);
2999        if (flipAlignment) {
3000          list = list.concat(list.map(getOppositeAlignmentPlacement));
3001        }
3002      }
3003      return list;
3004    }
3005    function getOppositePlacement(placement) {
3006      const side = getSide(placement);
3007      return oppositeSideMap[side] + placement.slice(side.length);
3008    }
3009    function expandPaddingObject(padding) {
3010      var _padding$top, _padding$right, _padding$bottom, _padding$left;
3011      return {
3012        top: (_padding$top = padding.top) != null ? _padding$top : 0,
3013        right: (_padding$right = padding.right) != null ? _padding$right : 0,
3014        bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
3015        left: (_padding$left = padding.left) != null ? _padding$left : 0
3016      };
3017    }
3018    function getPaddingObject(padding) {
3019      return typeof padding !== "number" ? expandPaddingObject(padding) : {
3020        top: padding,
3021        right: padding,
3022        bottom: padding,
3023        left: padding
3024      };
3025    }
3026    function rectToClientRect(rect) {
3027      const {
3028        x,
3029        y,
3030        width,
3031        height
3032      } = rect;
3033      return {
3034        width,
3035        height,
3036        top: y,
3037        left: x,
3038        right: x + width,
3039        bottom: y + height,
3040        x,
3041        y
3042      };
3043    }
3044  
3045    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
3046    function isHiddenByStyles(styles) {
3047      return styles.visibility === "hidden" || styles.visibility === "collapse";
3048    }
3049    function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
3050      if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
3051        return false;
3052      }
3053      if (typeof element.checkVisibility === "function") {
3054        return element.checkVisibility();
3055      }
3056      return styles.display !== "none" && styles.display !== "contents";
3057    }
3058  
3059    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
3060    var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
3061    function getParentElement(element) {
3062      const assignedSlot = element.assignedSlot;
3063      if (assignedSlot) {
3064        return assignedSlot;
3065      }
3066      if (element.parentElement) {
3067        return element.parentElement;
3068      }
3069      const rootNode = element.getRootNode();
3070      return isShadowRoot(rootNode) ? rootNode.host : null;
3071    }
3072    function getDetailsSummary(details) {
3073      for (const child of Array.from(details.children)) {
3074        if (getNodeName(child) === "summary") {
3075          return child;
3076        }
3077      }
3078      return null;
3079    }
3080    function isWithinOpenDetailsSummary(element, details) {
3081      const summary = getDetailsSummary(details);
3082      return !!summary && (element === summary || contains(summary, element));
3083    }
3084    function isFocusableCandidate(element) {
3085      const nodeName = element ? getNodeName(element) : "";
3086      return element != null && element.matches(CANDIDATE_SELECTOR) && (nodeName !== "summary" || element.parentElement != null && getNodeName(element.parentElement) === "details" && getDetailsSummary(element.parentElement) === element) && (nodeName !== "details" || getDetailsSummary(element) == null) && (nodeName !== "input" || element.type !== "hidden");
3087    }
3088    function isFocusableElement(element) {
3089      if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3090        return false;
3091      }
3092      for (let current = element; current; current = getParentElement(current)) {
3093        const isAncestor = current !== element;
3094        const isSlot = getNodeName(current) === "slot";
3095        if (current.hasAttribute("inert")) {
3096          return false;
3097        }
3098        if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3099          return false;
3100        }
3101      }
3102      return true;
3103    }
3104    function isVisibleInTabbableTree(element, isAncestor) {
3105      const styles = getComputedStyle2(element);
3106      if (!isAncestor) {
3107        return isElementVisible(element, styles);
3108      }
3109      return styles.display !== "none";
3110    }
3111    function getTabIndex(element) {
3112      const tabIndex = element.tabIndex;
3113      if (tabIndex < 0) {
3114        const nodeName = getNodeName(element);
3115        if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3116          return 0;
3117        }
3118      }
3119      return tabIndex;
3120    }
3121    function getNamedRadioInput(element) {
3122      if (getNodeName(element) !== "input") {
3123        return null;
3124      }
3125      const input = element;
3126      return input.type === "radio" && input.name !== "" ? input : null;
3127    }
3128    function isTabbableRadio(element, candidates) {
3129      const input = getNamedRadioInput(element);
3130      if (!input) {
3131        return true;
3132      }
3133      const checkedRadio = candidates.find((candidate) => {
3134        const radio = getNamedRadioInput(candidate);
3135        return radio?.name === input.name && radio.form === input.form && radio.checked;
3136      });
3137      if (checkedRadio) {
3138        return checkedRadio === input;
3139      }
3140      return candidates.find((candidate) => {
3141        const radio = getNamedRadioInput(candidate);
3142        return radio?.name === input.name && radio.form === input.form;
3143      }) === input;
3144    }
3145    function getComposedChildren(container) {
3146      if (isHTMLElement(container) && getNodeName(container) === "slot") {
3147        const assignedElements = container.assignedElements({
3148          flatten: true
3149        });
3150        if (assignedElements.length > 0) {
3151          return assignedElements;
3152        }
3153      }
3154      if (isHTMLElement(container) && container.shadowRoot) {
3155        return Array.from(container.shadowRoot.children);
3156      }
3157      return Array.from(container.children);
3158    }
3159    function appendCandidates(container, list) {
3160      getComposedChildren(container).forEach((child) => {
3161        if (isFocusableCandidate(child)) {
3162          list.push(child);
3163        }
3164        appendCandidates(child, list);
3165      });
3166    }
3167    function appendMatchingElements(container, selector, list) {
3168      getComposedChildren(container).forEach((child) => {
3169        if (isHTMLElement(child) && child.matches(selector)) {
3170          list.push(child);
3171        }
3172        appendMatchingElements(child, selector, list);
3173      });
3174    }
3175    function focusable(container) {
3176      const candidates = [];
3177      appendCandidates(container, candidates);
3178      return candidates.filter(isFocusableElement);
3179    }
3180    function tabbable(container) {
3181      const candidates = focusable(container);
3182      return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3183    }
3184    function getTabbableIn(container, dir) {
3185      const list = tabbable(container);
3186      const len = list.length;
3187      if (len === 0) {
3188        return void 0;
3189      }
3190      const active = activeElement(ownerDocument(container));
3191      const index2 = list.indexOf(active);
3192      const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir;
3193      return list[nextIndex];
3194    }
3195    function getNextTabbable(referenceElement) {
3196      return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3197    }
3198    function getPreviousTabbable(referenceElement) {
3199      return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3200    }
3201    function isOutsideEvent(event, container) {
3202      const containerElement = container || event.currentTarget;
3203      const relatedTarget = event.relatedTarget;
3204      return !relatedTarget || !contains(containerElement, relatedTarget);
3205    }
3206    function disableFocusInside(container) {
3207      const tabbableElements = tabbable(container);
3208      tabbableElements.forEach((element) => {
3209        element.dataset.tabindex = element.getAttribute("tabindex") || "";
3210        element.setAttribute("tabindex", "-1");
3211      });
3212    }
3213    function enableFocusInside(container) {
3214      const elements = [];
3215      appendMatchingElements(container, "[data-tabindex]", elements);
3216      elements.forEach((element) => {
3217        const tabindex = element.dataset.tabindex;
3218        delete element.dataset.tabindex;
3219        if (tabindex) {
3220          element.setAttribute("tabindex", tabindex);
3221        } else {
3222          element.removeAttribute("tabindex");
3223        }
3224      });
3225    }
3226  
3227    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3228    function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3229      const directChildren = nodes.filter((node) => node.parentId === id);
3230      return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3231    }
3232  
3233    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3234    function createAttribute(name) {
3235      return `data-base-ui-$name}`;
3236    }
3237  
3238    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3239    var React21 = __toESM(require_react(), 1);
3240    var ReactDOM2 = __toESM(require_react_dom(), 1);
3241  
3242    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3243    var DISABLED_TRANSITIONS_STYLE = {
3244      style: {
3245        transition: "none"
3246      }
3247    };
3248    var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3249    var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3250    var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3251    var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3252    var POPUP_COLLISION_AVOIDANCE = {
3253      fallbackAxisSide: "end"
3254    };
3255    var ownerVisuallyHidden = {
3256      clipPath: "inset(50%)",
3257      position: "fixed",
3258      top: 0,
3259      left: 0
3260    };
3261  
3262    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3263    var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
3264    var PortalContext = /* @__PURE__ */ React21.createContext(null);
3265    if (true) PortalContext.displayName = "PortalContext";
3266    var usePortalContext = () => React21.useContext(PortalContext);
3267    var attr = createAttribute("portal");
3268    function useFloatingPortalNode(props = {}) {
3269      const {
3270        ref,
3271        container: containerProp,
3272        componentProps = EMPTY_OBJECT,
3273        elementProps
3274      } = props;
3275      const uniqueId = useId();
3276      const portalContext = usePortalContext();
3277      const parentPortalNode = portalContext?.portalNode;
3278      const [containerElement, setContainerElement] = React21.useState(null);
3279      const [portalNode, setPortalNode] = React21.useState(null);
3280      const setPortalNodeRef = useStableCallback((node) => {
3281        if (node !== null) {
3282          setPortalNode(node);
3283        }
3284      });
3285      const containerRef = React21.useRef(null);
3286      useIsoLayoutEffect(() => {
3287        if (containerProp === null) {
3288          if (containerRef.current) {
3289            containerRef.current = null;
3290            setPortalNode(null);
3291            setContainerElement(null);
3292          }
3293          return;
3294        }
3295        const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3296        if (resolvedContainer == null) {
3297          if (containerRef.current) {
3298            containerRef.current = null;
3299            setPortalNode(null);
3300            setContainerElement(null);
3301          }
3302          return;
3303        }
3304        if (containerRef.current !== resolvedContainer) {
3305          containerRef.current = resolvedContainer;
3306          setPortalNode(null);
3307          setContainerElement(resolvedContainer);
3308        }
3309      }, [containerProp, parentPortalNode]);
3310      const portalElement = useRenderElement("div", componentProps, {
3311        ref: [ref, setPortalNodeRef],
3312        props: [{
3313          id: uniqueId,
3314          [attr]: ""
3315        }, elementProps]
3316      });
3317      const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3318      return {
3319        node: portalNode,
3320        // `id` and `render` props can override or remove the generated ID. Use the exact
3321        // rendered value so `aria-owns` never points at an ID absent from the DOM.
3322        nodeId: /* @__PURE__ */ React21.isValidElement(portalElement) ? portalElement.props.id : void 0,
3323        subtree: portalSubtree
3324      };
3325    }
3326    var FloatingPortal = /* @__PURE__ */ React21.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3327      const {
3328        render,
3329        className,
3330        style,
3331        children,
3332        container,
3333        portalOwnerRole,
3334        ...elementProps
3335      } = componentProps;
3336      const {
3337        node: portalNode,
3338        nodeId: portalNodeId,
3339        subtree: portalSubtree
3340      } = useFloatingPortalNode({
3341        container,
3342        ref: forwardedRef,
3343        componentProps,
3344        elementProps
3345      });
3346      const beforeOutsideRef = React21.useRef(null);
3347      const afterOutsideRef = React21.useRef(null);
3348      const beforeInsideRef = React21.useRef(null);
3349      const afterInsideRef = React21.useRef(null);
3350      const [focusManagerState, setFocusManagerState] = React21.useState(null);
3351      const focusInsideDisabledRef = React21.useRef(false);
3352      const modal = focusManagerState?.modal;
3353      const open3 = focusManagerState?.open;
3354      const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3355      React21.useEffect(() => {
3356        if (!portalNode || modal) {
3357          return void 0;
3358        }
3359        function onFocus(event) {
3360          if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3361            if (event.type === "focusin") {
3362              if (focusInsideDisabledRef.current) {
3363                enableFocusInside(portalNode);
3364                focusInsideDisabledRef.current = false;
3365              }
3366            } else {
3367              disableFocusInside(portalNode);
3368              focusInsideDisabledRef.current = true;
3369            }
3370          }
3371        }
3372        return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3373      }, [portalNode, modal]);
3374      useIsoLayoutEffect(() => {
3375        if (!portalNode || open3 !== true || !focusInsideDisabledRef.current) {
3376          return;
3377        }
3378        enableFocusInside(portalNode);
3379        focusInsideDisabledRef.current = false;
3380      }, [open3, portalNode]);
3381      const portalContextValue = React21.useMemo(() => ({
3382        beforeOutsideRef,
3383        afterOutsideRef,
3384        beforeInsideRef,
3385        afterInsideRef,
3386        portalNode,
3387        setFocusManagerState
3388      }), [portalNode]);
3389      return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(React21.Fragment, {
3390        children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(PortalContext.Provider, {
3391          value: portalContextValue,
3392          children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FocusGuard, {
3393            "data-type": "outside",
3394            ref: beforeOutsideRef,
3395            onFocus: (event) => {
3396              if (isOutsideEvent(event, portalNode)) {
3397                beforeInsideRef.current?.focus();
3398              } else {
3399                const domReference = focusManagerState ? focusManagerState.domReference : null;
3400                const prevTabbable = getPreviousTabbable(domReference);
3401                prevTabbable?.focus();
3402              }
3403            }
3404          }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", {
3405            role: portalOwnerRole,
3406            "aria-owns": portalNodeId,
3407            style: ownerVisuallyHidden
3408          }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(FocusGuard, {
3409            "data-type": "outside",
3410            ref: afterOutsideRef,
3411            onFocus: (event) => {
3412              if (isOutsideEvent(event, portalNode)) {
3413                afterInsideRef.current?.focus();
3414              } else {
3415                const domReference = focusManagerState ? focusManagerState.domReference : null;
3416                const nextTabbable = getNextTabbable(domReference);
3417                nextTabbable?.focus();
3418                if (focusManagerState?.closeOnFocusOut) {
3419                  focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3420                }
3421              }
3422            }
3423          })]
3424        })]
3425      });
3426    });
3427    if (true) FloatingPortal.displayName = "FloatingPortal";
3428  
3429    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3430    var React22 = __toESM(require_react(), 1);
3431  
3432    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3433    function createEventEmitter() {
3434      const map = /* @__PURE__ */ new Map();
3435      return {
3436        emit(event, data) {
3437          map.get(event)?.forEach((listener) => listener(data));
3438        },
3439        on(event, listener) {
3440          if (!map.has(event)) {
3441            map.set(event, /* @__PURE__ */ new Set());
3442          }
3443          map.get(event).add(listener);
3444        },
3445        off(event, listener) {
3446          map.get(event)?.delete(listener);
3447        }
3448      };
3449    }
3450  
3451    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3452    var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
3453    var FloatingNodeContext = /* @__PURE__ */ React22.createContext(null);
3454    if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3455    var FloatingTreeContext = /* @__PURE__ */ React22.createContext(null);
3456    if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3457    var useFloatingParentNodeId = () => React22.useContext(FloatingNodeContext)?.id || null;
3458    var useFloatingTree = (externalTree) => {
3459      const contextTree = React22.useContext(FloatingTreeContext);
3460      return externalTree ?? contextTree;
3461    };
3462  
3463    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClientPoint.mjs
3464    var React23 = __toESM(require_react(), 1);
3465    function createVirtualElement(domElement, data) {
3466      let offsetX = null;
3467      let offsetY = null;
3468      let isAutoUpdateEvent = false;
3469      return {
3470        contextElement: domElement || void 0,
3471        getBoundingClientRect() {
3472          const domRect = domElement?.getBoundingClientRect() || {
3473            width: 0,
3474            height: 0,
3475            x: 0,
3476            y: 0
3477          };
3478          const isXAxis = data.axis === "x" || data.axis === "both";
3479          const isYAxis = data.axis === "y" || data.axis === "both";
3480          const canTrackCursorOnAutoUpdate = ["mouseenter", "mousemove"].includes(data.dataRef.current.openEvent?.type || "") && data.pointerType !== "touch";
3481          const width = data.axis === "y" ? domRect.width : 0;
3482          const height = data.axis === "x" ? domRect.height : 0;
3483          let x = domRect.x;
3484          let y = domRect.y;
3485          if (offsetX == null && data.x && isXAxis) {
3486            offsetX = domRect.x - data.x;
3487          }
3488          if (offsetY == null && data.y && isYAxis) {
3489            offsetY = domRect.y - data.y;
3490          }
3491          x -= offsetX || 0;
3492          y -= offsetY || 0;
3493          if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {
3494            x = isXAxis && data.x != null ? data.x : x;
3495            y = isYAxis && data.y != null ? data.y : y;
3496          }
3497          isAutoUpdateEvent = true;
3498          return {
3499            width,
3500            height,
3501            x,
3502            y,
3503            top: y,
3504            right: x + width,
3505            bottom: y + height,
3506            left: x
3507          };
3508        }
3509      };
3510    }
3511    function isMouseBasedEvent(event) {
3512      return event != null && event.clientX != null;
3513    }
3514    function useClientPoint(store2, props = {}) {
3515      const {
3516        enabled = true,
3517        axis = "both"
3518      } = props;
3519      const open3 = store2.useState("open");
3520      const floating = store2.useState("floatingElement");
3521      const domReference = store2.useState("domReferenceElement");
3522      const dataRef = store2.context.dataRef;
3523      const initialRef = React23.useRef(false);
3524      const cleanupListenerRef = React23.useRef(null);
3525      const [pointerType, setPointerType] = React23.useState();
3526      const [reactive, setReactive] = React23.useState([]);
3527      const resetReference = useStableCallback((reference2) => {
3528        store2.set("positionReference", reference2);
3529      });
3530      const setReference = useStableCallback((newX, newY, referenceElement) => {
3531        if (initialRef.current) {
3532          return;
3533        }
3534        if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {
3535          return;
3536        }
3537        store2.set("positionReference", createVirtualElement(referenceElement ?? domReference, {
3538          x: newX,
3539          y: newY,
3540          axis,
3541          dataRef,
3542          pointerType
3543        }));
3544      });
3545      const handleReferenceEnterOrMove = useStableCallback((event) => {
3546        if (!open3) {
3547          setReference(event.clientX, event.clientY, event.currentTarget);
3548        } else if (!cleanupListenerRef.current) {
3549          setReference(event.clientX, event.clientY, event.currentTarget);
3550          setReactive([]);
3551        }
3552      });
3553      const openCheck = isMouseLikePointerType(pointerType) ? floating : open3;
3554      React23.useEffect(() => {
3555        if (!enabled) {
3556          resetReference(domReference);
3557          return void 0;
3558        }
3559        if (!openCheck) {
3560          return void 0;
3561        }
3562        function cleanupListener() {
3563          cleanupListenerRef.current?.();
3564          cleanupListenerRef.current = null;
3565        }
3566        const win = getWindow(floating);
3567        function handleMouseMove(event) {
3568          const target = getTarget(event);
3569          if (!contains(floating, target)) {
3570            setReference(event.clientX, event.clientY);
3571          } else {
3572            cleanupListener();
3573          }
3574        }
3575        if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {
3576          cleanupListenerRef.current = addEventListener(win, "mousemove", handleMouseMove);
3577        } else {
3578          resetReference(domReference);
3579        }
3580        return cleanupListener;
3581      }, [openCheck, enabled, floating, dataRef, domReference, store2, setReference, resetReference, reactive]);
3582      React23.useEffect(() => () => {
3583        store2.set("positionReference", null);
3584      }, [store2]);
3585      React23.useEffect(() => {
3586        if (enabled && !floating) {
3587          initialRef.current = false;
3588        }
3589      }, [enabled, floating]);
3590      React23.useEffect(() => {
3591        if (!enabled && open3) {
3592          initialRef.current = true;
3593        }
3594      }, [enabled, open3]);
3595      const reference = React23.useMemo(() => {
3596        function setPointerTypeRef(event) {
3597          setPointerType(event.pointerType);
3598        }
3599        return {
3600          onPointerDown: setPointerTypeRef,
3601          onPointerEnter: setPointerTypeRef,
3602          onMouseMove: handleReferenceEnterOrMove,
3603          onMouseEnter: handleReferenceEnterOrMove
3604        };
3605      }, [handleReferenceEnterOrMove]);
3606      return React23.useMemo(() => enabled ? {
3607        reference,
3608        trigger: reference
3609      } : {}, [enabled, reference]);
3610    }
3611  
3612    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
3613    var React24 = __toESM(require_react(), 1);
3614    function alwaysFalse() {
3615      return false;
3616    }
3617    function normalizeProp(normalizable) {
3618      return {
3619        escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
3620        outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
3621      };
3622    }
3623    function useDismiss(store2, props = {}) {
3624      const {
3625        enabled = true,
3626        escapeKey: escapeKey2 = true,
3627        outsidePress: outsidePressProp = true,
3628        outsidePressEvent = "sloppy",
3629        referencePress = alwaysFalse,
3630        bubbles,
3631        externalTree
3632      } = props;
3633      const open3 = store2.useState("open");
3634      const floatingElement = store2.useState("floatingElement");
3635      const {
3636        dataRef,
3637        events
3638      } = store2.context;
3639      const tree = useFloatingTree(externalTree);
3640      const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
3641      const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
3642      const outsidePressEnabled = outsidePress2 !== false;
3643      const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
3644      const {
3645        escapeKey: escapeKeyBubbles,
3646        outsidePress: outsidePressBubbles
3647      } = normalizeProp(bubbles);
3648      const pressStartedInsideRef = React24.useRef(false);
3649      const pressStartPreventedRef = React24.useRef(false);
3650      const suppressNextOutsideClickRef = React24.useRef(false);
3651      const sawPressWhileOpenRef = React24.useRef(false);
3652      const isComposingRef = React24.useRef(false);
3653      const currentPointerTypeRef = React24.useRef("");
3654      const touchStateRef = React24.useRef(null);
3655      const cancelDismissOnEndTimeout = useTimeout();
3656      const clearInsideReactTreeTimeout = useTimeout();
3657      const compositionTimeout = useTimeout();
3658      const clearInsideReactTree = useStableCallback(() => {
3659        clearInsideReactTreeTimeout.clear();
3660        dataRef.current.insideReactTree = false;
3661      });
3662      const hasBlockingChild = useStableCallback((bubbleKey) => {
3663        const nodeId = dataRef.current.floatingContext?.nodeId;
3664        const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
3665        return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
3666      });
3667      const isEventWithinOwnElements = useStableCallback((event) => {
3668        return isEventTargetWithin(event, store2.select("floatingElement")) || isEventTargetWithin(event, store2.select("domReferenceElement"));
3669      });
3670      const closeOnReferencePress = useStableCallback((event) => {
3671        if (!referencePress()) {
3672          return;
3673        }
3674        store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
3675      });
3676      const closeOnEscapeKeyDown = useStableCallback((event) => {
3677        if (!open3 || !enabled || !escapeKey2 || event.key !== "Escape") {
3678          return;
3679        }
3680        const native = isReactEvent(event) ? event.nativeEvent : event;
3681        if (isComposingRef.current || native.isComposing) {
3682          return;
3683        }
3684        if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
3685          return;
3686        }
3687        const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
3688        store2.setOpen(false, eventDetails);
3689        if (!eventDetails.isCanceled) {
3690          event.preventDefault();
3691        }
3692        if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
3693          event.stopPropagation();
3694        }
3695      });
3696      const markInsideReactTree = useStableCallback(() => {
3697        dataRef.current.insideReactTree = true;
3698        clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
3699      });
3700      const markPressStartedInsideReactTree = useStableCallback((event) => {
3701        if (!open3 || !enabled || event.button !== 0) {
3702          return;
3703        }
3704        const target = getTarget(event.nativeEvent);
3705        if (!contains(store2.select("floatingElement"), target)) {
3706          return;
3707        }
3708        if (!pressStartedInsideRef.current) {
3709          pressStartedInsideRef.current = true;
3710          pressStartPreventedRef.current = false;
3711        }
3712      });
3713      const markInsidePressStartPrevented = useStableCallback((event) => {
3714        if (!open3 || !enabled) {
3715          return;
3716        }
3717        if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
3718          return;
3719        }
3720        if (pressStartedInsideRef.current) {
3721          pressStartPreventedRef.current = true;
3722        }
3723      });
3724      React24.useEffect(() => {
3725        function handleOpenChange(details) {
3726          if (!details.open) {
3727            sawPressWhileOpenRef.current = false;
3728          }
3729        }
3730        events.on("openchange", handleOpenChange);
3731        return () => {
3732          events.off("openchange", handleOpenChange);
3733        };
3734      }, [events]);
3735      React24.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
3736      React24.useEffect(() => {
3737        if (!open3 || !enabled) {
3738          if (!open3) {
3739            sawPressWhileOpenRef.current = false;
3740            isComposingRef.current = false;
3741            currentPointerTypeRef.current = "";
3742            touchStateRef.current = null;
3743          }
3744          return clearInsideReactTree;
3745        }
3746        dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
3747        dataRef.current.__outsidePressBubbles = outsidePressBubbles;
3748        const preventedPressSuppressionTimeout = new Timeout();
3749        const doc = ownerDocument(floatingElement);
3750        function handleCompositionStart() {
3751          compositionTimeout.clear();
3752          isComposingRef.current = true;
3753        }
3754        function handleCompositionEnd() {
3755          isComposingRef.current = true;
3756          compositionTimeout.start(
3757            // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
3758            // Only apply to WebKit for the test to remain 0ms.
3759            parts_exports.engine.webkit ? 5 : 0,
3760            () => {
3761              isComposingRef.current = false;
3762            }
3763          );
3764        }
3765        function suppressImmediateOutsideClickAfterPreventedStart() {
3766          suppressNextOutsideClickRef.current = true;
3767          preventedPressSuppressionTimeout.start(0, () => {
3768            suppressNextOutsideClickRef.current = false;
3769          });
3770        }
3771        function resetPressStartState() {
3772          pressStartedInsideRef.current = false;
3773          pressStartPreventedRef.current = false;
3774        }
3775        function getOutsidePressEvent() {
3776          const type = currentPointerTypeRef.current;
3777          const computedType = type === "pen" || !type ? "mouse" : type;
3778          const outsidePressEventValue = getOutsidePressEventProp();
3779          const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
3780          if (typeof resolved === "string") {
3781            return resolved;
3782          }
3783          return resolved[computedType];
3784        }
3785        function shouldIgnoreEvent(event) {
3786          const computedOutsidePressEvent = getOutsidePressEvent();
3787          return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
3788        }
3789        function isEventWithinFloatingTree(event) {
3790          const nodeId = dataRef.current.floatingContext?.nodeId;
3791          const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
3792          return isEventWithinOwnElements(event) || targetIsInsideChildren;
3793        }
3794        function closeOnPressOutside(event) {
3795          if (shouldIgnoreEvent(event)) {
3796            if (event.type !== "click" && !isEventWithinOwnElements(event)) {
3797              preventedPressSuppressionTimeout.clear();
3798              suppressNextOutsideClickRef.current = false;
3799            }
3800            clearInsideReactTree();
3801            return;
3802          }
3803          if (dataRef.current.insideReactTree) {
3804            clearInsideReactTree();
3805            return;
3806          }
3807          const target = getTarget(event);
3808          const inertSelector = `[$createAttribute("inert")}]`;
3809          const targetRoot = isElement(target) ? target.getRootNode() : null;
3810          const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store2.select("floatingElement"))).querySelectorAll(inertSelector));
3811          const triggers = store2.context.triggerElements;
3812          if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
3813            return;
3814          }
3815          let targetRootAncestor = isElement(target) ? target : null;
3816          while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
3817            const nextParent = getParentNode(targetRootAncestor);
3818            if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
3819              break;
3820            }
3821            targetRootAncestor = nextParent;
3822          }
3823          if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
3824          !contains(target, store2.select("floatingElement")) && // If the target root element contains none of the markers, then the
3825          // element was injected after the floating element rendered.
3826          markers.every((marker) => !contains(targetRootAncestor, marker))) {
3827            return;
3828          }
3829          if (isHTMLElement(target) && !("touches" in event)) {
3830            const lastTraversableNode = isLastTraversableNode(target);
3831            const style = getComputedStyle2(target);
3832            const scrollRe = /auto|scroll/;
3833            const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
3834            const isScrollableY = lastTraversableNode || scrollRe.test(style.overflowY);
3835            const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
3836            const canScrollY = isScrollableY && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
3837            const isRTL4 = style.direction === "rtl";
3838            const pressedVerticalScrollbar = canScrollY && (isRTL4 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
3839            const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
3840            if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
3841              return;
3842            }
3843          }
3844          if (isEventWithinFloatingTree(event)) {
3845            return;
3846          }
3847          if (getOutsidePressEvent() === "intentional") {
3848            if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
3849              return;
3850            }
3851            if (suppressNextOutsideClickRef.current) {
3852              preventedPressSuppressionTimeout.clear();
3853              suppressNextOutsideClickRef.current = false;
3854              return;
3855            }
3856          }
3857          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
3858            return;
3859          }
3860          if (hasBlockingChild("__outsidePressBubbles")) {
3861            return;
3862          }
3863          store2.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
3864          clearInsideReactTree();
3865        }
3866        function handlePointerDown(event) {
3867          if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store2.select("open") || !enabled || isEventWithinOwnElements(event)) {
3868            return;
3869          }
3870          closeOnPressOutside(event);
3871        }
3872        function handleTouchStart(event) {
3873          if (getOutsidePressEvent() !== "sloppy" || !store2.select("open") || !enabled || isEventWithinOwnElements(event)) {
3874            return;
3875          }
3876          const touch = event.touches[0];
3877          if (touch) {
3878            touchStateRef.current = {
3879              startTime: Date.now(),
3880              startX: touch.clientX,
3881              startY: touch.clientY,
3882              dismissOnTouchEnd: false,
3883              dismissOnMouseDown: true
3884            };
3885            cancelDismissOnEndTimeout.start(1e3, () => {
3886              if (touchStateRef.current) {
3887                touchStateRef.current.dismissOnTouchEnd = false;
3888                touchStateRef.current.dismissOnMouseDown = false;
3889              }
3890            });
3891          }
3892        }
3893        function addTargetEventListenerOnce(event, listener) {
3894          const target = getTarget(event);
3895          if (!target) {
3896            return;
3897          }
3898          const unsubscribe2 = addEventListener(target, event.type, () => {
3899            listener(event);
3900            unsubscribe2();
3901          });
3902        }
3903        function handleTouchStartCapture(event) {
3904          currentPointerTypeRef.current = "touch";
3905          addTargetEventListenerOnce(event, handleTouchStart);
3906        }
3907        function closeOnPressOutsideCapture(event) {
3908          cancelDismissOnEndTimeout.clear();
3909          if (event.type === "pointerdown") {
3910            if (event.button === 0) {
3911              sawPressWhileOpenRef.current = true;
3912            }
3913            currentPointerTypeRef.current = event.pointerType;
3914          }
3915          if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
3916            return;
3917          }
3918          addTargetEventListenerOnce(event, (targetEvent) => {
3919            if (targetEvent.type === "pointerdown") {
3920              handlePointerDown(targetEvent);
3921            } else {
3922              closeOnPressOutside(targetEvent);
3923            }
3924          });
3925        }
3926        function handlePressEndCapture(event) {
3927          if (event.type === "pointercancel") {
3928            sawPressWhileOpenRef.current = false;
3929          }
3930          if (!pressStartedInsideRef.current) {
3931            return;
3932          }
3933          const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
3934          resetPressStartState();
3935          if (getOutsidePressEvent() !== "intentional") {
3936            return;
3937          }
3938          if (event.type === "pointercancel") {
3939            if (pressStartedInsideDefaultPrevented) {
3940              suppressImmediateOutsideClickAfterPreventedStart();
3941            }
3942            return;
3943          }
3944          if (isEventWithinFloatingTree(event)) {
3945            return;
3946          }
3947          if (pressStartedInsideDefaultPrevented) {
3948            suppressImmediateOutsideClickAfterPreventedStart();
3949            return;
3950          }
3951          if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
3952            return;
3953          }
3954          preventedPressSuppressionTimeout.clear();
3955          suppressNextOutsideClickRef.current = true;
3956          clearInsideReactTree();
3957        }
3958        function handleTouchMove(event) {
3959          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
3960            return;
3961          }
3962          const touch = event.touches[0];
3963          if (!touch) {
3964            return;
3965          }
3966          const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
3967          const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
3968          const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
3969          if (distance > 5) {
3970            touchStateRef.current.dismissOnTouchEnd = true;
3971          }
3972          if (distance > 10) {
3973            closeOnPressOutside(event);
3974            cancelDismissOnEndTimeout.clear();
3975            touchStateRef.current = null;
3976          }
3977        }
3978        function handleTouchMoveCapture(event) {
3979          addTargetEventListenerOnce(event, handleTouchMove);
3980        }
3981        function handleTouchEnd(event) {
3982          if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
3983            return;
3984          }
3985          if (touchStateRef.current.dismissOnTouchEnd) {
3986            closeOnPressOutside(event);
3987          }
3988          cancelDismissOnEndTimeout.clear();
3989          touchStateRef.current = null;
3990        }
3991        function handleTouchEndCapture(event) {
3992          addTargetEventListenerOnce(event, handleTouchEnd);
3993        }
3994        const unsubscribe = mergeCleanups(escapeKey2 && mergeCleanups(addEventListener(doc, "keydown", closeOnEscapeKeyDown), addEventListener(doc, "compositionstart", handleCompositionStart), addEventListener(doc, "compositionend", handleCompositionEnd)), outsidePressEnabled && mergeCleanups(addEventListener(doc, "click", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerdown", closeOnPressOutsideCapture, true), addEventListener(doc, "pointerup", handlePressEndCapture, true), addEventListener(doc, "pointercancel", handlePressEndCapture, true), addEventListener(doc, "mousedown", closeOnPressOutsideCapture, true), addEventListener(doc, "mouseup", handlePressEndCapture, true), addEventListener(doc, "touchstart", handleTouchStartCapture, {
3995          capture: true,
3996          passive: true
3997        }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
3998          capture: true,
3999          passive: true
4000        }), addEventListener(doc, "touchend", handleTouchEndCapture, {
4001          capture: true,
4002          passive: true
4003        })));
4004        return () => {
4005          unsubscribe();
4006          preventedPressSuppressionTimeout.clear();
4007          resetPressStartState();
4008          suppressNextOutsideClickRef.current = false;
4009        };
4010      }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open3, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store2, cancelDismissOnEndTimeout, compositionTimeout]);
4011      const reference = React24.useMemo(() => ({
4012        onKeyDown: closeOnEscapeKeyDown,
4013        onPointerDown: closeOnReferencePress,
4014        onClick: closeOnReferencePress
4015      }), [closeOnEscapeKeyDown, closeOnReferencePress]);
4016      const floating = React24.useMemo(() => ({
4017        onKeyDown: closeOnEscapeKeyDown,
4018        // `onMouseDown` may be blocked if `event.preventDefault()` is called in
4019        // `onPointerDown`, such as with <NumberField.ScrubArea>.
4020        // See https://github.com/mui/base-ui/pull/3379
4021        onPointerDown: markInsidePressStartPrevented,
4022        onMouseDown: markInsidePressStartPrevented,
4023        onClickCapture: markInsideReactTree,
4024        onMouseDownCapture(event) {
4025          markInsideReactTree();
4026          markPressStartedInsideReactTree(event);
4027        },
4028        onPointerDownCapture(event) {
4029          markInsideReactTree();
4030          markPressStartedInsideReactTree(event);
4031        },
4032        onMouseUpCapture: markInsideReactTree,
4033        onTouchEndCapture: markInsideReactTree,
4034        onTouchMoveCapture: markInsideReactTree
4035      }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
4036      return React24.useMemo(() => enabled ? {
4037        reference,
4038        floating,
4039        trigger: reference
4040      } : {}, [enabled, reference, floating]);
4041    }
4042  
4043    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupHandle.mjs
4044    var BasePopupHandle = class {
4045      /**
4046       * Stores of every root currently using this handle, in attach order. A handle is meant to be used
4047       * by a single mounted root, but roots can transiently overlap (e.g. during an animated route
4048       * transition), so this stack lets `attachStore`'s cleanup restore the previous root instead of
4049       * leaving a still-mounted root uncontrollable when a newer overlapping root detaches first.
4050       */
4051      attachedStores = [];
4052      /**
4053       * Store of the root that currently controls the handle: the most recently attached one still
4054       * mounted, or `null` when no root is attached. Imperative methods are no-ops while this is `null`.
4055       */
4056      attachedStoreValue = null;
4057      /**
4058       * Listeners notified when `attachedStore` changes, so detached triggers can follow the store pointer.
4059       */
4060      storeListeners = /* @__PURE__ */ new Set();
4061      /**
4062       * Creates a handle backed by the store used while no root is attached.
4063       *
4064       * @param fallbackStore Inert, closed store handed to detached triggers while no root is attached,
4065       * so they can render and register without a mounted root. Triggers register into whichever store
4066       * `store` currently resolves to, so while detached they live in this store's trigger map and
4067       * migrate themselves to the root's store (and back) as it attaches/detaches.
4068       * @param componentName Component name used to prefix dev warnings, e.g. `'Menu'` produces
4069       * `MenuHandle.open()` in warning text.
4070       * @param throwOnMissingTrigger Whether `open(triggerId)` throws when no trigger with that id is
4071       * registered. Anchored popups (Menu, Popover, Tooltip, PreviewCard) need a trigger to anchor to,
4072       * so they throw; Dialog is not anchored and instead opens unassociated with a dev warning.
4073       */
4074      constructor(fallbackStore, componentName, throwOnMissingTrigger = true) {
4075        this.fallbackStore = fallbackStore;
4076        this.componentName = componentName;
4077        this.throwOnMissingTrigger = throwOnMissingTrigger;
4078      }
4079      get attachedStore() {
4080        return this.attachedStoreValue;
4081      }
4082      /**
4083       * Store that detached triggers read from: the attached root's store, or an inert fallback store
4084       * used while no root is attached.
4085       * @internal
4086       */
4087      get store() {
4088        return this.attachedStoreValue ?? this.fallbackStore;
4089      }
4090      /**
4091       * Stable fallback store used for server rendering and hydration. Root stores cannot be recorded on
4092       * the handle during render because a handle can be shared by concurrent server-rendered requests.
4093       * @internal
4094       */
4095      get serverStore() {
4096        return this.fallbackStore;
4097      }
4098      /**
4099       * Subscribes to changes of the attached store pointer so detached triggers re-render and re-bind
4100       * when a root attaches or detaches. Returns a function that removes the listener.
4101       * @internal
4102       */
4103      subscribeStore(listener) {
4104        this.storeListeners.add(listener);
4105        return () => {
4106          this.storeListeners.delete(listener);
4107        };
4108      }
4109      /**
4110       * Points the handle at a root's store and notifies subscribers so detached triggers re-render and
4111       * re-register into it (their registration effect migrates them when the store pointer changes).
4112       * Returns a cleanup function that detaches the store again.
4113       * @internal
4114       */
4115      attachStore(newStore) {
4116        this.attachedStores.push(newStore);
4117        this.setActiveStore(newStore);
4118        if (true) {
4119          if (this.attachedStores.length > 1) {
4120            const dev = this;
4121            (dev.overlapWarningFrame ??= AnimationFrame.create()).request(() => {
4122              if (this.attachedStores.length > 1) {
4123                console.warn("Base UI: A handle is attached to more than one mounted root at the same time. The most recently mounted root takes over and the previous one stops being controlled by the handle. A handle should be used by a single root that stays mounted for the lifetime of the handle.");
4124              }
4125            });
4126          }
4127        }
4128        return () => {
4129          const index2 = this.attachedStores.lastIndexOf(newStore);
4130          if (index2 !== -1) {
4131            this.attachedStores.splice(index2, 1);
4132          }
4133          this.setActiveStore(this.attachedStores[this.attachedStores.length - 1] ?? null);
4134        };
4135      }
4136      /**
4137       * Sets the store that currently controls the handle and notifies subscribers when it changes, so
4138       * detached triggers re-render and migrate their registration to the new store.
4139       */
4140      setActiveStore(store2) {
4141        if (this.attachedStoreValue !== store2) {
4142          this.attachedStoreValue = store2;
4143          this.storeListeners.forEach((listener) => {
4144            listener();
4145          });
4146        }
4147      }
4148      /**
4149       * Opens the attached root's store and associates it with the trigger with the given id, or a
4150       * no-op (with a dev warning) while no root is attached. Shared by every concrete handle's public
4151       * `open()` method, which only narrows the parameter type.
4152       *
4153       * When a trigger id is given but no matching trigger is registered, anchored popups throw (see
4154       * `throwOnMissingTrigger`); Dialog opens unassociated with a dev warning instead.
4155       *
4156       * This method should only be called in an event handler or an effect (not during rendering).
4157       *
4158       * @param triggerId ID of the trigger to associate with the popup, or `null`/`undefined` to open
4159       * without associating any trigger.
4160       */
4161      openByTrigger(triggerId) {
4162        const attachedStore = this.attachedStore;
4163        if (attachedStore === null) {
4164          if (true) {
4165            console.warn(`Base UI: $this.componentName}Handle.open() was called while no root using this handle is mounted. The call was ignored; mount a root with this handle before opening it imperatively.`);
4166          }
4167          return;
4168        }
4169        let triggerElement;
4170        if (triggerId) {
4171          for (let i = this.attachedStores.length - 1; i >= 0 && !triggerElement; i -= 1) {
4172            triggerElement = this.attachedStores[i].context.triggerElements.getById(triggerId);
4173          }
4174          triggerElement ??= this.fallbackStore.context.triggerElements.getById(triggerId);
4175        }
4176        if (triggerId && !triggerElement) {
4177          if (this.throwOnMissingTrigger) {
4178            throw new Error(true ? `Base UI: $this.componentName}Handle.open() was called with the trigger id "$triggerId}", but no matching trigger is registered with this handle. An anchored popup cannot open without a trigger to anchor to. Pass the id of a mounted $this.componentName}.Trigger that has this handle set on its "handle" prop.` : formatErrorMessage_default(99, this.componentName, triggerId, this.componentName));
4179          }
4180          if (true) {
4181            console.warn(`Base UI: $this.componentName}Handle.open: No trigger found with id "$triggerId}". The popup will open, but the trigger will not be associated with it.`);
4182          }
4183        }
4184        attachedStore.setOpen(true, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, triggerElement));
4185      }
4186      /**
4187       * Closes the popup by setting the attached root's store to closed, or a no-op (with a dev warning)
4188       * while no root is attached. Shared by every concrete handle's public `close()` method.
4189       *
4190       * This method should only be called in an event handler or an effect (not during rendering).
4191       */
4192      closePopup() {
4193        const attachedStore = this.attachedStore;
4194        if (attachedStore === null) {
4195          if (true) {
4196            console.warn(`Base UI: $this.componentName}Handle.close() was called while no root using this handle is mounted. The call was ignored.`);
4197          }
4198          return;
4199        }
4200        attachedStore.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
4201      }
4202    };
4203  
4204    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4205    var React26 = __toESM(require_react(), 1);
4206    var ReactDOM3 = __toESM(require_react_dom(), 1);
4207  
4208    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs
4209    function useSyncedFloatingRootContext(options) {
4210      const {
4211        popupStore,
4212        treatPopupAsFloatingElement = false,
4213        floatingRootContext: store2,
4214        floatingId,
4215        nested,
4216        onOpenChange
4217      } = options;
4218      const open3 = popupStore.useState("open");
4219      const referenceElement = popupStore.useState("activeTriggerElement");
4220      const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement");
4221      const handleOpenChange = onOpenChange;
4222      popupStore.useSyncedValue("floatingId", floatingId);
4223      useIsoLayoutEffect(() => {
4224        const valuesToSync = {
4225          open: open3,
4226          floatingId,
4227          referenceElement,
4228          floatingElement
4229        };
4230        if (isElement(referenceElement)) {
4231          valuesToSync.domReferenceElement = referenceElement;
4232        }
4233        if (store2.state.positionReference === store2.state.referenceElement) {
4234          valuesToSync.positionReference = referenceElement;
4235        }
4236        store2.update(valuesToSync);
4237      }, [open3, floatingId, referenceElement, floatingElement, store2]);
4238      store2.context.onOpenChange = handleOpenChange;
4239      store2.context.nested = nested;
4240      return store2;
4241    }
4242  
4243    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
4244    var React25 = __toESM(require_react(), 1);
4245    function useUnmountAfterClose(parameters) {
4246      const {
4247        open: open3,
4248        ref,
4249        preventUnmountOnClose,
4250        setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
4251        onUnmount,
4252        animateInitialOpen
4253      } = parameters;
4254      const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
4255      const {
4256        mounted,
4257        setMounted,
4258        transitionStatus
4259      } = useTransitionStatus(open3, false, false, animateInitialOpen);
4260      const preventUnmountingOnClose = open3 ? false : preventUnmountOnClose;
4261      useIsoLayoutEffect(() => {
4262        if (open3) {
4263          setPreventUnmountOnClose(false);
4264        }
4265      }, [open3, setPreventUnmountOnClose]);
4266      const mountedRef = React25.useRef(mounted);
4267      const pendingUnmountRef = React25.useRef(false);
4268      const rerender = useForcedRerendering();
4269      const unmount = () => {
4270        mountedRef.current = false;
4271        setMounted(false);
4272        onUnmount();
4273      };
4274      useIsoLayoutEffect(() => {
4275        mountedRef.current = mounted;
4276        if (pendingUnmountRef.current) {
4277          pendingUnmountRef.current = false;
4278          if (!open3 && mounted) {
4279            unmount();
4280          }
4281        }
4282      });
4283      const forceUnmount = useStableCallback(() => {
4284        if (!mountedRef.current) {
4285          return;
4286        }
4287        if (open3) {
4288          pendingUnmountRef.current = true;
4289          rerender();
4290          return;
4291        }
4292        unmount();
4293      });
4294      useOpenChangeComplete({
4295        enabled: mounted && !open3 && !preventUnmountingOnClose,
4296        open: open3,
4297        ref,
4298        onComplete() {
4299          if (!open3) {
4300            forceUnmount();
4301          }
4302        }
4303      });
4304      return {
4305        mounted,
4306        transitionStatus,
4307        preventUnmountingOnClose,
4308        forceUnmount
4309      };
4310    }
4311  
4312    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
4313    var FOCUSABLE_POPUP_PROPS = {
4314      tabIndex: -1,
4315      [FOCUSABLE_ATTRIBUTE]: ""
4316    };
4317    function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {
4318      const floatingId = useId();
4319      const nested = useFloatingParentNodeId() != null;
4320      const store2 = useRefWithInit(() => createStore(floatingId, nested)).current;
4321      useSyncedFloatingRootContext({
4322        popupStore: store2,
4323        treatPopupAsFloatingElement,
4324        floatingRootContext: store2.state.floatingRootContext,
4325        floatingId,
4326        nested,
4327        onOpenChange: store2.setOpen
4328      });
4329      return store2;
4330    }
4331    function PopupHandleAttachment({
4332      handle,
4333      store: store2
4334    }) {
4335      useIsoLayoutEffect(() => {
4336        return handle.attachStore(store2);
4337      }, [handle, store2]);
4338      return null;
4339    }
4340    function syncTriggerCount(store2) {
4341      const triggerCount = store2.context.triggerElements.size;
4342      if (store2.select("open") && store2.state.triggerCount !== triggerCount) {
4343        store2.set("triggerCount", triggerCount);
4344      }
4345    }
4346    function useTriggerRegistration(id, store2) {
4347      const registrationRef = React26.useRef(null);
4348      return useStableCallback((element) => {
4349        const registration = registrationRef.current;
4350        if (registration !== null) {
4351          if (registration.element === element && registration.store === store2 && registration.id === id) {
4352            return;
4353          }
4354          registrationRef.current = null;
4355          const registeredStore = registration.store;
4356          if (registeredStore.context.triggerElements.getById(registration.id) === registration.element) {
4357            registeredStore.context.triggerElements.delete(registration.id);
4358            syncTriggerCount(registeredStore);
4359          }
4360        }
4361        if (element !== null && id !== void 0) {
4362          registrationRef.current = {
4363            store: store2,
4364            id,
4365            element
4366          };
4367          store2.context.triggerElements.add(id, element);
4368          syncTriggerCount(store2);
4369        }
4370      });
4371    }
4372    function createPopupOpenState(state, open3, trigger, preventUnmountOnClose = false) {
4373      let preventUnmountingOnClose = state.preventUnmountingOnClose;
4374      if (open3) {
4375        preventUnmountingOnClose = false;
4376      } else if (preventUnmountOnClose) {
4377        preventUnmountingOnClose = true;
4378      }
4379      const triggerId = trigger?.id ?? null;
4380      let activeTriggerId = state.activeTriggerId;
4381      let activeTriggerElement = state.activeTriggerElement;
4382      if (triggerId || open3) {
4383        activeTriggerId = triggerId;
4384        activeTriggerElement = trigger ?? null;
4385      }
4386      return {
4387        open: open3,
4388        preventUnmountingOnClose,
4389        activeTriggerId,
4390        activeTriggerElement,
4391        // An open request without a trigger (a handle's `open(null)` or `openWithPayload()`) must not
4392        // be reassociated with a lone registered trigger later on. Controlled and default opens never
4393        // pass through here, so they keep claiming a lone trigger. A close request keeps the flag: a
4394        // controlled root may decline it and stay open, so the Root clears the flag only once the
4395        // popup is effectively closed.
4396        openedWithoutTrigger: open3 ? trigger == null : state.openedWithoutTrigger
4397      };
4398    }
4399    function attachPreventUnmountOnClose(eventDetails) {
4400      let preventUnmountOnClose = false;
4401      eventDetails.preventUnmountOnClose = () => {
4402        preventUnmountOnClose = true;
4403      };
4404      return () => preventUnmountOnClose;
4405    }
4406    function applyPopupOpenChange(store2, nextOpen, eventDetails, options = {}) {
4407      const reason = eventDetails.reason;
4408      const isHover = reason === reason_parts_exports.triggerHover;
4409      const isFocusOpen = nextOpen && reason === reason_parts_exports.triggerFocus;
4410      const isDismissClose = !nextOpen && (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.escapeKey);
4411      const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);
4412      store2.context.onOpenChange?.(nextOpen, eventDetails);
4413      if (eventDetails.isCanceled) {
4414        return;
4415      }
4416      options.onBeforeDispatch?.();
4417      store2.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
4418      const changeState = () => {
4419        const popupOpenState = createPopupOpenState(store2.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
4420        const updatedState = {
4421          ...options.extraState,
4422          ...popupOpenState
4423        };
4424        if (isFocusOpen) {
4425          updatedState.instantType = "focus";
4426        } else if (isDismissClose) {
4427          updatedState.instantType = "dismiss";
4428        } else if (isHover) {
4429          updatedState.instantType = void 0;
4430        }
4431        store2.update(updatedState);
4432      };
4433      if (isHover) {
4434        ReactDOM3.flushSync(changeState);
4435      } else {
4436        changeState();
4437      }
4438    }
4439    function useTriggerDataForwarding(triggerId, triggerElementRef, store2, stateUpdates) {
4440      const isMountedByThisTrigger = store2.useState("isMountedByTrigger", triggerId);
4441      const baseRegisterTrigger = useTriggerRegistration(triggerId, store2);
4442      const applyTriggerData = useStableCallback((element) => {
4443        const open3 = store2.select("open");
4444        const activeTriggerId = store2.select("activeTriggerId");
4445        if (activeTriggerId === triggerId) {
4446          const changes = {
4447            activeTriggerElement: element,
4448            ...open3 ? stateUpdates : null
4449          };
4450          store2.update(changes);
4451          return;
4452        }
4453        if (activeTriggerId == null && open3 && !store2.state.openedWithoutTrigger) {
4454          const changes = {
4455            activeTriggerId: triggerId ?? null,
4456            activeTriggerElement: element,
4457            ...stateUpdates
4458          };
4459          store2.update(changes);
4460        }
4461      });
4462      const registerTrigger = useStableCallback((element) => {
4463        baseRegisterTrigger(element);
4464        if (element) {
4465          applyTriggerData(element);
4466        }
4467      });
4468      useIsoLayoutEffect(() => {
4469        registerTrigger(triggerElementRef.current);
4470        return () => registerTrigger(null);
4471      }, [registerTrigger, triggerElementRef, store2, triggerId]);
4472      useIsoLayoutEffect(() => {
4473        if (isMountedByThisTrigger) {
4474          const changes = {
4475            activeTriggerElement: triggerElementRef.current,
4476            ...stateUpdates
4477          };
4478          store2.update(changes);
4479        }
4480      }, [isMountedByThisTrigger, store2, triggerElementRef, ...Object.values(stateUpdates)]);
4481      return {
4482        registerTrigger,
4483        isMountedByThisTrigger
4484      };
4485    }
4486    function useImplicitActiveTrigger(store2, options = {}) {
4487      const {
4488        closeOnActiveTriggerUnmount = false
4489      } = options;
4490      const resolvedActiveTriggerIdRef = React26.useRef(null);
4491      const open3 = store2.useState("open");
4492      const reactiveTriggerCount = store2.useState("triggerCount");
4493      const activeTriggerId = store2.useState("activeTriggerId");
4494      const reactiveActiveTriggerElement = store2.useState("activeTriggerElement");
4495      useIsoLayoutEffect(() => {
4496        if (!open3) {
4497          resolvedActiveTriggerIdRef.current = null;
4498          if (store2.state.triggerCount !== 0) {
4499            store2.set("triggerCount", 0);
4500          }
4501          if (store2.state.openedWithoutTrigger) {
4502            store2.set("openedWithoutTrigger", false);
4503          }
4504          return;
4505        }
4506        const triggerCount = store2.context.triggerElements.size;
4507        const stateUpdates = {};
4508        if (store2.state.triggerCount !== triggerCount) {
4509          stateUpdates.triggerCount = triggerCount;
4510        }
4511        const currentActiveTriggerId = store2.select("activeTriggerId");
4512        let lostActiveTriggerId = null;
4513        if (currentActiveTriggerId) {
4514          const activeTriggerElement = store2.context.triggerElements.getById(currentActiveTriggerId);
4515          if (!activeTriggerElement) {
4516            for (const [triggerId, triggerElement] of store2.context.triggerElements.entries()) {
4517              if (triggerElement === store2.state.activeTriggerElement) {
4518                stateUpdates.activeTriggerId = triggerId;
4519                stateUpdates.activeTriggerElement = triggerElement;
4520                resolvedActiveTriggerIdRef.current = triggerId;
4521                break;
4522              }
4523            }
4524            if (stateUpdates.activeTriggerId === void 0) {
4525              if (resolvedActiveTriggerIdRef.current === currentActiveTriggerId) {
4526                lostActiveTriggerId = currentActiveTriggerId;
4527              } else {
4528                resolvedActiveTriggerIdRef.current = null;
4529              }
4530            }
4531          } else {
4532            resolvedActiveTriggerIdRef.current = currentActiveTriggerId;
4533            if (activeTriggerElement !== store2.state.activeTriggerElement) {
4534              stateUpdates.activeTriggerElement = activeTriggerElement;
4535            }
4536          }
4537        } else {
4538          resolvedActiveTriggerIdRef.current = null;
4539        }
4540        if (!lostActiveTriggerId && !currentActiveTriggerId && !store2.state.openedWithoutTrigger && triggerCount === 1) {
4541          const iteratorResult = store2.context.triggerElements.entries().next();
4542          if (!iteratorResult.done) {
4543            const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;
4544            stateUpdates.activeTriggerId = implicitTriggerId;
4545            stateUpdates.activeTriggerElement = implicitTriggerElement;
4546            resolvedActiveTriggerIdRef.current = implicitTriggerId;
4547          }
4548        }
4549        if (stateUpdates.triggerCount !== void 0 || stateUpdates.activeTriggerId !== void 0 || stateUpdates.activeTriggerElement !== void 0) {
4550          store2.update(stateUpdates);
4551        }
4552        if (lostActiveTriggerId) {
4553          if (closeOnActiveTriggerUnmount) {
4554            queueMicrotask(() => {
4555              if (store2.select("open") && store2.select("activeTriggerId") === lostActiveTriggerId && !store2.context.triggerElements.getById(lostActiveTriggerId)) {
4556                const eventDetails = createChangeEventDetails(reason_parts_exports.none);
4557                store2.setOpen(false, eventDetails);
4558                if (!eventDetails.isCanceled) {
4559                  store2.update({
4560                    activeTriggerId: null,
4561                    activeTriggerElement: null
4562                  });
4563                }
4564              }
4565            });
4566          }
4567        }
4568      }, [open3, store2, reactiveTriggerCount, activeTriggerId, reactiveActiveTriggerElement, closeOnActiveTriggerUnmount]);
4569    }
4570    function useOpenStateTransitions(open3, store2, onUnmount, animateInitialOpen) {
4571      const {
4572        mounted,
4573        transitionStatus,
4574        forceUnmount
4575      } = useUnmountAfterClose({
4576        open: open3,
4577        ref: store2.context.popupRef,
4578        preventUnmountOnClose: store2.useState("preventUnmountingOnClose"),
4579        setPreventUnmountOnClose: (preventUnmountOnClose) => store2.set("preventUnmountingOnClose", preventUnmountOnClose),
4580        animateInitialOpen,
4581        onUnmount() {
4582          store2.update({
4583            activeTriggerId: null,
4584            activeTriggerElement: null,
4585            mounted: false,
4586            preventUnmountingOnClose: false
4587          });
4588          onUnmount?.();
4589          store2.context.onOpenChangeComplete?.(false);
4590        }
4591      });
4592      useRefWithInit(() => {
4593        store2.set("mounted", mounted);
4594        return null;
4595      });
4596      store2.useSyncedValues({
4597        mounted,
4598        transitionStatus
4599      });
4600      return {
4601        forceUnmount,
4602        transitionStatus
4603      };
4604    }
4605    function usePopupInteractionProps(store2, statePart) {
4606      store2.useSyncedValues(statePart);
4607      useIsoLayoutEffect(() => () => {
4608        store2.update({
4609          activeTriggerProps: EMPTY_OBJECT,
4610          inactiveTriggerProps: EMPTY_OBJECT,
4611          popupProps: EMPTY_OBJECT
4612        });
4613      }, [store2]);
4614    }
4615  
4616    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
4617    var devElementIdsByMap;
4618    function getDevElementIds(map) {
4619      devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
4620      let elementIds = devElementIdsByMap.get(map);
4621      if (!elementIds) {
4622        elementIds = /* @__PURE__ */ new WeakMap();
4623        devElementIdsByMap.set(map, elementIds);
4624      }
4625      return elementIds;
4626    }
4627    var PopupTriggerMap = class {
4628      idMap = /* @__PURE__ */ new Map();
4629      /**
4630       * Adds a trigger element with the given ID.
4631       *
4632       * Note: The provided element is assumed to not be registered under multiple IDs.
4633       */
4634      add(id, element) {
4635        if (true) {
4636          const elementIds = getDevElementIds(this);
4637          const existingId = elementIds.get(element);
4638          if (existingId !== void 0 && existingId !== id) {
4639            throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
4640          }
4641          const previousElement = this.idMap.get(id);
4642          if (previousElement !== void 0 && previousElement !== element) {
4643            elementIds.delete(previousElement);
4644          }
4645          elementIds.set(element, id);
4646        }
4647        this.idMap.set(id, element);
4648      }
4649      /**
4650       * Removes the trigger element with the given ID.
4651       */
4652      delete(id) {
4653        if (true) {
4654          const element = this.idMap.get(id);
4655          if (element !== void 0) {
4656            devElementIdsByMap?.get(this)?.delete(element);
4657          }
4658        }
4659        this.idMap.delete(id);
4660      }
4661      /**
4662       * Whether the given element is registered as a trigger.
4663       */
4664      hasElement(element) {
4665        for (const registered of this.idMap.values()) {
4666          if (registered === element) {
4667            return true;
4668          }
4669        }
4670        return false;
4671      }
4672      /**
4673       * Whether there is a registered trigger element matching the given predicate.
4674       */
4675      hasMatchingElement(predicate) {
4676        for (const element of this.idMap.values()) {
4677          if (predicate(element)) {
4678            return true;
4679          }
4680        }
4681        return false;
4682      }
4683      /**
4684       * Returns the trigger element associated with the given ID, or undefined if no such element exists.
4685       */
4686      getById(id) {
4687        return this.idMap.get(id);
4688      }
4689      /**
4690       * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
4691       */
4692      entries() {
4693        return this.idMap.entries();
4694      }
4695      /**
4696       * Returns an iterable of all registered trigger elements.
4697       */
4698      elements() {
4699        return this.idMap.values();
4700      }
4701      /**
4702       * Returns the number of registered trigger elements.
4703       */
4704      get size() {
4705        return this.idMap.size;
4706      }
4707    };
4708  
4709    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4710    var React28 = __toESM(require_react(), 1);
4711    var import_shim = __toESM(require_shim(), 1);
4712    var import_with_selector = __toESM(require_with_selector(), 1);
4713  
4714    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
4715    var React27 = __toESM(require_react(), 1);
4716    var hooks = [];
4717    var currentInstance = void 0;
4718    function getInstance() {
4719      return currentInstance;
4720    }
4721    function register(hook) {
4722      hooks.push(hook);
4723    }
4724    function fastComponent(fn) {
4725      const FastComponent = (props, forwardedRef) => {
4726        const instance = useRefWithInit(createInstance).current;
4727        let result;
4728        try {
4729          currentInstance = instance;
4730          for (const hook of hooks) {
4731            hook.before(instance);
4732          }
4733          result = fn(props, forwardedRef);
4734          for (const hook of hooks) {
4735            hook.after(instance);
4736          }
4737          instance.didInitialize = true;
4738        } finally {
4739          currentInstance = void 0;
4740        }
4741        return result;
4742      };
4743      FastComponent.displayName = fn.displayName || fn.name;
4744      return FastComponent;
4745    }
4746    function fastComponentRef(fn) {
4747      return /* @__PURE__ */ React27.forwardRef(fastComponent(fn));
4748    }
4749    function createInstance() {
4750      return {
4751        didInitialize: false
4752      };
4753    }
4754  
4755    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
4756    var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
4757    var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
4758    function useStore(store2, selector, a1, a2, a3) {
4759      return useStoreImplementation(store2, selector, a1, a2, a3);
4760    }
4761    function useStoreR19(store2, selector, a1, a2, a3) {
4762      const getSelection = React28.useCallback(() => selector(store2.getSnapshot(), a1, a2, a3), [store2, selector, a1, a2, a3]);
4763      return (0, import_shim.useSyncExternalStore)(store2.subscribe, getSelection, getSelection);
4764    }
4765    register({
4766      before(instance) {
4767        instance.syncIndex = 0;
4768        if (!instance.didInitialize) {
4769          instance.syncTick = 1;
4770          instance.syncHooks = [];
4771          instance.didChangeStore = true;
4772          instance.getSnapshot = () => {
4773            let didChange2 = false;
4774            for (let i = 0; i < instance.syncHooks.length; i += 1) {
4775              const hook = instance.syncHooks[i];
4776              const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
4777              if (!Object.is(hook.value, value)) {
4778                didChange2 = true;
4779                hook.value = value;
4780              }
4781            }
4782            if (didChange2) {
4783              instance.syncTick += 1;
4784            }
4785            return instance.syncTick;
4786          };
4787        }
4788      },
4789      after(instance) {
4790        if (instance.syncHooks.length > 0) {
4791          if (instance.didChangeStore) {
4792            instance.didChangeStore = false;
4793            instance.subscribe = (onStoreChange) => {
4794              const stores = /* @__PURE__ */ new Set();
4795              for (const hook of instance.syncHooks) {
4796                stores.add(hook.store);
4797              }
4798              const unsubscribes = [];
4799              for (const store2 of stores) {
4800                unsubscribes.push(store2.subscribe(onStoreChange));
4801              }
4802              return () => {
4803                for (const unsubscribe of unsubscribes) {
4804                  unsubscribe();
4805                }
4806              };
4807            };
4808          }
4809          (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
4810        }
4811      }
4812    });
4813    function useStoreFast(store2, selector, a1, a2, a3) {
4814      const instance = getInstance();
4815      if (!instance) {
4816        return useStoreR19(store2, selector, a1, a2, a3);
4817      }
4818      const index2 = instance.syncIndex;
4819      instance.syncIndex += 1;
4820      let hook;
4821      if (!instance.didInitialize) {
4822        hook = {
4823          store: store2,
4824          selector,
4825          a1,
4826          a2,
4827          a3,
4828          value: selector(store2.getSnapshot(), a1, a2, a3)
4829        };
4830        instance.syncHooks.push(hook);
4831      } else {
4832        hook = instance.syncHooks[index2];
4833        if (hook.store !== store2 || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
4834          if (hook.store !== store2) {
4835            instance.didChangeStore = true;
4836          }
4837          hook.store = store2;
4838          hook.selector = selector;
4839          hook.a1 = a1;
4840          hook.a2 = a2;
4841          hook.a3 = a3;
4842          hook.value = selector(store2.getSnapshot(), a1, a2, a3);
4843        }
4844      }
4845      return hook.value;
4846    }
4847    function useStoreLegacy(store2, selector, a1, a2, a3) {
4848      return (0, import_with_selector.useSyncExternalStoreWithSelector)(store2.subscribe, store2.getSnapshot, store2.getSnapshot, (state) => selector(state, a1, a2, a3));
4849    }
4850  
4851    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
4852    var Store = class {
4853      /**
4854       * Creates a store with the given initial state, constructing the class it is called on.
4855       * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
4856       * class but degrades the inferred instance type to `Store`; use `new` there instead.
4857       */
4858      static create(state) {
4859        return new this(state);
4860      }
4861      /**
4862       * The current state of the store.
4863       * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
4864       * To subscribe to state changes, use the {@link useState} method. The value returned by {@link useState} is updated after the component renders (similarly to React's useState).
4865       * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
4866       *
4867       * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
4868       */
4869      // Internal state to handle recursive `setState()` calls
4870      constructor(state) {
4871        this.state = state;
4872        this.listeners = /* @__PURE__ */ new Set();
4873        this.updateTick = 0;
4874      }
4875      /**
4876       * Registers a listener that will be called whenever the store's state changes.
4877       *
4878       * @param fn The listener function to be called on state changes.
4879       * @returns A function to unsubscribe the listener.
4880       */
4881      subscribe = (fn) => {
4882        this.listeners.add(fn);
4883        return () => {
4884          this.listeners.delete(fn);
4885        };
4886      };
4887      /**
4888       * Returns the current state of the store.
4889       */
4890      getSnapshot = () => {
4891        return this.state;
4892      };
4893      /**
4894       * Updates the entire store's state and notifies all registered listeners.
4895       *
4896       * @param newState The new state to set for the store.
4897       */
4898      setState(newState) {
4899        if (this.state === newState) {
4900          return;
4901        }
4902        this.state = newState;
4903        this.updateTick += 1;
4904        const currentTick = this.updateTick;
4905        for (const listener of this.listeners) {
4906          if (currentTick !== this.updateTick) {
4907            return;
4908          }
4909          listener(newState);
4910        }
4911      }
4912      /**
4913       * Merges the provided changes into the current state and notifies listeners if there are changes.
4914       * Each value must match its state key. Pass an exact known subset rather than a broad
4915       * `Partial<State>`, which may contain `undefined` for required state fields.
4916       *
4917       * @param changes An object containing the changes to apply to the current state.
4918       */
4919      update(changes) {
4920        for (const key in changes) {
4921          if (!Object.is(this.state[key], changes[key])) {
4922            this.setState({
4923              ...this.state,
4924              ...changes
4925            });
4926            return;
4927          }
4928        }
4929      }
4930      /**
4931       * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
4932       *
4933       * @param key The key in the store's state to update.
4934       * @param value The new value to set for the specified key.
4935       */
4936      set(key, value) {
4937        if (!Object.is(this.state[key], value)) {
4938          this.setState({
4939            ...this.state,
4940            [key]: value
4941          });
4942        }
4943      }
4944      /**
4945       * Gives the state a new reference and updates all registered listeners.
4946       */
4947      notifyAll() {
4948        const newState = {
4949          ...this.state
4950        };
4951        this.setState(newState);
4952      }
4953      use(selector, a1, a2, a3) {
4954        return useStore(this, selector, a1, a2, a3);
4955      }
4956    };
4957  
4958    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
4959    var React29 = __toESM(require_react(), 1);
4960    var ReactStore = class extends Store {
4961      /**
4962       * Creates a new ReactStore instance.
4963       *
4964       * @param state Initial state of the store.
4965       * @param context Non-reactive context values.
4966       * @param selectors Optional selectors for use with `useState`.
4967       */
4968      constructor(state, context = {}, selectors3) {
4969        super(state);
4970        this.context = context;
4971        this.selectors = selectors3;
4972      }
4973      /**
4974       * Non-reactive values such as refs, callbacks, etc.
4975       */
4976      /**
4977       * Synchronizes a single external value into the store.
4978       *
4979       * Note that the while the value in `state` is updated immediately, the value returned
4980       * by `useState` is updated before the next render (similarly to React's `useState`).
4981       */
4982      useSyncedValue(key, value) {
4983        React29.useDebugValue(key);
4984        const store2 = this;
4985        useIsoLayoutEffect(() => {
4986          if (store2.state[key] !== value) {
4987            store2.set(key, value);
4988          }
4989        }, [store2, key, value]);
4990      }
4991      /**
4992       * Synchronizes a single external value into the store and
4993       * cleans it up (sets to `undefined`) on unmount.
4994       *
4995       * Note that the while the value in `state` is updated immediately, the value returned
4996       * by `useState` is updated before the next render (similarly to React's `useState`).
4997       */
4998      useSyncedValueWithCleanup(key, value) {
4999        const store2 = this;
5000        useIsoLayoutEffect(() => {
5001          if (store2.state[key] !== value) {
5002            store2.set(key, value);
5003          }
5004          return () => {
5005            store2.set(key, void 0);
5006          };
5007        }, [store2, key, value]);
5008      }
5009      /**
5010       * Synchronizes multiple external values into the store.
5011       * Each value must match its state key. Pass an exact known subset rather than a broad
5012       * `Partial<State>`, which may contain `undefined` for required state fields.
5013       *
5014       * Note that the while the values in `state` are updated immediately, the values returned
5015       * by `useState` are updated before the next render (similarly to React's `useState`).
5016       *
5017       * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
5018       */
5019      useSyncedValues(statePart) {
5020        const store2 = this;
5021        if (true) {
5022          React29.useDebugValue(statePart, (p) => Object.keys(p));
5023          const keys = React29.useRef(Object.keys(statePart)).current;
5024          const nextKeys = Object.keys(statePart);
5025          if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) {
5026            console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
5027          }
5028        }
5029        const dependencies = Object.values(statePart);
5030        useIsoLayoutEffect(() => {
5031          store2.update(statePart);
5032        }, [store2, ...dependencies]);
5033      }
5034      /**
5035       * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
5036       * is non-undefined, the store's state at `key` is updated to match `controlled`.
5037       */
5038      useControlledProp(key, controlled) {
5039        React29.useDebugValue(key);
5040        const store2 = this;
5041        const isControlled = controlled !== void 0;
5042        useIsoLayoutEffect(() => {
5043          if (isControlled && !Object.is(store2.state[key], controlled)) {
5044            store2.setState({
5045              ...store2.state,
5046              [key]: controlled
5047            });
5048          }
5049        }, [store2, key, controlled, isControlled]);
5050        if (true) {
5051          const cache = this.controlledValues ??= /* @__PURE__ */ new Map();
5052          if (!cache.has(key)) {
5053            cache.set(key, isControlled);
5054          }
5055          const previouslyControlled = cache.get(key);
5056          if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
5057            console.error(`A component is changing the $previouslyControlled ? "" : "un"}controlled state of $key.toString()} to be $previouslyControlled ? "un" : ""}controlled. Elements should not switch from uncontrolled to controlled (or vice versa).`);
5058          }
5059        }
5060      }
5061      /** Gets the current value from the store using a selector with the provided key.
5062       *
5063       * @param key Key of the selector to use.
5064       */
5065      select(key, a1, a2, a3) {
5066        const selector = this.selectors[key];
5067        return selector(this.state, a1, a2, a3);
5068      }
5069      /**
5070       * Returns a value from the store's state using a selector function.
5071       * Used to subscribe to specific parts of the state.
5072       * This methods causes a rerender whenever the selected state changes.
5073       *
5074       * @param key Key of the selector to use.
5075       */
5076      useState(key, a1, a2, a3) {
5077        React29.useDebugValue(key);
5078        return useStore(this, this.selectors[key], a1, a2, a3);
5079      }
5080      /**
5081       * Wraps a function with `useStableCallback` to ensure it has a stable reference
5082       * and assigns it to the context.
5083       *
5084       * @param key Key of the event callback. Must be a function in the context.
5085       * @param fn Function to assign.
5086       */
5087      useContextCallback(key, fn) {
5088        React29.useDebugValue(key);
5089        const stableFunction = useStableCallback(fn ?? NOOP);
5090        this.context[key] = stableFunction;
5091      }
5092      /**
5093       * Returns a stable setter function for a specific key in the store's state.
5094       * It's commonly used to pass as a ref callback to React elements.
5095       *
5096       * @param key Key of the state to set.
5097       */
5098      useStateSetter(key) {
5099        const ref = React29.useRef(void 0);
5100        if (ref.current === void 0) {
5101          ref.current = (value) => {
5102            this.set(key, value);
5103          };
5104        }
5105        return ref.current;
5106      }
5107      /**
5108       * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
5109       *
5110       * @param key Key of the selector to observe.
5111       * @param listener Listener function called when the selector result changes.
5112       */
5113      observe(selector, listener) {
5114        let selectFn;
5115        if (typeof selector === "function") {
5116          selectFn = selector;
5117        } else {
5118          selectFn = this.selectors[selector];
5119        }
5120        let prevValue = selectFn(this.state);
5121        listener(prevValue, prevValue, this);
5122        return this.subscribe((nextState) => {
5123          const nextValue = selectFn(nextState);
5124          if (!Object.is(prevValue, nextValue)) {
5125            const oldValue = prevValue;
5126            prevValue = nextValue;
5127            listener(nextValue, oldValue, this);
5128          }
5129        });
5130      }
5131    };
5132  
5133    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
5134    var selectors = {
5135      open: (state) => state.open,
5136      transitionStatus: (state) => state.transitionStatus,
5137      domReferenceElement: (state) => state.domReferenceElement,
5138      referenceElement: (state) => state.positionReference ?? state.referenceElement,
5139      floatingElement: (state) => state.floatingElement,
5140      floatingId: (state) => state.floatingId
5141    };
5142    var FloatingRootStore = class extends ReactStore {
5143      constructor(options) {
5144        const {
5145          syncOnly,
5146          nested,
5147          onOpenChange,
5148          triggerElements,
5149          ...initialState
5150        } = options;
5151        super({
5152          ...initialState,
5153          positionReference: initialState.referenceElement,
5154          domReferenceElement: initialState.referenceElement
5155        }, {
5156          onOpenChange,
5157          dataRef: {
5158            current: {}
5159          },
5160          events: createEventEmitter(),
5161          nested,
5162          triggerElements
5163        }, selectors);
5164        this.syncOnly = syncOnly;
5165      }
5166      /**
5167       * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
5168       */
5169      syncOpenEvent = (newOpen, event) => {
5170        if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
5171        // click events to upgrade a hover-open.
5172        event != null && isClickLikeEvent(event)) {
5173          this.context.dataRef.current.openEvent = newOpen ? event : void 0;
5174        }
5175      };
5176      /**
5177       * Runs the root-owned side effects for an open state change.
5178       */
5179      dispatchOpenChange = (newOpen, eventDetails) => {
5180        this.syncOpenEvent(newOpen, eventDetails.event);
5181        const details = {
5182          open: newOpen,
5183          reason: eventDetails.reason,
5184          nativeEvent: eventDetails.event,
5185          nested: this.context.nested,
5186          triggerElement: eventDetails.trigger
5187        };
5188        this.context.events.emit("openchange", details);
5189      };
5190      /**
5191       * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
5192       *
5193       * @param newOpen The new open state.
5194       * @param eventDetails Details about the event that triggered the open state change.
5195       */
5196      setOpen = (newOpen, eventDetails) => {
5197        if (this.syncOnly) {
5198          this.context.onOpenChange?.(newOpen, eventDetails);
5199          return;
5200        }
5201        this.dispatchOpenChange(newOpen, eventDetails);
5202        this.context.onOpenChange?.(newOpen, eventDetails);
5203      };
5204    };
5205  
5206    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/store.mjs
5207    function createInitialPopupStoreState(triggerElements, floatingId, nested = false) {
5208      return {
5209        open: false,
5210        openProp: void 0,
5211        mounted: false,
5212        transitionStatus: void 0,
5213        floatingRootContext: new FloatingRootStore({
5214          open: false,
5215          transitionStatus: void 0,
5216          floatingElement: null,
5217          referenceElement: null,
5218          triggerElements,
5219          floatingId,
5220          syncOnly: true,
5221          nested,
5222          onOpenChange: void 0
5223        }),
5224        floatingId,
5225        triggerCount: 0,
5226        preventUnmountingOnClose: false,
5227        payload: void 0,
5228        activeTriggerId: null,
5229        activeTriggerElement: null,
5230        openedWithoutTrigger: false,
5231        triggerIdProp: void 0,
5232        popupElement: null,
5233        positionerElement: null,
5234        activeTriggerProps: EMPTY_OBJECT,
5235        inactiveTriggerProps: EMPTY_OBJECT,
5236        popupProps: EMPTY_OBJECT
5237      };
5238    }
5239    var activeTriggerIdSelector = (state) => state.triggerIdProp ?? state.activeTriggerId;
5240    var openSelector = (state) => state.openProp ?? state.open;
5241    var popupIdSelector = (state) => {
5242      const popupId = state.popupElement?.id ?? state.floatingId;
5243      return popupId || void 0;
5244    };
5245    function triggerOwnsOpenPopup(state, triggerId) {
5246      return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) === triggerId;
5247    }
5248    function triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) {
5249      if (triggerOwnsOpenPopup(state, triggerId)) {
5250        return true;
5251      }
5252      return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) == null && !state.openedWithoutTrigger && state.triggerCount === 1;
5253    }
5254    var popupStoreSelectors = {
5255      open: openSelector,
5256      mounted: (state) => state.mounted,
5257      // `open` is written synchronously on an open change; `mounted`/`transitionStatus` sync in a
5258      // layout effect. Match useTransitionStatus so a retained popup does not miss its starting phase.
5259      transitionStatus: (state) => openSelector(state) && !state.mounted ? "starting" : state.transitionStatus,
5260      floatingRootContext: (state) => state.floatingRootContext,
5261      triggerCount: (state) => state.triggerCount,
5262      preventUnmountingOnClose: (state) => state.preventUnmountingOnClose,
5263      payload: (state) => state.payload,
5264      activeTriggerId: activeTriggerIdSelector,
5265      activeTriggerElement: (state) => state.mounted ? state.activeTriggerElement : null,
5266      popupId: popupIdSelector,
5267      /**
5268       * Whether the trigger with the given ID was used to open the popup.
5269       */
5270      isTriggerActive: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId,
5271      /**
5272       * Whether the popup is open and was activated by a trigger with the given ID.
5273       */
5274      isOpenedByTrigger: (state, triggerId) => triggerOwnsOpenPopup(state, triggerId),
5275      /**
5276       * Whether the popup is mounted and was activated by a trigger with the given ID.
5277       */
5278      isMountedByTrigger: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId && state.mounted,
5279      triggerProps: (state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps,
5280      /**
5281       * Popup id for the trigger that currently owns the open popup.
5282       */
5283      triggerPopupId: (state, triggerId) => triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) ? popupIdSelector(state) : void 0,
5284      popupProps: (state) => state.popupProps,
5285      popupElement: (state) => state.popupElement,
5286      positionerElement: (state) => state.positionerElement
5287    };
5288  
5289    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/usePopupHandleStore.mjs
5290    var React30 = __toESM(require_react(), 1);
5291    var import_shim2 = __toESM(require_shim(), 1);
5292    function usePopupHandleStore(handle) {
5293      const subscribe = React30.useCallback((listener) => {
5294        if (handle === void 0) {
5295          return NOOP;
5296        }
5297        return handle.subscribeStore(listener);
5298      }, [handle]);
5299      const getSnapshot = React30.useCallback(() => {
5300        return handle === void 0 ? void 0 : handle.store;
5301      }, [handle]);
5302      return (0, import_shim2.useSyncExternalStore)(subscribe, getSnapshot, () => handle?.serverStore);
5303    }
5304  
5305    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFocus.mjs
5306    var React31 = __toESM(require_react(), 1);
5307    var isMacSafari = parts_exports.os.mac && parts_exports.engine.webkit;
5308    function useFocus(store2, props = {}) {
5309      const {
5310        enabled = true,
5311        delay
5312      } = props;
5313      const {
5314        events,
5315        dataRef
5316      } = store2.context;
5317      const blockFocusRef = React31.useRef(false);
5318      const blockedReferenceRef = React31.useRef(null);
5319      const keyboardModalityRef = React31.useRef(true);
5320      const timeout = useTimeout();
5321      React31.useEffect(() => {
5322        const domReference = store2.select("domReferenceElement");
5323        if (!enabled) {
5324          return void 0;
5325        }
5326        const win = getWindow(domReference);
5327        function onBlur() {
5328          const currentDomReference = store2.select("domReferenceElement");
5329          if (!store2.select("open") && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) {
5330            blockFocusRef.current = true;
5331            blockedReferenceRef.current = currentDomReference;
5332          }
5333        }
5334        function onKeyDown() {
5335          keyboardModalityRef.current = true;
5336        }
5337        function onPointerDown() {
5338          keyboardModalityRef.current = false;
5339        }
5340        return mergeCleanups(addEventListener(win, "blur", onBlur), isMacSafari && addEventListener(win, "keydown", onKeyDown, true), isMacSafari && addEventListener(win, "pointerdown", onPointerDown, true));
5341      }, [store2, enabled]);
5342      React31.useEffect(() => {
5343        if (!enabled) {
5344          return void 0;
5345        }
5346        function onOpenChangeLocal(details) {
5347          if (details.reason === reason_parts_exports.triggerPress || details.reason === reason_parts_exports.escapeKey) {
5348            const referenceElement = store2.select("domReferenceElement");
5349            if (isElement(referenceElement)) {
5350              blockedReferenceRef.current = referenceElement;
5351              blockFocusRef.current = true;
5352            }
5353          }
5354        }
5355        events.on("openchange", onOpenChangeLocal);
5356        return () => {
5357          events.off("openchange", onOpenChangeLocal);
5358        };
5359      }, [events, enabled, store2]);
5360      const reference = React31.useMemo(() => {
5361        function resetBlockedFocus() {
5362          blockFocusRef.current = false;
5363          blockedReferenceRef.current = null;
5364        }
5365        return {
5366          onMouseLeave() {
5367            resetBlockedFocus();
5368          },
5369          onFocus(event) {
5370            const focusTarget = event.currentTarget;
5371            if (blockFocusRef.current) {
5372              if (blockedReferenceRef.current === focusTarget) {
5373                return;
5374              }
5375              resetBlockedFocus();
5376            }
5377            const target = getTarget(event.nativeEvent);
5378            if (isElement(target)) {
5379              if (isMacSafari && !event.relatedTarget) {
5380                if (!keyboardModalityRef.current && !isTypeableElement(target)) {
5381                  return;
5382                }
5383              } else if (!matchesFocusVisible(target)) {
5384                return;
5385              }
5386            }
5387            const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements);
5388            const {
5389              nativeEvent,
5390              currentTarget
5391            } = event;
5392            if (store2.select("open") && movedFromOtherEnabledTrigger || !delay) {
5393              store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
5394              return;
5395            }
5396            timeout.start(delay, () => {
5397              if (blockFocusRef.current) {
5398                return;
5399              }
5400              store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
5401            });
5402          },
5403          onBlur(event) {
5404            resetBlockedFocus();
5405            const relatedTarget = event.relatedTarget;
5406            const nativeEvent = event.nativeEvent;
5407            const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
5408            timeout.start(0, () => {
5409              const domReference = store2.select("domReferenceElement");
5410              const activeEl = activeElement(ownerDocument(domReference));
5411              if (!relatedTarget && activeEl === domReference) {
5412                return;
5413              }
5414              if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {
5415                return;
5416              }
5417              const nextFocusedElement = relatedTarget ?? activeEl;
5418              if (isTargetInsideEnabledTrigger(nextFocusedElement, store2.context.triggerElements)) {
5419                return;
5420              }
5421              store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent));
5422            });
5423          }
5424        };
5425      }, [dataRef, delay, store2, timeout]);
5426      return React31.useMemo(() => enabled ? {
5427        reference,
5428        trigger: reference
5429      } : {}, [enabled, reference]);
5430    }
5431  
5432    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
5433    var React32 = __toESM(require_react(), 1);
5434  
5435    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs
5436    var HoverInteraction = class _HoverInteraction {
5437      pointerType = void 0;
5438      interactedInside = false;
5439      handler = void 0;
5440      blockMouseMove = true;
5441      performedPointerEventsMutation = false;
5442      pointerEventsScopeElement = null;
5443      pointerEventsReferenceElement = null;
5444      pointerEventsFloatingElement = null;
5445      restTimeoutPending = false;
5446      openChangeTimeout = new Timeout();
5447      restTimeout = new Timeout();
5448      handleCloseOptions = void 0;
5449      static create() {
5450        return new _HoverInteraction();
5451      }
5452      dispose = () => {
5453        this.openChangeTimeout.clear();
5454        this.restTimeout.clear();
5455      };
5456      disposeEffect = () => {
5457        return this.dispose;
5458      };
5459    };
5460    var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap();
5461    function clearSafePolygonPointerEventsMutation(instance) {
5462      if (!instance.performedPointerEventsMutation) {
5463        return;
5464      }
5465      const scopeElement = instance.pointerEventsScopeElement;
5466      if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) {
5467        instance.pointerEventsScopeElement?.style.removeProperty("pointer-events");
5468        instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events");
5469        instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events");
5470        pointerEventsMutationOwnerByScopeElement.delete(scopeElement);
5471      }
5472      instance.performedPointerEventsMutation = false;
5473      instance.pointerEventsScopeElement = null;
5474      instance.pointerEventsReferenceElement = null;
5475      instance.pointerEventsFloatingElement = null;
5476    }
5477    function applySafePolygonPointerEventsMutation(instance, options) {
5478      const {
5479        scopeElement,
5480        referenceElement,
5481        floatingElement
5482      } = options;
5483      const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement);
5484      if (existingOwner && existingOwner !== instance) {
5485        clearSafePolygonPointerEventsMutation(existingOwner);
5486      }
5487      clearSafePolygonPointerEventsMutation(instance);
5488      instance.performedPointerEventsMutation = true;
5489      instance.pointerEventsScopeElement = scopeElement;
5490      instance.pointerEventsReferenceElement = referenceElement;
5491      instance.pointerEventsFloatingElement = floatingElement;
5492      pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance);
5493      scopeElement.style.pointerEvents = "none";
5494      referenceElement.style.pointerEvents = "auto";
5495      floatingElement.style.pointerEvents = "auto";
5496    }
5497    function useHoverInteractionSharedState(store2) {
5498      const data = store2.context.dataRef.current;
5499      const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current;
5500      if (!data.hoverInteractionState) {
5501        data.hoverInteractionState = instance;
5502      }
5503      useOnMount(data.hoverInteractionState.disposeEffect);
5504      return data.hoverInteractionState;
5505    }
5506  
5507    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
5508    function useHoverFloatingInteraction(store2, parameters = {}) {
5509      const {
5510        enabled = true,
5511        closeDelay: closeDelayProp = 0,
5512        nodeId: nodeIdProp
5513      } = parameters;
5514      const open3 = store2.useState("open");
5515      const floatingElement = store2.useState("floatingElement");
5516      const domReferenceElement = store2.useState("domReferenceElement");
5517      const {
5518        dataRef
5519      } = store2.context;
5520      const tree = useFloatingTree();
5521      const parentId = useFloatingParentNodeId();
5522      const instance = useHoverInteractionSharedState(store2);
5523      const childClosedTimeout = useTimeout();
5524      const isClickLikeOpenEvent2 = useStableCallback(() => {
5525        return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
5526      });
5527      const isHoverOpen = useStableCallback(() => {
5528        return isHoverOpenEvent(dataRef.current.openEvent?.type);
5529      });
5530      const clearPointerEvents = useStableCallback(() => {
5531        clearSafePolygonPointerEventsMutation(instance);
5532      });
5533      useIsoLayoutEffect(() => {
5534        if (!open3) {
5535          instance.pointerType = void 0;
5536          instance.restTimeoutPending = false;
5537          instance.interactedInside = false;
5538          clearPointerEvents();
5539        }
5540      }, [open3, instance, clearPointerEvents]);
5541      React32.useEffect(() => {
5542        return clearPointerEvents;
5543      }, [clearPointerEvents]);
5544      useIsoLayoutEffect(() => {
5545        if (!enabled) {
5546          return void 0;
5547        }
5548        if (open3 && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) {
5549          const ref = domReferenceElement;
5550          const floatingEl = floatingElement;
5551          const doc = ownerDocument(floatingElement);
5552          const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating;
5553          if (parentFloating) {
5554            parentFloating.style.pointerEvents = "";
5555          }
5556          const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null;
5557          const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null;
5558          const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? closest(ref, "[data-rootownerid]") ?? doc.body;
5559          applySafePolygonPointerEventsMutation(instance, {
5560            scopeElement,
5561            referenceElement: ref,
5562            floatingElement: floatingEl
5563          });
5564          return () => {
5565            clearPointerEvents();
5566          };
5567        }
5568        return void 0;
5569      }, [enabled, open3, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]);
5570      React32.useEffect(() => {
5571        if (!enabled) {
5572          return void 0;
5573        }
5574        function hasParentChildren() {
5575          return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0);
5576        }
5577        function closeWithDelay(event) {
5578          const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType);
5579          const close = () => {
5580            store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
5581            tree?.events.emit("floating.closed", event);
5582          };
5583          if (closeDelay) {
5584            instance.openChangeTimeout.start(closeDelay, close);
5585          } else {
5586            instance.openChangeTimeout.clear();
5587            close();
5588          }
5589        }
5590        function handleInteractInside(event) {
5591          const target = getTarget(event);
5592          if (!isInteractiveElement(target)) {
5593            instance.interactedInside = false;
5594            return;
5595          }
5596          instance.interactedInside = closest(target, "[aria-haspopup]") != null;
5597        }
5598        function onFloatingMouseEnter() {
5599          instance.openChangeTimeout.clear();
5600          childClosedTimeout.clear();
5601          tree?.events.off("floating.closed", onNodeClosed);
5602          clearPointerEvents();
5603        }
5604        function onFloatingMouseLeave(event) {
5605          if (hasParentChildren() && tree) {
5606            tree.events.on("floating.closed", onNodeClosed);
5607            return;
5608          }
5609          if (isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements)) {
5610            return;
5611          }
5612          const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp;
5613          const relatedTarget = event.relatedTarget;
5614          const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget));
5615          if (isMovingIntoDescendantFloating) {
5616            return;
5617          }
5618          if (instance.handler) {
5619            instance.handler(event);
5620            return;
5621          }
5622          clearPointerEvents();
5623          if (isHoverOpen() && !isClickLikeOpenEvent2()) {
5624            closeWithDelay(event);
5625          }
5626        }
5627        function onNodeClosed(event) {
5628          if (!tree || !parentId || hasParentChildren()) {
5629            return;
5630          }
5631          childClosedTimeout.start(0, () => {
5632            tree.events.off("floating.closed", onNodeClosed);
5633            store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
5634            tree.events.emit("floating.closed", event);
5635          });
5636        }
5637        const floating = floatingElement;
5638        return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => {
5639          tree?.events.off("floating.closed", onNodeClosed);
5640        });
5641      }, [enabled, floatingElement, store2, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent2, clearPointerEvents, instance, tree, parentId, childClosedTimeout]);
5642    }
5643  
5644    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs
5645    var React33 = __toESM(require_react(), 1);
5646    var ReactDOM4 = __toESM(require_react_dom(), 1);
5647    var EMPTY_REF = {
5648      current: null
5649    };
5650    function useHoverReferenceInteraction(store2, props = {}) {
5651      const {
5652        enabled = true,
5653        delay = 0,
5654        handleClose = null,
5655        mouseOnly = false,
5656        restMs = 0,
5657        move = true,
5658        triggerElementRef = EMPTY_REF,
5659        externalTree,
5660        isActiveTrigger = true,
5661        getHandleCloseContext,
5662        isClosing,
5663        shouldOpen: shouldOpenProp,
5664        guardStaleOpen = false
5665      } = props;
5666      const {
5667        dataRef,
5668        events
5669      } = store2.context;
5670      const tree = useFloatingTree(externalTree);
5671      const instance = useHoverInteractionSharedState(store2);
5672      const isHoverCloseActiveRef = React33.useRef(false);
5673      const handleCloseRef = useValueAsRef(handleClose);
5674      const delayRef = useValueAsRef(delay);
5675      const restMsRef = useValueAsRef(restMs);
5676      const enabledRef = useValueAsRef(enabled);
5677      const shouldOpenRef = useValueAsRef(shouldOpenProp);
5678      const isClosingRef = useValueAsRef(isClosing);
5679      const isClickLikeOpenEvent2 = useStableCallback(() => {
5680        return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
5681      });
5682      const checkShouldOpen = useStableCallback(() => {
5683        return shouldOpenRef.current?.() !== false;
5684      });
5685      const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => {
5686        const allTriggers = store2.context.triggerElements;
5687        if (allTriggers.hasElement(currentTarget)) {
5688          return !currentDomReference || !contains(currentDomReference, currentTarget);
5689        }
5690        if (!isElement(target)) {
5691          return false;
5692        }
5693        const targetElement = target;
5694        return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement));
5695      });
5696      const cleanupMouseMoveHandler = useStableCallback(() => {
5697        if (!instance.handler) {
5698          return;
5699        }
5700        const doc = ownerDocument(store2.select("domReferenceElement"));
5701        doc.removeEventListener("mousemove", instance.handler);
5702        instance.handler = void 0;
5703      });
5704      const clearPointerEvents = useStableCallback(() => {
5705        clearSafePolygonPointerEventsMutation(instance);
5706      });
5707      if (isActiveTrigger) {
5708        instance.handleCloseOptions = handleClose?.__options;
5709      }
5710      React33.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]);
5711      React33.useEffect(() => {
5712        if (!enabled) {
5713          return void 0;
5714        }
5715        function onOpenChangeLocal(details) {
5716          if (!details.open) {
5717            isHoverCloseActiveRef.current = details.reason === reason_parts_exports.triggerHover;
5718            cleanupMouseMoveHandler();
5719            instance.openChangeTimeout.clear();
5720            instance.restTimeout.clear();
5721            instance.blockMouseMove = true;
5722            instance.restTimeoutPending = false;
5723          } else {
5724            isHoverCloseActiveRef.current = false;
5725          }
5726        }
5727        events.on("openchange", onOpenChangeLocal);
5728        return () => {
5729          events.off("openchange", onOpenChangeLocal);
5730        };
5731      }, [enabled, events, instance, cleanupMouseMoveHandler]);
5732      React33.useEffect(() => {
5733        if (!enabled) {
5734          return void 0;
5735        }
5736        function closeWithDelay(event, runElseBranch = true) {
5737          const closeDelay = getDelay(delayRef.current, "close", instance.pointerType);
5738          if (closeDelay) {
5739            instance.openChangeTimeout.start(closeDelay, () => {
5740              store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
5741              tree?.events.emit("floating.closed", event);
5742            });
5743          } else if (runElseBranch) {
5744            instance.openChangeTimeout.clear();
5745            store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
5746            tree?.events.emit("floating.closed", event);
5747          }
5748        }
5749        const trigger = triggerElementRef.current ?? (isActiveTrigger ? store2.select("domReferenceElement") : null);
5750        if (!isElement(trigger)) {
5751          return void 0;
5752        }
5753        function onMouseEnter(event) {
5754          instance.openChangeTimeout.clear();
5755          instance.blockMouseMove = false;
5756          if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
5757            return;
5758          }
5759          const restMsValue = getRestMs(restMsRef.current);
5760          const openDelay = getDelay(delayRef.current, "open", instance.pointerType);
5761          const eventTarget = getTarget(event);
5762          const currentTarget = event.currentTarget ?? null;
5763          const currentDomReference = store2.select("domReferenceElement");
5764          let triggerNode = currentTarget;
5765          if (isElement(eventTarget) && !store2.context.triggerElements.hasElement(eventTarget)) {
5766            for (const triggerElement of store2.context.triggerElements.elements()) {
5767              if (contains(triggerElement, eventTarget)) {
5768                triggerNode = triggerElement;
5769                break;
5770              }
5771            }
5772          }
5773          if (isElement(currentTarget) && isElement(currentDomReference) && !store2.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) {
5774            triggerNode = currentDomReference;
5775          }
5776          const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget);
5777          const isOpen = store2.select("open");
5778          const isInClosingTransition = isClosingRef.current?.() ?? store2.select("transitionStatus") === "ending";
5779          const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current;
5780          const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition;
5781          const isRestOnlyDelay = restMsValue > 0 && !openDelay;
5782          const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition;
5783          const shouldOpen = !isOpen || isOverInactive;
5784          if (shouldOpenImmediately) {
5785            if (checkShouldOpen()) {
5786              store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
5787            }
5788            return;
5789          }
5790          if (isRestOnlyDelay) {
5791            return;
5792          }
5793          if (openDelay) {
5794            instance.openChangeTimeout.start(openDelay, () => {
5795              if (shouldOpen && checkShouldOpen()) {
5796                store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
5797              }
5798            });
5799          } else if (shouldOpen) {
5800            if (checkShouldOpen()) {
5801              store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
5802            }
5803          }
5804        }
5805        function onMouseLeave(event) {
5806          if (isClickLikeOpenEvent2()) {
5807            clearPointerEvents();
5808            return;
5809          }
5810          cleanupMouseMoveHandler();
5811          const domReferenceElement = store2.select("domReferenceElement");
5812          const doc = ownerDocument(domReferenceElement);
5813          instance.restTimeout.clear();
5814          instance.restTimeoutPending = false;
5815          const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.();
5816          if (isTargetInsideEnabledTrigger(event.relatedTarget, store2.context.triggerElements)) {
5817            return;
5818          }
5819          if (handleCloseRef.current && handleCloseContextBase) {
5820            if (!store2.select("open")) {
5821              instance.openChangeTimeout.clear();
5822            }
5823            const currentTrigger = triggerElementRef.current;
5824            instance.handler = handleCloseRef.current({
5825              ...handleCloseContextBase,
5826              tree,
5827              x: event.clientX,
5828              y: event.clientY,
5829              onClose() {
5830                clearPointerEvents();
5831                cleanupMouseMoveHandler();
5832                if (enabledRef.current && !isClickLikeOpenEvent2() && currentTrigger === store2.select("domReferenceElement")) {
5833                  closeWithDelay(event, true);
5834                }
5835              }
5836            });
5837            doc.addEventListener("mousemove", instance.handler);
5838            instance.handler(event);
5839            return;
5840          }
5841          const shouldClose = instance.pointerType === "touch" ? !contains(store2.select("floatingElement"), event.relatedTarget) : true;
5842          if (shouldClose) {
5843            closeWithDelay(event);
5844          }
5845        }
5846        function onMouseOut(event) {
5847          if (contains(trigger, event.relatedTarget)) {
5848            return;
5849          }
5850          instance.openChangeTimeout.clear();
5851          instance.restTimeout.clear();
5852          instance.restTimeoutPending = false;
5853        }
5854        const staleOpenGuard = guardStaleOpen ? addEventListener(trigger, "mouseout", onMouseOut) : void 0;
5855        if (move) {
5856          return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, {
5857            once: true
5858          }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
5859        }
5860        return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
5861      }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store2, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent2, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen, guardStaleOpen]);
5862      return React33.useMemo(() => {
5863        if (!enabled) {
5864          return void 0;
5865        }
5866        function setPointerRef(event) {
5867          instance.pointerType = event.pointerType;
5868        }
5869        return {
5870          onPointerDown: setPointerRef,
5871          onPointerEnter: setPointerRef,
5872          onMouseMove(event) {
5873            const {
5874              nativeEvent
5875            } = event;
5876            const trigger = event.currentTarget;
5877            const currentDomReference = store2.select("domReferenceElement");
5878            const currentOpen = store2.select("open");
5879            const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target);
5880            if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
5881              return;
5882            }
5883            if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) {
5884              const floatingElement = store2.select("floatingElement");
5885              if (floatingElement) {
5886                const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body;
5887                applySafePolygonPointerEventsMutation(instance, {
5888                  scopeElement,
5889                  referenceElement: trigger,
5890                  floatingElement
5891                });
5892              }
5893            }
5894            const restMsValue = getRestMs(restMsRef.current);
5895            if (currentOpen && !isOverInactive || restMsValue === 0) {
5896              return;
5897            }
5898            if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) {
5899              return;
5900            }
5901            instance.restTimeout.clear();
5902            function handleMouseMove() {
5903              instance.restTimeoutPending = false;
5904              if (isClickLikeOpenEvent2()) {
5905                return;
5906              }
5907              const latestOpen = store2.select("open");
5908              if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) {
5909                store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, nativeEvent, trigger));
5910              }
5911            }
5912            if (instance.pointerType === "touch") {
5913              ReactDOM4.flushSync(() => {
5914                handleMouseMove();
5915              });
5916            } else if (isOverInactive && currentOpen) {
5917              handleMouseMove();
5918            } else {
5919              instance.restTimeoutPending = true;
5920              instance.restTimeout.start(restMsValue, handleMouseMove);
5921            }
5922          }
5923        };
5924      }, [enabled, instance, isClickLikeOpenEvent2, isOverInactiveTrigger, mouseOnly, store2, restMsRef, checkShouldOpen]);
5925    }
5926  
5927    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/safePolygon.mjs
5928    var CURSOR_SPEED_THRESHOLD = 0.1;
5929    var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD;
5930    var POLYGON_BUFFER = 0.5;
5931    function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) {
5932      return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi;
5933    }
5934    function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) {
5935      let isInsideValue = false;
5936      if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) {
5937        isInsideValue = !isInsideValue;
5938      }
5939      if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) {
5940        isInsideValue = !isInsideValue;
5941      }
5942      if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) {
5943        isInsideValue = !isInsideValue;
5944      }
5945      if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) {
5946        isInsideValue = !isInsideValue;
5947      }
5948      return isInsideValue;
5949    }
5950    function isInsideRect(pointX, pointY, rect) {
5951      return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height;
5952    }
5953    function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) {
5954      const minX = Math.min(x1, x2);
5955      const maxX = Math.max(x1, x2);
5956      const minY = Math.min(y1, y2);
5957      const maxY = Math.max(y1, y2);
5958      return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY;
5959    }
5960    function safePolygon(options = {}) {
5961      const {
5962        blockPointerEvents = false
5963      } = options;
5964      const timeout = new Timeout();
5965      const fn = ({
5966        x,
5967        y,
5968        placement,
5969        elements,
5970        onClose,
5971        nodeId,
5972        tree
5973      }) => {
5974        const side = placement?.split("-")[0];
5975        let hasLanded = false;
5976        let lastX = null;
5977        let lastY = null;
5978        let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0;
5979        function isCursorMovingSlowly(nextX, nextY) {
5980          const currentTime = performance.now();
5981          const elapsedTime = currentTime - lastCursorTime;
5982          if (lastX === null || lastY === null || elapsedTime === 0) {
5983            lastX = nextX;
5984            lastY = nextY;
5985            lastCursorTime = currentTime;
5986            return false;
5987          }
5988          const deltaX = nextX - lastX;
5989          const deltaY = nextY - lastY;
5990          const distanceSquared = deltaX * deltaX + deltaY * deltaY;
5991          const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED;
5992          lastX = nextX;
5993          lastY = nextY;
5994          lastCursorTime = currentTime;
5995          return distanceSquared < thresholdSquared;
5996        }
5997        function close() {
5998          timeout.clear();
5999          onClose();
6000        }
6001        return function onMouseMove(event) {
6002          timeout.clear();
6003          const domReference = elements.domReference;
6004          const floating = elements.floating;
6005          if (!domReference || !floating || side == null || x == null || y == null) {
6006            return void 0;
6007          }
6008          const {
6009            clientX,
6010            clientY
6011          } = event;
6012          const target = getTarget(event);
6013          const isLeave = event.type === "mouseleave";
6014          const isOverFloatingEl = contains(floating, target);
6015          const isOverReferenceEl = contains(domReference, target);
6016          if (isOverFloatingEl) {
6017            hasLanded = true;
6018            if (!isLeave) {
6019              return void 0;
6020            }
6021          }
6022          if (isOverReferenceEl) {
6023            hasLanded = false;
6024            if (!isLeave) {
6025              hasLanded = true;
6026              return void 0;
6027            }
6028          }
6029          if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) {
6030            return void 0;
6031          }
6032          function hasOpenChildNode() {
6033            return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0);
6034          }
6035          function closeIfNoOpenChild() {
6036            if (!hasOpenChildNode()) {
6037              close();
6038            }
6039          }
6040          if (hasOpenChildNode()) {
6041            return void 0;
6042          }
6043          const refRect = domReference.getBoundingClientRect();
6044          const rect = floating.getBoundingClientRect();
6045          const cursorLeaveFromRight = x > rect.right - rect.width / 2;
6046          const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;
6047          const isFloatingWider = rect.width > refRect.width;
6048          const isFloatingTaller = rect.height > refRect.height;
6049          const left = (isFloatingWider ? refRect : rect).left;
6050          const right = (isFloatingWider ? refRect : rect).right;
6051          const top = (isFloatingTaller ? refRect : rect).top;
6052          const bottom = (isFloatingTaller ? refRect : rect).bottom;
6053          if (side === "top" && y >= refRect.bottom - 1 || side === "bottom" && y <= refRect.top + 1 || side === "left" && x >= refRect.right - 1 || side === "right" && x <= refRect.left + 1) {
6054            closeIfNoOpenChild();
6055            return void 0;
6056          }
6057          let isInsideTroughRect = false;
6058          switch (side) {
6059            case "top":
6060              isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1);
6061              break;
6062            case "bottom":
6063              isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1);
6064              break;
6065            case "left":
6066              isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top);
6067              break;
6068            case "right":
6069              isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top);
6070              break;
6071            default:
6072          }
6073          if (isInsideTroughRect) {
6074            return void 0;
6075          }
6076          if (hasLanded && !isInsideRect(clientX, clientY, refRect)) {
6077            closeIfNoOpenChild();
6078            return void 0;
6079          }
6080          if (!isLeave && isCursorMovingSlowly(clientX, clientY)) {
6081            closeIfNoOpenChild();
6082            return void 0;
6083          }
6084          let isInsidePolygon = false;
6085          switch (side) {
6086            case "top": {
6087              const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
6088              const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
6089              const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
6090              const cursorPointY = y + POLYGON_BUFFER + 1;
6091              const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top;
6092              const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER;
6093              isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
6094              break;
6095            }
6096            case "bottom": {
6097              const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
6098              const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
6099              const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
6100              const cursorPointY = y - POLYGON_BUFFER;
6101              const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom;
6102              const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER;
6103              isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
6104              break;
6105            }
6106            case "left": {
6107              const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
6108              const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
6109              const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
6110              const cursorPointX = x + POLYGON_BUFFER + 1;
6111              const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left;
6112              const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER;
6113              isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY);
6114              break;
6115            }
6116            case "right": {
6117              const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
6118              const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
6119              const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
6120              const cursorPointX = x - POLYGON_BUFFER;
6121              const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right;
6122              const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER;
6123              isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom);
6124              break;
6125            }
6126            default:
6127          }
6128          if (!isInsidePolygon) {
6129            closeIfNoOpenChild();
6130          } else if (!hasLanded) {
6131            timeout.start(40, closeIfNoOpenChild);
6132          }
6133          return void 0;
6134        };
6135      };
6136      fn.__options = {
6137        ...options,
6138        blockPointerEvents
6139      };
6140      return fn;
6141    }
6142  
6143    // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
6144    function computeCoordsFromPlacement(_ref, placement, rtl) {
6145      let {
6146        reference,
6147        floating
6148      } = _ref;
6149      const sideAxis = getSideAxis(placement);
6150      const alignmentAxis = getAlignmentAxis(placement);
6151      const alignLength = getAxisLength(alignmentAxis);
6152      const side = getSide(placement);
6153      const isVertical = sideAxis === "y";
6154      const commonX = reference.x + reference.width / 2 - floating.width / 2;
6155      const commonY = reference.y + reference.height / 2 - floating.height / 2;
6156      const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
6157      let coords;
6158      switch (side) {
6159        case "top":
6160          coords = {
6161            x: commonX,
6162            y: reference.y - floating.height
6163          };
6164          break;
6165        case "bottom":
6166          coords = {
6167            x: commonX,
6168            y: reference.y + reference.height
6169          };
6170          break;
6171        case "right":
6172          coords = {
6173            x: reference.x + reference.width,
6174            y: commonY
6175          };
6176          break;
6177        case "left":
6178          coords = {
6179            x: reference.x - floating.width,
6180            y: commonY
6181          };
6182          break;
6183        default:
6184          coords = {
6185            x: reference.x,
6186            y: reference.y
6187          };
6188      }
6189      const alignment = getAlignment(placement);
6190      if (alignment) {
6191        coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
6192      }
6193      return coords;
6194    }
6195    async function detectOverflow(state, options) {
6196      var _await$platform$isEle;
6197      if (options === void 0) {
6198        options = {};
6199      }
6200      const {
6201        x,
6202        y,
6203        platform: platform3,
6204        rects,
6205        elements,
6206        strategy
6207      } = state;
6208      const {
6209        boundary = "clippingAncestors",
6210        rootBoundary = "viewport",
6211        elementContext = "floating",
6212        altBoundary = false,
6213        padding = 0
6214      } = evaluate(options, state);
6215      const paddingObject = getPaddingObject(padding);
6216      const altContext = elementContext === "floating" ? "reference" : "floating";
6217      const element = elements[altBoundary ? altContext : elementContext];
6218      const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
6219        element: ((_await$platform$isEle = await (platform3.isElement == null ? void 0 : platform3.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform3.getDocumentElement == null ? void 0 : platform3.getDocumentElement(elements.floating)),
6220        boundary,
6221        rootBoundary,
6222        strategy
6223      }));
6224      const rect = elementContext === "floating" ? {
6225        x,
6226        y,
6227        width: rects.floating.width,
6228        height: rects.floating.height
6229      } : rects.reference;
6230      const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
6231      const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
6232        x: 1,
6233        y: 1
6234      };
6235      const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
6236        elements,
6237        rect,
6238        offsetParent,
6239        strategy
6240      }) : rect);
6241      return {
6242        top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
6243        bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
6244        left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
6245        right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
6246      };
6247    }
6248    var MAX_RESET_COUNT = 50;
6249    var computePosition = async (reference, floating, config) => {
6250      const {
6251        placement = "bottom",
6252        strategy = "absolute",
6253        middleware = [],
6254        platform: platform3
6255      } = config;
6256      const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
6257        ...platform3,
6258        detectOverflow
6259      };
6260      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
6261      let rects = await platform3.getElementRects({
6262        reference,
6263        floating,
6264        strategy
6265      });
6266      let {
6267        x,
6268        y
6269      } = computeCoordsFromPlacement(rects, placement, rtl);
6270      let statefulPlacement = placement;
6271      let resetCount = 0;
6272      const middlewareData = {};
6273      for (let i = 0; i < middleware.length; i++) {
6274        const currentMiddleware = middleware[i];
6275        if (!currentMiddleware) {
6276          continue;
6277        }
6278        const {
6279          name,
6280          fn
6281        } = currentMiddleware;
6282        const {
6283          x: nextX,
6284          y: nextY,
6285          data,
6286          reset
6287        } = await fn({
6288          x,
6289          y,
6290          initialPlacement: placement,
6291          placement: statefulPlacement,
6292          strategy,
6293          middlewareData,
6294          rects,
6295          platform: platformWithDetectOverflow,
6296          elements: {
6297            reference,
6298            floating
6299          }
6300        });
6301        x = nextX != null ? nextX : x;
6302        y = nextY != null ? nextY : y;
6303        middlewareData[name] = {
6304          ...middlewareData[name],
6305          ...data
6306        };
6307        if (reset && resetCount < MAX_RESET_COUNT) {
6308          resetCount++;
6309          if (typeof reset === "object") {
6310            if (reset.placement) {
6311              statefulPlacement = reset.placement;
6312            }
6313            if (reset.rects) {
6314              rects = reset.rects === true ? await platform3.getElementRects({
6315                reference,
6316                floating,
6317                strategy
6318              }) : reset.rects;
6319            }
6320            ({
6321              x,
6322              y
6323            } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
6324          }
6325          i = -1;
6326        }
6327      }
6328      return {
6329        x,
6330        y,
6331        placement: statefulPlacement,
6332        strategy,
6333        middlewareData
6334      };
6335    };
6336    var flip = function(options) {
6337      if (options === void 0) {
6338        options = {};
6339      }
6340      return {
6341        name: "flip",
6342        options,
6343        async fn(state) {
6344          var _middlewareData$arrow, _middlewareData$flip;
6345          const {
6346            placement,
6347            middlewareData,
6348            rects,
6349            initialPlacement,
6350            platform: platform3,
6351            elements
6352          } = state;
6353          const {
6354            mainAxis: checkMainAxis = true,
6355            crossAxis: checkCrossAxis = true,
6356            fallbackPlacements: specifiedFallbackPlacements,
6357            fallbackStrategy = "bestFit",
6358            fallbackAxisSideDirection = "none",
6359            flipAlignment = true,
6360            ...detectOverflowOptions
6361          } = evaluate(options, state);
6362          if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6363            return {};
6364          }
6365          const side = getSide(placement);
6366          const initialSideAxis = getSideAxis(initialPlacement);
6367          const isBasePlacement = getSide(initialPlacement) === initialPlacement;
6368          const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6369          const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
6370          const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
6371          if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
6372            fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
6373          }
6374          const placements2 = [initialPlacement, ...fallbackPlacements];
6375          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6376          const overflows = [];
6377          let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
6378          if (checkMainAxis) {
6379            overflows.push(overflow[side]);
6380          }
6381          if (checkCrossAxis) {
6382            const sides2 = getAlignmentSides(placement, rects, rtl);
6383            overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
6384          }
6385          overflowsData = [...overflowsData, {
6386            placement,
6387            overflows
6388          }];
6389          if (!overflows.every((side2) => side2 <= 0)) {
6390            var _middlewareData$flip2, _overflowsData$filter;
6391            const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
6392            const nextPlacement = placements2[nextIndex];
6393            if (nextPlacement) {
6394              const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
6395              if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
6396              // overflows the main axis.
6397              overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
6398                return {
6399                  data: {
6400                    index: nextIndex,
6401                    overflows: overflowsData
6402                  },
6403                  reset: {
6404                    placement: nextPlacement
6405                  }
6406                };
6407              }
6408            }
6409            let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
6410            if (!resetPlacement) {
6411              switch (fallbackStrategy) {
6412                case "bestFit": {
6413                  var _overflowsData$filter2;
6414                  const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
6415                    if (hasFallbackAxisSideDirection) {
6416                      const currentSideAxis = getSideAxis(d.placement);
6417                      return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
6418                      // reading directions favoring greater width.
6419                      currentSideAxis === "y";
6420                    }
6421                    return true;
6422                  }).map((d) => [d.placement, d.overflows.filter((overflow2) => overflow2 > 0).reduce((acc, overflow2) => acc + overflow2, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
6423                  if (placement2) {
6424                    resetPlacement = placement2;
6425                  }
6426                  break;
6427                }
6428                case "initialPlacement":
6429                  resetPlacement = initialPlacement;
6430                  break;
6431              }
6432            }
6433            if (placement !== resetPlacement) {
6434              return {
6435                reset: {
6436                  placement: resetPlacement
6437                }
6438              };
6439            }
6440          }
6441          return {};
6442        }
6443      };
6444    };
6445    var originSides = /* @__PURE__ */ new Set(["left", "top"]);
6446    async function convertValueToCoords(state, options) {
6447      const {
6448        placement,
6449        platform: platform3,
6450        elements
6451      } = state;
6452      const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
6453      const side = getSide(placement);
6454      const alignment = getAlignment(placement);
6455      const isVertical = getSideAxis(placement) === "y";
6456      const mainAxisMulti = originSides.has(side) ? -1 : 1;
6457      const crossAxisMulti = rtl && isVertical ? -1 : 1;
6458      const rawValue = evaluate(options, state);
6459      let {
6460        mainAxis,
6461        crossAxis,
6462        alignmentAxis
6463      } = typeof rawValue === "number" ? {
6464        mainAxis: rawValue,
6465        crossAxis: 0,
6466        alignmentAxis: null
6467      } : {
6468        mainAxis: rawValue.mainAxis || 0,
6469        crossAxis: rawValue.crossAxis || 0,
6470        alignmentAxis: rawValue.alignmentAxis
6471      };
6472      if (alignment && typeof alignmentAxis === "number") {
6473        crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
6474      }
6475      return isVertical ? {
6476        x: crossAxis * crossAxisMulti,
6477        y: mainAxis * mainAxisMulti
6478      } : {
6479        x: mainAxis * mainAxisMulti,
6480        y: crossAxis * crossAxisMulti
6481      };
6482    }
6483    var offset = function(options) {
6484      if (options === void 0) {
6485        options = 0;
6486      }
6487      return {
6488        name: "offset",
6489        options,
6490        async fn(state) {
6491          var _middlewareData$offse, _middlewareData$arrow;
6492          const {
6493            x,
6494            y,
6495            placement,
6496            middlewareData
6497          } = state;
6498          const diffCoords = await convertValueToCoords(state, options);
6499          if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
6500            return {};
6501          }
6502          return {
6503            x: x + diffCoords.x,
6504            y: y + diffCoords.y,
6505            data: {
6506              ...diffCoords,
6507              placement
6508            }
6509          };
6510        }
6511      };
6512    };
6513    var shift = function(options) {
6514      if (options === void 0) {
6515        options = {};
6516      }
6517      return {
6518        name: "shift",
6519        options,
6520        async fn(state) {
6521          const {
6522            x,
6523            y,
6524            placement,
6525            platform: platform3
6526          } = state;
6527          const {
6528            mainAxis: checkMainAxis = true,
6529            crossAxis: checkCrossAxis = false,
6530            limiter = {
6531              fn: (_ref) => {
6532                let {
6533                  x: x2,
6534                  y: y2
6535                } = _ref;
6536                return {
6537                  x: x2,
6538                  y: y2
6539                };
6540              }
6541            },
6542            ...detectOverflowOptions
6543          } = evaluate(options, state);
6544          const coords = {
6545            x,
6546            y
6547          };
6548          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6549          const crossAxis = getSideAxis(placement);
6550          const mainAxis = getOppositeAxis(crossAxis);
6551          let mainAxisCoord = coords[mainAxis];
6552          let crossAxisCoord = coords[crossAxis];
6553          const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
6554          if (checkMainAxis) {
6555            mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
6556          }
6557          if (checkCrossAxis) {
6558            crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
6559          }
6560          const limitedCoords = limiter.fn({
6561            ...state,
6562            [mainAxis]: mainAxisCoord,
6563            [crossAxis]: crossAxisCoord
6564          });
6565          return {
6566            ...limitedCoords,
6567            data: {
6568              x: limitedCoords.x - x,
6569              y: limitedCoords.y - y,
6570              enabled: {
6571                [mainAxis]: checkMainAxis,
6572                [crossAxis]: checkCrossAxis
6573              }
6574            }
6575          };
6576        }
6577      };
6578    };
6579    var limitShift = function(options) {
6580      if (options === void 0) {
6581        options = {};
6582      }
6583      return {
6584        options,
6585        fn(state) {
6586          var _rawOffset$mainAxis, _rawOffset$crossAxis;
6587          const {
6588            x,
6589            y,
6590            placement,
6591            rects,
6592            middlewareData
6593          } = state;
6594          const {
6595            offset: offset4 = 0,
6596            mainAxis: checkMainAxis = true,
6597            crossAxis: checkCrossAxis = true
6598          } = evaluate(options, state);
6599          const coords = {
6600            x,
6601            y
6602          };
6603          const crossAxis = getSideAxis(placement);
6604          const mainAxis = getOppositeAxis(crossAxis);
6605          let mainAxisCoord = coords[mainAxis];
6606          let crossAxisCoord = coords[crossAxis];
6607          const rawOffset = evaluate(offset4, state);
6608          const computedOffset = typeof rawOffset === "number" ? {
6609            mainAxis: rawOffset,
6610            crossAxis: 0
6611          } : {
6612            mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
6613            crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
6614          };
6615          if (checkMainAxis) {
6616            const len = mainAxis === "y" ? "height" : "width";
6617            const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
6618            const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
6619            if (mainAxisCoord < limitMin) {
6620              mainAxisCoord = limitMin;
6621            } else if (mainAxisCoord > limitMax) {
6622              mainAxisCoord = limitMax;
6623            }
6624          }
6625          if (checkCrossAxis) {
6626            var _middlewareData$offse, _middlewareData$offse2;
6627            const len = mainAxis === "y" ? "width" : "height";
6628            const isOriginSide = originSides.has(getSide(placement));
6629            const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
6630            const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
6631            if (crossAxisCoord < limitMin) {
6632              crossAxisCoord = limitMin;
6633            } else if (crossAxisCoord > limitMax) {
6634              crossAxisCoord = limitMax;
6635            }
6636          }
6637          return {
6638            [mainAxis]: mainAxisCoord,
6639            [crossAxis]: crossAxisCoord
6640          };
6641        }
6642      };
6643    };
6644    var size = function(options) {
6645      if (options === void 0) {
6646        options = {};
6647      }
6648      return {
6649        name: "size",
6650        options,
6651        async fn(state) {
6652          const {
6653            placement,
6654            rects,
6655            platform: platform3,
6656            elements
6657          } = state;
6658          const {
6659            apply = () => {
6660            },
6661            ...detectOverflowOptions
6662          } = evaluate(options, state);
6663          const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
6664          const side = getSide(placement);
6665          const alignment = getAlignment(placement);
6666          const isYAxis = getSideAxis(placement) === "y";
6667          const {
6668            width,
6669            height
6670          } = rects.floating;
6671          let heightSide;
6672          let widthSide;
6673          if (side === "top" || side === "bottom") {
6674            heightSide = side;
6675            widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
6676          } else {
6677            widthSide = side;
6678            heightSide = alignment === "end" ? "top" : "bottom";
6679          }
6680          const maximumClippingHeight = height - overflow.top - overflow.bottom;
6681          const maximumClippingWidth = width - overflow.left - overflow.right;
6682          const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
6683          const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
6684          const shiftData = state.middlewareData.shift;
6685          const noShift = !shiftData;
6686          let availableHeight2 = overflowAvailableHeight;
6687          let availableWidth2 = overflowAvailableWidth;
6688          if (shiftData != null && shiftData.enabled.x) {
6689            availableWidth2 = maximumClippingWidth;
6690          }
6691          if (shiftData != null && shiftData.enabled.y) {
6692            availableHeight2 = maximumClippingHeight;
6693          }
6694          if (noShift && !alignment) {
6695            if (isYAxis) {
6696              availableWidth2 = width - 2 * max(overflow.left, overflow.right);
6697            } else {
6698              availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
6699            }
6700          }
6701          await apply({
6702            ...state,
6703            availableWidth: availableWidth2,
6704            availableHeight: availableHeight2
6705          });
6706          const nextDimensions = await platform3.getDimensions(elements.floating);
6707          if (width !== nextDimensions.width || height !== nextDimensions.height) {
6708            return {
6709              reset: {
6710                rects: true
6711              }
6712            };
6713          }
6714          return {};
6715        }
6716      };
6717    };
6718  
6719    // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
6720    function getCssDimensions(element) {
6721      const css = getComputedStyle2(element);
6722      let width = parseFloat(css.width) || 0;
6723      let height = parseFloat(css.height) || 0;
6724      const hasOffset = isHTMLElement(element);
6725      const offsetWidth = hasOffset ? element.offsetWidth : width;
6726      const offsetHeight = hasOffset ? element.offsetHeight : height;
6727      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
6728      if (shouldFallback) {
6729        width = offsetWidth;
6730        height = offsetHeight;
6731      }
6732      return {
6733        width,
6734        height,
6735        $: shouldFallback
6736      };
6737    }
6738    function unwrapElement(element) {
6739      return !isElement(element) ? element.contextElement : element;
6740    }
6741    function getScale(element) {
6742      const domElement = unwrapElement(element);
6743      if (!isHTMLElement(domElement)) {
6744        return createCoords(1);
6745      }
6746      const rect = domElement.getBoundingClientRect();
6747      const {
6748        width,
6749        height,
6750        $
6751      } = getCssDimensions(domElement);
6752      let x = ($ ? round(rect.width) : rect.width) / width;
6753      let y = ($ ? round(rect.height) : rect.height) / height;
6754      if (!x || !Number.isFinite(x)) {
6755        x = 1;
6756      }
6757      if (!y || !Number.isFinite(y)) {
6758        y = 1;
6759      }
6760      return {
6761        x,
6762        y
6763      };
6764    }
6765    var noOffsets = /* @__PURE__ */ createCoords(0);
6766    function getVisualOffsets(element) {
6767      const win = getWindow(element);
6768      if (!isWebKit() || !win.visualViewport) {
6769        return noOffsets;
6770      }
6771      return {
6772        x: win.visualViewport.offsetLeft,
6773        y: win.visualViewport.offsetTop
6774      };
6775    }
6776    function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
6777      if (isFixed === void 0) {
6778        isFixed = false;
6779      }
6780      return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
6781    }
6782    function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
6783      if (includeScale === void 0) {
6784        includeScale = false;
6785      }
6786      if (isFixedStrategy === void 0) {
6787        isFixedStrategy = false;
6788      }
6789      const clientRect = element.getBoundingClientRect();
6790      const domElement = unwrapElement(element);
6791      let scale = createCoords(1);
6792      if (includeScale) {
6793        if (offsetParent) {
6794          if (isElement(offsetParent)) {
6795            scale = getScale(offsetParent);
6796          }
6797        } else {
6798          scale = getScale(element);
6799        }
6800      }
6801      const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
6802      let x = (clientRect.left + visualOffsets.x) / scale.x;
6803      let y = (clientRect.top + visualOffsets.y) / scale.y;
6804      let width = clientRect.width / scale.x;
6805      let height = clientRect.height / scale.y;
6806      if (domElement && offsetParent) {
6807        const win = getWindow(domElement);
6808        const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
6809        let currentWin = win;
6810        let currentIFrame = getFrameElement(currentWin);
6811        while (currentIFrame && offsetWin !== currentWin) {
6812          const iframeScale = getScale(currentIFrame);
6813          const iframeRect = currentIFrame.getBoundingClientRect();
6814          const css = getComputedStyle2(currentIFrame);
6815          const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
6816          const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
6817          x *= iframeScale.x;
6818          y *= iframeScale.y;
6819          width *= iframeScale.x;
6820          height *= iframeScale.y;
6821          x += left;
6822          y += top;
6823          currentWin = getWindow(currentIFrame);
6824          currentIFrame = getFrameElement(currentWin);
6825        }
6826      }
6827      return rectToClientRect({
6828        width,
6829        height,
6830        x,
6831        y
6832      });
6833    }
6834    function getWindowScrollBarX(element, rect) {
6835      const leftScroll = getNodeScroll(element).scrollLeft;
6836      if (!rect) {
6837        return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
6838      }
6839      return rect.left + leftScroll;
6840    }
6841    function getHTMLOffset(documentElement, scroll) {
6842      const htmlRect = documentElement.getBoundingClientRect();
6843      const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
6844      const y = htmlRect.top + scroll.scrollTop;
6845      return {
6846        x,
6847        y
6848      };
6849    }
6850    function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
6851      let {
6852        elements,
6853        rect,
6854        offsetParent,
6855        strategy
6856      } = _ref;
6857      const isFixed = strategy === "fixed";
6858      const documentElement = getDocumentElement(offsetParent);
6859      const topLayer = elements ? isTopLayer(elements.floating) : false;
6860      if (offsetParent === documentElement || topLayer && isFixed) {
6861        return rect;
6862      }
6863      let scroll = {
6864        scrollLeft: 0,
6865        scrollTop: 0
6866      };
6867      let scale = createCoords(1);
6868      const offsets = createCoords(0);
6869      const isOffsetParentAnElement = isHTMLElement(offsetParent);
6870      if (isOffsetParentAnElement || !isFixed) {
6871        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
6872          scroll = getNodeScroll(offsetParent);
6873        }
6874        if (isOffsetParentAnElement) {
6875          const offsetRect = getBoundingClientRect(offsetParent);
6876          scale = getScale(offsetParent);
6877          offsets.x = offsetRect.x + offsetParent.clientLeft;
6878          offsets.y = offsetRect.y + offsetParent.clientTop;
6879        }
6880      }
6881      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
6882      return {
6883        width: rect.width * scale.x,
6884        height: rect.height * scale.y,
6885        x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
6886        y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
6887      };
6888    }
6889    function getClientRects(element) {
6890      return element.getClientRects ? Array.from(element.getClientRects()) : [];
6891    }
6892    function getDocumentRect(html) {
6893      const scroll = getNodeScroll(html);
6894      const body = html.ownerDocument.body;
6895      const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
6896      const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
6897      let x = -scroll.scrollLeft + getWindowScrollBarX(html);
6898      const y = -scroll.scrollTop;
6899      if (getComputedStyle2(body).direction === "rtl") {
6900        x += max(html.clientWidth, body.clientWidth) - width;
6901      }
6902      return {
6903        width,
6904        height,
6905        x,
6906        y
6907      };
6908    }
6909    var SCROLLBAR_MAX = 25;
6910    function getViewportRect(element, strategy, rootBoundary) {
6911      if (rootBoundary === void 0) {
6912        rootBoundary = "viewport";
6913      }
6914      const isLayoutViewport = rootBoundary === "layoutViewport";
6915      const win = getWindow(element);
6916      const html = getDocumentElement(element);
6917      const visualViewport = win.visualViewport;
6918      let width = html.clientWidth;
6919      let height = html.clientHeight;
6920      let x = 0;
6921      let y = 0;
6922      if (visualViewport) {
6923        const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
6924        if (isLayoutViewport) {
6925          if (!layoutRelativeClientCoords) {
6926            x = -visualViewport.offsetLeft;
6927            y = -visualViewport.offsetTop;
6928          }
6929        } else {
6930          width = visualViewport.width;
6931          height = visualViewport.height;
6932          if (layoutRelativeClientCoords) {
6933            x = visualViewport.offsetLeft;
6934            y = visualViewport.offsetTop;
6935          }
6936        }
6937      }
6938      const windowScrollbarX = getWindowScrollBarX(html);
6939      if (windowScrollbarX <= 0) {
6940        const doc = html.ownerDocument;
6941        const body = doc.body;
6942        const bodyStyles = getComputedStyle(body);
6943        const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
6944        const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
6945        const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
6946        if (gutter <= SCROLLBAR_MAX) {
6947          width -= gutter;
6948        }
6949      }
6950      return {
6951        width,
6952        height,
6953        x,
6954        y
6955      };
6956    }
6957    function getInnerBoundingClientRect(element, strategy) {
6958      const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
6959      const top = clientRect.top + element.clientTop;
6960      const left = clientRect.left + element.clientLeft;
6961      const scale = getScale(element);
6962      const width = element.clientWidth * scale.x;
6963      const height = element.clientHeight * scale.y;
6964      const x = left * scale.x;
6965      const y = top * scale.y;
6966      return {
6967        width,
6968        height,
6969        x,
6970        y
6971      };
6972    }
6973    function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
6974      let rect;
6975      if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
6976        rect = getViewportRect(element, strategy, clippingAncestor);
6977      } else if (clippingAncestor === "document") {
6978        rect = getDocumentRect(getDocumentElement(element));
6979      } else if (isElement(clippingAncestor)) {
6980        rect = getInnerBoundingClientRect(clippingAncestor, strategy);
6981      } else {
6982        const visualOffsets = getVisualOffsets(element);
6983        rect = {
6984          x: clippingAncestor.x - visualOffsets.x,
6985          y: clippingAncestor.y - visualOffsets.y,
6986          width: clippingAncestor.width,
6987          height: clippingAncestor.height
6988        };
6989      }
6990      return rectToClientRect(rect);
6991    }
6992    function getClippingElementAncestors(element, cache) {
6993      const cachedResult = cache.get(element);
6994      if (cachedResult) {
6995        return cachedResult;
6996      }
6997      let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
6998      let lastKeptComputedStyle = null;
6999      const elementIsFixed = getComputedStyle2(element).position === "fixed";
7000      let currentNode = elementIsFixed ? getParentNode(element) : element;
7001      while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
7002        const computedStyle = getComputedStyle2(currentNode);
7003        const currentNodeIsContaining = isContainingBlock(currentNode);
7004        const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
7005        const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
7006        if (shouldDropCurrentNode) {
7007          result = result.filter((ancestor) => ancestor !== currentNode);
7008        } else {
7009          lastKeptComputedStyle = computedStyle;
7010        }
7011        currentNode = getParentNode(currentNode);
7012      }
7013      cache.set(element, result);
7014      return result;
7015    }
7016    function getClippingRect(_ref) {
7017      let {
7018        element,
7019        boundary,
7020        rootBoundary,
7021        strategy
7022      } = _ref;
7023      const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
7024      const clippingAncestors = [...elementClippingAncestors, rootBoundary];
7025      const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
7026      let top = firstRect.top;
7027      let right = firstRect.right;
7028      let bottom = firstRect.bottom;
7029      let left = firstRect.left;
7030      for (let i = 1; i < clippingAncestors.length; i++) {
7031        const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
7032        top = max(rect.top, top);
7033        right = min(rect.right, right);
7034        bottom = min(rect.bottom, bottom);
7035        left = max(rect.left, left);
7036      }
7037      return {
7038        width: right - left,
7039        height: bottom - top,
7040        x: left,
7041        y: top
7042      };
7043    }
7044    function getDimensions2(element) {
7045      const {
7046        width,
7047        height
7048      } = getCssDimensions(element);
7049      return {
7050        width,
7051        height
7052      };
7053    }
7054    function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
7055      const isOffsetParentAnElement = isHTMLElement(offsetParent);
7056      const documentElement = getDocumentElement(offsetParent);
7057      const isFixed = strategy === "fixed";
7058      const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
7059      let scroll = {
7060        scrollLeft: 0,
7061        scrollTop: 0
7062      };
7063      const offsets = createCoords(0);
7064      if (isOffsetParentAnElement || !isFixed) {
7065        if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
7066          scroll = getNodeScroll(offsetParent);
7067        }
7068        if (isOffsetParentAnElement) {
7069          const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
7070          offsets.x = offsetRect.x + offsetParent.clientLeft;
7071          offsets.y = offsetRect.y + offsetParent.clientTop;
7072        }
7073      }
7074      if (!isOffsetParentAnElement && documentElement) {
7075        offsets.x = getWindowScrollBarX(documentElement);
7076      }
7077      const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
7078      const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
7079      const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
7080      return {
7081        x,
7082        y,
7083        width: rect.width,
7084        height: rect.height
7085      };
7086    }
7087    function isStaticPositioned(element) {
7088      return getComputedStyle2(element).position === "static";
7089    }
7090    function getTrueOffsetParent(element, polyfill) {
7091      if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
7092        return null;
7093      }
7094      if (polyfill) {
7095        return polyfill(element);
7096      }
7097      let rawOffsetParent = element.offsetParent;
7098      if (getDocumentElement(element) === rawOffsetParent) {
7099        rawOffsetParent = rawOffsetParent.ownerDocument.body;
7100      }
7101      return rawOffsetParent;
7102    }
7103    function getOffsetParent(element, polyfill) {
7104      const win = getWindow(element);
7105      if (isTopLayer(element)) {
7106        return win;
7107      }
7108      if (!isHTMLElement(element)) {
7109        let svgOffsetParent = getParentNode(element);
7110        while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
7111          if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
7112            return svgOffsetParent;
7113          }
7114          svgOffsetParent = getParentNode(svgOffsetParent);
7115        }
7116        return win;
7117      }
7118      let offsetParent = getTrueOffsetParent(element, polyfill);
7119      while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
7120        offsetParent = getTrueOffsetParent(offsetParent, polyfill);
7121      }
7122      if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
7123        return win;
7124      }
7125      return offsetParent || getContainingBlock(element) || win;
7126    }
7127    var getElementRects = async function(data) {
7128      const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
7129      const getDimensionsFn = this.getDimensions;
7130      const floatingDimensions = await getDimensionsFn(data.floating);
7131      return {
7132        reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
7133        floating: {
7134          x: 0,
7135          y: 0,
7136          width: floatingDimensions.width,
7137          height: floatingDimensions.height
7138        }
7139      };
7140    };
7141    function isRTL(element) {
7142      return getComputedStyle2(element).direction === "rtl";
7143    }
7144    var platform2 = {
7145      convertOffsetParentRelativeRectToViewportRelativeRect,
7146      getDocumentElement,
7147      getClippingRect,
7148      getOffsetParent,
7149      getElementRects,
7150      getClientRects,
7151      getDimensions: getDimensions2,
7152      getScale,
7153      isElement,
7154      isRTL
7155    };
7156    function rectsAreEqual(a, b) {
7157      return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
7158    }
7159    function observeMove(element, onMove, ancestorResize) {
7160      let io = null;
7161      let timeoutId;
7162      const root = getDocumentElement(element);
7163      function cleanup() {
7164        var _io;
7165        clearTimeout(timeoutId);
7166        (_io = io) == null || _io.disconnect();
7167        io = null;
7168      }
7169      function refresh(skip, threshold) {
7170        if (skip === void 0) {
7171          skip = false;
7172        }
7173        if (threshold === void 0) {
7174          threshold = 1;
7175        }
7176        cleanup();
7177        const elementRectForRootMargin = element.getBoundingClientRect();
7178        const {
7179          left,
7180          top,
7181          width,
7182          height
7183        } = elementRectForRootMargin;
7184        if (!skip) {
7185          onMove();
7186        }
7187        if (!width || !height) {
7188          return;
7189        }
7190        const insetTop = floor(top);
7191        const insetRight = floor(root.clientWidth - (left + width));
7192        const insetBottom = floor(root.clientHeight - (top + height));
7193        const insetLeft = floor(left);
7194        const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
7195        const options = {
7196          rootMargin,
7197          threshold: max(0, min(1, threshold)) || 1
7198        };
7199        let isFirstUpdate = true;
7200        function handleObserve(entries) {
7201          const ratio = entries[0].intersectionRatio;
7202          if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
7203            return refresh();
7204          }
7205          if (ratio !== threshold) {
7206            if (!isFirstUpdate) {
7207              return refresh();
7208            }
7209            if (!ratio) {
7210              timeoutId = setTimeout(() => {
7211                refresh(false, 1e-7);
7212              }, 1e3);
7213            } else {
7214              refresh(false, ratio);
7215            }
7216          }
7217          isFirstUpdate = false;
7218        }
7219        try {
7220          io = new IntersectionObserver(handleObserve, {
7221            ...options,
7222            // Handle <iframe>s
7223            root: root.ownerDocument
7224          });
7225        } catch (_e) {
7226          io = new IntersectionObserver(handleObserve, options);
7227        }
7228        io.observe(element);
7229      }
7230      const win = getWindow(element);
7231      const handleResize = () => refresh(ancestorResize);
7232      win.addEventListener("resize", handleResize);
7233      refresh(true);
7234      return () => {
7235        win.removeEventListener("resize", handleResize);
7236        cleanup();
7237      };
7238    }
7239    function autoUpdate(reference, floating, update2, options) {
7240      if (options === void 0) {
7241        options = {};
7242      }
7243      const {
7244        ancestorScroll = true,
7245        ancestorResize = true,
7246        elementResize = typeof ResizeObserver === "function",
7247        layoutShift = typeof IntersectionObserver === "function",
7248        animationFrame = false
7249      } = options;
7250      const referenceEl = unwrapElement(reference);
7251      const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
7252      ancestors.forEach((ancestor) => {
7253        ancestorScroll && ancestor.addEventListener("scroll", update2);
7254        ancestorResize && ancestor.addEventListener("resize", update2);
7255      });
7256      const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
7257      let reobserveFrame = -1;
7258      let resizeObserver = null;
7259      if (elementResize) {
7260        resizeObserver = new ResizeObserver((_ref) => {
7261          let [firstEntry] = _ref;
7262          if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
7263            resizeObserver.unobserve(floating);
7264            cancelAnimationFrame(reobserveFrame);
7265            reobserveFrame = requestAnimationFrame(() => {
7266              var _resizeObserver;
7267              (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
7268            });
7269          }
7270          update2();
7271        });
7272        if (referenceEl && !animationFrame) {
7273          resizeObserver.observe(referenceEl);
7274        }
7275        if (floating) {
7276          resizeObserver.observe(floating);
7277        }
7278      }
7279      let frameId;
7280      let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
7281      if (animationFrame) {
7282        frameLoop();
7283      }
7284      function frameLoop() {
7285        const nextRefRect = getBoundingClientRect(reference);
7286        if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
7287          update2();
7288        }
7289        prevRefRect = nextRefRect;
7290        frameId = requestAnimationFrame(frameLoop);
7291      }
7292      update2();
7293      return () => {
7294        var _resizeObserver2;
7295        ancestors.forEach((ancestor) => {
7296          ancestorScroll && ancestor.removeEventListener("scroll", update2);
7297          ancestorResize && ancestor.removeEventListener("resize", update2);
7298        });
7299        cleanupIo == null || cleanupIo();
7300        (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
7301        resizeObserver = null;
7302        if (animationFrame) {
7303          cancelAnimationFrame(frameId);
7304        }
7305      };
7306    }
7307    var offset2 = offset;
7308    var shift2 = shift;
7309    var flip2 = flip;
7310    var size2 = size;
7311    var limitShift2 = limitShift;
7312    var computePosition2 = (reference, floating, options) => {
7313      const cache = /* @__PURE__ */ new Map();
7314      const mergedOptions = options != null ? options : {};
7315      const platformWithCache = {
7316        ...platform2,
7317        ...mergedOptions.platform,
7318        _c: cache
7319      };
7320      return computePosition(reference, floating, {
7321        ...mergedOptions,
7322        platform: platformWithCache
7323      });
7324    };
7325  
7326    // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
7327    var React34 = __toESM(require_react(), 1);
7328    var import_react2 = __toESM(require_react(), 1);
7329    var ReactDOM5 = __toESM(require_react_dom(), 1);
7330    var isClient = typeof document !== "undefined";
7331    var noop2 = function noop3() {
7332    };
7333    var index = isClient ? import_react2.useLayoutEffect : noop2;
7334    function deepEqual(a, b) {
7335      if (a === b) {
7336        return true;
7337      }
7338      if (typeof a !== typeof b) {
7339        return false;
7340      }
7341      if (typeof a === "function" && a.toString() === b.toString()) {
7342        return true;
7343      }
7344      let length;
7345      let i;
7346      let keys;
7347      if (a && b && typeof a === "object") {
7348        if (Array.isArray(a)) {
7349          length = a.length;
7350          if (length !== b.length) return false;
7351          for (i = length; i-- !== 0; ) {
7352            if (!deepEqual(a[i], b[i])) {
7353              return false;
7354            }
7355          }
7356          return true;
7357        }
7358        keys = Object.keys(a);
7359        length = keys.length;
7360        if (length !== Object.keys(b).length) {
7361          return false;
7362        }
7363        for (i = length; i-- !== 0; ) {
7364          if (!{}.hasOwnProperty.call(b, keys[i])) {
7365            return false;
7366          }
7367        }
7368        for (i = length; i-- !== 0; ) {
7369          const key = keys[i];
7370          if (key === "_owner" && a.$$typeof) {
7371            continue;
7372          }
7373          if (!deepEqual(a[key], b[key])) {
7374            return false;
7375          }
7376        }
7377        return true;
7378      }
7379      return a !== a && b !== b;
7380    }
7381    function getDPR(element) {
7382      if (typeof window === "undefined") {
7383        return 1;
7384      }
7385      const win = element.ownerDocument.defaultView || window;
7386      return win.devicePixelRatio || 1;
7387    }
7388    function roundByDPR(element, value) {
7389      const dpr = getDPR(element);
7390      return Math.round(value * dpr) / dpr;
7391    }
7392    function useLatestRef(value) {
7393      const ref = React34.useRef(value);
7394      index(() => {
7395        ref.current = value;
7396      });
7397      return ref;
7398    }
7399    function useFloating(options) {
7400      if (options === void 0) {
7401        options = {};
7402      }
7403      const {
7404        placement = "bottom",
7405        strategy = "absolute",
7406        middleware = [],
7407        platform: platform3,
7408        elements: {
7409          reference: externalReference,
7410          floating: externalFloating
7411        } = {},
7412        transform = true,
7413        whileElementsMounted,
7414        open: open3
7415      } = options;
7416      const [data, setData] = React34.useState({
7417        x: 0,
7418        y: 0,
7419        strategy,
7420        placement,
7421        middlewareData: {},
7422        isPositioned: false
7423      });
7424      const [latestMiddleware, setLatestMiddleware] = React34.useState(middleware);
7425      if (!deepEqual(latestMiddleware, middleware)) {
7426        setLatestMiddleware(middleware);
7427      }
7428      const [_reference, _setReference] = React34.useState(null);
7429      const [_floating, _setFloating] = React34.useState(null);
7430      const setReference = React34.useCallback((node) => {
7431        if (node !== referenceRef.current) {
7432          referenceRef.current = node;
7433          _setReference(node);
7434        }
7435      }, []);
7436      const setFloating = React34.useCallback((node) => {
7437        if (node !== floatingRef.current) {
7438          floatingRef.current = node;
7439          _setFloating(node);
7440        }
7441      }, []);
7442      const referenceEl = externalReference || _reference;
7443      const floatingEl = externalFloating || _floating;
7444      const referenceRef = React34.useRef(null);
7445      const floatingRef = React34.useRef(null);
7446      const dataRef = React34.useRef(data);
7447      const hasWhileElementsMounted = whileElementsMounted != null;
7448      const whileElementsMountedRef = useLatestRef(whileElementsMounted);
7449      const platformRef = useLatestRef(platform3);
7450      const openRef = useLatestRef(open3);
7451      const update2 = React34.useCallback(() => {
7452        if (!referenceRef.current || !floatingRef.current) {
7453          return;
7454        }
7455        const config = {
7456          placement,
7457          strategy,
7458          middleware: latestMiddleware
7459        };
7460        if (platformRef.current) {
7461          config.platform = platformRef.current;
7462        }
7463        computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
7464          const fullData = {
7465            ...data2,
7466            // The floating element's position may be recomputed while it's closed
7467            // but still mounted (such as when transitioning out). To ensure
7468            // `isPositioned` will be `false` initially on the next open, avoid
7469            // setting it to `true` when `open === false` (must be specified).
7470            isPositioned: openRef.current !== false
7471          };
7472          if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
7473            dataRef.current = fullData;
7474            ReactDOM5.flushSync(() => {
7475              setData(fullData);
7476            });
7477          }
7478        });
7479      }, [latestMiddleware, placement, strategy, platformRef, openRef]);
7480      index(() => {
7481        if (open3 === false && dataRef.current.isPositioned) {
7482          dataRef.current.isPositioned = false;
7483          setData((data2) => ({
7484            ...data2,
7485            isPositioned: false
7486          }));
7487        }
7488      }, [open3]);
7489      const isMountedRef = React34.useRef(false);
7490      index(() => {
7491        isMountedRef.current = true;
7492        return () => {
7493          isMountedRef.current = false;
7494        };
7495      }, []);
7496      index(() => {
7497        if (referenceEl) referenceRef.current = referenceEl;
7498        if (floatingEl) floatingRef.current = floatingEl;
7499        if (referenceEl && floatingEl) {
7500          if (whileElementsMountedRef.current) {
7501            return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
7502          }
7503          update2();
7504        }
7505      }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
7506      const refs = React34.useMemo(() => ({
7507        reference: referenceRef,
7508        floating: floatingRef,
7509        setReference,
7510        setFloating
7511      }), [setReference, setFloating]);
7512      const elements = React34.useMemo(() => ({
7513        reference: referenceEl,
7514        floating: floatingEl
7515      }), [referenceEl, floatingEl]);
7516      const floatingStyles = React34.useMemo(() => {
7517        const initialStyles = {
7518          position: strategy,
7519          left: 0,
7520          top: 0
7521        };
7522        if (!elements.floating) {
7523          return initialStyles;
7524        }
7525        const x = roundByDPR(elements.floating, data.x);
7526        const y = roundByDPR(elements.floating, data.y);
7527        if (transform) {
7528          return {
7529            ...initialStyles,
7530            transform: "translate(" + x + "px, " + y + "px)",
7531            ...getDPR(elements.floating) >= 1.5 && {
7532              willChange: "transform"
7533            }
7534          };
7535        }
7536        return {
7537          position: strategy,
7538          left: x,
7539          top: y
7540        };
7541      }, [strategy, transform, elements.floating, data.x, data.y]);
7542      return React34.useMemo(() => ({
7543        ...data,
7544        update: update2,
7545        refs,
7546        elements,
7547        floatingStyles
7548      }), [data, update2, refs, elements, floatingStyles]);
7549    }
7550    var offset3 = (options, deps) => {
7551      const result = offset2(options);
7552      return {
7553        name: result.name,
7554        fn: result.fn,
7555        options: [options, deps]
7556      };
7557    };
7558    var shift3 = (options, deps) => {
7559      const result = shift2(options);
7560      return {
7561        name: result.name,
7562        fn: result.fn,
7563        options: [options, deps]
7564      };
7565    };
7566    var limitShift3 = (options, deps) => {
7567      const result = limitShift2(options);
7568      return {
7569        fn: result.fn,
7570        options: [options, deps]
7571      };
7572    };
7573    var flip3 = (options, deps) => {
7574      const result = flip2(options);
7575      return {
7576        name: result.name,
7577        fn: result.fn,
7578        options: [options, deps]
7579      };
7580    };
7581    var size3 = (options, deps) => {
7582      const result = size2(options);
7583      return {
7584        name: result.name,
7585        fn: result.fn,
7586        options: [options, deps]
7587      };
7588    };
7589  
7590    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/NullStore.mjs
7591    var NullStore = class extends ReactStore {
7592      // `update`/`set`/`notifyAll` funnel through `setState` in the base `Store`, so overriding
7593      // `setState` alone would neutralize them today. They are overridden explicitly so the store stays
7594      // inert even if a future base-class change stops routing a mutator through `setState`.
7595      setState(_newState) {
7596      }
7597      update(_changes) {
7598      }
7599      set(_key, _value) {
7600      }
7601      notifyAll() {
7602      }
7603    };
7604  
7605    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
7606    function inertValue(value) {
7607      if (isReactVersionAtLeast(19)) {
7608        return value;
7609      }
7610      return value ? "true" : void 0;
7611    }
7612  
7613    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
7614    var React35 = __toESM(require_react(), 1);
7615    var DirectionContext = /* @__PURE__ */ React35.createContext(void 0);
7616    if (true) DirectionContext.displayName = "DirectionContext";
7617    function useDirection() {
7618      const context = React35.useContext(DirectionContext);
7619      return context?.direction ?? "ltr";
7620    }
7621  
7622    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
7623    var React37 = __toESM(require_react(), 1);
7624  
7625    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
7626    var React36 = __toESM(require_react(), 1);
7627    function useBaseUIFloating(options) {
7628      const {
7629        nodeId,
7630        externalTree,
7631        rootContext: store2
7632      } = options;
7633      const referenceElement = store2.useState("referenceElement");
7634      const floatingElement = store2.useState("floatingElement");
7635      const domReferenceElement = store2.useState("domReferenceElement");
7636      const open3 = store2.useState("open");
7637      const floatingId = store2.useState("floatingId");
7638      const [positionReference, setPositionReferenceRaw] = React36.useState(null);
7639      const domReferenceRef = React36.useRef(null);
7640      const tree = useFloatingTree(externalTree);
7641      const storeElements = React36.useMemo(() => ({
7642        reference: referenceElement,
7643        floating: floatingElement,
7644        domReference: domReferenceElement
7645      }), [referenceElement, floatingElement, domReferenceElement]);
7646      const position = useFloating({
7647        ...options,
7648        elements: {
7649          ...storeElements,
7650          ...positionReference && {
7651            reference: positionReference
7652          }
7653        }
7654      });
7655      const setPositionReference = React36.useCallback((node) => {
7656        const computedPositionReference = isElement(node) ? {
7657          getBoundingClientRect: () => node.getBoundingClientRect(),
7658          getClientRects: () => node.getClientRects(),
7659          contextElement: node
7660        } : node;
7661        setPositionReferenceRaw(computedPositionReference);
7662        position.refs.setReference(computedPositionReference);
7663      }, [position.refs]);
7664      const refs = React36.useMemo(() => ({
7665        ...position.refs,
7666        setPositionReference,
7667        domReference: domReferenceRef
7668      }), [position.refs, setPositionReference]);
7669      const elements = React36.useMemo(() => ({
7670        ...position.elements,
7671        domReference: domReferenceElement
7672      }), [position.elements, domReferenceElement]);
7673      const context = React36.useMemo(() => ({
7674        ...position,
7675        dataRef: store2.context.dataRef,
7676        open: open3,
7677        onOpenChange: store2.setOpen,
7678        events: store2.context.events,
7679        floatingId,
7680        refs,
7681        elements,
7682        nodeId,
7683        rootStore: store2
7684      }), [position, refs, elements, nodeId, store2, open3, floatingId]);
7685      useIsoLayoutEffect(() => {
7686        if (domReferenceElement) {
7687          domReferenceRef.current = domReferenceElement;
7688        }
7689      }, [domReferenceElement]);
7690      useIsoLayoutEffect(() => {
7691        store2.context.dataRef.current.floatingContext = context;
7692        const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
7693        if (node) {
7694          node.context = context;
7695        }
7696      });
7697      return React36.useMemo(() => ({
7698        ...position,
7699        context,
7700        refs,
7701        elements,
7702        rootStore: store2
7703      }), [position, refs, elements, context, store2]);
7704    }
7705  
7706    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
7707    var baseArrow = (options) => ({
7708      name: "arrow",
7709      options,
7710      async fn(state) {
7711        const {
7712          x,
7713          y,
7714          placement,
7715          rects,
7716          platform: platform3,
7717          elements,
7718          middlewareData
7719        } = state;
7720        const {
7721          element,
7722          padding = 0
7723        } = evaluate(options, state) || {};
7724        if (element == null) {
7725          return {};
7726        }
7727        const paddingObject = getPaddingObject(padding);
7728        const coords = {
7729          x,
7730          y
7731        };
7732        const axis = getAlignmentAxis(placement);
7733        const length = getAxisLength(axis);
7734        const arrowDimensions = await platform3.getDimensions(element);
7735        const isYAxis = axis === "y";
7736        const minProp = isYAxis ? "top" : "left";
7737        const maxProp = isYAxis ? "bottom" : "right";
7738        const clientProp = isYAxis ? "clientHeight" : "clientWidth";
7739        const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
7740        const startDiff = coords[axis] - rects.reference[axis];
7741        const clientSize = elements.floating[clientProp] || rects.floating[length];
7742        const centerToReference = endDiff / 2 - startDiff / 2;
7743        const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
7744        const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
7745        const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
7746        const min2 = minPadding;
7747        const max2 = clientSize - arrowDimensions[length] - maxPadding;
7748        const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
7749        const offset4 = clamp(min2, center, max2);
7750        const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
7751        const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
7752        return {
7753          [axis]: coords[axis] + alignmentOffset,
7754          data: {
7755            [axis]: offset4,
7756            centerOffset: center - offset4 - alignmentOffset,
7757            ...shouldAddOffset && {
7758              alignmentOffset
7759            }
7760          },
7761          reset: shouldAddOffset
7762        };
7763      }
7764    });
7765    var arrow4 = (options, deps) => {
7766      const {
7767        name,
7768        fn
7769      } = baseArrow(options);
7770      return {
7771        name,
7772        fn,
7773        options: [options, deps]
7774      };
7775    };
7776  
7777    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
7778    var hide4 = {
7779      name: "hide",
7780      async fn(state) {
7781        const {
7782          width,
7783          height,
7784          x,
7785          y
7786        } = state.rects.reference;
7787        const anchorHidden2 = width === 0 && height === 0 && x === 0 && y === 0;
7788        const overflow = await state.platform.detectOverflow(state, {
7789          elementContext: "reference"
7790        });
7791        const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
7792        return {
7793          data: {
7794            referenceHidden: referenceHidden || anchorHidden2
7795          }
7796        };
7797      }
7798    };
7799  
7800    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
7801    var DEFAULT_SIDES = {
7802      sideX: "left",
7803      sideY: "top"
7804    };
7805  
7806    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
7807    var availableWidth = "--available-width";
7808    var availableHeight = "--available-height";
7809    var anchorWidth = "--anchor-width";
7810    var anchorHeight = "--anchor-height";
7811    var transformOrigin = "--transform-origin";
7812    var positionerWidth = "--positioner-width";
7813    var positionerHeight = "--positioner-height";
7814  
7815    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
7816    var AVAILABLE_WIDTH_VAR = availableWidth;
7817    var AVAILABLE_HEIGHT_VAR = availableHeight;
7818    function getLogicalSide(sideParam, renderedSide, isRtl) {
7819      const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
7820      const logicalRight = isRtl ? "inline-start" : "inline-end";
7821      const logicalLeft = isRtl ? "inline-end" : "inline-start";
7822      return {
7823        top: "top",
7824        right: isLogicalSideParam ? logicalRight : "right",
7825        bottom: "bottom",
7826        left: isLogicalSideParam ? logicalLeft : "left"
7827      }[renderedSide];
7828    }
7829    function getOffsetData(state, sideParam, isRtl) {
7830      const {
7831        rects,
7832        placement
7833      } = state;
7834      const data = {
7835        side: getLogicalSide(sideParam, getSide(placement), isRtl),
7836        align: getAlignment(placement) || "center",
7837        anchor: {
7838          width: rects.reference.width,
7839          height: rects.reference.height
7840        },
7841        positioner: {
7842          width: rects.floating.width,
7843          height: rects.floating.height
7844        }
7845      };
7846      return data;
7847    }
7848    function useAnchorPositioning(params) {
7849      return useAnchorPositioningWithHook(params, useBaseUIFloating);
7850    }
7851    function useAnchorPositioningWithHook(params, useFloatingHook) {
7852      const {
7853        // Public parameters
7854        anchor,
7855        positionMethod = "absolute",
7856        side: sideParam = "bottom",
7857        sideOffset = 0,
7858        align = "center",
7859        alignOffset = 0,
7860        collisionBoundary,
7861        collisionPadding: collisionPaddingParam = 5,
7862        sticky = false,
7863        arrowPadding = 5,
7864        disableAnchorTracking = false,
7865        inline: inlineMiddleware,
7866        // Private parameters
7867        keepMounted = false,
7868        floatingRootContext,
7869        mounted,
7870        collisionAvoidance,
7871        shift: shift4,
7872        nodeId,
7873        adaptiveOrigin: adaptiveOrigin2,
7874        lazyFlip = false,
7875        externalTree
7876      } = params;
7877      const collisionAvoidanceSide = collisionAvoidance.side || "flip";
7878      const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
7879      const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
7880      const shiftCrossAxis = shift4?.crossAxis ?? false;
7881      const shiftRootBoundary = shift4?.rootBoundary;
7882      const anchorFn = typeof anchor === "function" ? anchor : void 0;
7883      const anchorFnCallback = useStableCallback(anchorFn);
7884      const anchorDep = anchorFn ? anchorFnCallback : anchor;
7885      const anchorValueRef = useValueAsRef(anchor);
7886      const mountedRef = useValueAsRef(mounted);
7887      const direction = useDirection();
7888      const isRtl = direction === "rtl";
7889      const [mountPlacement, setMountPlacement] = React37.useState(null);
7890      if (!mounted && mountPlacement !== null) {
7891        setMountPlacement(null);
7892      }
7893      const lockAlign = lazyFlip === "placement";
7894      const mountSide = mountPlacement ? getSide(mountPlacement) : null;
7895      const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
7896      const side = mountSide || {
7897        top: "top",
7898        right: "right",
7899        bottom: "bottom",
7900        left: "left",
7901        "inline-end": isRtl ? "left" : "right",
7902        "inline-start": isRtl ? "right" : "left"
7903      }[sideParam];
7904      const placementAlign = mountAlign || align;
7905      const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
7906      let collisionPadding = collisionPaddingParam;
7907      if (typeof collisionPadding === "number") {
7908        collisionPadding = {
7909          top: collisionPadding,
7910          right: collisionPadding,
7911          bottom: collisionPadding,
7912          left: collisionPadding
7913        };
7914      } else if (collisionPadding) {
7915        collisionPadding = {
7916          top: collisionPadding.top || 0,
7917          right: collisionPadding.right || 0,
7918          bottom: collisionPadding.bottom || 0,
7919          left: collisionPadding.left || 0
7920        };
7921      }
7922      const bias = 1;
7923      const biasTop = sideParam === "bottom" ? bias : 0;
7924      const biasBottom = sideParam === "top" ? bias : 0;
7925      const biasLeft = sideParam === "right" ? bias : 0;
7926      const biasRight = sideParam === "left" ? bias : 0;
7927      const commonCollisionProps = {
7928        boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
7929        padding: collisionPadding
7930      };
7931      const arrowRef = React37.useRef(null);
7932      const sideOffsetRef = useValueAsRef(sideOffset);
7933      const alignOffsetRef = useValueAsRef(alignOffset);
7934      const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
7935      const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
7936      const middleware = [];
7937      if (inlineMiddleware) {
7938        middleware.push(inlineMiddleware);
7939      }
7940      middleware.push(offset3((state) => {
7941        const data = getOffsetData(state, sideParam, isRtl);
7942        const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
7943        const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
7944        return {
7945          mainAxis: sideAxis,
7946          crossAxis: alignAxis,
7947          alignmentAxis: alignAxis
7948        };
7949      }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
7950      const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
7951      const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
7952      const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
7953        ...commonCollisionProps,
7954        // Ensure the popup flips if it's been limited by its --available-height and it resizes.
7955        // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
7956        padding: {
7957          top: collisionPadding.top + bias + biasTop,
7958          right: collisionPadding.right + bias + biasRight,
7959          bottom: collisionPadding.bottom + bias + biasBottom,
7960          left: collisionPadding.left + bias + biasLeft
7961        },
7962        mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
7963        crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
7964        fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
7965      });
7966      const shiftMiddleware = shiftDisabled ? null : shift3({
7967        ...commonCollisionProps,
7968        // Use the Layout Viewport to avoid shifting around when pinch-zooming.
7969        rootBoundary: shiftRootBoundary,
7970        mainAxis: collisionAvoidanceAlign !== "none",
7971        crossAxis: crossAxisShiftEnabled,
7972        limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
7973          if (!arrowRef.current) {
7974            return {};
7975          }
7976          const {
7977            width,
7978            height
7979          } = arrowRef.current.getBoundingClientRect();
7980          const sideAxis = getSideAxis(getSide(limitData.placement));
7981          const arrowSize = sideAxis === "y" ? width : height;
7982          const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
7983          return {
7984            offset: arrowSize / 2 + offsetAmount / 2
7985          };
7986        })
7987      }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
7988      if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
7989        middleware.push(shiftMiddleware, flipMiddleware);
7990      } else {
7991        middleware.push(flipMiddleware, shiftMiddleware);
7992      }
7993      middleware.push(size3({
7994        ...commonCollisionProps,
7995        apply({
7996          elements: {
7997            floating
7998          },
7999          availableWidth: availableWidth2,
8000          availableHeight: availableHeight2,
8001          rects
8002        }) {
8003          if (!mountedRef.current) {
8004            return;
8005          }
8006          const floatingStyle = floating.style;
8007          floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
8008          floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
8009          const dpr = getWindow(floating).devicePixelRatio || 1;
8010          const {
8011            x: x2,
8012            y: y2,
8013            width,
8014            height
8015          } = rects.reference;
8016          const anchorWidth2 = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr;
8017          const anchorHeight2 = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr;
8018          floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
8019          floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
8020        }
8021      }), arrow4((state) => ({
8022        // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
8023        // we'll create a fake element.
8024        element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
8025        // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
8026        padding: arrowRef.current ? arrowPadding : 0
8027      }), [arrowPadding]), {
8028        name: "transformOrigin",
8029        fn(state) {
8030          const {
8031            elements: {
8032              floating
8033            },
8034            middlewareData: middlewareData2,
8035            placement: renderedPlacement2,
8036            platform: platform3,
8037            rects,
8038            y: y2
8039          } = state;
8040          const renderedSide2 = getSide(renderedPlacement2);
8041          const renderedAlign2 = getAlignment(renderedPlacement2);
8042          const isVertical = getSideAxis(renderedSide2) === "y";
8043          const arrowEl = arrowRef.current;
8044          const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
8045          let crossOrigin;
8046          if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
8047            crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
8048          } else {
8049            const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
8050            const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
8051            crossOrigin = `$arrowOffset + arrowSize / 2}px`;
8052          }
8053          let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
8054          if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
8055            sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y2}px`;
8056          }
8057          floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
8058          return {};
8059        }
8060      }, hide4, adaptiveOrigin2);
8061      useIsoLayoutEffect(() => {
8062        if (!mounted && floatingRootContext) {
8063          floatingRootContext.update({
8064            referenceElement: null,
8065            floatingElement: null,
8066            domReferenceElement: null,
8067            positionReference: null
8068          });
8069        }
8070      }, [mounted, floatingRootContext]);
8071      const autoUpdateOptions = React37.useMemo(() => ({
8072        ancestorScroll: !disableAnchorTracking,
8073        elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
8074        layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
8075      }), [disableAnchorTracking]);
8076      const {
8077        refs,
8078        elements,
8079        x,
8080        y,
8081        middlewareData,
8082        update: update2,
8083        placement: renderedPlacement,
8084        context,
8085        isPositioned,
8086        floatingStyles: originalFloatingStyles
8087      } = useFloatingHook({
8088        rootContext: floatingRootContext,
8089        open: keepMounted ? mounted : void 0,
8090        placement,
8091        middleware,
8092        strategy: positionMethod,
8093        whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
8094        nodeId,
8095        externalTree
8096      });
8097      const {
8098        sideX,
8099        sideY
8100      } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
8101      const resolvedPosition = isPositioned ? positionMethod : "fixed";
8102      const floatingStyles = React37.useMemo(() => {
8103        let base;
8104        if (!isPositioned) {
8105          base = {
8106            position: resolvedPosition,
8107            top: 0,
8108            left: 0
8109          };
8110        } else if (adaptiveOrigin2) {
8111          base = {
8112            position: resolvedPosition,
8113            [sideX]: x,
8114            [sideY]: y
8115          };
8116        } else {
8117          base = {
8118            ...originalFloatingStyles,
8119            position: resolvedPosition
8120          };
8121        }
8122        base[AVAILABLE_WIDTH_VAR] = "100vw";
8123        base[AVAILABLE_HEIGHT_VAR] = "100vh";
8124        if (!isPositioned) {
8125          base.opacity = 0;
8126        }
8127        return base;
8128      }, [adaptiveOrigin2, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);
8129      const registeredPositionReferenceRef = React37.useRef(null);
8130      useIsoLayoutEffect(() => {
8131        if (!mounted) {
8132          return;
8133        }
8134        const anchorValue = anchorValueRef.current;
8135        const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
8136        const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
8137        const finalAnchor = unwrappedElement || null;
8138        if (finalAnchor !== registeredPositionReferenceRef.current) {
8139          refs.setPositionReference(finalAnchor);
8140          registeredPositionReferenceRef.current = finalAnchor;
8141        }
8142      }, [mounted, refs, anchorDep, anchorValueRef]);
8143      React37.useEffect(() => {
8144        if (!mounted) {
8145          return;
8146        }
8147        const anchorValue = anchorValueRef.current;
8148        if (typeof anchorValue === "function") {
8149          return;
8150        }
8151        if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
8152          refs.setPositionReference(anchorValue.current);
8153          registeredPositionReferenceRef.current = anchorValue.current;
8154        }
8155      }, [mounted, refs, anchorDep, anchorValueRef]);
8156      React37.useEffect(() => {
8157        if (keepMounted && mounted && elements.reference && elements.floating) {
8158          return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
8159        }
8160        return void 0;
8161      }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
8162      const renderedSide = getSide(renderedPlacement);
8163      const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
8164      const renderedAlign = getAlignment(renderedPlacement) || "center";
8165      const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
8166      useIsoLayoutEffect(() => {
8167        if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
8168          setMountPlacement(renderedPlacement);
8169        }
8170      }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
8171      const arrowStyles = React37.useMemo(() => ({
8172        position: "absolute",
8173        top: middlewareData.arrow?.y,
8174        left: middlewareData.arrow?.x
8175      }), [middlewareData.arrow]);
8176      const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
8177      return React37.useMemo(() => ({
8178        positionerStyles: floatingStyles,
8179        arrowStyles,
8180        arrowRef,
8181        arrowUncentered,
8182        side: logicalRenderedSide,
8183        align: renderedAlign,
8184        physicalSide: renderedSide,
8185        anchorHidden: anchorHidden2,
8186        refs,
8187        context,
8188        isPositioned,
8189        update: update2
8190      }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
8191    }
8192    function isRef(param) {
8193      return param != null && "current" in param;
8194    }
8195  
8196    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
8197    function getDisabledMountTransitionStyles(transitionStatus) {
8198      return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
8199    }
8200  
8201    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
8202    function usePositioner(componentProps, state, {
8203      styles,
8204      transitionStatus,
8205      props,
8206      refs,
8207      hidden,
8208      inert = false
8209    }) {
8210      const style = {
8211        ...styles
8212      };
8213      if (inert) {
8214        style.pointerEvents = "none";
8215      }
8216      return useRenderElement("div", componentProps, {
8217        state,
8218        ref: refs,
8219        props: [{
8220          role: "presentation",
8221          hidden,
8222          style
8223        }, getDisabledMountTransitionStyles(transitionStatus), props],
8224        stateAttributesMapping: popupStateMapping
8225      });
8226    }
8227  
8228    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/button/Button.mjs
8229    var React38 = __toESM(require_react(), 1);
8230    var Button = /* @__PURE__ */ React38.forwardRef(function Button2(componentProps, forwardedRef) {
8231      const {
8232        render,
8233        className,
8234        disabled: disabled2 = false,
8235        focusableWhenDisabled = false,
8236        nativeButton = true,
8237        style,
8238        ...elementProps
8239      } = componentProps;
8240      const {
8241        getButtonProps,
8242        buttonRef
8243      } = useButton({
8244        disabled: disabled2,
8245        focusableWhenDisabled,
8246        native: nativeButton
8247      });
8248      const state = {
8249        disabled: disabled2
8250      };
8251      return useRenderElement("button", componentProps, {
8252        state,
8253        ref: [forwardedRef, buttonRef],
8254        props: [elementProps, getButtonProps]
8255      });
8256    });
8257    if (true) Button.displayName = "Button";
8258  
8259    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/index.parts.mjs
8260    var index_parts_exports = {};
8261    __export(index_parts_exports, {
8262      Panel: () => CollapsiblePanel,
8263      Root: () => CollapsibleRoot,
8264      Trigger: () => CollapsibleTrigger
8265    });
8266  
8267    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/CollapsibleRoot.mjs
8268    var React39 = __toESM(require_react(), 1);
8269  
8270    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/stateAttributesMapping.mjs
8271    var collapsibleStateAttributesMapping = {
8272      ...collapsibleOpenStateMapping,
8273      ...transitionStatusMapping
8274    };
8275  
8276    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/root/CollapsibleRoot.mjs
8277    var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
8278    var CollapsibleRoot = /* @__PURE__ */ React39.forwardRef(function CollapsibleRoot2(componentProps, forwardedRef) {
8279      const {
8280        render,
8281        className,
8282        defaultOpen = false,
8283        disabled: disabled2 = false,
8284        onOpenChange: onOpenChangeProp,
8285        open: open3,
8286        style,
8287        ...elementProps
8288      } = componentProps;
8289      const onOpenChange = useStableCallback(onOpenChangeProp);
8290      const collapsible = useCollapsibleRoot({
8291        open: open3,
8292        defaultOpen,
8293        onOpenChange,
8294        disabled: disabled2
8295      });
8296      const state = React39.useMemo(() => ({
8297        open: collapsible.open,
8298        disabled: collapsible.disabled,
8299        transitionStatus: collapsible.transitionStatus
8300      }), [collapsible.open, collapsible.disabled, collapsible.transitionStatus]);
8301      const contextValue = React39.useMemo(() => ({
8302        ...collapsible,
8303        onOpenChange,
8304        state
8305      }), [collapsible, onOpenChange, state]);
8306      const element = useRenderElement("div", componentProps, {
8307        state,
8308        ref: forwardedRef,
8309        props: elementProps,
8310        stateAttributesMapping: collapsibleStateAttributesMapping
8311      });
8312      return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(CollapsibleRootContext.Provider, {
8313        value: contextValue,
8314        children: element
8315      });
8316    });
8317    if (true) CollapsibleRoot.displayName = "CollapsibleRoot";
8318  
8319    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/trigger/CollapsibleTrigger.mjs
8320    var React40 = __toESM(require_react(), 1);
8321    var stateAttributesMapping = {
8322      ...triggerOpenStateMapping,
8323      ...transitionStatusMapping
8324    };
8325    var CollapsibleTrigger = /* @__PURE__ */ React40.forwardRef(function CollapsibleTrigger2(componentProps, forwardedRef) {
8326      const {
8327        panelId,
8328        open: open3,
8329        handleTrigger,
8330        state,
8331        disabled: contextDisabled
8332      } = useCollapsibleRootContext();
8333      const {
8334        className,
8335        disabled: disabled2 = contextDisabled,
8336        render,
8337        nativeButton = true,
8338        style,
8339        ...elementProps
8340      } = componentProps;
8341      const {
8342        getButtonProps,
8343        buttonRef
8344      } = useButton({
8345        disabled: disabled2,
8346        native: nativeButton
8347      });
8348      const element = useRenderElement("button", componentProps, {
8349        state,
8350        ref: [forwardedRef, buttonRef],
8351        props: [{
8352          "aria-controls": open3 ? panelId : void 0,
8353          "aria-expanded": open3,
8354          onClick: handleTrigger
8355        }, elementProps, getButtonProps],
8356        stateAttributesMapping
8357      });
8358      return element;
8359    });
8360    if (true) CollapsibleTrigger.displayName = "CollapsibleTrigger";
8361  
8362    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/CollapsiblePanel.mjs
8363    var React41 = __toESM(require_react(), 1);
8364  
8365    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/CollapsiblePanelCssVars.mjs
8366    var collapsiblePanelHeight = "--collapsible-panel-height";
8367    var collapsiblePanelWidth = "--collapsible-panel-width";
8368  
8369    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/collapsible/panel/CollapsiblePanel.mjs
8370    var CollapsiblePanel = /* @__PURE__ */ React41.forwardRef(function CollapsiblePanel2(componentProps, forwardedRef) {
8371      const {
8372        className,
8373        hiddenUntilFound: hiddenUntilFoundProp,
8374        keepMounted: keepMountedProp,
8375        render,
8376        id: idProp,
8377        style,
8378        ...elementProps
8379      } = componentProps;
8380      if (true) {
8381        React41.useEffect(() => {
8382          if (hiddenUntilFoundProp && keepMountedProp === false) {
8383            warn("The `keepMounted={false}` prop on `Collapsible.Panel` is ignored when `hiddenUntilFound` is enabled, since the panel must remain mounted while closed.");
8384          }
8385        }, [hiddenUntilFoundProp, keepMountedProp]);
8386      }
8387      const {
8388        defaultPanelId,
8389        mounted,
8390        onOpenChange,
8391        open: open3,
8392        setMounted,
8393        setPanelIdState,
8394        setOpen,
8395        state,
8396        transitionStatus
8397      } = useCollapsibleRootContext();
8398      const hiddenUntilFound = hiddenUntilFoundProp ?? false;
8399      const keepMounted = keepMountedProp ?? false;
8400      const registeredId = idProp || void 0;
8401      const id = registeredId ?? defaultPanelId;
8402      useIsoLayoutEffect(() => {
8403        setPanelIdState((currentId) => registeredId ?? (currentId === null ? void 0 : currentId));
8404        return () => {
8405          setPanelIdState((currentId) => currentId === registeredId ? null : currentId);
8406        };
8407      }, [registeredId, setPanelIdState]);
8408      const {
8409        height,
8410        props,
8411        ref,
8412        shouldPreventOpenAnimation,
8413        shouldRender,
8414        transitionStatus: panelTransitionStatus,
8415        width
8416      } = useCollapsiblePanel({
8417        externalRef: forwardedRef,
8418        hiddenUntilFound,
8419        id,
8420        keepMounted,
8421        mounted,
8422        onOpenChange,
8423        open: open3,
8424        setMounted,
8425        setOpen,
8426        transitionStatus
8427      });
8428      const panelState = {
8429        ...state,
8430        transitionStatus: panelTransitionStatus
8431      };
8432      const resolvedStyle = resolveStyle(style, panelState);
8433      const element = useRenderElement("div", {
8434        ...componentProps,
8435        style: void 0
8436      }, {
8437        state: panelState,
8438        ref,
8439        props: [
8440          props,
8441          {
8442            style: {
8443              [collapsiblePanelHeight]: height === void 0 ? "auto" : `$height}px`,
8444              [collapsiblePanelWidth]: width === void 0 ? "auto" : `$width}px`
8445            }
8446          },
8447          elementProps,
8448          resolvedStyle ? {
8449            style: resolvedStyle
8450          } : void 0,
8451          // Resolve the public `style` prop so temporary `animationName: 'none'`
8452          // can still win after user's inline styles have been merged.
8453          shouldPreventOpenAnimation ? {
8454            style: {
8455              animationName: "none"
8456            }
8457          } : void 0
8458        ],
8459        stateAttributesMapping: collapsibleStateAttributesMapping
8460      });
8461      if (!shouldRender) {
8462        return null;
8463      }
8464      return element;
8465    });
8466    if (true) CollapsiblePanel.displayName = "CollapsiblePanel";
8467  
8468    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
8469    var React45 = __toESM(require_react(), 1);
8470    var ReactDOM6 = __toESM(require_react_dom(), 1);
8471  
8472    // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
8473    var React42 = __toESM(require_react(), 1);
8474    function usePreviousValue(value) {
8475      const [state, setState] = React42.useState({
8476        current: value,
8477        previous: null
8478      });
8479      if (!Object.is(value, state.current)) {
8480        setState({
8481          current: value,
8482          previous: state.current
8483        });
8484      }
8485      return state.previous;
8486    }
8487  
8488    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
8489    var React43 = __toESM(require_react(), 1);
8490  
8491    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getCssDimensions.mjs
8492    function getCssDimensions2(element) {
8493      const css = getComputedStyle2(element);
8494      let width = parseFloat(css.width) || 0;
8495      let height = parseFloat(css.height) || 0;
8496      const hasOffset = isHTMLElement(element);
8497      const offsetWidth = hasOffset ? element.offsetWidth : width;
8498      const offsetHeight = hasOffset ? element.offsetHeight : height;
8499      const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
8500      if (shouldFallback) {
8501        width = offsetWidth;
8502        height = offsetHeight;
8503      }
8504      return {
8505        width,
8506        height
8507      };
8508    }
8509  
8510    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupCssVars.mjs
8511    var popupWidth = "--popup-width";
8512    var popupHeight = "--popup-height";
8513  
8514    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
8515    function usePopupAutoResize(parameters) {
8516      const {
8517        popupElement,
8518        positionerElement,
8519        content,
8520        mounted,
8521        onMeasureLayout: onMeasureLayoutParam,
8522        onMeasureLayoutComplete: onMeasureLayoutCompleteParam,
8523        side,
8524        direction
8525      } = parameters;
8526      const runOnceAnimationsFinish = useAnimationsFinished(popupElement, true);
8527      const animationFrame = useAnimationFrame();
8528      const committedDimensionsRef = React43.useRef(null);
8529      const onMeasureLayout = useStableCallback(onMeasureLayoutParam);
8530      const onMeasureLayoutComplete = useStableCallback(onMeasureLayoutCompleteParam);
8531      const anchoringStyles = React43.useMemo(() => getPopupAnchoringStyles(side, direction), [side, direction]);
8532      useIsoLayoutEffect(() => {
8533        if (!mounted) {
8534          committedDimensionsRef.current = null;
8535          return void 0;
8536        }
8537        if (!popupElement || !positionerElement) {
8538          return void 0;
8539        }
8540        const restoreAnchoringStyles = applyElementStyles(popupElement, anchoringStyles);
8541        setPopupCssSize(popupElement, "auto");
8542        const restorePopupPosition = overrideElementStyle(popupElement, "position", "static");
8543        const restorePopupTransform = overrideElementStyle(popupElement, "transform", "none");
8544        const restorePopupScale = overrideElementStyle(popupElement, "scale", "1");
8545        const restorePositionerAvailableSize = applyElementStyles(positionerElement, {
8546          [availableWidth]: "max-content",
8547          [availableHeight]: "max-content"
8548        });
8549        function restoreMeasurementOverrides() {
8550          restorePopupPosition();
8551          restorePopupTransform();
8552          restorePositionerAvailableSize();
8553          restorePopupScale();
8554        }
8555        onMeasureLayout?.();
8556        if (committedDimensionsRef.current === null) {
8557          setPositionerCssSize(positionerElement, "max-content");
8558          const dimensions = getCssDimensions2(popupElement);
8559          committedDimensionsRef.current = dimensions;
8560          setPositionerCssSize(positionerElement, dimensions);
8561          restoreMeasurementOverrides();
8562          onMeasureLayoutComplete?.(null, dimensions);
8563          return restoreAnchoringStyles;
8564        }
8565        setPositionerCssSize(positionerElement, "max-content");
8566        const previousDimensions = committedDimensionsRef.current;
8567        const newDimensions = getCssDimensions2(popupElement);
8568        committedDimensionsRef.current = newDimensions;
8569        setPopupCssSize(popupElement, previousDimensions);
8570        restoreMeasurementOverrides();
8571        onMeasureLayoutComplete?.(previousDimensions, newDimensions);
8572        setPositionerCssSize(positionerElement, newDimensions);
8573        const abortController = new AbortController();
8574        animationFrame.request(() => {
8575          setPopupCssSize(popupElement, newDimensions);
8576          runOnceAnimationsFinish(() => {
8577            popupElement.style.setProperty(popupWidth, "auto");
8578            popupElement.style.setProperty(popupHeight, "auto");
8579          }, abortController.signal);
8580        });
8581        return () => {
8582          abortController.abort();
8583          animationFrame.cancel();
8584          restoreAnchoringStyles();
8585        };
8586      }, [content, popupElement, positionerElement, runOnceAnimationsFinish, animationFrame, mounted, onMeasureLayout, onMeasureLayoutComplete, anchoringStyles]);
8587    }
8588    function getPopupAnchoringStyles(side, direction) {
8589      const isPhysicalTop = side === "top";
8590      const isPhysicalLeft = side === "left" || side === (direction === "rtl" ? "inline-end" : "inline-start");
8591      if (!isPhysicalTop && !isPhysicalLeft) {
8592        return EMPTY_OBJECT;
8593      }
8594      return {
8595        position: "absolute",
8596        [isPhysicalTop ? "bottom" : "top"]: "0",
8597        [isPhysicalLeft ? "right" : "left"]: "0"
8598      };
8599    }
8600    function overrideElementStyle(element, property, value) {
8601      const originalValue = element.style.getPropertyValue(property);
8602      element.style.setProperty(property, value);
8603      return () => {
8604        element.style.setProperty(property, originalValue);
8605      };
8606    }
8607    function applyElementStyles(element, styles) {
8608      const restorers = [];
8609      for (const [key, value] of Object.entries(styles)) {
8610        restorers.push(overrideElementStyle(element, key, value));
8611      }
8612      return restorers.length ? () => {
8613        restorers.forEach((restore) => restore());
8614      } : NOOP;
8615    }
8616    function setPopupCssSize(popupElement, size4) {
8617      const width = size4 === "auto" ? "auto" : `$size4.width}px`;
8618      const height = size4 === "auto" ? "auto" : `$size4.height}px`;
8619      popupElement.style.setProperty(popupWidth, width);
8620      popupElement.style.setProperty(popupHeight, height);
8621    }
8622    function setPositionerCssSize(positionerElement, size4) {
8623      const width = size4 === "max-content" ? "max-content" : `$size4.width}px`;
8624      const height = size4 === "max-content" ? "max-content" : `$size4.height}px`;
8625      positionerElement.style.setProperty(positionerWidth, width);
8626      positionerElement.style.setProperty(positionerHeight, height);
8627    }
8628  
8629    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
8630    var React44 = __toESM(require_react(), 1);
8631    var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
8632    var DirectionProvider = function DirectionProvider2(props) {
8633      const {
8634        direction = "ltr"
8635      } = props;
8636      const contextValue = React44.useMemo(() => ({
8637        direction
8638      }), [direction]);
8639      return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(DirectionContext.Provider, {
8640        value: contextValue,
8641        children: props.children
8642      });
8643    };
8644    if (true) DirectionProvider.displayName = "DirectionProvider";
8645  
8646    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginMiddleware.mjs
8647    var adaptiveOrigin = {
8648      name: "adaptiveOrigin",
8649      async fn(state) {
8650        const {
8651          x: rawX,
8652          y: rawY,
8653          rects: {
8654            floating: floatRect
8655          },
8656          elements: {
8657            floating
8658          },
8659          platform: platform3,
8660          strategy,
8661          placement
8662        } = state;
8663        const win = getWindow(floating);
8664        const styles = win.getComputedStyle(floating);
8665        const hasTransition = styles.transitionDuration !== "0s" && styles.transitionDuration !== "";
8666        if (!hasTransition) {
8667          return {
8668            x: rawX,
8669            y: rawY,
8670            data: DEFAULT_SIDES
8671          };
8672        }
8673        const offsetParent = await platform3.getOffsetParent?.(floating);
8674        let offsetDimensions = {
8675          width: 0,
8676          height: 0
8677        };
8678        if (strategy === "fixed" && win?.visualViewport) {
8679          offsetDimensions = {
8680            width: win.visualViewport.width,
8681            height: win.visualViewport.height
8682          };
8683        } else if (offsetParent === win) {
8684          const doc = ownerDocument(floating);
8685          offsetDimensions = {
8686            width: doc.documentElement.clientWidth,
8687            height: doc.documentElement.clientHeight
8688          };
8689        } else if (await platform3.isElement?.(offsetParent)) {
8690          offsetDimensions = await platform3.getDimensions(offsetParent);
8691        }
8692        const currentSide = getSide(placement);
8693        let x = rawX;
8694        let y = rawY;
8695        if (currentSide === "left") {
8696          x = offsetDimensions.width - (rawX + floatRect.width);
8697        }
8698        if (currentSide === "top") {
8699          y = offsetDimensions.height - (rawY + floatRect.height);
8700        }
8701        const sideX = currentSide === "left" ? "right" : DEFAULT_SIDES.sideX;
8702        const sideY = currentSide === "top" ? "bottom" : DEFAULT_SIDES.sideY;
8703        return {
8704          x,
8705          y,
8706          data: {
8707            sideX,
8708            sideY
8709          }
8710        };
8711      }
8712    };
8713  
8714    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonViewportDataAttributes.mjs
8715    var activationDirection = "data-activation-direction";
8716  
8717    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
8718    var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
8719    var popupViewportStateMapping = {
8720      activationDirection: (value) => value ? {
8721        [activationDirection]: value
8722      } : null
8723    };
8724    function usePopupViewport(parameters) {
8725      const {
8726        store: store2,
8727        side,
8728        children
8729      } = parameters;
8730      const direction = useDirection();
8731      const activeTrigger = store2.useState("activeTriggerElement");
8732      const activeTriggerId = store2.useState("activeTriggerId");
8733      const open3 = store2.useState("open");
8734      const payload = store2.useState("payload");
8735      const mounted = store2.useState("mounted");
8736      const popupElement = store2.useState("popupElement");
8737      const positionerElement = store2.useState("positionerElement");
8738      const previousActiveTrigger = usePreviousValue(open3 ? activeTrigger : null);
8739      const currentContentKey = usePopupContentKey(activeTriggerId, payload);
8740      const capturedNodeRef = React45.useRef(null);
8741      const [previousContentNode, setPreviousContentNode] = React45.useState(null);
8742      const [newTriggerOffset, setNewTriggerOffset] = React45.useState(null);
8743      const currentContainerRef = React45.useRef(null);
8744      const previousContainerRef = React45.useRef(null);
8745      const onAnimationsFinished = useAnimationsFinished(currentContainerRef, true);
8746      const cleanupFrame = useAnimationFrame();
8747      const cleanupControllerRef = React45.useRef(null);
8748      const [previousContentDimensions, setPreviousContentDimensions] = React45.useState(null);
8749      const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React45.useState(false);
8750      useIsoLayoutEffect(() => {
8751        store2.set("adaptiveOrigin", adaptiveOrigin);
8752        return () => {
8753          store2.set("adaptiveOrigin", void 0);
8754        };
8755      }, [store2]);
8756      const handleMeasureLayout = useStableCallback(() => {
8757        currentContainerRef.current?.style.setProperty("animation", "none");
8758        currentContainerRef.current?.style.setProperty("transition", "none");
8759        previousContainerRef.current?.style.setProperty("display", "none");
8760      });
8761      const handleMeasureLayoutComplete = useStableCallback((previousDimensions) => {
8762        currentContainerRef.current?.style.removeProperty("animation");
8763        currentContainerRef.current?.style.removeProperty("transition");
8764        previousContainerRef.current?.style.removeProperty("display");
8765        if (previousDimensions) {
8766          setPreviousContentDimensions(previousDimensions);
8767        }
8768      });
8769      const armViewportCleanup = useStableCallback(() => {
8770        cleanupControllerRef.current?.abort();
8771        const controller = new AbortController();
8772        cleanupControllerRef.current = controller;
8773        onAnimationsFinished(() => {
8774          setPreviousContentNode(null);
8775          setPreviousContentDimensions(null);
8776          capturedNodeRef.current = null;
8777        }, controller.signal);
8778      });
8779      const lastHandledTriggerRef = React45.useRef(null);
8780      useIsoLayoutEffect(() => {
8781        if (!open3 || !mounted) {
8782          lastHandledTriggerRef.current = null;
8783        }
8784      }, [open3, mounted]);
8785      useIsoLayoutEffect(() => {
8786        if (open3 && activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) {
8787          setPreviousContentNode(capturedNodeRef.current);
8788          setShowStartingStyleAttribute(true);
8789          const offset4 = calculateRelativePosition(previousActiveTrigger, activeTrigger);
8790          setNewTriggerOffset(offset4);
8791          lastHandledTriggerRef.current = activeTrigger;
8792        }
8793      }, [open3, activeTrigger, previousActiveTrigger]);
8794      useIsoLayoutEffect(() => {
8795        if (previousContentNode == null) {
8796          return;
8797        }
8798        cleanupControllerRef.current?.abort();
8799        setShowStartingStyleAttribute(true);
8800        cleanupFrame.request(() => {
8801          ReactDOM6.flushSync(() => {
8802            setShowStartingStyleAttribute(false);
8803          });
8804          armViewportCleanup();
8805        });
8806      }, [currentContentKey, previousContentNode, armViewportCleanup, cleanupFrame]);
8807      useIsoLayoutEffect(() => {
8808        const source = currentContainerRef.current;
8809        if (!source) {
8810          return;
8811        }
8812        const wrapper = ownerDocument(source).createElement("div");
8813        for (const child of Array.from(source.childNodes)) {
8814          wrapper.appendChild(child.cloneNode(true));
8815        }
8816        capturedNodeRef.current = wrapper;
8817      });
8818      const isTransitioning = previousContentNode != null;
8819      let childrenToRender;
8820      if (!isTransitioning) {
8821        childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {
8822          "data-current": true,
8823          ref: currentContainerRef,
8824          children
8825        }, currentContentKey);
8826      } else {
8827        childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(React45.Fragment, {
8828          children: [/* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {
8829            "data-previous": true,
8830            inert: inertValue(true),
8831            ref: previousContainerRef,
8832            style: {
8833              ...previousContentDimensions ? {
8834                [popupWidth]: `$previousContentDimensions.width}px`,
8835                [popupHeight]: `$previousContentDimensions.height}px`
8836              } : null,
8837              position: "absolute"
8838            },
8839            "data-ending-style": showStartingStyleAttribute ? void 0 : ""
8840          }, "previous"), /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {
8841            "data-current": true,
8842            ref: currentContainerRef,
8843            "data-starting-style": showStartingStyleAttribute ? "" : void 0,
8844            children
8845          }, currentContentKey)]
8846        });
8847      }
8848      useIsoLayoutEffect(() => {
8849        const container = previousContainerRef.current;
8850        if (!container || !previousContentNode) {
8851          return;
8852        }
8853        container.replaceChildren(...Array.from(previousContentNode.childNodes));
8854      }, [previousContentNode]);
8855      usePopupAutoResize({
8856        popupElement,
8857        positionerElement,
8858        mounted,
8859        content: payload,
8860        onMeasureLayout: handleMeasureLayout,
8861        onMeasureLayoutComplete: handleMeasureLayoutComplete,
8862        side,
8863        direction
8864      });
8865      const state = {
8866        activationDirection: getActivationDirection(newTriggerOffset),
8867        transitioning: isTransitioning
8868      };
8869      return {
8870        children: childrenToRender,
8871        state
8872      };
8873    }
8874    function getActivationDirection(offset4) {
8875      if (!offset4) {
8876        return void 0;
8877      }
8878      return `$getValueWithTolerance(offset4.horizontal, 5, "right", "left")} $getValueWithTolerance(offset4.vertical, 5, "down", "up")}`;
8879    }
8880    function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) {
8881      if (value > tolerance) {
8882        return positiveLabel;
8883      }
8884      if (value < -tolerance) {
8885        return negativeLabel;
8886      }
8887      return "";
8888    }
8889    function calculateRelativePosition(from, to) {
8890      const fromRect = from.getBoundingClientRect();
8891      const toRect = to.getBoundingClientRect();
8892      const fromCenter = {
8893        x: fromRect.left + fromRect.width / 2,
8894        y: fromRect.top + fromRect.height / 2
8895      };
8896      const toCenter = {
8897        x: toRect.left + toRect.width / 2,
8898        y: toRect.top + toRect.height / 2
8899      };
8900      return {
8901        horizontal: toCenter.x - fromCenter.x,
8902        vertical: toCenter.y - fromCenter.y
8903      };
8904    }
8905    function usePopupContentKey(activeTriggerId, payload) {
8906      const [contentKey, setContentKey] = React45.useState(0);
8907      const previousActiveTriggerIdRef = React45.useRef(activeTriggerId);
8908      const previousPayloadRef = React45.useRef(payload);
8909      const pendingPayloadUpdateRef = React45.useRef(false);
8910      useIsoLayoutEffect(() => {
8911        const previousActiveTriggerId = previousActiveTriggerIdRef.current;
8912        const previousPayload = previousPayloadRef.current;
8913        const triggerIdChanged = activeTriggerId !== previousActiveTriggerId;
8914        const payloadChanged = payload !== previousPayload;
8915        if (triggerIdChanged) {
8916          setContentKey((value) => value + 1);
8917          pendingPayloadUpdateRef.current = !payloadChanged;
8918        } else if (pendingPayloadUpdateRef.current && payloadChanged) {
8919          setContentKey((value) => value + 1);
8920          pendingPayloadUpdateRef.current = false;
8921        }
8922        previousActiveTriggerIdRef.current = activeTriggerId;
8923        previousPayloadRef.current = payload;
8924      }, [activeTriggerId, payload]);
8925      return `$activeTriggerId ?? "current"}-$contentKey}`;
8926    }
8927  
8928    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FloatingPortalLite.mjs
8929    var React46 = __toESM(require_react(), 1);
8930    var ReactDOM7 = __toESM(require_react_dom(), 1);
8931    var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
8932    var FloatingPortalLite = /* @__PURE__ */ React46.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) {
8933      const {
8934        children,
8935        container,
8936        className,
8937        render,
8938        style,
8939        ...elementProps
8940      } = componentProps;
8941      const {
8942        node: portalNode,
8943        subtree: portalSubtree
8944      } = useFloatingPortalNode({
8945        container,
8946        ref: forwardedRef,
8947        componentProps,
8948        elementProps
8949      });
8950      if (!portalSubtree && !portalNode) {
8951        return null;
8952      }
8953      return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(React46.Fragment, {
8954        children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM7.createPortal(children, portalNode)]
8955      });
8956    });
8957    if (true) FloatingPortalLite.displayName = "FloatingPortalLite";
8958  
8959    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/index.parts.mjs
8960    var index_parts_exports2 = {};
8961    __export(index_parts_exports2, {
8962      Arrow: () => TooltipArrow,
8963      Handle: () => TooltipHandle,
8964      Popup: () => TooltipPopup,
8965      Portal: () => TooltipPortal,
8966      Positioner: () => TooltipPositioner,
8967      Provider: () => TooltipProvider,
8968      Root: () => TooltipRoot,
8969      Trigger: () => TooltipTrigger,
8970      Viewport: () => TooltipViewport,
8971      createHandle: () => createTooltipHandle
8972    });
8973  
8974    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
8975    var React49 = __toESM(require_react(), 1);
8976  
8977    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRootContext.mjs
8978    var React47 = __toESM(require_react(), 1);
8979    var TooltipRootContext = /* @__PURE__ */ React47.createContext(void 0);
8980    if (true) TooltipRootContext.displayName = "TooltipRootContext";
8981    function useTooltipRootContext(optional) {
8982      const context = React47.useContext(TooltipRootContext);
8983      if (context === void 0 && !optional) {
8984        throw new Error(true ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : formatErrorMessage_default(72));
8985      }
8986      return context;
8987    }
8988  
8989    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipStore.mjs
8990    var React48 = __toESM(require_react(), 1);
8991    var selectors2 = {
8992      ...popupStoreSelectors,
8993      disabled: (state) => state.disabled,
8994      instantType: (state) => state.instantType,
8995      isInstantPhase: (state) => state.isInstantPhase,
8996      trackCursorAxis: (state) => state.trackCursorAxis,
8997      disableHoverablePopup: (state) => state.disableHoverablePopup,
8998      lastOpenChangeReason: (state) => state.openChangeReason,
8999      closeOnClick: (state) => state.closeOnClick,
9000      // Active and inactive trigger props are the same object, so a constant for triggers that discard
9001      // them keeps those triggers from re-rendering when the props change.
9002      appliedTriggerProps: (state, apply) => apply ? state.activeTriggerProps : void 0,
9003      closeDelay: (state) => state.closeDelay,
9004      adaptiveOrigin: (state) => state.adaptiveOrigin
9005    };
9006    var TooltipStore = class extends ReactStore {
9007      constructor(initialState, floatingId, nested) {
9008        const triggerElements = new PopupTriggerMap();
9009        super(createInitialState(initialState, triggerElements, floatingId, nested), createInitialContext(triggerElements), selectors2);
9010      }
9011      setOpen = (nextOpen, eventDetails) => {
9012        applyPopupOpenChange(this, nextOpen, eventDetails, {
9013          extraState: {
9014            openChangeReason: eventDetails.reason
9015          }
9016        });
9017      };
9018      // Used by trigger clicks to clear a delayed hover open without reporting a public open-state change.
9019      cancelPendingOpen(event) {
9020        this.state.floatingRootContext.dispatchOpenChange(false, createChangeEventDetails(reason_parts_exports.triggerPress, event));
9021      }
9022    };
9023    function createNullTooltipStore() {
9024      const triggerElements = new PopupTriggerMap();
9025      const store2 = new NullStore(Object.freeze(createInitialState(void 0, triggerElements)), Object.freeze(createInitialContext(triggerElements)), selectors2);
9026      return Object.assign(store2, {
9027        setOpen: NOOP,
9028        cancelPendingOpen: NOOP
9029      });
9030    }
9031    function createInitialState(initialState, triggerElements, floatingId, nested = false) {
9032      const state = {
9033        ...createInitialPopupStoreState(triggerElements, floatingId, nested),
9034        disabled: false,
9035        instantType: void 0,
9036        isInstantPhase: false,
9037        trackCursorAxis: "none",
9038        disableHoverablePopup: false,
9039        openChangeReason: null,
9040        closeOnClick: true,
9041        closeDelay: 0,
9042        adaptiveOrigin: void 0,
9043        ...initialState
9044      };
9045      return state;
9046    }
9047    function createInitialContext(triggerElements) {
9048      return {
9049        popupRef: /* @__PURE__ */ React48.createRef(),
9050        onOpenChange: void 0,
9051        onOpenChangeComplete: void 0,
9052        triggerElements
9053      };
9054    }
9055  
9056    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
9057    var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
9058    var TooltipRoot = fastComponent(function TooltipRoot2(props) {
9059      const {
9060        disabled: disabled2 = false,
9061        defaultOpen = false,
9062        open: openProp,
9063        disableHoverablePopup = false,
9064        trackCursorAxis = "none",
9065        actionsRef,
9066        onOpenChange,
9067        onOpenChangeComplete,
9068        handle,
9069        triggerId: triggerIdProp,
9070        defaultTriggerId: defaultTriggerIdProp = null,
9071        children
9072      } = props;
9073      const store2 = usePopupRootStore((floatingId, nested) => new TooltipStore({
9074        open: defaultOpen,
9075        openProp,
9076        activeTriggerId: defaultTriggerIdProp,
9077        triggerIdProp
9078      }, floatingId, nested));
9079      store2.useControlledProp("openProp", openProp);
9080      store2.useControlledProp("triggerIdProp", triggerIdProp);
9081      store2.useContextCallback("onOpenChange", onOpenChange);
9082      store2.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
9083      const openState = store2.useState("open");
9084      const open3 = !disabled2 && openState;
9085      const activeTriggerId = store2.useState("activeTriggerId");
9086      const mounted = store2.useState("mounted");
9087      const payload = store2.useState("payload");
9088      store2.useSyncedValues({
9089        trackCursorAxis,
9090        disableHoverablePopup,
9091        disabled: disabled2
9092      });
9093      useImplicitActiveTrigger(store2, {
9094        closeOnActiveTriggerUnmount: true
9095      });
9096      const {
9097        forceUnmount,
9098        transitionStatus
9099      } = useOpenStateTransitions(open3, store2);
9100      const isInstantPhase = store2.useState("isInstantPhase");
9101      const instantType = store2.useState("instantType");
9102      const lastOpenChangeReason = store2.useState("lastOpenChangeReason");
9103      const previousInstantTypeRef = React49.useRef(null);
9104      useIsoLayoutEffect(() => {
9105        if (openState && disabled2) {
9106          store2.setOpen(false, createChangeEventDetails(reason_parts_exports.disabled));
9107        }
9108      }, [openState, disabled2, store2]);
9109      useIsoLayoutEffect(() => {
9110        if (transitionStatus === "ending" && lastOpenChangeReason === reason_parts_exports.none || transitionStatus !== "ending" && isInstantPhase) {
9111          if (instantType !== "delay") {
9112            previousInstantTypeRef.current = instantType;
9113          }
9114          store2.set("instantType", "delay");
9115        } else if (previousInstantTypeRef.current !== null) {
9116          store2.set("instantType", previousInstantTypeRef.current);
9117          previousInstantTypeRef.current = null;
9118        }
9119      }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store2]);
9120      useIsoLayoutEffect(() => {
9121        if (open3) {
9122          if (activeTriggerId == null) {
9123            store2.set("payload", void 0);
9124          }
9125        }
9126      }, [store2, activeTriggerId, open3]);
9127      React49.useImperativeHandle(actionsRef, () => ({
9128        unmount: forceUnmount,
9129        close: () => store2.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction))
9130      }), [forceUnmount, store2]);
9131      const shouldRenderInteractions = open3 || mounted || !disabled2 && trackCursorAxis !== "none";
9132      return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(TooltipRootContext.Provider, {
9133        value: store2,
9134        children: [handle && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(PopupHandleAttachment, {
9135          handle,
9136          store: store2
9137        }), shouldRenderInteractions && /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(TooltipInteractions, {
9138          store: store2,
9139          disabled: disabled2,
9140          trackCursorAxis
9141        }), typeof children === "function" ? children({
9142          payload
9143        }) : children]
9144      });
9145    });
9146    if (true) TooltipRoot.displayName = "TooltipRoot";
9147    function TooltipInteractions({
9148      store: store2,
9149      disabled: disabled2,
9150      trackCursorAxis
9151    }) {
9152      const floatingRootContext = store2.useState("floatingRootContext");
9153      const dismiss = useDismiss(floatingRootContext, {
9154        enabled: !disabled2,
9155        referencePress: () => store2.select("closeOnClick")
9156      });
9157      const clientPoint = useClientPoint(floatingRootContext, {
9158        enabled: !disabled2 && trackCursorAxis !== "none",
9159        axis: trackCursorAxis === "none" ? void 0 : trackCursorAxis
9160      });
9161      const triggerProps = React49.useMemo(() => mergeProps(clientPoint.reference, dismiss.reference), [clientPoint.reference, dismiss.reference]);
9162      usePopupInteractionProps(store2, {
9163        activeTriggerProps: triggerProps,
9164        inactiveTriggerProps: triggerProps,
9165        popupProps: dismiss.floating ?? EMPTY_OBJECT
9166      });
9167      return null;
9168    }
9169  
9170    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
9171    var React51 = __toESM(require_react(), 1);
9172  
9173    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProviderContext.mjs
9174    var React50 = __toESM(require_react(), 1);
9175    var TooltipProviderContext = /* @__PURE__ */ React50.createContext(void 0);
9176    if (true) TooltipProviderContext.displayName = "TooltipProviderContext";
9177    function useTooltipProviderContext() {
9178      return React50.useContext(TooltipProviderContext);
9179    }
9180  
9181    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/utils/constants.mjs
9182    var OPEN_DELAY = 600;
9183  
9184    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
9185    var TOOLTIP_TRIGGER_IDENTIFIER = "data-base-ui-tooltip-trigger";
9186    function getTargetElement(event) {
9187      const target = getTarget(event);
9188      return isElement(target) ? target : null;
9189    }
9190    var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) {
9191      const {
9192        render,
9193        className,
9194        style,
9195        handle,
9196        payload,
9197        disabled: disabledProp,
9198        delay,
9199        closeOnClick = true,
9200        closeDelay,
9201        id: idProp,
9202        ...elementProps
9203      } = componentProps;
9204      const rootContext = useTooltipRootContext(true);
9205      const handleStore = usePopupHandleStore(handle);
9206      const store2 = handleStore ?? rootContext;
9207      if (!store2) {
9208        throw new Error(true ? "Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle." : formatErrorMessage_default(82));
9209      }
9210      const thisTriggerId = useBaseUiId(idProp);
9211      const isTriggerActive = store2.useState("isTriggerActive", thisTriggerId);
9212      const isOpenedByThisTrigger = store2.useState("isOpenedByTrigger", thisTriggerId);
9213      const floatingRootContext = store2.useState("floatingRootContext");
9214      const triggerElementRef = React51.useRef(null);
9215      const closeDelayWithDefault = closeDelay ?? 0;
9216      const {
9217        registerTrigger,
9218        isMountedByThisTrigger
9219      } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store2, {
9220        payload,
9221        closeOnClick,
9222        closeDelay: closeDelayWithDefault
9223      });
9224      const providerDelay = useTooltipProviderContext();
9225      const {
9226        activeIdRef,
9227        delayRef,
9228        isInstantPhase,
9229        hasProvider
9230      } = useDelayGroup(floatingRootContext, {
9231        open: isOpenedByThisTrigger
9232      });
9233      const hoverInteraction = useHoverInteractionSharedState(floatingRootContext);
9234      store2.useSyncedValue("isInstantPhase", isInstantPhase);
9235      const rootDisabled = store2.useState("disabled");
9236      const disabled2 = disabledProp ?? rootDisabled;
9237      const disabledRef = useValueAsRef(disabled2);
9238      const trackCursorAxis = store2.useState("trackCursorAxis");
9239      const disableHoverablePopup = store2.useState("disableHoverablePopup");
9240      const isNestedTriggerHoveredRef = React51.useRef(false);
9241      const nestedTriggerOpenTimeout = useTimeout();
9242      const pointerTypeRef = React51.useRef(void 0);
9243      function getOpenDelay() {
9244        if (hasProvider && activeIdRef.current != null) {
9245          return 0;
9246        }
9247        return delay ?? providerDelay ?? OPEN_DELAY;
9248      }
9249      function isEnabledNestedTriggerTarget(target) {
9250        const triggerEl = triggerElementRef.current;
9251        if (!triggerEl || !target) {
9252          return false;
9253        }
9254        const nearestTrigger = closest(target, `[$TOOLTIP_TRIGGER_IDENTIFIER}]`);
9255        return nearestTrigger !== null && nearestTrigger !== triggerEl && contains(triggerEl, nearestTrigger);
9256      }
9257      function detectNestedTriggerHover(target) {
9258        const nestedTriggerHovered = isEnabledNestedTriggerTarget(target);
9259        isNestedTriggerHoveredRef.current = nestedTriggerHovered;
9260        if (nestedTriggerHovered) {
9261          hoverInteraction.openChangeTimeout.clear();
9262          hoverInteraction.restTimeout.clear();
9263          hoverInteraction.restTimeoutPending = false;
9264          nestedTriggerOpenTimeout.clear();
9265        }
9266        return nestedTriggerHovered;
9267      }
9268      const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
9269        enabled: !disabled2,
9270        mouseOnly: true,
9271        move: false,
9272        handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null,
9273        restMs: getOpenDelay,
9274        delay() {
9275          if (closeDelay == null && hasProvider) {
9276            return {
9277              close: getDelay(delayRef.current, "close")
9278            };
9279          }
9280          return {
9281            close: closeDelayWithDefault
9282          };
9283        },
9284        triggerElementRef,
9285        isActiveTrigger: isTriggerActive,
9286        isClosing: () => store2.select("transitionStatus") === "ending",
9287        shouldOpen() {
9288          return !isNestedTriggerHoveredRef.current;
9289        }
9290      });
9291      const focusProps = useFocus(floatingRootContext, {
9292        enabled: !disabled2
9293      }).reference;
9294      const handleNestedTriggerHover = (event) => {
9295        const wasNestedTriggerHovered = isNestedTriggerHoveredRef.current;
9296        const target = getTargetElement(event);
9297        const nestedTriggerHovered = detectNestedTriggerHover(target);
9298        const triggerEl = triggerElementRef.current;
9299        const targetInsideTrigger = triggerEl && target && contains(triggerEl, target);
9300        if (nestedTriggerHovered && store2.select("open") && store2.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) {
9301          store2.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
9302          return;
9303        }
9304        if (wasNestedTriggerHovered && !nestedTriggerHovered && targetInsideTrigger && !disabledRef.current && !store2.select("open") && triggerEl && // Match the hover hook's non-strict mouse fallback for mouse-only event sequences.
9305        isMouseLikePointerType(pointerTypeRef.current)) {
9306          const open3 = () => {
9307            if (!isNestedTriggerHoveredRef.current && !disabledRef.current && !store2.select("open")) {
9308              store2.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerEl));
9309            }
9310          };
9311          const openDelay = getOpenDelay();
9312          if (openDelay === 0) {
9313            nestedTriggerOpenTimeout.clear();
9314            open3();
9315          } else {
9316            nestedTriggerOpenTimeout.start(openDelay, open3);
9317          }
9318        }
9319      };
9320      const rootTriggerProps = store2.useState("appliedTriggerProps", isMountedByThisTrigger || trackCursorAxis !== "none");
9321      const state = {
9322        open: isOpenedByThisTrigger
9323      };
9324      const element = useRenderElement("button", componentProps, {
9325        state,
9326        ref: [forwardedRef, registerTrigger, triggerElementRef],
9327        props: [hoverProps, focusProps, rootTriggerProps, {
9328          onMouseOver(event) {
9329            handleNestedTriggerHover(event.nativeEvent);
9330          },
9331          onFocus(event) {
9332            if (isEnabledNestedTriggerTarget(getTargetElement(event.nativeEvent))) {
9333              event.preventBaseUIHandler();
9334            }
9335          },
9336          onMouseLeave() {
9337            isNestedTriggerHoveredRef.current = false;
9338            nestedTriggerOpenTimeout.clear();
9339            pointerTypeRef.current = void 0;
9340          },
9341          onPointerEnter(event) {
9342            pointerTypeRef.current = event.pointerType;
9343          },
9344          onPointerDown(event) {
9345            pointerTypeRef.current = event.pointerType;
9346            store2.set("closeOnClick", closeOnClick);
9347            if (closeOnClick && !store2.select("open")) {
9348              store2.cancelPendingOpen(event.nativeEvent);
9349            }
9350          },
9351          onClick(event) {
9352            if (closeOnClick && !store2.select("open")) {
9353              store2.cancelPendingOpen(event.nativeEvent);
9354            }
9355          },
9356          id: thisTriggerId,
9357          [triggerDisabled]: disabled2 ? "" : void 0,
9358          [TOOLTIP_TRIGGER_IDENTIFIER]: disabled2 ? void 0 : ""
9359        }, elementProps],
9360        stateAttributesMapping: triggerOpenStateMapping2
9361      });
9362      return element;
9363    });
9364    if (true) TooltipTrigger.displayName = "TooltipTrigger";
9365  
9366    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
9367    var React53 = __toESM(require_react(), 1);
9368  
9369    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortalContext.mjs
9370    var React52 = __toESM(require_react(), 1);
9371    var TooltipPortalContext = /* @__PURE__ */ React52.createContext(void 0);
9372    if (true) TooltipPortalContext.displayName = "TooltipPortalContext";
9373    function useTooltipPortalContext() {
9374      const value = React52.useContext(TooltipPortalContext);
9375      if (value === void 0) {
9376        throw new Error(true ? "Base UI: <Tooltip.Portal> is missing." : formatErrorMessage_default(70));
9377      }
9378      return value;
9379    }
9380  
9381    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
9382    var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
9383    var TooltipPortal = /* @__PURE__ */ React53.forwardRef(function TooltipPortal2(props, forwardedRef) {
9384      const {
9385        keepMounted = false,
9386        ...portalProps
9387      } = props;
9388      const store2 = useTooltipRootContext();
9389      const mounted = store2.useState("mounted");
9390      const shouldRender = mounted || keepMounted;
9391      if (!shouldRender) {
9392        return null;
9393      }
9394      return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(TooltipPortalContext.Provider, {
9395        value: keepMounted,
9396        children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(FloatingPortalLite, {
9397          ref: forwardedRef,
9398          ...portalProps
9399        })
9400      });
9401    });
9402    if (true) TooltipPortal.displayName = "TooltipPortal";
9403  
9404    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
9405    var React55 = __toESM(require_react(), 1);
9406  
9407    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositionerContext.mjs
9408    var React54 = __toESM(require_react(), 1);
9409    var TooltipPositionerContext = /* @__PURE__ */ React54.createContext(void 0);
9410    if (true) TooltipPositionerContext.displayName = "TooltipPositionerContext";
9411    function useTooltipPositionerContext() {
9412      const context = React54.useContext(TooltipPositionerContext);
9413      if (context === void 0) {
9414        throw new Error(true ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : formatErrorMessage_default(71));
9415      }
9416      return context;
9417    }
9418  
9419    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
9420    var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
9421    var TooltipPositioner = /* @__PURE__ */ React55.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) {
9422      const {
9423        render,
9424        className,
9425        anchor,
9426        positionMethod = "absolute",
9427        side = "top",
9428        align = "center",
9429        sideOffset = 0,
9430        alignOffset = 0,
9431        collisionBoundary = "clipping-ancestors",
9432        collisionPadding = 5,
9433        arrowPadding = 5,
9434        sticky = false,
9435        disableAnchorTracking = false,
9436        collisionAvoidance = POPUP_COLLISION_AVOIDANCE,
9437        style,
9438        ...elementProps
9439      } = componentProps;
9440      const store2 = useTooltipRootContext();
9441      const keepMounted = useTooltipPortalContext();
9442      const open3 = store2.useState("open");
9443      const mounted = store2.useState("mounted");
9444      const trackCursorAxis = store2.useState("trackCursorAxis");
9445      const disableHoverablePopup = store2.useState("disableHoverablePopup");
9446      const floatingRootContext = store2.useState("floatingRootContext");
9447      const instantType = store2.useState("instantType");
9448      const transitionStatus = store2.useState("transitionStatus");
9449      const adaptiveOrigin2 = store2.useState("adaptiveOrigin");
9450      const positioning = useAnchorPositioning({
9451        anchor,
9452        positionMethod,
9453        floatingRootContext,
9454        mounted,
9455        side,
9456        sideOffset,
9457        align,
9458        alignOffset,
9459        collisionBoundary,
9460        collisionPadding,
9461        sticky,
9462        arrowPadding,
9463        disableAnchorTracking,
9464        keepMounted,
9465        collisionAvoidance,
9466        adaptiveOrigin: adaptiveOrigin2
9467      });
9468      const state = React55.useMemo(() => ({
9469        open: open3,
9470        side: positioning.side,
9471        align: positioning.align,
9472        anchorHidden: positioning.anchorHidden,
9473        instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType
9474      }), [open3, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]);
9475      const element = usePositioner(componentProps, state, {
9476        styles: positioning.positionerStyles,
9477        transitionStatus,
9478        props: elementProps,
9479        refs: [forwardedRef, store2.useStateSetter("positionerElement")],
9480        hidden: !mounted,
9481        inert: !open3 || trackCursorAxis === "both" || disableHoverablePopup
9482      });
9483      return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(TooltipPositionerContext.Provider, {
9484        value: positioning,
9485        children: element
9486      });
9487    });
9488    if (true) TooltipPositioner.displayName = "TooltipPositioner";
9489  
9490    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/popup/TooltipPopup.mjs
9491    var React56 = __toESM(require_react(), 1);
9492    var TooltipPopup = /* @__PURE__ */ React56.forwardRef(function TooltipPopup2(componentProps, forwardedRef) {
9493      const {
9494        render,
9495        className,
9496        style,
9497        ...elementProps
9498      } = componentProps;
9499      const store2 = useTooltipRootContext();
9500      const {
9501        side,
9502        align
9503      } = useTooltipPositionerContext();
9504      const open3 = store2.useState("open");
9505      const instantType = store2.useState("instantType");
9506      const transitionStatus = store2.useState("transitionStatus");
9507      const popupProps = store2.useState("popupProps");
9508      const floatingContext = store2.useState("floatingRootContext");
9509      const disabled2 = store2.useState("disabled");
9510      const closeDelay = store2.useState("closeDelay");
9511      useOpenChangeComplete({
9512        open: open3,
9513        ref: store2.context.popupRef,
9514        onComplete() {
9515          if (open3) {
9516            store2.context.onOpenChangeComplete?.(true);
9517          }
9518        }
9519      });
9520      useHoverFloatingInteraction(floatingContext, {
9521        enabled: !disabled2,
9522        closeDelay
9523      });
9524      const setPopupElement = store2.useStateSetter("popupElement");
9525      const state = {
9526        open: open3,
9527        side,
9528        align,
9529        instant: instantType,
9530        transitionStatus
9531      };
9532      const element = useRenderElement("div", componentProps, {
9533        state,
9534        ref: [forwardedRef, store2.context.popupRef, setPopupElement],
9535        props: [FOCUSABLE_POPUP_PROPS, popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps],
9536        stateAttributesMapping: popupTransitionStateMapping
9537      });
9538      return element;
9539    });
9540    if (true) TooltipPopup.displayName = "TooltipPopup";
9541  
9542    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/arrow/TooltipArrow.mjs
9543    var React57 = __toESM(require_react(), 1);
9544    var TooltipArrow = /* @__PURE__ */ React57.forwardRef(function TooltipArrow2(componentProps, forwardedRef) {
9545      const {
9546        render,
9547        className,
9548        style,
9549        ...elementProps
9550      } = componentProps;
9551      const store2 = useTooltipRootContext();
9552      const {
9553        arrowRef,
9554        side,
9555        align,
9556        arrowUncentered,
9557        arrowStyles
9558      } = useTooltipPositionerContext();
9559      const open3 = store2.useState("open");
9560      const instantType = store2.useState("instantType");
9561      const state = {
9562        open: open3,
9563        side,
9564        align,
9565        uncentered: arrowUncentered,
9566        instant: instantType
9567      };
9568      const element = useRenderElement("div", componentProps, {
9569        state,
9570        ref: [forwardedRef, arrowRef],
9571        props: [{
9572          style: arrowStyles,
9573          "aria-hidden": true
9574        }, elementProps],
9575        stateAttributesMapping: popupStateMapping
9576      });
9577      return element;
9578    });
9579    if (true) TooltipArrow.displayName = "TooltipArrow";
9580  
9581    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProvider.mjs
9582    var React58 = __toESM(require_react(), 1);
9583    var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
9584    var TooltipProvider = function TooltipProvider2(props) {
9585      const {
9586        delay,
9587        closeDelay,
9588        timeout = 400
9589      } = props;
9590      const delayValue = React58.useMemo(() => ({
9591        open: delay,
9592        close: closeDelay
9593      }), [delay, closeDelay]);
9594      return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(TooltipProviderContext.Provider, {
9595        value: delay,
9596        children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(FloatingDelayGroup, {
9597          delay: delayValue,
9598          timeoutMs: timeout,
9599          children: props.children
9600        })
9601      });
9602    };
9603    if (true) TooltipProvider.displayName = "TooltipProvider";
9604  
9605    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs
9606    var React59 = __toESM(require_react(), 1);
9607    var TooltipViewport = /* @__PURE__ */ React59.forwardRef(function TooltipViewport2(componentProps, forwardedRef) {
9608      const {
9609        render,
9610        className,
9611        style,
9612        children,
9613        ...elementProps
9614      } = componentProps;
9615      const store2 = useTooltipRootContext();
9616      const positioner = useTooltipPositionerContext();
9617      const instantType = store2.useState("instantType");
9618      const {
9619        children: childrenToRender,
9620        state: viewportState
9621      } = usePopupViewport({
9622        store: store2,
9623        side: positioner.side,
9624        children
9625      });
9626      const state = {
9627        activationDirection: viewportState.activationDirection,
9628        transitioning: viewportState.transitioning,
9629        instant: instantType
9630      };
9631      return useRenderElement("div", componentProps, {
9632        state,
9633        ref: forwardedRef,
9634        props: [elementProps, {
9635          children: childrenToRender
9636        }],
9637        stateAttributesMapping: popupViewportStateMapping
9638      });
9639    });
9640    if (true) TooltipViewport.displayName = "TooltipViewport";
9641  
9642    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipHandle.mjs
9643    var TooltipHandle = class extends BasePopupHandle {
9644      constructor() {
9645        super(createNullTooltipStore(), "Tooltip");
9646      }
9647      /**
9648       * Opens the tooltip and associates it with the trigger with the given id.
9649       *
9650       * This method should only be called in an event handler or an effect (not during rendering).
9651       *
9652       * @param triggerId ID of the trigger to associate with the tooltip. The trigger must be a matching
9653       * `Tooltip.Trigger` with this handle passed as a prop.
9654       */
9655      open(triggerId) {
9656        this.openByTrigger(triggerId);
9657      }
9658      /**
9659       * Closes the tooltip.
9660       *
9661       * This method should only be called in an event handler or an effect (not during rendering).
9662       */
9663      close() {
9664        this.closePopup();
9665      }
9666      /**
9667       * Whether the tooltip is currently open. Returns `false` while no root is attached to the handle.
9668       */
9669      get isOpen() {
9670        return this.attachedStore?.select("open") ?? false;
9671      }
9672    };
9673    function createTooltipHandle() {
9674      return new TooltipHandle();
9675    }
9676  
9677    // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
9678    function useRender(params) {
9679      return useRenderElement(params.defaultTagName ?? "div", params, params);
9680    }
9681  
9682    // packages/ui/build-module/text/text.mjs
9683    var import_element11 = __toESM(require_element(), 1);
9684    var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
9685    function getRuntime() {
9686      const globalScope = globalThis;
9687      if (globalScope.__wpStyleRuntime) {
9688        return globalScope.__wpStyleRuntime;
9689      }
9690      globalScope.__wpStyleRuntime = {
9691        documents: /* @__PURE__ */ new Map(),
9692        styles: /* @__PURE__ */ new Map(),
9693        injectedStyles: /* @__PURE__ */ new WeakMap()
9694      };
9695      if (typeof document !== "undefined") {
9696        registerDocument(document);
9697      }
9698      return globalScope.__wpStyleRuntime;
9699    }
9700    function documentContainsStyleHash(targetDocument, hash) {
9701      if (!targetDocument.head) {
9702        return false;
9703      }
9704      for (const style of targetDocument.head.querySelectorAll(
9705        `style[$STYLE_HASH_ATTRIBUTE}]`
9706      )) {
9707        if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
9708          return true;
9709        }
9710      }
9711      return false;
9712    }
9713    function injectStyle(targetDocument, hash, css) {
9714      if (!targetDocument.head) {
9715        return;
9716      }
9717      const runtime = getRuntime();
9718      let injectedStyles = runtime.injectedStyles.get(targetDocument);
9719      if (!injectedStyles) {
9720        injectedStyles = /* @__PURE__ */ new Set();
9721        runtime.injectedStyles.set(targetDocument, injectedStyles);
9722      }
9723      if (injectedStyles.has(hash)) {
9724        return;
9725      }
9726      if (documentContainsStyleHash(targetDocument, hash)) {
9727        injectedStyles.add(hash);
9728        return;
9729      }
9730      const style = targetDocument.createElement("style");
9731      style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
9732      style.appendChild(targetDocument.createTextNode(css));
9733      targetDocument.head.appendChild(style);
9734      injectedStyles.add(hash);
9735    }
9736    function registerDocument(targetDocument) {
9737      const runtime = getRuntime();
9738      runtime.documents.set(
9739        targetDocument,
9740        (runtime.documents.get(targetDocument) ?? 0) + 1
9741      );
9742      for (const [hash, css] of runtime.styles) {
9743        injectStyle(targetDocument, hash, css);
9744      }
9745      return () => {
9746        const count = runtime.documents.get(targetDocument);
9747        if (count === void 0) {
9748          return;
9749        }
9750        if (count <= 1) {
9751          runtime.documents.delete(targetDocument);
9752          return;
9753        }
9754        runtime.documents.set(targetDocument, count - 1);
9755      };
9756    }
9757    function registerStyle(hash, css) {
9758      const runtime = getRuntime();
9759      runtime.styles.set(hash, css);
9760      for (const targetDocument of runtime.documents.keys()) {
9761        injectStyle(targetDocument, hash, css);
9762      }
9763    }
9764    if (typeof process === "undefined" || true) {
9765      registerStyle("3167e7d116", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{text-wrap:pretty;margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
9766    }
9767    var style_default = { "text": "_83ed8a8da5dd50ea__text", "heading-2xl": "_14437cfb77831647__heading-2xl", "heading-xl": "_3c78b7fa9b4072dd__heading-xl", "heading-lg": "aa58f227716bcde2__heading-lg", "heading-md": "fc4da56d8dfe52c4__heading-md", "heading-sm": "a9b78c7c82e8dff7__heading-sm", "body-xl": "_305ff559e52180d5__body-xl", "body-lg": "ca1aa3fc2029e958__body-lg", "body-md": "_131101940be12424__body-md", "body-sm": "_0e8d87a42c1f75fa__body-sm" };
9768    if (typeof process === "undefined" || true) {
9769      registerStyle("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
9770    }
9771    var global_css_defense_default = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
9772    var Text = (0, import_element11.forwardRef)(
9773      function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
9774        const element = useRender({
9775          render,
9776          defaultTagName: "span",
9777          ref,
9778          props: mergeProps(props, {
9779            className: clsx_default(
9780              style_default.text,
9781              global_css_defense_default.heading,
9782              global_css_defense_default.p,
9783              style_default[variant],
9784              className
9785            )
9786          })
9787        });
9788        return element;
9789      }
9790    );
9791  
9792    // packages/ui/build-module/button/button.mjs
9793    var import_a11y = __toESM(require_a11y(), 1);
9794    var import_element13 = __toESM(require_element(), 1);
9795    var import_i18n = __toESM(require_i18n(), 1);
9796  
9797    // packages/ui/build-module/spinner/spinner.mjs
9798    var import_element12 = __toESM(require_element(), 1);
9799    var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
9800    var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
9801    function getRuntime2() {
9802      const globalScope = globalThis;
9803      if (globalScope.__wpStyleRuntime) {
9804        return globalScope.__wpStyleRuntime;
9805      }
9806      globalScope.__wpStyleRuntime = {
9807        documents: /* @__PURE__ */ new Map(),
9808        styles: /* @__PURE__ */ new Map(),
9809        injectedStyles: /* @__PURE__ */ new WeakMap()
9810      };
9811      if (typeof document !== "undefined") {
9812        registerDocument2(document);
9813      }
9814      return globalScope.__wpStyleRuntime;
9815    }
9816    function documentContainsStyleHash2(targetDocument, hash) {
9817      if (!targetDocument.head) {
9818        return false;
9819      }
9820      for (const style of targetDocument.head.querySelectorAll(
9821        `style[$STYLE_HASH_ATTRIBUTE2}]`
9822      )) {
9823        if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
9824          return true;
9825        }
9826      }
9827      return false;
9828    }
9829    function injectStyle2(targetDocument, hash, css) {
9830      if (!targetDocument.head) {
9831        return;
9832      }
9833      const runtime = getRuntime2();
9834      let injectedStyles = runtime.injectedStyles.get(targetDocument);
9835      if (!injectedStyles) {
9836        injectedStyles = /* @__PURE__ */ new Set();
9837        runtime.injectedStyles.set(targetDocument, injectedStyles);
9838      }
9839      if (injectedStyles.has(hash)) {
9840        return;
9841      }
9842      if (documentContainsStyleHash2(targetDocument, hash)) {
9843        injectedStyles.add(hash);
9844        return;
9845      }
9846      const style = targetDocument.createElement("style");
9847      style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
9848      style.appendChild(targetDocument.createTextNode(css));
9849      targetDocument.head.appendChild(style);
9850      injectedStyles.add(hash);
9851    }
9852    function registerDocument2(targetDocument) {
9853      const runtime = getRuntime2();
9854      runtime.documents.set(
9855        targetDocument,
9856        (runtime.documents.get(targetDocument) ?? 0) + 1
9857      );
9858      for (const [hash, css] of runtime.styles) {
9859        injectStyle2(targetDocument, hash, css);
9860      }
9861      return () => {
9862        const count = runtime.documents.get(targetDocument);
9863        if (count === void 0) {
9864          return;
9865        }
9866        if (count <= 1) {
9867          runtime.documents.delete(targetDocument);
9868          return;
9869        }
9870        runtime.documents.set(targetDocument, count - 1);
9871      };
9872    }
9873    function registerStyle2(hash, css) {
9874      const runtime = getRuntime2();
9875      runtime.styles.set(hash, css);
9876      for (const targetDocument of runtime.documents.keys()) {
9877        injectStyle2(targetDocument, hash, css);
9878      }
9879    }
9880    if (typeof process === "undefined" || true) {
9881      registerStyle2("bc09fb824f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.ab4d64c07c0ba587__spinner{background-color:transparent;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:inline-block;height:var(--wpds-dimension-size-2xs,16px);opacity:1;overflow:visible;position:relative;width:var(--wpds-dimension-size-2xs,16px)}.a7654e10245bb7d2__indicator{fill:transparent;stroke:currentColor;stroke-width:var(--wpds-border-width-sm,2px);stroke-linecap:round;transform-origin:50% 50%;@media (forced-colors:active){stroke:CanvasText}animation:_02322d973909703c__spinner-spin 1.4s linear infinite both}@keyframes _02322d973909703c__spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}}");
9882    }
9883    var style_default2 = { "spinner": "ab4d64c07c0ba587__spinner", "indicator": "a7654e10245bb7d2__indicator", "spinner-spin": "_02322d973909703c__spinner-spin" };
9884    var Spinner = (0, import_element12.forwardRef)(
9885      function UnforwardedSpinner({ className, color, style, ...props }, ref) {
9886        return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
9887          "svg",
9888          {
9889            className: clsx_default(style_default2.spinner, className),
9890            style: color === void 0 ? style : { ...style, color },
9891            viewBox: "0 0 100 100",
9892            xmlns: "http://www.w3.org/2000/svg",
9893            role: "presentation",
9894            focusable: "false",
9895            ...props,
9896            ref,
9897            children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
9898              "path",
9899              {
9900                className: style_default2.indicator,
9901                d: "m 50 0 a 50 50 0 0 1 0 100",
9902                vectorEffect: "non-scaling-stroke"
9903              }
9904            )
9905          }
9906        );
9907      }
9908    );
9909  
9910    // packages/ui/build-module/button/button.mjs
9911    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
9912    var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
9913    function getRuntime3() {
9914      const globalScope = globalThis;
9915      if (globalScope.__wpStyleRuntime) {
9916        return globalScope.__wpStyleRuntime;
9917      }
9918      globalScope.__wpStyleRuntime = {
9919        documents: /* @__PURE__ */ new Map(),
9920        styles: /* @__PURE__ */ new Map(),
9921        injectedStyles: /* @__PURE__ */ new WeakMap()
9922      };
9923      if (typeof document !== "undefined") {
9924        registerDocument3(document);
9925      }
9926      return globalScope.__wpStyleRuntime;
9927    }
9928    function documentContainsStyleHash3(targetDocument, hash) {
9929      if (!targetDocument.head) {
9930        return false;
9931      }
9932      for (const style of targetDocument.head.querySelectorAll(
9933        `style[$STYLE_HASH_ATTRIBUTE3}]`
9934      )) {
9935        if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
9936          return true;
9937        }
9938      }
9939      return false;
9940    }
9941    function injectStyle3(targetDocument, hash, css) {
9942      if (!targetDocument.head) {
9943        return;
9944      }
9945      const runtime = getRuntime3();
9946      let injectedStyles = runtime.injectedStyles.get(targetDocument);
9947      if (!injectedStyles) {
9948        injectedStyles = /* @__PURE__ */ new Set();
9949        runtime.injectedStyles.set(targetDocument, injectedStyles);
9950      }
9951      if (injectedStyles.has(hash)) {
9952        return;
9953      }
9954      if (documentContainsStyleHash3(targetDocument, hash)) {
9955        injectedStyles.add(hash);
9956        return;
9957      }
9958      const style = targetDocument.createElement("style");
9959      style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
9960      style.appendChild(targetDocument.createTextNode(css));
9961      targetDocument.head.appendChild(style);
9962      injectedStyles.add(hash);
9963    }
9964    function registerDocument3(targetDocument) {
9965      const runtime = getRuntime3();
9966      runtime.documents.set(
9967        targetDocument,
9968        (runtime.documents.get(targetDocument) ?? 0) + 1
9969      );
9970      for (const [hash, css] of runtime.styles) {
9971        injectStyle3(targetDocument, hash, css);
9972      }
9973      return () => {
9974        const count = runtime.documents.get(targetDocument);
9975        if (count === void 0) {
9976          return;
9977        }
9978        if (count <= 1) {
9979          runtime.documents.delete(targetDocument);
9980          return;
9981        }
9982        runtime.documents.set(targetDocument, count - 1);
9983      };
9984    }
9985    function registerStyle3(hash, css) {
9986      const runtime = getRuntime3();
9987      runtime.styles.set(hash, css);
9988      for (const targetDocument of runtime.documents.keys()) {
9989        injectStyle3(targetDocument, hash, css);
9990      }
9991    }
9992    if (typeof process === "undefined" || true) {
9993      registerStyle3("7d9151d891", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._1322fe375ff021a3__spinner){opacity:0}}}@layer compositions{._1322fe375ff021a3__spinner{color:var(--wp-ui-button-foreground-color);height:var(--wp-ui-button-font-size);inset:0;margin:auto;pointer-events:none;position:absolute;width:var(--wp-ui-button-font-size);@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
9994    }
9995    var style_default3 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "spinner": "_1322fe375ff021a3__spinner" };
9996    if (typeof process === "undefined" || true) {
9997      registerStyle3("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
9998    }
9999    var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
10000    if (typeof process === "undefined" || true) {
10001      registerStyle3("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
10002    }
10003    var focus_module_default = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
10004    if (typeof process === "undefined" || true) {
10005      registerStyle3("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
10006    }
10007    var global_css_defense_default2 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
10008    var Button3 = (0, import_element13.forwardRef)(
10009      function UnforwardedButton({
10010        tone = "brand",
10011        variant = "solid",
10012        size: size4 = "default",
10013        className,
10014        focusableWhenDisabled = true,
10015        disabled: disabled2,
10016        loading,
10017        loadingAnnouncement = (0, import_i18n.__)("Loading"),
10018        children,
10019        ...props
10020      }, ref) {
10021        const mergedClassName = clsx_default(
10022          global_css_defense_default2.button,
10023          resets_default["box-sizing"],
10024          focus_module_default["outset-ring--focus-except-active"],
10025          variant !== "unstyled" && style_default3.button,
10026          style_default3[`is-$tone}`],
10027          style_default3[`is-$variant}`],
10028          style_default3[`is-$size4}`],
10029          loading && style_default3["is-loading"],
10030          className
10031        );
10032        (0, import_element13.useEffect)(() => {
10033          if (loading && loadingAnnouncement) {
10034            (0, import_a11y.speak)(loadingAnnouncement);
10035          }
10036        }, [loading, loadingAnnouncement]);
10037        return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
10038          Button,
10039          {
10040            ref,
10041            className: mergedClassName,
10042            focusableWhenDisabled,
10043            disabled: disabled2 ?? loading,
10044            ...props,
10045            children: [
10046              children,
10047              loading && variant !== "unstyled" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Spinner, { className: style_default3.spinner })
10048            ]
10049          }
10050        );
10051      }
10052    );
10053  
10054    // packages/ui/build-module/button/icon.mjs
10055    var import_element14 = __toESM(require_element(), 1);
10056    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
10057    var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
10058    function getRuntime4() {
10059      const globalScope = globalThis;
10060      if (globalScope.__wpStyleRuntime) {
10061        return globalScope.__wpStyleRuntime;
10062      }
10063      globalScope.__wpStyleRuntime = {
10064        documents: /* @__PURE__ */ new Map(),
10065        styles: /* @__PURE__ */ new Map(),
10066        injectedStyles: /* @__PURE__ */ new WeakMap()
10067      };
10068      if (typeof document !== "undefined") {
10069        registerDocument4(document);
10070      }
10071      return globalScope.__wpStyleRuntime;
10072    }
10073    function documentContainsStyleHash4(targetDocument, hash) {
10074      if (!targetDocument.head) {
10075        return false;
10076      }
10077      for (const style of targetDocument.head.querySelectorAll(
10078        `style[$STYLE_HASH_ATTRIBUTE4}]`
10079      )) {
10080        if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
10081          return true;
10082        }
10083      }
10084      return false;
10085    }
10086    function injectStyle4(targetDocument, hash, css) {
10087      if (!targetDocument.head) {
10088        return;
10089      }
10090      const runtime = getRuntime4();
10091      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10092      if (!injectedStyles) {
10093        injectedStyles = /* @__PURE__ */ new Set();
10094        runtime.injectedStyles.set(targetDocument, injectedStyles);
10095      }
10096      if (injectedStyles.has(hash)) {
10097        return;
10098      }
10099      if (documentContainsStyleHash4(targetDocument, hash)) {
10100        injectedStyles.add(hash);
10101        return;
10102      }
10103      const style = targetDocument.createElement("style");
10104      style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
10105      style.appendChild(targetDocument.createTextNode(css));
10106      targetDocument.head.appendChild(style);
10107      injectedStyles.add(hash);
10108    }
10109    function registerDocument4(targetDocument) {
10110      const runtime = getRuntime4();
10111      runtime.documents.set(
10112        targetDocument,
10113        (runtime.documents.get(targetDocument) ?? 0) + 1
10114      );
10115      for (const [hash, css] of runtime.styles) {
10116        injectStyle4(targetDocument, hash, css);
10117      }
10118      return () => {
10119        const count = runtime.documents.get(targetDocument);
10120        if (count === void 0) {
10121          return;
10122        }
10123        if (count <= 1) {
10124          runtime.documents.delete(targetDocument);
10125          return;
10126        }
10127        runtime.documents.set(targetDocument, count - 1);
10128      };
10129    }
10130    function registerStyle4(hash, css) {
10131      const runtime = getRuntime4();
10132      runtime.styles.set(hash, css);
10133      for (const targetDocument of runtime.documents.keys()) {
10134        injectStyle4(targetDocument, hash, css);
10135      }
10136    }
10137    if (typeof process === "undefined" || true) {
10138      registerStyle4("7d9151d891", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._1322fe375ff021a3__spinner){opacity:0}}}@layer compositions{._1322fe375ff021a3__spinner{color:var(--wp-ui-button-foreground-color);height:var(--wp-ui-button-font-size);inset:0;margin:auto;pointer-events:none;position:absolute;width:var(--wp-ui-button-font-size);@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
10139    }
10140    var style_default4 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "spinner": "_1322fe375ff021a3__spinner" };
10141    var ButtonIcon = (0, import_element14.forwardRef)(
10142      function UnforwardedButtonIcon({ className, icon, ...props }, ref) {
10143        return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
10144          Icon,
10145          {
10146            ref,
10147            icon,
10148            className: clsx_default(style_default4.icon, className),
10149            size: 24,
10150            ...props
10151          }
10152        );
10153      }
10154    );
10155  
10156    // packages/ui/build-module/button/index.mjs
10157    ButtonIcon.displayName = "Button.Icon";
10158    var Button4 = Object.assign(Button3, {
10159      /**
10160       * An icon component specifically designed to work well when rendered inside
10161       * a `Button` component.
10162       */
10163      Icon: ButtonIcon
10164    });
10165  
10166    // packages/icons/build-module/library/caution.mjs
10167    var import_primitives2 = __toESM(require_primitives(), 1);
10168    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
10169    var caution_default = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives2.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_primitives2.Path, { d: "M12 8L12 13M12 14.5L12 16M4.75 12C4.75 7.99593 7.99594 4.75 12 4.75C16.0041 4.75 19.25 7.99594 19.25 12C19.25 16.0041 16.0041 19.25 12 19.25C7.99594 19.25 4.75 16.0041 4.75 12Z", strokeLinejoin: "round" }) });
10170  
10171    // packages/icons/build-module/library/chevron-down.mjs
10172    var import_primitives3 = __toESM(require_primitives(), 1);
10173    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
10174    var chevron_down_default = /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives3.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_primitives3.Path, { d: "M7 11L12 15L17 11" }) });
10175  
10176    // packages/icons/build-module/library/close-small.mjs
10177    var import_primitives4 = __toESM(require_primitives(), 1);
10178    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
10179    var close_small_default = /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives4.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_primitives4.Path, { d: "M7.75 16.25L16.25 7.75M16.25 16.25L7.75 7.75" }) });
10180  
10181    // packages/icons/build-module/library/error.mjs
10182    var import_primitives5 = __toESM(require_primitives(), 1);
10183    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
10184    var error_default = /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_primitives5.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_primitives5.Path, { d: "M12 9L12 14M12 15.5V17M11.1284 5.04947L3.83827 18.0097C3.46331 18.6763 3.94502 19.5 4.70985 19.5H19.2902C20.055 19.5 20.5367 18.6763 20.1617 18.0097L12.8716 5.04947C12.4893 4.36982 11.5107 4.36982 11.1284 5.04947Z" }) });
10185  
10186    // packages/icons/build-module/library/external.mjs
10187    var import_primitives6 = __toESM(require_primitives(), 1);
10188    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
10189    var external_default = /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_primitives6.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(import_primitives6.Path, { d: "M9.5 6.25H6.5C5.80964 6.25 5.25 6.80964 5.25 7.5V17.5C5.25 18.1904 5.80964 18.75 6.5 18.75H16.5C17.1904 18.75 17.75 18.1904 17.75 17.5V14.5M11.5 12.5L18.75 5.25M12.5 5.25H18.75V11.5" }) });
10190  
10191    // packages/icons/build-module/library/info.mjs
10192    var import_primitives7 = __toESM(require_primitives(), 1);
10193    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
10194    var info_default = /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_primitives7.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_primitives7.Path, { d: "M12 16V11M12 9.5V8M19.25 12C19.25 16.0041 16.0041 19.25 12 19.25C7.99594 19.25 4.75 16.0041 4.75 12C4.75 7.99594 7.99594 4.75 12 4.75C16.0041 4.75 19.25 7.99594 19.25 12Z", strokeLinejoin: "round" }) });
10195  
10196    // packages/icons/build-module/library/more-vertical.mjs
10197    var import_primitives8 = __toESM(require_primitives(), 1);
10198    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
10199    var more_vertical_default = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_primitives8.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
10200      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 18.25L12.25 18.25L12.25 17.75L11.75 17.75L11.75 18.25Z", fill: "currentColor", stroke: "none" }),
10201      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 12.25L12.25 12.25L12.25 11.75L11.75 11.75L11.75 12.25Z", fill: "currentColor", stroke: "none" }),
10202      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 6.25L12.25 6.25L12.25 5.75L11.75 5.75L11.75 6.25Z", fill: "currentColor", stroke: "none" }),
10203      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 18.25L12.25 18.25L12.25 17.75L11.75 17.75L11.75 18.25Z" }),
10204      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 12.25L12.25 12.25L12.25 11.75L11.75 11.75L11.75 12.25Z" }),
10205      /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_primitives8.Path, { d: "M11.75 6.25L12.25 6.25L12.25 5.75L11.75 5.75L11.75 6.25Z" })
10206    ] });
10207  
10208    // packages/icons/build-module/library/plus.mjs
10209    var import_primitives9 = __toESM(require_primitives(), 1);
10210    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
10211    var plus_default = /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_primitives9.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_primitives9.Path, { d: "M12 18V6M18 12H6" }) });
10212  
10213    // packages/icons/build-module/library/published.mjs
10214    var import_primitives10 = __toESM(require_primitives(), 1);
10215    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
10216    var published_default = /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_primitives10.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: [
10217      /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_primitives10.Path, { d: "M12 19.25C16.0041 19.25 19.25 16.0041 19.25 12C19.25 7.99594 16.0041 4.75 12 4.75C7.99594 4.75 4.75 7.99594 4.75 12C4.75 16.0041 7.99594 19.25 12 19.25Z", strokeLinejoin: "round" }),
10218      /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_primitives10.Path, { d: "M9 12L11 14L15 10" })
10219    ] });
10220  
10221    // packages/icons/build-module/library/redo.mjs
10222    var import_primitives11 = __toESM(require_primitives(), 1);
10223    var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
10224    var redo_default = /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_primitives11.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_primitives11.Path, { d: "M15 15L18.5 11L15 7M18.5 11H8C5 11 4.75 13.8 4.75 17" }) });
10225  
10226    // packages/icons/build-module/library/undo.mjs
10227    var import_primitives12 = __toESM(require_primitives(), 1);
10228    var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
10229    var undo_default = /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_primitives12.SVG, { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", style: { fill: "none" }, stroke: "currentColor", strokeWidth: "1.5", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_primitives12.Path, { d: "M8.25 15L4.75 11L8.25 7M4.75 11H15.25C18.25 11 18.5 13.8 18.5 17" }) });
10230  
10231    // packages/ui/build-module/utils/keyboard-shortcut.mjs
10232    var import_element16 = __toESM(require_element(), 1);
10233    var import_i18n2 = __toESM(require_i18n(), 1);
10234  
10235    // packages/ui/build-module/visually-hidden/visually-hidden.mjs
10236    var import_element15 = __toESM(require_element(), 1);
10237    var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
10238    function getRuntime5() {
10239      const globalScope = globalThis;
10240      if (globalScope.__wpStyleRuntime) {
10241        return globalScope.__wpStyleRuntime;
10242      }
10243      globalScope.__wpStyleRuntime = {
10244        documents: /* @__PURE__ */ new Map(),
10245        styles: /* @__PURE__ */ new Map(),
10246        injectedStyles: /* @__PURE__ */ new WeakMap()
10247      };
10248      if (typeof document !== "undefined") {
10249        registerDocument5(document);
10250      }
10251      return globalScope.__wpStyleRuntime;
10252    }
10253    function documentContainsStyleHash5(targetDocument, hash) {
10254      if (!targetDocument.head) {
10255        return false;
10256      }
10257      for (const style of targetDocument.head.querySelectorAll(
10258        `style[$STYLE_HASH_ATTRIBUTE5}]`
10259      )) {
10260        if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
10261          return true;
10262        }
10263      }
10264      return false;
10265    }
10266    function injectStyle5(targetDocument, hash, css) {
10267      if (!targetDocument.head) {
10268        return;
10269      }
10270      const runtime = getRuntime5();
10271      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10272      if (!injectedStyles) {
10273        injectedStyles = /* @__PURE__ */ new Set();
10274        runtime.injectedStyles.set(targetDocument, injectedStyles);
10275      }
10276      if (injectedStyles.has(hash)) {
10277        return;
10278      }
10279      if (documentContainsStyleHash5(targetDocument, hash)) {
10280        injectedStyles.add(hash);
10281        return;
10282      }
10283      const style = targetDocument.createElement("style");
10284      style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
10285      style.appendChild(targetDocument.createTextNode(css));
10286      targetDocument.head.appendChild(style);
10287      injectedStyles.add(hash);
10288    }
10289    function registerDocument5(targetDocument) {
10290      const runtime = getRuntime5();
10291      runtime.documents.set(
10292        targetDocument,
10293        (runtime.documents.get(targetDocument) ?? 0) + 1
10294      );
10295      for (const [hash, css] of runtime.styles) {
10296        injectStyle5(targetDocument, hash, css);
10297      }
10298      return () => {
10299        const count = runtime.documents.get(targetDocument);
10300        if (count === void 0) {
10301          return;
10302        }
10303        if (count <= 1) {
10304          runtime.documents.delete(targetDocument);
10305          return;
10306        }
10307        runtime.documents.set(targetDocument, count - 1);
10308      };
10309    }
10310    function registerStyle5(hash, css) {
10311      const runtime = getRuntime5();
10312      runtime.styles.set(hash, css);
10313      for (const targetDocument of runtime.documents.keys()) {
10314        injectStyle5(targetDocument, hash, css);
10315      }
10316    }
10317    if (typeof process === "undefined" || true) {
10318      registerStyle5("15abcab4d0", ".f37b9e2e191ebd66__visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal;padding:0;position:absolute;width:1px;word-break:normal}");
10319    }
10320    var style_default5 = { "visually-hidden": "f37b9e2e191ebd66__visually-hidden" };
10321    var VisuallyHidden = (0, import_element15.forwardRef)(
10322      function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
10323        const element = useRender({
10324          render,
10325          ref,
10326          props: mergeProps(
10327            { className: style_default5["visually-hidden"] },
10328            restProps,
10329            {
10330              // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
10331              "data-visually-hidden": ""
10332            }
10333          )
10334        });
10335        return element;
10336      }
10337    );
10338  
10339    // packages/ui/build-module/utils/keyboard-shortcut.mjs
10340    var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
10341    function useKeyboardShortcutProps({
10342      "aria-describedby": ariaDescribedBy,
10343      "aria-keyshortcuts": ariaKeyShortcuts,
10344      shortcut
10345    }) {
10346      const generatedDescriptionId = (0, import_element16.useId)();
10347      const descriptionId = shortcut ? generatedDescriptionId : void 0;
10348      const describedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ");
10349      return {
10350        descriptionId,
10351        targetProps: {
10352          "aria-describedby": describedBy || void 0,
10353          "aria-keyshortcuts": shortcut?.ariaKeyShortcut ?? ariaKeyShortcuts
10354        }
10355      };
10356    }
10357    var KeyboardShortcutDescription = (0, import_element16.forwardRef)(function UnforwardedKeyboardShortcutDescription({ descriptionId, shortcut }, ref) {
10358      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
10359        VisuallyHidden,
10360        {
10361          id: descriptionId,
10362          "aria-hidden": "true",
10363          render: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { ref }),
10364          children: (0, import_i18n2.sprintf)(
10365            /* translators: %s: keyboard shortcut. */
10366            (0, import_i18n2.__)("Keyboard shortcut: %s"),
10367            shortcut.label ?? shortcut.ariaKeyShortcut
10368          )
10369        }
10370      );
10371    });
10372    var KeyboardShortcutDisplay = (0, import_element16.forwardRef)(function UnforwardedKeyboardShortcutDisplay({ className, shortcut }, ref) {
10373      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { ref, "aria-hidden": "true", className, dir: "ltr", children: shortcut.displayShortcut });
10374    });
10375  
10376    // packages/ui/build-module/utils/render-slot-with-children.mjs
10377    var import_element17 = __toESM(require_element(), 1);
10378    function renderSlotWithChildren(slot, defaultSlot, children) {
10379      return (0, import_element17.cloneElement)(
10380        slot ?? defaultSlot,
10381        { children }
10382      );
10383    }
10384  
10385    // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
10386    var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
10387    function getRuntime6() {
10388      const globalScope = globalThis;
10389      if (globalScope.__wpStyleRuntime) {
10390        return globalScope.__wpStyleRuntime;
10391      }
10392      globalScope.__wpStyleRuntime = {
10393        documents: /* @__PURE__ */ new Map(),
10394        styles: /* @__PURE__ */ new Map(),
10395        injectedStyles: /* @__PURE__ */ new WeakMap()
10396      };
10397      if (typeof document !== "undefined") {
10398        registerDocument6(document);
10399      }
10400      return globalScope.__wpStyleRuntime;
10401    }
10402    function documentContainsStyleHash6(targetDocument, hash) {
10403      if (!targetDocument.head) {
10404        return false;
10405      }
10406      for (const style of targetDocument.head.querySelectorAll(
10407        `style[$STYLE_HASH_ATTRIBUTE6}]`
10408      )) {
10409        if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
10410          return true;
10411        }
10412      }
10413      return false;
10414    }
10415    function injectStyle6(targetDocument, hash, css) {
10416      if (!targetDocument.head) {
10417        return;
10418      }
10419      const runtime = getRuntime6();
10420      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10421      if (!injectedStyles) {
10422        injectedStyles = /* @__PURE__ */ new Set();
10423        runtime.injectedStyles.set(targetDocument, injectedStyles);
10424      }
10425      if (injectedStyles.has(hash)) {
10426        return;
10427      }
10428      if (documentContainsStyleHash6(targetDocument, hash)) {
10429        injectedStyles.add(hash);
10430        return;
10431      }
10432      const style = targetDocument.createElement("style");
10433      style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
10434      style.appendChild(targetDocument.createTextNode(css));
10435      targetDocument.head.appendChild(style);
10436      injectedStyles.add(hash);
10437    }
10438    function registerDocument6(targetDocument) {
10439      const runtime = getRuntime6();
10440      runtime.documents.set(
10441        targetDocument,
10442        (runtime.documents.get(targetDocument) ?? 0) + 1
10443      );
10444      for (const [hash, css] of runtime.styles) {
10445        injectStyle6(targetDocument, hash, css);
10446      }
10447      return () => {
10448        const count = runtime.documents.get(targetDocument);
10449        if (count === void 0) {
10450          return;
10451        }
10452        if (count <= 1) {
10453          runtime.documents.delete(targetDocument);
10454          return;
10455        }
10456        runtime.documents.set(targetDocument, count - 1);
10457      };
10458    }
10459    function registerStyle6(hash, css) {
10460      const runtime = getRuntime6();
10461      runtime.styles.set(hash, css);
10462      for (const targetDocument of runtime.documents.keys()) {
10463        injectStyle6(targetDocument, hash, css);
10464      }
10465    }
10466    if (typeof process === "undefined" || true) {
10467      registerStyle6("be37f31c1e", "._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}");
10468    }
10469    var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" };
10470    var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
10471    function resolveOwnerDocument() {
10472      return typeof document === "undefined" ? null : document;
10473    }
10474    function isInWordPressEnvironment() {
10475      let topWp;
10476      try {
10477        topWp = window.top?.wp;
10478      } catch {
10479      }
10480      const wp4 = topWp ?? window.wp;
10481      return typeof wp4?.components === "object" && wp4.components !== null;
10482    }
10483    var cachedSlot = null;
10484    function ensureSlotIsAccessible(element) {
10485      element.setAttribute("aria-hidden", "false");
10486      return element;
10487    }
10488    function createSlot(ownerDocument2) {
10489      const element = ownerDocument2.createElement("div");
10490      element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
10491      if (wp_compat_overlay_slot_default.slot) {
10492        element.classList.add(wp_compat_overlay_slot_default.slot);
10493      }
10494      ownerDocument2.body.appendChild(element);
10495      return element;
10496    }
10497    function getWpCompatOverlaySlot() {
10498      if (typeof window === "undefined") {
10499        return void 0;
10500      }
10501      if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
10502        return void 0;
10503      }
10504      const ownerDocument2 = resolveOwnerDocument();
10505      if (!ownerDocument2 || !ownerDocument2.body) {
10506        return void 0;
10507      }
10508      if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
10509        return ensureSlotIsAccessible(cachedSlot);
10510      }
10511      const existing = ownerDocument2.querySelector(
10512        `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
10513      );
10514      if (existing instanceof HTMLDivElement) {
10515        cachedSlot = ensureSlotIsAccessible(existing);
10516        return cachedSlot;
10517      }
10518      if (cachedSlot?.isConnected) {
10519        cachedSlot.remove();
10520      }
10521      cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
10522      return cachedSlot;
10523    }
10524  
10525    // packages/ui/build-module/utils/direction-provider.mjs
10526    var import_i18n3 = __toESM(require_i18n(), 1);
10527    var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
10528    function DirectionProvider3({ children }) {
10529      return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DirectionProvider, { direction: (0, import_i18n3.isRTL)() ? "rtl" : "ltr", children });
10530    }
10531  
10532    // packages/ui/build-module/tooltip/popup.mjs
10533    var import_element20 = __toESM(require_element(), 1);
10534  
10535    // packages/ui/build-module/tooltip/portal.mjs
10536    var import_element18 = __toESM(require_element(), 1);
10537    var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
10538    var Portal = (0, import_element18.forwardRef)(
10539      function TooltipPortal3({ container, ...restProps }, ref) {
10540        return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
10541          index_parts_exports2.Portal,
10542          {
10543            container: container === void 0 ? getWpCompatOverlaySlot() : container,
10544            ...restProps,
10545            ref
10546          }
10547        );
10548      }
10549    );
10550  
10551    // packages/ui/build-module/tooltip/positioner.mjs
10552    var import_element19 = __toESM(require_element(), 1);
10553    var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
10554    var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
10555    function getRuntime7() {
10556      const globalScope = globalThis;
10557      if (globalScope.__wpStyleRuntime) {
10558        return globalScope.__wpStyleRuntime;
10559      }
10560      globalScope.__wpStyleRuntime = {
10561        documents: /* @__PURE__ */ new Map(),
10562        styles: /* @__PURE__ */ new Map(),
10563        injectedStyles: /* @__PURE__ */ new WeakMap()
10564      };
10565      if (typeof document !== "undefined") {
10566        registerDocument7(document);
10567      }
10568      return globalScope.__wpStyleRuntime;
10569    }
10570    function documentContainsStyleHash7(targetDocument, hash) {
10571      if (!targetDocument.head) {
10572        return false;
10573      }
10574      for (const style of targetDocument.head.querySelectorAll(
10575        `style[$STYLE_HASH_ATTRIBUTE7}]`
10576      )) {
10577        if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
10578          return true;
10579        }
10580      }
10581      return false;
10582    }
10583    function injectStyle7(targetDocument, hash, css) {
10584      if (!targetDocument.head) {
10585        return;
10586      }
10587      const runtime = getRuntime7();
10588      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10589      if (!injectedStyles) {
10590        injectedStyles = /* @__PURE__ */ new Set();
10591        runtime.injectedStyles.set(targetDocument, injectedStyles);
10592      }
10593      if (injectedStyles.has(hash)) {
10594        return;
10595      }
10596      if (documentContainsStyleHash7(targetDocument, hash)) {
10597        injectedStyles.add(hash);
10598        return;
10599      }
10600      const style = targetDocument.createElement("style");
10601      style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
10602      style.appendChild(targetDocument.createTextNode(css));
10603      targetDocument.head.appendChild(style);
10604      injectedStyles.add(hash);
10605    }
10606    function registerDocument7(targetDocument) {
10607      const runtime = getRuntime7();
10608      runtime.documents.set(
10609        targetDocument,
10610        (runtime.documents.get(targetDocument) ?? 0) + 1
10611      );
10612      for (const [hash, css] of runtime.styles) {
10613        injectStyle7(targetDocument, hash, css);
10614      }
10615      return () => {
10616        const count = runtime.documents.get(targetDocument);
10617        if (count === void 0) {
10618          return;
10619        }
10620        if (count <= 1) {
10621          runtime.documents.delete(targetDocument);
10622          return;
10623        }
10624        runtime.documents.set(targetDocument, count - 1);
10625      };
10626    }
10627    function registerStyle7(hash, css) {
10628      const runtime = getRuntime7();
10629      runtime.styles.set(hash, css);
10630      for (const targetDocument of runtime.documents.keys()) {
10631        injectStyle7(targetDocument, hash, css);
10632      }
10633    }
10634    if (typeof process === "undefined" || true) {
10635      registerStyle7("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
10636    }
10637    var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
10638    if (typeof process === "undefined" || true) {
10639      registerStyle7("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');
10640    }
10641    var style_default6 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
10642    var Positioner = (0, import_element19.forwardRef)(
10643      function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) {
10644        return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
10645          index_parts_exports2.Positioner,
10646          {
10647            ref,
10648            align,
10649            side,
10650            sideOffset,
10651            ...props,
10652            className: clsx_default(
10653              resets_default2["box-sizing"],
10654              style_default6.positioner,
10655              className
10656            )
10657          }
10658        );
10659      }
10660    );
10661  
10662    // packages/ui/build-module/utils/theme-provider.mjs
10663    var theme = __toESM(require_theme(), 1);
10664  
10665    // packages/ui/build-module/lock-unlock.mjs
10666    var import_private_apis = __toESM(require_private_apis(), 1);
10667    var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
10668      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
10669      "@wordpress/ui"
10670    );
10671  
10672    // packages/ui/build-module/utils/theme-provider.mjs
10673    function getThemeProvider() {
10674      const themePackage = theme;
10675      if (themePackage.ThemeProvider) {
10676        return themePackage.ThemeProvider;
10677      }
10678      if (!themePackage.privateApis) {
10679        throw new Error(
10680          "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`."
10681        );
10682      }
10683      return unlock(
10684        themePackage.privateApis
10685      ).ThemeProvider;
10686    }
10687    var ThemeProvider = getThemeProvider();
10688  
10689    // packages/ui/build-module/tooltip/popup.mjs
10690    var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
10691    var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
10692    function getRuntime8() {
10693      const globalScope = globalThis;
10694      if (globalScope.__wpStyleRuntime) {
10695        return globalScope.__wpStyleRuntime;
10696      }
10697      globalScope.__wpStyleRuntime = {
10698        documents: /* @__PURE__ */ new Map(),
10699        styles: /* @__PURE__ */ new Map(),
10700        injectedStyles: /* @__PURE__ */ new WeakMap()
10701      };
10702      if (typeof document !== "undefined") {
10703        registerDocument8(document);
10704      }
10705      return globalScope.__wpStyleRuntime;
10706    }
10707    function documentContainsStyleHash8(targetDocument, hash) {
10708      if (!targetDocument.head) {
10709        return false;
10710      }
10711      for (const style of targetDocument.head.querySelectorAll(
10712        `style[$STYLE_HASH_ATTRIBUTE8}]`
10713      )) {
10714        if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
10715          return true;
10716        }
10717      }
10718      return false;
10719    }
10720    function injectStyle8(targetDocument, hash, css) {
10721      if (!targetDocument.head) {
10722        return;
10723      }
10724      const runtime = getRuntime8();
10725      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10726      if (!injectedStyles) {
10727        injectedStyles = /* @__PURE__ */ new Set();
10728        runtime.injectedStyles.set(targetDocument, injectedStyles);
10729      }
10730      if (injectedStyles.has(hash)) {
10731        return;
10732      }
10733      if (documentContainsStyleHash8(targetDocument, hash)) {
10734        injectedStyles.add(hash);
10735        return;
10736      }
10737      const style = targetDocument.createElement("style");
10738      style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
10739      style.appendChild(targetDocument.createTextNode(css));
10740      targetDocument.head.appendChild(style);
10741      injectedStyles.add(hash);
10742    }
10743    function registerDocument8(targetDocument) {
10744      const runtime = getRuntime8();
10745      runtime.documents.set(
10746        targetDocument,
10747        (runtime.documents.get(targetDocument) ?? 0) + 1
10748      );
10749      for (const [hash, css] of runtime.styles) {
10750        injectStyle8(targetDocument, hash, css);
10751      }
10752      return () => {
10753        const count = runtime.documents.get(targetDocument);
10754        if (count === void 0) {
10755          return;
10756        }
10757        if (count <= 1) {
10758          runtime.documents.delete(targetDocument);
10759          return;
10760        }
10761        runtime.documents.set(targetDocument, count - 1);
10762      };
10763    }
10764    function registerStyle8(hash, css) {
10765      const runtime = getRuntime8();
10766      runtime.styles.set(hash, css);
10767      for (const targetDocument of runtime.documents.keys()) {
10768        injectStyle8(targetDocument, hash, css);
10769      }
10770    }
10771    if (typeof process === "undefined" || true) {
10772      registerStyle8("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');
10773    }
10774    var style_default7 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
10775    var POPUP_COLOR = { background: "#1e1e1e" };
10776    var Popup = (0, import_element20.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) {
10777      const popupContent = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
10778        index_parts_exports2.Popup,
10779        {
10780          ref,
10781          className: clsx_default(style_default7.popup, className),
10782          ...props,
10783          children
10784        }
10785      ) });
10786      const positionedPopup = renderSlotWithChildren(
10787        positioner,
10788        /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Positioner, {}),
10789        popupContent
10790      );
10791      return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Portal, {}), positionedPopup);
10792    });
10793  
10794    // packages/ui/build-module/tooltip/trigger.mjs
10795    var import_element21 = __toESM(require_element(), 1);
10796    var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
10797    var Trigger = (0, import_element21.forwardRef)(
10798      function TooltipTrigger3(props, ref) {
10799        return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(index_parts_exports2.Trigger, { ref, ...props });
10800      }
10801    );
10802  
10803    // packages/ui/build-module/tooltip/root.mjs
10804    var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
10805    function Root(props) {
10806      return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(index_parts_exports2.Root, { ...props }) });
10807    }
10808  
10809    // packages/ui/build-module/link/link.mjs
10810    var import_element22 = __toESM(require_element(), 1);
10811    var import_i18n4 = __toESM(require_i18n(), 1);
10812    var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
10813    var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
10814    function getRuntime9() {
10815      const globalScope = globalThis;
10816      if (globalScope.__wpStyleRuntime) {
10817        return globalScope.__wpStyleRuntime;
10818      }
10819      globalScope.__wpStyleRuntime = {
10820        documents: /* @__PURE__ */ new Map(),
10821        styles: /* @__PURE__ */ new Map(),
10822        injectedStyles: /* @__PURE__ */ new WeakMap()
10823      };
10824      if (typeof document !== "undefined") {
10825        registerDocument9(document);
10826      }
10827      return globalScope.__wpStyleRuntime;
10828    }
10829    function documentContainsStyleHash9(targetDocument, hash) {
10830      if (!targetDocument.head) {
10831        return false;
10832      }
10833      for (const style of targetDocument.head.querySelectorAll(
10834        `style[$STYLE_HASH_ATTRIBUTE9}]`
10835      )) {
10836        if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
10837          return true;
10838        }
10839      }
10840      return false;
10841    }
10842    function injectStyle9(targetDocument, hash, css) {
10843      if (!targetDocument.head) {
10844        return;
10845      }
10846      const runtime = getRuntime9();
10847      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10848      if (!injectedStyles) {
10849        injectedStyles = /* @__PURE__ */ new Set();
10850        runtime.injectedStyles.set(targetDocument, injectedStyles);
10851      }
10852      if (injectedStyles.has(hash)) {
10853        return;
10854      }
10855      if (documentContainsStyleHash9(targetDocument, hash)) {
10856        injectedStyles.add(hash);
10857        return;
10858      }
10859      const style = targetDocument.createElement("style");
10860      style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
10861      style.appendChild(targetDocument.createTextNode(css));
10862      targetDocument.head.appendChild(style);
10863      injectedStyles.add(hash);
10864    }
10865    function registerDocument9(targetDocument) {
10866      const runtime = getRuntime9();
10867      runtime.documents.set(
10868        targetDocument,
10869        (runtime.documents.get(targetDocument) ?? 0) + 1
10870      );
10871      for (const [hash, css] of runtime.styles) {
10872        injectStyle9(targetDocument, hash, css);
10873      }
10874      return () => {
10875        const count = runtime.documents.get(targetDocument);
10876        if (count === void 0) {
10877          return;
10878        }
10879        if (count <= 1) {
10880          runtime.documents.delete(targetDocument);
10881          return;
10882        }
10883        runtime.documents.set(targetDocument, count - 1);
10884      };
10885    }
10886    function registerStyle9(hash, css) {
10887      const runtime = getRuntime9();
10888      runtime.styles.set(hash, css);
10889      for (const targetDocument of runtime.documents.keys()) {
10890        injectStyle9(targetDocument, hash, css);
10891      }
10892    }
10893    if (typeof process === "undefined" || true) {
10894      registerStyle9("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
10895    }
10896    var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
10897    if (typeof process === "undefined" || true) {
10898      registerStyle9("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
10899    }
10900    var focus_module_default2 = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
10901    if (typeof process === "undefined" || true) {
10902      registerStyle9("888e86d20a", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.d4250949359b05ce__link{--_gcd-a-border-radius:var(--wpds-border-radius-sm,2px);border-radius:var(--wpds-border-radius-sm,2px);text-decoration-thickness:from-font;text-underline-offset:.2em}.f037c632480d4e11__link-with-icon{text-decoration-line:none}._8dc7567f9ff415bf__link-contents{text-decoration:inherit;text-decoration-line:underline}.c6055659b8e2cd2c__is-brand,.c6055659b8e2cd2c__is-brand:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9))}.c6055659b8e2cd2c__is-brand:active,.c6055659b8e2cd2c__is-brand:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));color:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000))}._92e0dfcaeee15b88__is-neutral,._92e0dfcaeee15b88__is-neutral:visited{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);text-decoration-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d)}._92e0dfcaeee15b88__is-neutral:active,._92e0dfcaeee15b88__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}.cf122a9bf1035d42__is-unstyled{--_gcd-a-border-radius:0;--_gcd-a-color:inherit;color:inherit;text-decoration:none}._0cb411afac4c86c7__link-icon{font-weight:var(--wpds-typography-font-weight-default,400);line-height:1;margin-inline-start:var(--wpds-dimension-padding-xs,4px);text-decoration:none}._0cb411afac4c86c7__link-icon:after{content:"\\2060\\2197"}._0cb411afac4c86c7__link-icon:dir(rtl):after{content:"\\2060\\2196"}}}');
10903    }
10904    var style_default8 = { "link": "d4250949359b05ce__link", "link-with-icon": "f037c632480d4e11__link-with-icon", "link-contents": "_8dc7567f9ff415bf__link-contents", "is-brand": "c6055659b8e2cd2c__is-brand", "is-neutral": "_92e0dfcaeee15b88__is-neutral", "is-unstyled": "cf122a9bf1035d42__is-unstyled", "link-icon": "_0cb411afac4c86c7__link-icon" };
10905    if (typeof process === "undefined" || true) {
10906      registerStyle9("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
10907    }
10908    var global_css_defense_default3 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
10909    var Link = (0, import_element22.forwardRef)(
10910      function UnforwardedLink({
10911        children,
10912        variant = "default",
10913        tone = "brand",
10914        openInNewTab = false,
10915        target,
10916        render,
10917        className,
10918        ...props
10919      }, ref) {
10920        const shouldShowNewTabIndicator = openInNewTab || /^_blank$/i.test(target ?? "");
10921        const element = useRender({
10922          render,
10923          defaultTagName: "a",
10924          ref,
10925          props: mergeProps(props, {
10926            className: clsx_default(
10927              global_css_defense_default3.a,
10928              resets_default3["box-sizing"],
10929              focus_module_default2["outset-ring--focus-except-active"],
10930              variant !== "unstyled" && style_default8.link,
10931              variant !== "unstyled" && shouldShowNewTabIndicator && style_default8["link-with-icon"],
10932              variant !== "unstyled" && style_default8[`is-$tone}`],
10933              variant === "unstyled" && style_default8["is-unstyled"],
10934              className
10935            ),
10936            target: target ?? (openInNewTab ? "_blank" : void 0),
10937            children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
10938              shouldShowNewTabIndicator && variant !== "unstyled" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: style_default8["link-contents"], children }) : children,
10939              shouldShowNewTabIndicator && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
10940                "span",
10941                {
10942                  className: style_default8["link-icon"],
10943                  role: "img",
10944                  "aria-label": (
10945                    /* translators: accessibility text appended to link text */
10946                    (0, import_i18n4.__)("(opens in a new tab)")
10947                  )
10948                }
10949              )
10950            ] })
10951          })
10952        });
10953        return element;
10954      }
10955    );
10956  
10957    // packages/ui/build-module/icon-button/icon-button.mjs
10958    var import_element23 = __toESM(require_element(), 1);
10959    var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
10960    var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
10961    function getRuntime10() {
10962      const globalScope = globalThis;
10963      if (globalScope.__wpStyleRuntime) {
10964        return globalScope.__wpStyleRuntime;
10965      }
10966      globalScope.__wpStyleRuntime = {
10967        documents: /* @__PURE__ */ new Map(),
10968        styles: /* @__PURE__ */ new Map(),
10969        injectedStyles: /* @__PURE__ */ new WeakMap()
10970      };
10971      if (typeof document !== "undefined") {
10972        registerDocument10(document);
10973      }
10974      return globalScope.__wpStyleRuntime;
10975    }
10976    function documentContainsStyleHash10(targetDocument, hash) {
10977      if (!targetDocument.head) {
10978        return false;
10979      }
10980      for (const style of targetDocument.head.querySelectorAll(
10981        `style[$STYLE_HASH_ATTRIBUTE10}]`
10982      )) {
10983        if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
10984          return true;
10985        }
10986      }
10987      return false;
10988    }
10989    function injectStyle10(targetDocument, hash, css) {
10990      if (!targetDocument.head) {
10991        return;
10992      }
10993      const runtime = getRuntime10();
10994      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10995      if (!injectedStyles) {
10996        injectedStyles = /* @__PURE__ */ new Set();
10997        runtime.injectedStyles.set(targetDocument, injectedStyles);
10998      }
10999      if (injectedStyles.has(hash)) {
11000        return;
11001      }
11002      if (documentContainsStyleHash10(targetDocument, hash)) {
11003        injectedStyles.add(hash);
11004        return;
11005      }
11006      const style = targetDocument.createElement("style");
11007      style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
11008      style.appendChild(targetDocument.createTextNode(css));
11009      targetDocument.head.appendChild(style);
11010      injectedStyles.add(hash);
11011    }
11012    function registerDocument10(targetDocument) {
11013      const runtime = getRuntime10();
11014      runtime.documents.set(
11015        targetDocument,
11016        (runtime.documents.get(targetDocument) ?? 0) + 1
11017      );
11018      for (const [hash, css] of runtime.styles) {
11019        injectStyle10(targetDocument, hash, css);
11020      }
11021      return () => {
11022        const count = runtime.documents.get(targetDocument);
11023        if (count === void 0) {
11024          return;
11025        }
11026        if (count <= 1) {
11027          runtime.documents.delete(targetDocument);
11028          return;
11029        }
11030        runtime.documents.set(targetDocument, count - 1);
11031      };
11032    }
11033    function registerStyle10(hash, css) {
11034      const runtime = getRuntime10();
11035      runtime.styles.set(hash, css);
11036      for (const targetDocument of runtime.documents.keys()) {
11037        injectStyle10(targetDocument, hash, css);
11038      }
11039    }
11040    if (typeof process === "undefined" || true) {
11041      registerStyle10("c5cdafb1bc", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{._28cfdc260e755391__icon-button{--wp-ui-button-aspect-ratio:1;--wp-ui-button-padding-inline:0px;--wp-ui-button-min-width:unset}.f1c70d719989a85a__icon{margin:-1px}}}");
11042    }
11043    var style_default9 = { "icon-button": "_28cfdc260e755391__icon-button", "icon": "f1c70d719989a85a__icon" };
11044    var IconButton = (0, import_element23.forwardRef)(
11045      function UnforwardedIconButton({
11046        label,
11047        className,
11048        // Prevent accidental forwarding of `children`
11049        children: _children,
11050        disabled: disabled2,
11051        focusableWhenDisabled = true,
11052        icon,
11053        size: size4,
11054        shortcut,
11055        positioner,
11056        "aria-describedby": ariaDescribedBy,
11057        "aria-keyshortcuts": ariaKeyShortcuts,
11058        ...restProps
11059      }, ref) {
11060        const classes = clsx_default(style_default9["icon-button"], className);
11061        const { descriptionId, targetProps } = useKeyboardShortcutProps({
11062          "aria-describedby": ariaDescribedBy,
11063          "aria-keyshortcuts": ariaKeyShortcuts,
11064          shortcut
11065        });
11066        return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Root, { children: [
11067          /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
11068            Trigger,
11069            {
11070              ref,
11071              ...targetProps,
11072              disabled: disabled2 && !focusableWhenDisabled,
11073              render: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
11074                Button4,
11075                {
11076                  ...restProps,
11077                  size: size4,
11078                  "aria-label": label,
11079                  disabled: disabled2,
11080                  focusableWhenDisabled
11081                }
11082              ),
11083              className: classes,
11084              children: [
11085                /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { icon, size: 24, className: style_default9.icon }),
11086                shortcut && descriptionId && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
11087                  KeyboardShortcutDescription,
11088                  {
11089                    descriptionId,
11090                    shortcut
11091                  }
11092                )
11093              ]
11094            }
11095          ),
11096          /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Popup, { positioner, children: [
11097            label,
11098            shortcut && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
11099              " ",
11100              /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(KeyboardShortcutDisplay, { shortcut })
11101            ] })
11102          ] })
11103        ] });
11104      }
11105    );
11106  
11107    // packages/ui/build-module/card/index.mjs
11108    var card_exports = {};
11109    __export(card_exports, {
11110      Content: () => Content,
11111      FullBleed: () => FullBleed,
11112      Header: () => Header,
11113      Root: () => Root2,
11114      Title: () => Title
11115    });
11116  
11117    // packages/ui/build-module/card/root.mjs
11118    var import_element24 = __toESM(require_element(), 1);
11119    var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
11120    function getRuntime11() {
11121      const globalScope = globalThis;
11122      if (globalScope.__wpStyleRuntime) {
11123        return globalScope.__wpStyleRuntime;
11124      }
11125      globalScope.__wpStyleRuntime = {
11126        documents: /* @__PURE__ */ new Map(),
11127        styles: /* @__PURE__ */ new Map(),
11128        injectedStyles: /* @__PURE__ */ new WeakMap()
11129      };
11130      if (typeof document !== "undefined") {
11131        registerDocument11(document);
11132      }
11133      return globalScope.__wpStyleRuntime;
11134    }
11135    function documentContainsStyleHash11(targetDocument, hash) {
11136      if (!targetDocument.head) {
11137        return false;
11138      }
11139      for (const style of targetDocument.head.querySelectorAll(
11140        `style[$STYLE_HASH_ATTRIBUTE11}]`
11141      )) {
11142        if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
11143          return true;
11144        }
11145      }
11146      return false;
11147    }
11148    function injectStyle11(targetDocument, hash, css) {
11149      if (!targetDocument.head) {
11150        return;
11151      }
11152      const runtime = getRuntime11();
11153      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11154      if (!injectedStyles) {
11155        injectedStyles = /* @__PURE__ */ new Set();
11156        runtime.injectedStyles.set(targetDocument, injectedStyles);
11157      }
11158      if (injectedStyles.has(hash)) {
11159        return;
11160      }
11161      if (documentContainsStyleHash11(targetDocument, hash)) {
11162        injectedStyles.add(hash);
11163        return;
11164      }
11165      const style = targetDocument.createElement("style");
11166      style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
11167      style.appendChild(targetDocument.createTextNode(css));
11168      targetDocument.head.appendChild(style);
11169      injectedStyles.add(hash);
11170    }
11171    function registerDocument11(targetDocument) {
11172      const runtime = getRuntime11();
11173      runtime.documents.set(
11174        targetDocument,
11175        (runtime.documents.get(targetDocument) ?? 0) + 1
11176      );
11177      for (const [hash, css] of runtime.styles) {
11178        injectStyle11(targetDocument, hash, css);
11179      }
11180      return () => {
11181        const count = runtime.documents.get(targetDocument);
11182        if (count === void 0) {
11183          return;
11184        }
11185        if (count <= 1) {
11186          runtime.documents.delete(targetDocument);
11187          return;
11188        }
11189        runtime.documents.set(targetDocument, count - 1);
11190      };
11191    }
11192    function registerStyle11(hash, css) {
11193      const runtime = getRuntime11();
11194      runtime.styles.set(hash, css);
11195      for (const targetDocument of runtime.documents.keys()) {
11196        injectStyle11(targetDocument, hash, css);
11197      }
11198    }
11199    if (typeof process === "undefined" || true) {
11200      registerStyle11("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
11201    }
11202    var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
11203    if (typeof process === "undefined" || true) {
11204      registerStyle11("cb866dcef6", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}._02872bf298eadc43__root>:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):first-child>.c1fa192587e1b4a6__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):last-child>.c1fa192587e1b4a6__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11205    }
11206    var style_default10 = { "root": "_02872bf298eadc43__root", "header": "bbccc92e6ba5662d__header", "content": "_5dffdaf2a6e669ac__content", "fullbleed": "c1fa192587e1b4a6__fullbleed" };
11207    var Root2 = (0, import_element24.forwardRef)(function Card({ render, ...restProps }, ref) {
11208      const mergedClassName = clsx_default(style_default10.root, resets_default4["box-sizing"]);
11209      const element = useRender({
11210        defaultTagName: "div",
11211        render,
11212        ref,
11213        props: mergeProps({ className: mergedClassName }, restProps)
11214      });
11215      return element;
11216    });
11217  
11218    // packages/ui/build-module/card/header.mjs
11219    var import_element25 = __toESM(require_element(), 1);
11220    var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
11221    function getRuntime12() {
11222      const globalScope = globalThis;
11223      if (globalScope.__wpStyleRuntime) {
11224        return globalScope.__wpStyleRuntime;
11225      }
11226      globalScope.__wpStyleRuntime = {
11227        documents: /* @__PURE__ */ new Map(),
11228        styles: /* @__PURE__ */ new Map(),
11229        injectedStyles: /* @__PURE__ */ new WeakMap()
11230      };
11231      if (typeof document !== "undefined") {
11232        registerDocument12(document);
11233      }
11234      return globalScope.__wpStyleRuntime;
11235    }
11236    function documentContainsStyleHash12(targetDocument, hash) {
11237      if (!targetDocument.head) {
11238        return false;
11239      }
11240      for (const style of targetDocument.head.querySelectorAll(
11241        `style[$STYLE_HASH_ATTRIBUTE12}]`
11242      )) {
11243        if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
11244          return true;
11245        }
11246      }
11247      return false;
11248    }
11249    function injectStyle12(targetDocument, hash, css) {
11250      if (!targetDocument.head) {
11251        return;
11252      }
11253      const runtime = getRuntime12();
11254      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11255      if (!injectedStyles) {
11256        injectedStyles = /* @__PURE__ */ new Set();
11257        runtime.injectedStyles.set(targetDocument, injectedStyles);
11258      }
11259      if (injectedStyles.has(hash)) {
11260        return;
11261      }
11262      if (documentContainsStyleHash12(targetDocument, hash)) {
11263        injectedStyles.add(hash);
11264        return;
11265      }
11266      const style = targetDocument.createElement("style");
11267      style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
11268      style.appendChild(targetDocument.createTextNode(css));
11269      targetDocument.head.appendChild(style);
11270      injectedStyles.add(hash);
11271    }
11272    function registerDocument12(targetDocument) {
11273      const runtime = getRuntime12();
11274      runtime.documents.set(
11275        targetDocument,
11276        (runtime.documents.get(targetDocument) ?? 0) + 1
11277      );
11278      for (const [hash, css] of runtime.styles) {
11279        injectStyle12(targetDocument, hash, css);
11280      }
11281      return () => {
11282        const count = runtime.documents.get(targetDocument);
11283        if (count === void 0) {
11284          return;
11285        }
11286        if (count <= 1) {
11287          runtime.documents.delete(targetDocument);
11288          return;
11289        }
11290        runtime.documents.set(targetDocument, count - 1);
11291      };
11292    }
11293    function registerStyle12(hash, css) {
11294      const runtime = getRuntime12();
11295      runtime.styles.set(hash, css);
11296      for (const targetDocument of runtime.documents.keys()) {
11297        injectStyle12(targetDocument, hash, css);
11298      }
11299    }
11300    if (typeof process === "undefined" || true) {
11301      registerStyle12("cb866dcef6", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}._02872bf298eadc43__root>:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):first-child>.c1fa192587e1b4a6__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):last-child>.c1fa192587e1b4a6__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11302    }
11303    var style_default11 = { "root": "_02872bf298eadc43__root", "header": "bbccc92e6ba5662d__header", "content": "_5dffdaf2a6e669ac__content", "fullbleed": "c1fa192587e1b4a6__fullbleed" };
11304    var Header = (0, import_element25.forwardRef)(
11305      function CardHeader({ render, ...props }, ref) {
11306        const element = useRender({
11307          defaultTagName: "div",
11308          render,
11309          ref,
11310          props: mergeProps({ className: style_default11.header }, props)
11311        });
11312        return element;
11313      }
11314    );
11315  
11316    // packages/ui/build-module/card/content.mjs
11317    var import_element26 = __toESM(require_element(), 1);
11318    var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
11319    function getRuntime13() {
11320      const globalScope = globalThis;
11321      if (globalScope.__wpStyleRuntime) {
11322        return globalScope.__wpStyleRuntime;
11323      }
11324      globalScope.__wpStyleRuntime = {
11325        documents: /* @__PURE__ */ new Map(),
11326        styles: /* @__PURE__ */ new Map(),
11327        injectedStyles: /* @__PURE__ */ new WeakMap()
11328      };
11329      if (typeof document !== "undefined") {
11330        registerDocument13(document);
11331      }
11332      return globalScope.__wpStyleRuntime;
11333    }
11334    function documentContainsStyleHash13(targetDocument, hash) {
11335      if (!targetDocument.head) {
11336        return false;
11337      }
11338      for (const style of targetDocument.head.querySelectorAll(
11339        `style[$STYLE_HASH_ATTRIBUTE13}]`
11340      )) {
11341        if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
11342          return true;
11343        }
11344      }
11345      return false;
11346    }
11347    function injectStyle13(targetDocument, hash, css) {
11348      if (!targetDocument.head) {
11349        return;
11350      }
11351      const runtime = getRuntime13();
11352      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11353      if (!injectedStyles) {
11354        injectedStyles = /* @__PURE__ */ new Set();
11355        runtime.injectedStyles.set(targetDocument, injectedStyles);
11356      }
11357      if (injectedStyles.has(hash)) {
11358        return;
11359      }
11360      if (documentContainsStyleHash13(targetDocument, hash)) {
11361        injectedStyles.add(hash);
11362        return;
11363      }
11364      const style = targetDocument.createElement("style");
11365      style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
11366      style.appendChild(targetDocument.createTextNode(css));
11367      targetDocument.head.appendChild(style);
11368      injectedStyles.add(hash);
11369    }
11370    function registerDocument13(targetDocument) {
11371      const runtime = getRuntime13();
11372      runtime.documents.set(
11373        targetDocument,
11374        (runtime.documents.get(targetDocument) ?? 0) + 1
11375      );
11376      for (const [hash, css] of runtime.styles) {
11377        injectStyle13(targetDocument, hash, css);
11378      }
11379      return () => {
11380        const count = runtime.documents.get(targetDocument);
11381        if (count === void 0) {
11382          return;
11383        }
11384        if (count <= 1) {
11385          runtime.documents.delete(targetDocument);
11386          return;
11387        }
11388        runtime.documents.set(targetDocument, count - 1);
11389      };
11390    }
11391    function registerStyle13(hash, css) {
11392      const runtime = getRuntime13();
11393      runtime.styles.set(hash, css);
11394      for (const targetDocument of runtime.documents.keys()) {
11395        injectStyle13(targetDocument, hash, css);
11396      }
11397    }
11398    if (typeof process === "undefined" || true) {
11399      registerStyle13("cb866dcef6", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}._02872bf298eadc43__root>:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):first-child>.c1fa192587e1b4a6__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):last-child>.c1fa192587e1b4a6__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11400    }
11401    var style_default12 = { "root": "_02872bf298eadc43__root", "header": "bbccc92e6ba5662d__header", "content": "_5dffdaf2a6e669ac__content", "fullbleed": "c1fa192587e1b4a6__fullbleed" };
11402    var Content = (0, import_element26.forwardRef)(
11403      function CardContent({ render, ...props }, ref) {
11404        const element = useRender({
11405          defaultTagName: "div",
11406          render,
11407          ref,
11408          props: mergeProps({ className: style_default12.content }, props)
11409        });
11410        return element;
11411      }
11412    );
11413  
11414    // packages/ui/build-module/card/full-bleed.mjs
11415    var import_element27 = __toESM(require_element(), 1);
11416    var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
11417    function getRuntime14() {
11418      const globalScope = globalThis;
11419      if (globalScope.__wpStyleRuntime) {
11420        return globalScope.__wpStyleRuntime;
11421      }
11422      globalScope.__wpStyleRuntime = {
11423        documents: /* @__PURE__ */ new Map(),
11424        styles: /* @__PURE__ */ new Map(),
11425        injectedStyles: /* @__PURE__ */ new WeakMap()
11426      };
11427      if (typeof document !== "undefined") {
11428        registerDocument14(document);
11429      }
11430      return globalScope.__wpStyleRuntime;
11431    }
11432    function documentContainsStyleHash14(targetDocument, hash) {
11433      if (!targetDocument.head) {
11434        return false;
11435      }
11436      for (const style of targetDocument.head.querySelectorAll(
11437        `style[$STYLE_HASH_ATTRIBUTE14}]`
11438      )) {
11439        if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
11440          return true;
11441        }
11442      }
11443      return false;
11444    }
11445    function injectStyle14(targetDocument, hash, css) {
11446      if (!targetDocument.head) {
11447        return;
11448      }
11449      const runtime = getRuntime14();
11450      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11451      if (!injectedStyles) {
11452        injectedStyles = /* @__PURE__ */ new Set();
11453        runtime.injectedStyles.set(targetDocument, injectedStyles);
11454      }
11455      if (injectedStyles.has(hash)) {
11456        return;
11457      }
11458      if (documentContainsStyleHash14(targetDocument, hash)) {
11459        injectedStyles.add(hash);
11460        return;
11461      }
11462      const style = targetDocument.createElement("style");
11463      style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
11464      style.appendChild(targetDocument.createTextNode(css));
11465      targetDocument.head.appendChild(style);
11466      injectedStyles.add(hash);
11467    }
11468    function registerDocument14(targetDocument) {
11469      const runtime = getRuntime14();
11470      runtime.documents.set(
11471        targetDocument,
11472        (runtime.documents.get(targetDocument) ?? 0) + 1
11473      );
11474      for (const [hash, css] of runtime.styles) {
11475        injectStyle14(targetDocument, hash, css);
11476      }
11477      return () => {
11478        const count = runtime.documents.get(targetDocument);
11479        if (count === void 0) {
11480          return;
11481        }
11482        if (count <= 1) {
11483          runtime.documents.delete(targetDocument);
11484          return;
11485        }
11486        runtime.documents.set(targetDocument, count - 1);
11487      };
11488    }
11489    function registerStyle14(hash, css) {
11490      const runtime = getRuntime14();
11491      runtime.styles.set(hash, css);
11492      for (const targetDocument of runtime.documents.keys()) {
11493        injectStyle14(targetDocument, hash, css);
11494      }
11495    }
11496    if (typeof process === "undefined" || true) {
11497      registerStyle14("cb866dcef6", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._02872bf298eadc43__root{--wp-ui-card-padding:var(--wpds-dimension-padding-2xl,24px);--wp-ui-card-header-content-gap:var(--wpds-dimension-gap-xl,24px);--wp-ui-card-header-content-margin:calc(var(--wp-ui-card-header-content-gap) - var(--wp-ui-card-padding));background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:1px solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-lg,8px);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);display:flex;flex-direction:column;overflow:clip}._5dffdaf2a6e669ac__content,.bbccc92e6ba5662d__header{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.bbccc92e6ba5662d__header+._5dffdaf2a6e669ac__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c1fa192587e1b4a6__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}._02872bf298eadc43__root>:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):first-child>.c1fa192587e1b4a6__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.bbccc92e6ba5662d__header,._5dffdaf2a6e669ac__content):last-child>.c1fa192587e1b4a6__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11498    }
11499    var style_default13 = { "root": "_02872bf298eadc43__root", "header": "bbccc92e6ba5662d__header", "content": "_5dffdaf2a6e669ac__content", "fullbleed": "c1fa192587e1b4a6__fullbleed" };
11500    var FullBleed = (0, import_element27.forwardRef)(
11501      function CardFullBleed({ render, ...props }, ref) {
11502        const element = useRender({
11503          defaultTagName: "div",
11504          render,
11505          ref,
11506          props: mergeProps(
11507            { className: style_default13.fullbleed },
11508            props
11509          )
11510        });
11511        return element;
11512      }
11513    );
11514  
11515    // packages/ui/build-module/card/title.mjs
11516    var import_element28 = __toESM(require_element(), 1);
11517    var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
11518    var DEFAULT_TAG = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", {});
11519    var Title = (0, import_element28.forwardRef)(
11520      function CardTitle({ render = DEFAULT_TAG, children, ...props }, ref) {
11521        return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
11522          Text,
11523          {
11524            ref,
11525            variant: "heading-lg",
11526            render,
11527            ...props,
11528            children
11529          }
11530        );
11531      }
11532    );
11533  
11534    // packages/ui/build-module/collapsible/panel.mjs
11535    var import_element29 = __toESM(require_element(), 1);
11536    var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
11537    var Panel = (0, import_element29.forwardRef)(
11538      function CollapsiblePanel3(props, forwardedRef) {
11539        return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(index_parts_exports.Panel, { ref: forwardedRef, ...props });
11540      }
11541    );
11542  
11543    // packages/ui/build-module/collapsible/root.mjs
11544    var import_element30 = __toESM(require_element(), 1);
11545    var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
11546    var Root3 = (0, import_element30.forwardRef)(
11547      function CollapsibleRoot3(props, forwardedRef) {
11548        return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(index_parts_exports.Root, { ref: forwardedRef, ...props });
11549      }
11550    );
11551  
11552    // packages/ui/build-module/collapsible/trigger.mjs
11553    var import_element31 = __toESM(require_element(), 1);
11554    var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
11555    var Trigger2 = (0, import_element31.forwardRef)(
11556      function CollapsibleTrigger3(props, forwardedRef) {
11557        return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(index_parts_exports.Trigger, { ref: forwardedRef, ...props });
11558      }
11559    );
11560  
11561    // packages/ui/build-module/collapsible-card/index.mjs
11562    var collapsible_card_exports = {};
11563    __export(collapsible_card_exports, {
11564      Content: () => Content2,
11565      Header: () => Header2,
11566      HeaderDescription: () => HeaderDescription,
11567      Root: () => Root32
11568    });
11569  
11570    // packages/ui/build-module/collapsible-card/root.mjs
11571    var import_element32 = __toESM(require_element(), 1);
11572    var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
11573    var Root32 = (0, import_element32.forwardRef)(
11574      function CollapsibleCardRoot({ render, ...restProps }, ref) {
11575        return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
11576          Root3,
11577          {
11578            ref,
11579            render: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Root2, { render }),
11580            ...restProps
11581          }
11582        );
11583      }
11584    );
11585  
11586    // packages/ui/build-module/collapsible-card/header.mjs
11587    var import_compose = __toESM(require_compose(), 1);
11588    var import_element34 = __toESM(require_element(), 1);
11589  
11590    // packages/ui/build-module/collapsible-card/context.mjs
11591    var import_element33 = __toESM(require_element(), 1);
11592    var HeaderDescriptionIdContext = (0, import_element33.createContext)(null);
11593  
11594    // packages/ui/build-module/collapsible-card/header.mjs
11595    var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
11596    var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
11597    function getRuntime15() {
11598      const globalScope = globalThis;
11599      if (globalScope.__wpStyleRuntime) {
11600        return globalScope.__wpStyleRuntime;
11601      }
11602      globalScope.__wpStyleRuntime = {
11603        documents: /* @__PURE__ */ new Map(),
11604        styles: /* @__PURE__ */ new Map(),
11605        injectedStyles: /* @__PURE__ */ new WeakMap()
11606      };
11607      if (typeof document !== "undefined") {
11608        registerDocument15(document);
11609      }
11610      return globalScope.__wpStyleRuntime;
11611    }
11612    function documentContainsStyleHash15(targetDocument, hash) {
11613      if (!targetDocument.head) {
11614        return false;
11615      }
11616      for (const style of targetDocument.head.querySelectorAll(
11617        `style[$STYLE_HASH_ATTRIBUTE15}]`
11618      )) {
11619        if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
11620          return true;
11621        }
11622      }
11623      return false;
11624    }
11625    function injectStyle15(targetDocument, hash, css) {
11626      if (!targetDocument.head) {
11627        return;
11628      }
11629      const runtime = getRuntime15();
11630      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11631      if (!injectedStyles) {
11632        injectedStyles = /* @__PURE__ */ new Set();
11633        runtime.injectedStyles.set(targetDocument, injectedStyles);
11634      }
11635      if (injectedStyles.has(hash)) {
11636        return;
11637      }
11638      if (documentContainsStyleHash15(targetDocument, hash)) {
11639        injectedStyles.add(hash);
11640        return;
11641      }
11642      const style = targetDocument.createElement("style");
11643      style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
11644      style.appendChild(targetDocument.createTextNode(css));
11645      targetDocument.head.appendChild(style);
11646      injectedStyles.add(hash);
11647    }
11648    function registerDocument15(targetDocument) {
11649      const runtime = getRuntime15();
11650      runtime.documents.set(
11651        targetDocument,
11652        (runtime.documents.get(targetDocument) ?? 0) + 1
11653      );
11654      for (const [hash, css] of runtime.styles) {
11655        injectStyle15(targetDocument, hash, css);
11656      }
11657      return () => {
11658        const count = runtime.documents.get(targetDocument);
11659        if (count === void 0) {
11660          return;
11661        }
11662        if (count <= 1) {
11663          runtime.documents.delete(targetDocument);
11664          return;
11665        }
11666        runtime.documents.set(targetDocument, count - 1);
11667      };
11668    }
11669    function registerStyle15(hash, css) {
11670      const runtime = getRuntime15();
11671      runtime.styles.set(hash, css);
11672      for (const targetDocument of runtime.documents.keys()) {
11673        injectStyle15(targetDocument, hash, css);
11674      }
11675    }
11676    if (typeof process === "undefined" || true) {
11677      registerStyle15("66b8e83c76", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._572e7c546522c522__heading-wrapper{--_gcd-heading-color:inherit;--_gcd-heading-font-size:inherit;--_gcd-heading-font-weight:inherit;--_gcd-heading-margin:0;font-family:inherit;line-height:inherit}._7ea7cf191a8d26b8__header-content{flex:1;min-width:0}._8f14576749c57845__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._48cdf1e0d42fc13e__header-trigger-positioner{align-self:flex-start;flex-shrink:0;margin-block-start:calc(var(--wpds-typography-line-height-sm, 20px)/2);max-height:0;overflow:visible}._77d30921d8288eaf__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}.c11e44555738d97f__header:focus-visible ._77d30921d8288eaf__header-trigger-wrapper{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}@media not (prefers-reduced-motion){._22a30cbbb7b656f4__header-trigger{transition:rotate .15s ease-out}}.c11e44555738d97f__header[data-panel-open] ._22a30cbbb7b656f4__header-trigger{rotate:180deg}.c11e44555738d97f__header[data-disabled] ._22a30cbbb7b656f4__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}._90333ddfaa28d232__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}._90333ddfaa28d232__content._20c2575829a8af9b__overflow-visible{overflow:visible}._90333ddfaa28d232__content[hidden]:not([hidden=until-found]){display:none}._90333ddfaa28d232__content[data-ending-style],._90333ddfaa28d232__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){._90333ddfaa28d232__content{transition:all .15s ease-out}}}@layer compositions{.c269ffa2b76fe947__content-inner{padding-block-start:0}.c11e44555738d97f__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}.c11e44555738d97f__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11678    }
11679    var style_module_default = { "heading-wrapper": "_572e7c546522c522__heading-wrapper", "header-content": "_7ea7cf191a8d26b8__header-content", "header-description": "_8f14576749c57845__header-description", "header-trigger-positioner": "_48cdf1e0d42fc13e__header-trigger-positioner", "header-trigger-wrapper": "_77d30921d8288eaf__header-trigger-wrapper", "header": "c11e44555738d97f__header", "header-trigger": "_22a30cbbb7b656f4__header-trigger", "content": "_90333ddfaa28d232__content", "overflow-visible": "_20c2575829a8af9b__overflow-visible", "content-inner": "c269ffa2b76fe947__content-inner" };
11680    if (typeof process === "undefined" || true) {
11681      registerStyle15("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
11682    }
11683    var global_css_defense_default4 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
11684    var Header2 = (0, import_element34.forwardRef)(
11685      function CollapsibleCardHeader({
11686        children,
11687        className,
11688        render,
11689        "aria-describedby": ariaDescribedByProp,
11690        ...restProps
11691      }, ref) {
11692        const [descriptionIds, setDescriptionIds] = (0, import_element34.useState)(
11693          []
11694        );
11695        const [orderedDescriptionIds, setOrderedDescriptionIds] = (0, import_element34.useState)([]);
11696        const headerContentRef = (0, import_element34.useRef)(null);
11697        const registerDescriptionId = (0, import_element34.useCallback)((id) => {
11698          setDescriptionIds((currentDescriptionIds) => {
11699            if (currentDescriptionIds.includes(id)) {
11700              return currentDescriptionIds;
11701            }
11702            return [...currentDescriptionIds, id];
11703          });
11704          return () => {
11705            setDescriptionIds(
11706              (currentDescriptionIds) => currentDescriptionIds.filter(
11707                (descriptionId) => descriptionId !== id
11708              )
11709            );
11710          };
11711        }, []);
11712        const contextValue = (0, import_element34.useMemo)(
11713          () => ({ registerDescriptionId }),
11714          [registerDescriptionId]
11715        );
11716        (0, import_compose.useIsomorphicLayoutEffect)(() => {
11717          const registeredDescriptionIds = new Set(descriptionIds);
11718          const nextDescriptionIds = Array.from(
11719            headerContentRef.current?.querySelectorAll("[id]") ?? []
11720          ).map((element) => element.id).filter((id) => registeredDescriptionIds.has(id));
11721          setOrderedDescriptionIds((currentDescriptionIds) => {
11722            if (currentDescriptionIds.length === nextDescriptionIds.length && currentDescriptionIds.every(
11723              (id, index2) => id === nextDescriptionIds[index2]
11724            )) {
11725              return currentDescriptionIds;
11726            }
11727            return nextDescriptionIds;
11728          });
11729        });
11730        const ariaDescribedBy = Array.from(
11731          /* @__PURE__ */ new Set([
11732            ...ariaDescribedByProp?.split(/\s+/).filter(Boolean) ?? [],
11733            ...orderedDescriptionIds
11734          ])
11735        ).join(" ") || void 0;
11736        return useRender({
11737          defaultTagName: "div",
11738          render,
11739          ref,
11740          props: mergeProps(restProps, {
11741            className: clsx_default(
11742              global_css_defense_default4.heading,
11743              style_module_default["heading-wrapper"],
11744              className
11745            ),
11746            children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(HeaderDescriptionIdContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
11747              Trigger2,
11748              {
11749                className: style_module_default.header,
11750                render: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Header, {}),
11751                nativeButton: false,
11752                "aria-describedby": ariaDescribedBy,
11753                children: [
11754                  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11755                    "div",
11756                    {
11757                      ref: headerContentRef,
11758                      className: style_module_default["header-content"],
11759                      children
11760                    }
11761                  ),
11762                  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11763                    "div",
11764                    {
11765                      className: clsx_default(
11766                        style_module_default["header-trigger-positioner"]
11767                      ),
11768                      children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11769                        "div",
11770                        {
11771                          className: clsx_default(
11772                            style_module_default["header-trigger-wrapper"],
11773                            global_css_defense_default4.div
11774                          ),
11775                          children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11776                            Icon,
11777                            {
11778                              icon: chevron_down_default,
11779                              className: style_module_default["header-trigger"]
11780                            }
11781                          )
11782                        }
11783                      )
11784                    }
11785                  )
11786                ]
11787              }
11788            ) })
11789          })
11790        });
11791      }
11792    );
11793  
11794    // packages/ui/build-module/collapsible-card/header-description.mjs
11795    var import_element35 = __toESM(require_element(), 1);
11796    var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
11797    var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
11798    function getRuntime16() {
11799      const globalScope = globalThis;
11800      if (globalScope.__wpStyleRuntime) {
11801        return globalScope.__wpStyleRuntime;
11802      }
11803      globalScope.__wpStyleRuntime = {
11804        documents: /* @__PURE__ */ new Map(),
11805        styles: /* @__PURE__ */ new Map(),
11806        injectedStyles: /* @__PURE__ */ new WeakMap()
11807      };
11808      if (typeof document !== "undefined") {
11809        registerDocument16(document);
11810      }
11811      return globalScope.__wpStyleRuntime;
11812    }
11813    function documentContainsStyleHash16(targetDocument, hash) {
11814      if (!targetDocument.head) {
11815        return false;
11816      }
11817      for (const style of targetDocument.head.querySelectorAll(
11818        `style[$STYLE_HASH_ATTRIBUTE16}]`
11819      )) {
11820        if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
11821          return true;
11822        }
11823      }
11824      return false;
11825    }
11826    function injectStyle16(targetDocument, hash, css) {
11827      if (!targetDocument.head) {
11828        return;
11829      }
11830      const runtime = getRuntime16();
11831      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11832      if (!injectedStyles) {
11833        injectedStyles = /* @__PURE__ */ new Set();
11834        runtime.injectedStyles.set(targetDocument, injectedStyles);
11835      }
11836      if (injectedStyles.has(hash)) {
11837        return;
11838      }
11839      if (documentContainsStyleHash16(targetDocument, hash)) {
11840        injectedStyles.add(hash);
11841        return;
11842      }
11843      const style = targetDocument.createElement("style");
11844      style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
11845      style.appendChild(targetDocument.createTextNode(css));
11846      targetDocument.head.appendChild(style);
11847      injectedStyles.add(hash);
11848    }
11849    function registerDocument16(targetDocument) {
11850      const runtime = getRuntime16();
11851      runtime.documents.set(
11852        targetDocument,
11853        (runtime.documents.get(targetDocument) ?? 0) + 1
11854      );
11855      for (const [hash, css] of runtime.styles) {
11856        injectStyle16(targetDocument, hash, css);
11857      }
11858      return () => {
11859        const count = runtime.documents.get(targetDocument);
11860        if (count === void 0) {
11861          return;
11862        }
11863        if (count <= 1) {
11864          runtime.documents.delete(targetDocument);
11865          return;
11866        }
11867        runtime.documents.set(targetDocument, count - 1);
11868      };
11869    }
11870    function registerStyle16(hash, css) {
11871      const runtime = getRuntime16();
11872      runtime.styles.set(hash, css);
11873      for (const targetDocument of runtime.documents.keys()) {
11874        injectStyle16(targetDocument, hash, css);
11875      }
11876    }
11877    if (typeof process === "undefined" || true) {
11878      registerStyle16("66b8e83c76", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._572e7c546522c522__heading-wrapper{--_gcd-heading-color:inherit;--_gcd-heading-font-size:inherit;--_gcd-heading-font-weight:inherit;--_gcd-heading-margin:0;font-family:inherit;line-height:inherit}._7ea7cf191a8d26b8__header-content{flex:1;min-width:0}._8f14576749c57845__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._48cdf1e0d42fc13e__header-trigger-positioner{align-self:flex-start;flex-shrink:0;margin-block-start:calc(var(--wpds-typography-line-height-sm, 20px)/2);max-height:0;overflow:visible}._77d30921d8288eaf__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}.c11e44555738d97f__header:focus-visible ._77d30921d8288eaf__header-trigger-wrapper{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}@media not (prefers-reduced-motion){._22a30cbbb7b656f4__header-trigger{transition:rotate .15s ease-out}}.c11e44555738d97f__header[data-panel-open] ._22a30cbbb7b656f4__header-trigger{rotate:180deg}.c11e44555738d97f__header[data-disabled] ._22a30cbbb7b656f4__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}._90333ddfaa28d232__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}._90333ddfaa28d232__content._20c2575829a8af9b__overflow-visible{overflow:visible}._90333ddfaa28d232__content[hidden]:not([hidden=until-found]){display:none}._90333ddfaa28d232__content[data-ending-style],._90333ddfaa28d232__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){._90333ddfaa28d232__content{transition:all .15s ease-out}}}@layer compositions{.c269ffa2b76fe947__content-inner{padding-block-start:0}.c11e44555738d97f__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}.c11e44555738d97f__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11879    }
11880    var style_module_default2 = { "heading-wrapper": "_572e7c546522c522__heading-wrapper", "header-content": "_7ea7cf191a8d26b8__header-content", "header-description": "_8f14576749c57845__header-description", "header-trigger-positioner": "_48cdf1e0d42fc13e__header-trigger-positioner", "header-trigger-wrapper": "_77d30921d8288eaf__header-trigger-wrapper", "header": "c11e44555738d97f__header", "header-trigger": "_22a30cbbb7b656f4__header-trigger", "content": "_90333ddfaa28d232__content", "overflow-visible": "_20c2575829a8af9b__overflow-visible", "content-inner": "c269ffa2b76fe947__content-inner" };
11881    var DEFAULT_TAG2 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {});
11882    var HeaderDescription = (0, import_element35.forwardRef)(function CollapsibleCardHeaderDescription({ children, className, id: idProp, render = DEFAULT_TAG2, ...restProps }, ref) {
11883      const generatedId = (0, import_element35.useId)();
11884      const descriptionId = idProp ?? generatedId;
11885      const context = (0, import_element35.useContext)(HeaderDescriptionIdContext);
11886      if (!context) {
11887        throw new Error(
11888          "CollapsibleCard.HeaderDescription: Missing parent <CollapsibleCard.Header>. Render <CollapsibleCard.HeaderDescription> inside <CollapsibleCard.Header>."
11889        );
11890      }
11891      (0, import_element35.useEffect)(() => {
11892        return context?.registerDescriptionId(descriptionId);
11893      }, [context, descriptionId]);
11894      return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
11895        Text,
11896        {
11897          ref,
11898          variant: "body-md",
11899          render,
11900          id: descriptionId,
11901          "aria-hidden": "true",
11902          className: clsx_default(style_module_default2["header-description"], className),
11903          ...restProps,
11904          children
11905        }
11906      );
11907    });
11908  
11909    // packages/ui/build-module/collapsible-card/content.mjs
11910    var import_element36 = __toESM(require_element(), 1);
11911    var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
11912    var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
11913    function getRuntime17() {
11914      const globalScope = globalThis;
11915      if (globalScope.__wpStyleRuntime) {
11916        return globalScope.__wpStyleRuntime;
11917      }
11918      globalScope.__wpStyleRuntime = {
11919        documents: /* @__PURE__ */ new Map(),
11920        styles: /* @__PURE__ */ new Map(),
11921        injectedStyles: /* @__PURE__ */ new WeakMap()
11922      };
11923      if (typeof document !== "undefined") {
11924        registerDocument17(document);
11925      }
11926      return globalScope.__wpStyleRuntime;
11927    }
11928    function documentContainsStyleHash17(targetDocument, hash) {
11929      if (!targetDocument.head) {
11930        return false;
11931      }
11932      for (const style of targetDocument.head.querySelectorAll(
11933        `style[$STYLE_HASH_ATTRIBUTE17}]`
11934      )) {
11935        if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
11936          return true;
11937        }
11938      }
11939      return false;
11940    }
11941    function injectStyle17(targetDocument, hash, css) {
11942      if (!targetDocument.head) {
11943        return;
11944      }
11945      const runtime = getRuntime17();
11946      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11947      if (!injectedStyles) {
11948        injectedStyles = /* @__PURE__ */ new Set();
11949        runtime.injectedStyles.set(targetDocument, injectedStyles);
11950      }
11951      if (injectedStyles.has(hash)) {
11952        return;
11953      }
11954      if (documentContainsStyleHash17(targetDocument, hash)) {
11955        injectedStyles.add(hash);
11956        return;
11957      }
11958      const style = targetDocument.createElement("style");
11959      style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
11960      style.appendChild(targetDocument.createTextNode(css));
11961      targetDocument.head.appendChild(style);
11962      injectedStyles.add(hash);
11963    }
11964    function registerDocument17(targetDocument) {
11965      const runtime = getRuntime17();
11966      runtime.documents.set(
11967        targetDocument,
11968        (runtime.documents.get(targetDocument) ?? 0) + 1
11969      );
11970      for (const [hash, css] of runtime.styles) {
11971        injectStyle17(targetDocument, hash, css);
11972      }
11973      return () => {
11974        const count = runtime.documents.get(targetDocument);
11975        if (count === void 0) {
11976          return;
11977        }
11978        if (count <= 1) {
11979          runtime.documents.delete(targetDocument);
11980          return;
11981        }
11982        runtime.documents.set(targetDocument, count - 1);
11983      };
11984    }
11985    function registerStyle17(hash, css) {
11986      const runtime = getRuntime17();
11987      runtime.styles.set(hash, css);
11988      for (const targetDocument of runtime.documents.keys()) {
11989        injectStyle17(targetDocument, hash, css);
11990      }
11991    }
11992    if (typeof process === "undefined" || true) {
11993      registerStyle17("66b8e83c76", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._572e7c546522c522__heading-wrapper{--_gcd-heading-color:inherit;--_gcd-heading-font-size:inherit;--_gcd-heading-font-weight:inherit;--_gcd-heading-margin:0;font-family:inherit;line-height:inherit}._7ea7cf191a8d26b8__header-content{flex:1;min-width:0}._8f14576749c57845__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._48cdf1e0d42fc13e__header-trigger-positioner{align-self:flex-start;flex-shrink:0;margin-block-start:calc(var(--wpds-typography-line-height-sm, 20px)/2);max-height:0;overflow:visible}._77d30921d8288eaf__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}.c11e44555738d97f__header:focus-visible ._77d30921d8288eaf__header-trigger-wrapper{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}@media not (prefers-reduced-motion){._22a30cbbb7b656f4__header-trigger{transition:rotate .15s ease-out}}.c11e44555738d97f__header[data-panel-open] ._22a30cbbb7b656f4__header-trigger{rotate:180deg}.c11e44555738d97f__header[data-disabled] ._22a30cbbb7b656f4__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}._90333ddfaa28d232__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}._90333ddfaa28d232__content._20c2575829a8af9b__overflow-visible{overflow:visible}._90333ddfaa28d232__content[hidden]:not([hidden=until-found]){display:none}._90333ddfaa28d232__content[data-ending-style],._90333ddfaa28d232__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){._90333ddfaa28d232__content{transition:all .15s ease-out}}}@layer compositions{.c269ffa2b76fe947__content-inner{padding-block-start:0}.c11e44555738d97f__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}.c11e44555738d97f__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11994    }
11995    var style_module_default3 = { "heading-wrapper": "_572e7c546522c522__heading-wrapper", "header-content": "_7ea7cf191a8d26b8__header-content", "header-description": "_8f14576749c57845__header-description", "header-trigger-positioner": "_48cdf1e0d42fc13e__header-trigger-positioner", "header-trigger-wrapper": "_77d30921d8288eaf__header-trigger-wrapper", "header": "c11e44555738d97f__header", "header-trigger": "_22a30cbbb7b656f4__header-trigger", "content": "_90333ddfaa28d232__content", "overflow-visible": "_20c2575829a8af9b__overflow-visible", "content-inner": "c269ffa2b76fe947__content-inner" };
11996    var Content2 = (0, import_element36.forwardRef)(
11997      function CollapsibleCardContent({ className, render, children, hiddenUntilFound = true, ...restProps }, ref) {
11998        return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
11999          Panel,
12000          {
12001            ref,
12002            className: (state) => clsx_default(
12003              style_module_default3.content,
12004              state.open && state.transitionStatus === "idle" && style_module_default3["overflow-visible"],
12005              className
12006            ),
12007            hiddenUntilFound,
12008            ...restProps,
12009            children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
12010              Content,
12011              {
12012                className: style_module_default3["content-inner"],
12013                render,
12014                children
12015              }
12016            )
12017          }
12018        );
12019      }
12020    );
12021  
12022    // packages/ui/build-module/stack/stack.mjs
12023    var import_element37 = __toESM(require_element(), 1);
12024    var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
12025    function getRuntime18() {
12026      const globalScope = globalThis;
12027      if (globalScope.__wpStyleRuntime) {
12028        return globalScope.__wpStyleRuntime;
12029      }
12030      globalScope.__wpStyleRuntime = {
12031        documents: /* @__PURE__ */ new Map(),
12032        styles: /* @__PURE__ */ new Map(),
12033        injectedStyles: /* @__PURE__ */ new WeakMap()
12034      };
12035      if (typeof document !== "undefined") {
12036        registerDocument18(document);
12037      }
12038      return globalScope.__wpStyleRuntime;
12039    }
12040    function documentContainsStyleHash18(targetDocument, hash) {
12041      if (!targetDocument.head) {
12042        return false;
12043      }
12044      for (const style of targetDocument.head.querySelectorAll(
12045        `style[$STYLE_HASH_ATTRIBUTE18}]`
12046      )) {
12047        if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
12048          return true;
12049        }
12050      }
12051      return false;
12052    }
12053    function injectStyle18(targetDocument, hash, css) {
12054      if (!targetDocument.head) {
12055        return;
12056      }
12057      const runtime = getRuntime18();
12058      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12059      if (!injectedStyles) {
12060        injectedStyles = /* @__PURE__ */ new Set();
12061        runtime.injectedStyles.set(targetDocument, injectedStyles);
12062      }
12063      if (injectedStyles.has(hash)) {
12064        return;
12065      }
12066      if (documentContainsStyleHash18(targetDocument, hash)) {
12067        injectedStyles.add(hash);
12068        return;
12069      }
12070      const style = targetDocument.createElement("style");
12071      style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
12072      style.appendChild(targetDocument.createTextNode(css));
12073      targetDocument.head.appendChild(style);
12074      injectedStyles.add(hash);
12075    }
12076    function registerDocument18(targetDocument) {
12077      const runtime = getRuntime18();
12078      runtime.documents.set(
12079        targetDocument,
12080        (runtime.documents.get(targetDocument) ?? 0) + 1
12081      );
12082      for (const [hash, css] of runtime.styles) {
12083        injectStyle18(targetDocument, hash, css);
12084      }
12085      return () => {
12086        const count = runtime.documents.get(targetDocument);
12087        if (count === void 0) {
12088          return;
12089        }
12090        if (count <= 1) {
12091          runtime.documents.delete(targetDocument);
12092          return;
12093        }
12094        runtime.documents.set(targetDocument, count - 1);
12095      };
12096    }
12097    function registerStyle18(hash, css) {
12098      const runtime = getRuntime18();
12099      runtime.styles.set(hash, css);
12100      for (const targetDocument of runtime.documents.keys()) {
12101        injectStyle18(targetDocument, hash, css);
12102      }
12103    }
12104    if (typeof process === "undefined" || true) {
12105      registerStyle18("32aba35fe1", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._19ce0419607e1896__stack{display:flex}}}");
12106    }
12107    var style_default14 = { "stack": "_19ce0419607e1896__stack" };
12108    var gapTokens = {
12109      xs: "var(--wpds-dimension-gap-xs, 4px)",
12110      sm: "var(--wpds-dimension-gap-sm, 8px)",
12111      md: "var(--wpds-dimension-gap-md, 12px)",
12112      lg: "var(--wpds-dimension-gap-lg, 16px)",
12113      xl: "var(--wpds-dimension-gap-xl, 24px)",
12114      "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
12115      "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
12116    };
12117    var Stack = (0, import_element37.forwardRef)(
12118      function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
12119        const style = {
12120          gap: gap && gapTokens[gap],
12121          alignItems: align,
12122          justifyContent: justify,
12123          flexDirection: direction,
12124          flexWrap: wrap
12125        };
12126        const element = useRender({
12127          render,
12128          ref,
12129          props: mergeProps(props, {
12130            style,
12131            className: style_default14.stack
12132          })
12133        });
12134        return element;
12135      }
12136    );
12137  
12138    // packages/ui/build-module/notice/index.mjs
12139    var notice_exports = {};
12140    __export(notice_exports, {
12141      ActionButton: () => ActionButton,
12142      ActionLink: () => ActionLink,
12143      Actions: () => Actions,
12144      CloseIconButton: () => CloseIconButton,
12145      Description: () => Description,
12146      Root: () => Root4,
12147      Title: () => Title2
12148    });
12149  
12150    // packages/ui/build-module/notice/root.mjs
12151    var import_element38 = __toESM(require_element(), 1);
12152    var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
12153    var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
12154    function getRuntime19() {
12155      const globalScope = globalThis;
12156      if (globalScope.__wpStyleRuntime) {
12157        return globalScope.__wpStyleRuntime;
12158      }
12159      globalScope.__wpStyleRuntime = {
12160        documents: /* @__PURE__ */ new Map(),
12161        styles: /* @__PURE__ */ new Map(),
12162        injectedStyles: /* @__PURE__ */ new WeakMap()
12163      };
12164      if (typeof document !== "undefined") {
12165        registerDocument19(document);
12166      }
12167      return globalScope.__wpStyleRuntime;
12168    }
12169    function documentContainsStyleHash19(targetDocument, hash) {
12170      if (!targetDocument.head) {
12171        return false;
12172      }
12173      for (const style of targetDocument.head.querySelectorAll(
12174        `style[$STYLE_HASH_ATTRIBUTE19}]`
12175      )) {
12176        if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
12177          return true;
12178        }
12179      }
12180      return false;
12181    }
12182    function injectStyle19(targetDocument, hash, css) {
12183      if (!targetDocument.head) {
12184        return;
12185      }
12186      const runtime = getRuntime19();
12187      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12188      if (!injectedStyles) {
12189        injectedStyles = /* @__PURE__ */ new Set();
12190        runtime.injectedStyles.set(targetDocument, injectedStyles);
12191      }
12192      if (injectedStyles.has(hash)) {
12193        return;
12194      }
12195      if (documentContainsStyleHash19(targetDocument, hash)) {
12196        injectedStyles.add(hash);
12197        return;
12198      }
12199      const style = targetDocument.createElement("style");
12200      style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
12201      style.appendChild(targetDocument.createTextNode(css));
12202      targetDocument.head.appendChild(style);
12203      injectedStyles.add(hash);
12204    }
12205    function registerDocument19(targetDocument) {
12206      const runtime = getRuntime19();
12207      runtime.documents.set(
12208        targetDocument,
12209        (runtime.documents.get(targetDocument) ?? 0) + 1
12210      );
12211      for (const [hash, css] of runtime.styles) {
12212        injectStyle19(targetDocument, hash, css);
12213      }
12214      return () => {
12215        const count = runtime.documents.get(targetDocument);
12216        if (count === void 0) {
12217          return;
12218        }
12219        if (count <= 1) {
12220          runtime.documents.delete(targetDocument);
12221          return;
12222        }
12223        runtime.documents.set(targetDocument, count - 1);
12224      };
12225    }
12226    function registerStyle19(hash, css) {
12227      const runtime = getRuntime19();
12228      runtime.styles.set(hash, css);
12229      for (const targetDocument of runtime.documents.keys()) {
12230        injectStyle19(targetDocument, hash, css);
12231      }
12232    }
12233    if (typeof process === "undefined" || true) {
12234      registerStyle19("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12235    }
12236    var resets_default5 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
12237    if (typeof process === "undefined" || true) {
12238      registerStyle19("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12239    }
12240    var style_default15 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12241    var icons = {
12242      neutral: null,
12243      info: info_default,
12244      warning: caution_default,
12245      success: published_default,
12246      error: error_default
12247    };
12248    var Root4 = (0, import_element38.forwardRef)(function Notice({ intent = "neutral", children, icon, render, ...restProps }, ref) {
12249      const iconElement = icon === null ? null : icon ?? icons[intent];
12250      const mergedClassName = clsx_default(
12251        style_default15.notice,
12252        style_default15[`is-$intent}`],
12253        resets_default5["box-sizing"]
12254      );
12255      const element = useRender({
12256        defaultTagName: "div",
12257        render,
12258        ref,
12259        props: mergeProps(
12260          {
12261            className: mergedClassName,
12262            children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
12263              children,
12264              iconElement && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12265                Icon,
12266                {
12267                  className: style_default15.icon,
12268                  icon: iconElement
12269                }
12270              )
12271            ] })
12272          },
12273          restProps
12274        )
12275      });
12276      return element;
12277    });
12278  
12279    // packages/ui/build-module/notice/title.mjs
12280    var import_element39 = __toESM(require_element(), 1);
12281    var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
12282    var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
12283    function getRuntime20() {
12284      const globalScope = globalThis;
12285      if (globalScope.__wpStyleRuntime) {
12286        return globalScope.__wpStyleRuntime;
12287      }
12288      globalScope.__wpStyleRuntime = {
12289        documents: /* @__PURE__ */ new Map(),
12290        styles: /* @__PURE__ */ new Map(),
12291        injectedStyles: /* @__PURE__ */ new WeakMap()
12292      };
12293      if (typeof document !== "undefined") {
12294        registerDocument20(document);
12295      }
12296      return globalScope.__wpStyleRuntime;
12297    }
12298    function documentContainsStyleHash20(targetDocument, hash) {
12299      if (!targetDocument.head) {
12300        return false;
12301      }
12302      for (const style of targetDocument.head.querySelectorAll(
12303        `style[$STYLE_HASH_ATTRIBUTE20}]`
12304      )) {
12305        if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
12306          return true;
12307        }
12308      }
12309      return false;
12310    }
12311    function injectStyle20(targetDocument, hash, css) {
12312      if (!targetDocument.head) {
12313        return;
12314      }
12315      const runtime = getRuntime20();
12316      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12317      if (!injectedStyles) {
12318        injectedStyles = /* @__PURE__ */ new Set();
12319        runtime.injectedStyles.set(targetDocument, injectedStyles);
12320      }
12321      if (injectedStyles.has(hash)) {
12322        return;
12323      }
12324      if (documentContainsStyleHash20(targetDocument, hash)) {
12325        injectedStyles.add(hash);
12326        return;
12327      }
12328      const style = targetDocument.createElement("style");
12329      style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
12330      style.appendChild(targetDocument.createTextNode(css));
12331      targetDocument.head.appendChild(style);
12332      injectedStyles.add(hash);
12333    }
12334    function registerDocument20(targetDocument) {
12335      const runtime = getRuntime20();
12336      runtime.documents.set(
12337        targetDocument,
12338        (runtime.documents.get(targetDocument) ?? 0) + 1
12339      );
12340      for (const [hash, css] of runtime.styles) {
12341        injectStyle20(targetDocument, hash, css);
12342      }
12343      return () => {
12344        const count = runtime.documents.get(targetDocument);
12345        if (count === void 0) {
12346          return;
12347        }
12348        if (count <= 1) {
12349          runtime.documents.delete(targetDocument);
12350          return;
12351        }
12352        runtime.documents.set(targetDocument, count - 1);
12353      };
12354    }
12355    function registerStyle20(hash, css) {
12356      const runtime = getRuntime20();
12357      runtime.styles.set(hash, css);
12358      for (const targetDocument of runtime.documents.keys()) {
12359        injectStyle20(targetDocument, hash, css);
12360      }
12361    }
12362    if (typeof process === "undefined" || true) {
12363      registerStyle20("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12364    }
12365    var style_default16 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12366    var Title2 = (0, import_element39.forwardRef)(
12367      function NoticeTitle({ className, ...props }, ref) {
12368        return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
12369          Text,
12370          {
12371            ref,
12372            variant: "heading-md",
12373            className: clsx_default(style_default16.title, className),
12374            ...props
12375          }
12376        );
12377      }
12378    );
12379  
12380    // packages/ui/build-module/notice/description.mjs
12381    var import_element40 = __toESM(require_element(), 1);
12382    var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
12383    var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
12384    function getRuntime21() {
12385      const globalScope = globalThis;
12386      if (globalScope.__wpStyleRuntime) {
12387        return globalScope.__wpStyleRuntime;
12388      }
12389      globalScope.__wpStyleRuntime = {
12390        documents: /* @__PURE__ */ new Map(),
12391        styles: /* @__PURE__ */ new Map(),
12392        injectedStyles: /* @__PURE__ */ new WeakMap()
12393      };
12394      if (typeof document !== "undefined") {
12395        registerDocument21(document);
12396      }
12397      return globalScope.__wpStyleRuntime;
12398    }
12399    function documentContainsStyleHash21(targetDocument, hash) {
12400      if (!targetDocument.head) {
12401        return false;
12402      }
12403      for (const style of targetDocument.head.querySelectorAll(
12404        `style[$STYLE_HASH_ATTRIBUTE21}]`
12405      )) {
12406        if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
12407          return true;
12408        }
12409      }
12410      return false;
12411    }
12412    function injectStyle21(targetDocument, hash, css) {
12413      if (!targetDocument.head) {
12414        return;
12415      }
12416      const runtime = getRuntime21();
12417      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12418      if (!injectedStyles) {
12419        injectedStyles = /* @__PURE__ */ new Set();
12420        runtime.injectedStyles.set(targetDocument, injectedStyles);
12421      }
12422      if (injectedStyles.has(hash)) {
12423        return;
12424      }
12425      if (documentContainsStyleHash21(targetDocument, hash)) {
12426        injectedStyles.add(hash);
12427        return;
12428      }
12429      const style = targetDocument.createElement("style");
12430      style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
12431      style.appendChild(targetDocument.createTextNode(css));
12432      targetDocument.head.appendChild(style);
12433      injectedStyles.add(hash);
12434    }
12435    function registerDocument21(targetDocument) {
12436      const runtime = getRuntime21();
12437      runtime.documents.set(
12438        targetDocument,
12439        (runtime.documents.get(targetDocument) ?? 0) + 1
12440      );
12441      for (const [hash, css] of runtime.styles) {
12442        injectStyle21(targetDocument, hash, css);
12443      }
12444      return () => {
12445        const count = runtime.documents.get(targetDocument);
12446        if (count === void 0) {
12447          return;
12448        }
12449        if (count <= 1) {
12450          runtime.documents.delete(targetDocument);
12451          return;
12452        }
12453        runtime.documents.set(targetDocument, count - 1);
12454      };
12455    }
12456    function registerStyle21(hash, css) {
12457      const runtime = getRuntime21();
12458      runtime.styles.set(hash, css);
12459      for (const targetDocument of runtime.documents.keys()) {
12460        injectStyle21(targetDocument, hash, css);
12461      }
12462    }
12463    if (typeof process === "undefined" || true) {
12464      registerStyle21("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12465    }
12466    var style_default17 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12467    var Description = (0, import_element40.forwardRef)(
12468      function NoticeDescription({ className, ...props }, ref) {
12469        return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
12470          Text,
12471          {
12472            ref,
12473            variant: "body-md",
12474            className: clsx_default(style_default17.description, className),
12475            ...props
12476          }
12477        );
12478      }
12479    );
12480  
12481    // packages/ui/build-module/notice/actions.mjs
12482    var import_element41 = __toESM(require_element(), 1);
12483    var STYLE_HASH_ATTRIBUTE22 = "data-wp-hash";
12484    function getRuntime22() {
12485      const globalScope = globalThis;
12486      if (globalScope.__wpStyleRuntime) {
12487        return globalScope.__wpStyleRuntime;
12488      }
12489      globalScope.__wpStyleRuntime = {
12490        documents: /* @__PURE__ */ new Map(),
12491        styles: /* @__PURE__ */ new Map(),
12492        injectedStyles: /* @__PURE__ */ new WeakMap()
12493      };
12494      if (typeof document !== "undefined") {
12495        registerDocument22(document);
12496      }
12497      return globalScope.__wpStyleRuntime;
12498    }
12499    function documentContainsStyleHash22(targetDocument, hash) {
12500      if (!targetDocument.head) {
12501        return false;
12502      }
12503      for (const style of targetDocument.head.querySelectorAll(
12504        `style[$STYLE_HASH_ATTRIBUTE22}]`
12505      )) {
12506        if (style.getAttribute(STYLE_HASH_ATTRIBUTE22) === hash) {
12507          return true;
12508        }
12509      }
12510      return false;
12511    }
12512    function injectStyle22(targetDocument, hash, css) {
12513      if (!targetDocument.head) {
12514        return;
12515      }
12516      const runtime = getRuntime22();
12517      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12518      if (!injectedStyles) {
12519        injectedStyles = /* @__PURE__ */ new Set();
12520        runtime.injectedStyles.set(targetDocument, injectedStyles);
12521      }
12522      if (injectedStyles.has(hash)) {
12523        return;
12524      }
12525      if (documentContainsStyleHash22(targetDocument, hash)) {
12526        injectedStyles.add(hash);
12527        return;
12528      }
12529      const style = targetDocument.createElement("style");
12530      style.setAttribute(STYLE_HASH_ATTRIBUTE22, hash);
12531      style.appendChild(targetDocument.createTextNode(css));
12532      targetDocument.head.appendChild(style);
12533      injectedStyles.add(hash);
12534    }
12535    function registerDocument22(targetDocument) {
12536      const runtime = getRuntime22();
12537      runtime.documents.set(
12538        targetDocument,
12539        (runtime.documents.get(targetDocument) ?? 0) + 1
12540      );
12541      for (const [hash, css] of runtime.styles) {
12542        injectStyle22(targetDocument, hash, css);
12543      }
12544      return () => {
12545        const count = runtime.documents.get(targetDocument);
12546        if (count === void 0) {
12547          return;
12548        }
12549        if (count <= 1) {
12550          runtime.documents.delete(targetDocument);
12551          return;
12552        }
12553        runtime.documents.set(targetDocument, count - 1);
12554      };
12555    }
12556    function registerStyle22(hash, css) {
12557      const runtime = getRuntime22();
12558      runtime.styles.set(hash, css);
12559      for (const targetDocument of runtime.documents.keys()) {
12560        injectStyle22(targetDocument, hash, css);
12561      }
12562    }
12563    if (typeof process === "undefined" || true) {
12564      registerStyle22("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12565    }
12566    var style_default18 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12567    var Actions = (0, import_element41.forwardRef)(
12568      function NoticeActions({ render, ...props }, ref) {
12569        const element = useRender({
12570          defaultTagName: "div",
12571          render,
12572          ref,
12573          props: mergeProps(
12574            {
12575              className: style_default18.actions
12576            },
12577            props
12578          )
12579        });
12580        return element;
12581      }
12582    );
12583  
12584    // packages/ui/build-module/notice/close-icon-button.mjs
12585    var import_element42 = __toESM(require_element(), 1);
12586    var import_i18n5 = __toESM(require_i18n(), 1);
12587    var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
12588    var STYLE_HASH_ATTRIBUTE23 = "data-wp-hash";
12589    function getRuntime23() {
12590      const globalScope = globalThis;
12591      if (globalScope.__wpStyleRuntime) {
12592        return globalScope.__wpStyleRuntime;
12593      }
12594      globalScope.__wpStyleRuntime = {
12595        documents: /* @__PURE__ */ new Map(),
12596        styles: /* @__PURE__ */ new Map(),
12597        injectedStyles: /* @__PURE__ */ new WeakMap()
12598      };
12599      if (typeof document !== "undefined") {
12600        registerDocument23(document);
12601      }
12602      return globalScope.__wpStyleRuntime;
12603    }
12604    function documentContainsStyleHash23(targetDocument, hash) {
12605      if (!targetDocument.head) {
12606        return false;
12607      }
12608      for (const style of targetDocument.head.querySelectorAll(
12609        `style[$STYLE_HASH_ATTRIBUTE23}]`
12610      )) {
12611        if (style.getAttribute(STYLE_HASH_ATTRIBUTE23) === hash) {
12612          return true;
12613        }
12614      }
12615      return false;
12616    }
12617    function injectStyle23(targetDocument, hash, css) {
12618      if (!targetDocument.head) {
12619        return;
12620      }
12621      const runtime = getRuntime23();
12622      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12623      if (!injectedStyles) {
12624        injectedStyles = /* @__PURE__ */ new Set();
12625        runtime.injectedStyles.set(targetDocument, injectedStyles);
12626      }
12627      if (injectedStyles.has(hash)) {
12628        return;
12629      }
12630      if (documentContainsStyleHash23(targetDocument, hash)) {
12631        injectedStyles.add(hash);
12632        return;
12633      }
12634      const style = targetDocument.createElement("style");
12635      style.setAttribute(STYLE_HASH_ATTRIBUTE23, hash);
12636      style.appendChild(targetDocument.createTextNode(css));
12637      targetDocument.head.appendChild(style);
12638      injectedStyles.add(hash);
12639    }
12640    function registerDocument23(targetDocument) {
12641      const runtime = getRuntime23();
12642      runtime.documents.set(
12643        targetDocument,
12644        (runtime.documents.get(targetDocument) ?? 0) + 1
12645      );
12646      for (const [hash, css] of runtime.styles) {
12647        injectStyle23(targetDocument, hash, css);
12648      }
12649      return () => {
12650        const count = runtime.documents.get(targetDocument);
12651        if (count === void 0) {
12652          return;
12653        }
12654        if (count <= 1) {
12655          runtime.documents.delete(targetDocument);
12656          return;
12657        }
12658        runtime.documents.set(targetDocument, count - 1);
12659      };
12660    }
12661    function registerStyle23(hash, css) {
12662      const runtime = getRuntime23();
12663      runtime.styles.set(hash, css);
12664      for (const targetDocument of runtime.documents.keys()) {
12665        injectStyle23(targetDocument, hash, css);
12666      }
12667    }
12668    if (typeof process === "undefined" || true) {
12669      registerStyle23("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12670    }
12671    var style_default19 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12672    var CloseIconButton = (0, import_element42.forwardRef)(function NoticeCloseIconButton({ className, icon = close_small_default, label = (0, import_i18n5.__)("Dismiss"), ...props }, ref) {
12673      return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
12674        IconButton,
12675        {
12676          ...props,
12677          ref,
12678          className: clsx_default(style_default19["close-icon"], className),
12679          variant: "minimal",
12680          size: "small",
12681          tone: "neutral",
12682          icon,
12683          label
12684        }
12685      );
12686    });
12687  
12688    // packages/ui/build-module/notice/action-button.mjs
12689    var import_element43 = __toESM(require_element(), 1);
12690    var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
12691    var STYLE_HASH_ATTRIBUTE24 = "data-wp-hash";
12692    function getRuntime24() {
12693      const globalScope = globalThis;
12694      if (globalScope.__wpStyleRuntime) {
12695        return globalScope.__wpStyleRuntime;
12696      }
12697      globalScope.__wpStyleRuntime = {
12698        documents: /* @__PURE__ */ new Map(),
12699        styles: /* @__PURE__ */ new Map(),
12700        injectedStyles: /* @__PURE__ */ new WeakMap()
12701      };
12702      if (typeof document !== "undefined") {
12703        registerDocument24(document);
12704      }
12705      return globalScope.__wpStyleRuntime;
12706    }
12707    function documentContainsStyleHash24(targetDocument, hash) {
12708      if (!targetDocument.head) {
12709        return false;
12710      }
12711      for (const style of targetDocument.head.querySelectorAll(
12712        `style[$STYLE_HASH_ATTRIBUTE24}]`
12713      )) {
12714        if (style.getAttribute(STYLE_HASH_ATTRIBUTE24) === hash) {
12715          return true;
12716        }
12717      }
12718      return false;
12719    }
12720    function injectStyle24(targetDocument, hash, css) {
12721      if (!targetDocument.head) {
12722        return;
12723      }
12724      const runtime = getRuntime24();
12725      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12726      if (!injectedStyles) {
12727        injectedStyles = /* @__PURE__ */ new Set();
12728        runtime.injectedStyles.set(targetDocument, injectedStyles);
12729      }
12730      if (injectedStyles.has(hash)) {
12731        return;
12732      }
12733      if (documentContainsStyleHash24(targetDocument, hash)) {
12734        injectedStyles.add(hash);
12735        return;
12736      }
12737      const style = targetDocument.createElement("style");
12738      style.setAttribute(STYLE_HASH_ATTRIBUTE24, hash);
12739      style.appendChild(targetDocument.createTextNode(css));
12740      targetDocument.head.appendChild(style);
12741      injectedStyles.add(hash);
12742    }
12743    function registerDocument24(targetDocument) {
12744      const runtime = getRuntime24();
12745      runtime.documents.set(
12746        targetDocument,
12747        (runtime.documents.get(targetDocument) ?? 0) + 1
12748      );
12749      for (const [hash, css] of runtime.styles) {
12750        injectStyle24(targetDocument, hash, css);
12751      }
12752      return () => {
12753        const count = runtime.documents.get(targetDocument);
12754        if (count === void 0) {
12755          return;
12756        }
12757        if (count <= 1) {
12758          runtime.documents.delete(targetDocument);
12759          return;
12760        }
12761        runtime.documents.set(targetDocument, count - 1);
12762      };
12763    }
12764    function registerStyle24(hash, css) {
12765      const runtime = getRuntime24();
12766      runtime.styles.set(hash, css);
12767      for (const targetDocument of runtime.documents.keys()) {
12768        injectStyle24(targetDocument, hash, css);
12769      }
12770    }
12771    if (typeof process === "undefined" || true) {
12772      registerStyle24("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12773    }
12774    var style_default20 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12775    var ActionButton = (0, import_element43.forwardRef)(
12776      function NoticeActionButton({ className, loading, loadingAnnouncement, variant, ...props }, ref) {
12777        const loadingProps = loading !== void 0 ? { loading, loadingAnnouncement: loadingAnnouncement ?? "" } : {};
12778        return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
12779          Button4,
12780          {
12781            ...props,
12782            ...loadingProps,
12783            ref,
12784            size: "compact",
12785            tone: "neutral",
12786            variant,
12787            className: clsx_default(
12788              style_default20["action-button"],
12789              style_default20[`is-action-button-$variant}`],
12790              className
12791            )
12792          }
12793        );
12794      }
12795    );
12796  
12797    // packages/ui/build-module/notice/action-link.mjs
12798    var import_element44 = __toESM(require_element(), 1);
12799    var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
12800    var STYLE_HASH_ATTRIBUTE25 = "data-wp-hash";
12801    function getRuntime25() {
12802      const globalScope = globalThis;
12803      if (globalScope.__wpStyleRuntime) {
12804        return globalScope.__wpStyleRuntime;
12805      }
12806      globalScope.__wpStyleRuntime = {
12807        documents: /* @__PURE__ */ new Map(),
12808        styles: /* @__PURE__ */ new Map(),
12809        injectedStyles: /* @__PURE__ */ new WeakMap()
12810      };
12811      if (typeof document !== "undefined") {
12812        registerDocument25(document);
12813      }
12814      return globalScope.__wpStyleRuntime;
12815    }
12816    function documentContainsStyleHash25(targetDocument, hash) {
12817      if (!targetDocument.head) {
12818        return false;
12819      }
12820      for (const style of targetDocument.head.querySelectorAll(
12821        `style[$STYLE_HASH_ATTRIBUTE25}]`
12822      )) {
12823        if (style.getAttribute(STYLE_HASH_ATTRIBUTE25) === hash) {
12824          return true;
12825        }
12826      }
12827      return false;
12828    }
12829    function injectStyle25(targetDocument, hash, css) {
12830      if (!targetDocument.head) {
12831        return;
12832      }
12833      const runtime = getRuntime25();
12834      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12835      if (!injectedStyles) {
12836        injectedStyles = /* @__PURE__ */ new Set();
12837        runtime.injectedStyles.set(targetDocument, injectedStyles);
12838      }
12839      if (injectedStyles.has(hash)) {
12840        return;
12841      }
12842      if (documentContainsStyleHash25(targetDocument, hash)) {
12843        injectedStyles.add(hash);
12844        return;
12845      }
12846      const style = targetDocument.createElement("style");
12847      style.setAttribute(STYLE_HASH_ATTRIBUTE25, hash);
12848      style.appendChild(targetDocument.createTextNode(css));
12849      targetDocument.head.appendChild(style);
12850      injectedStyles.add(hash);
12851    }
12852    function registerDocument25(targetDocument) {
12853      const runtime = getRuntime25();
12854      runtime.documents.set(
12855        targetDocument,
12856        (runtime.documents.get(targetDocument) ?? 0) + 1
12857      );
12858      for (const [hash, css] of runtime.styles) {
12859        injectStyle25(targetDocument, hash, css);
12860      }
12861      return () => {
12862        const count = runtime.documents.get(targetDocument);
12863        if (count === void 0) {
12864          return;
12865        }
12866        if (count <= 1) {
12867          runtime.documents.delete(targetDocument);
12868          return;
12869        }
12870        runtime.documents.set(targetDocument, count - 1);
12871      };
12872    }
12873    function registerStyle25(hash, css) {
12874      const runtime = getRuntime25();
12875      runtime.styles.set(hash, css);
12876      for (const targetDocument of runtime.documents.keys()) {
12877        injectStyle25(targetDocument, hash, css);
12878      }
12879    }
12880    if (typeof process === "undefined" || true) {
12881      registerStyle25("30e8b36272", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._4145abab73d17514__notice{--icon-height:var(--wpds-dimension-size-sm,24px);--text-vertical-padding:calc((var(--icon-height) - var(--wpds-typography-line-height-sm, 20px))/2);--wp-ui-notice-background-color:var(--wpds-color-background-surface-neutral-weak,#f4f4f4);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-neutral,#dbdbdb);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-neutral,#1e1e1e);align-items:start;background-color:var(--wp-ui-notice-background-color);border:1px solid var(--wp-ui-notice-border-color);border-radius:var(--wpds-border-radius-lg,8px);container-type:inline-size;display:grid;grid-template-columns:auto 1fr auto;isolation:isolate;padding:var(--wpds-dimension-padding-md,12px)}.d0a25570cb528528__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._1904b570a89bb815__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._0a1270dcdd79c031__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._4145abab73d17514__notice:has(._1904b570a89bb815__description) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}._983740ab855c4e09__action-button{flex-shrink:0}.d329e7416d368d31__action-link{flex-shrink:0;&:not(:first-child){margin-inline-start:var(--wpds-dimension-gap-xs,4px)}&:not(:last-child){margin-inline-end:var(--wpds-dimension-gap-xs,4px)}}._487e6a5c1375f7dc__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._531c140826094795__is-info{--wp-ui-notice-background-color:var(--wpds-color-background-surface-info-weak,#f3f9ff);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-info,#adc6e2);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-info,#001b4f);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-info-weak,#006bd7)}.ae2e1004697cce95__is-warning{--wp-ui-notice-background-color:var(--wpds-color-background-surface-warning-weak,#fff7e1);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-warning,#e1bd7c);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-warning,#2e1900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-warning-weak,#936300)}._2e614a76af494837__is-success{--wp-ui-notice-background-color:var(--wpds-color-background-surface-success-weak,#ebffed);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-success,#92d39d);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-success,#002900);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-success-weak,#008030)}.af00331ae17a0065__is-error{--wp-ui-notice-background-color:var(--wpds-color-background-surface-error-weak,#fff6f5);--wp-ui-notice-border-color:var(--wpds-color-stroke-surface-error,#e0afa7);--wp-ui-notice-text-color:var(--wpds-color-foreground-content-error,#470000);--wp-ui-notice-decorative-icon-color:var(--wpds-color-foreground-content-error-weak,#cc1818)}@container (max-width: 320px){._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._0a1270dcdd79c031__actions,._4145abab73d17514__notice:has(.b5397fb9d05389e3__title) ._1904b570a89bb815__description{grid-column:1/3}}}@layer compositions{.b5397fb9d05389e3__title{--_gcd-heading-color:var(--wp-ui-notice-text-color);color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}.d329e7416d368d31__action-link{margin-block:auto}._487e6a5c1375f7dc__close-icon,._983740ab855c4e09__action-button,.d329e7416d368d31__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12882    }
12883    var style_default21 = { "notice": "_4145abab73d17514__notice", "icon": "d0a25570cb528528__icon", "description": "_1904b570a89bb815__description", "actions": "_0a1270dcdd79c031__actions", "title": "b5397fb9d05389e3__title", "action-button": "_983740ab855c4e09__action-button", "action-link": "d329e7416d368d31__action-link", "close-icon": "_487e6a5c1375f7dc__close-icon", "is-info": "_531c140826094795__is-info", "is-warning": "ae2e1004697cce95__is-warning", "is-success": "_2e614a76af494837__is-success", "is-error": "af00331ae17a0065__is-error" };
12884    var ActionLink = (0, import_element44.forwardRef)(
12885      function NoticeActionLink({ className, render, ...props }, ref) {
12886        return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
12887          Text,
12888          {
12889            ref,
12890            className: clsx_default(style_default21["action-link"], className),
12891            ...props,
12892            variant: "body-md",
12893            render: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Link, { tone: "neutral", variant: "default", render })
12894          }
12895        );
12896      }
12897    );
12898  
12899    // packages/ui/build-module/utils/use-enable-wp-compat-overlay-slot.mjs
12900    function useEnableWpCompatOverlaySlot() {
12901      if (typeof window === "undefined") {
12902        return;
12903      }
12904      const internalWindow = window;
12905      if (internalWindow.__wpUiCompatOverlaySlotEnabled !== true) {
12906        internalWindow.__wpUiCompatOverlaySlotEnabled = true;
12907      }
12908    }
12909  
12910    // packages/admin-ui/build-module/admin-theme-colors/index.mjs
12911    var DEFAULT_THEME_COLORS = {
12912      primary: "#3858e9",
12913      background: "#222524"
12914    };
12915    var ADMIN_THEME_COLORS = /* @__PURE__ */ new Map([
12916      ["modern", DEFAULT_THEME_COLORS],
12917      ["fresh", { primary: "#007cba", background: "#25292b" }],
12918      ["midnight", { primary: "#cf4339", background: "#3d4042" }],
12919      ["coffee", { primary: "#916745", background: "#5b534d" }],
12920      ["ocean", { primary: "#567958", background: "#5f787f" }],
12921      ["blue", { primary: "#437aa8", background: "#3876a8" }],
12922      ["ectoplasm", { primary: "#646c3e", background: "#4f386e" }],
12923      ["sunrise", { primary: "#ad631e", background: "#cc4541" }],
12924      ["light", { primary: "#007cba", background: "#eaeeed" }]
12925    ]);
12926    function getAdminThemeColors() {
12927      const scheme = document.body.className.match(/admin-color-([\w-]+)/)?.[1] ?? "modern";
12928      return ADMIN_THEME_COLORS.get(scheme) ?? DEFAULT_THEME_COLORS;
12929    }
12930  
12931    // packages/customize-widgets/build-module/components/customize-widgets/index.mjs
12932    var import_element60 = __toESM(require_element(), 1);
12933    var import_components7 = __toESM(require_components(), 1);
12934    var import_theme = __toESM(require_theme(), 1);
12935  
12936    // packages/customize-widgets/build-module/components/error-boundary/index.mjs
12937    var import_element45 = __toESM(require_element(), 1);
12938    var import_a11y2 = __toESM(require_a11y(), 1);
12939    var import_i18n6 = __toESM(require_i18n(), 1);
12940    var import_compose2 = __toESM(require_compose(), 1);
12941    var import_hooks = __toESM(require_hooks(), 1);
12942    var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
12943    function getErrorNotice() {
12944      return {
12945        title: (0, import_i18n6.__)("The editor has crashed"),
12946        description: (0, import_i18n6.__)(
12947          "An unknown error occurred. Reload your browser to try again, or copy the error to report the problem or search."
12948        )
12949      };
12950    }
12951    function getErrorName(error2) {
12952      return error2 instanceof Error && error2.name || "Error";
12953    }
12954    function getErrorMessage(error2) {
12955      if (typeof error2 === "string" && error2) {
12956        return error2;
12957      }
12958      if (typeof error2?.message === "string" && error2.message) {
12959        return error2.message;
12960      }
12961      return "An unknown error occurred.";
12962    }
12963    function getErrorSections(error2, componentStack) {
12964      const sections = [
12965        { label: getErrorName(error2), content: getErrorMessage(error2) }
12966      ];
12967      if (error2?.stack) {
12968        sections.push({
12969          label: "Stack",
12970          content: error2.stack.trim(),
12971          preformatted: true
12972        });
12973      }
12974      if (componentStack) {
12975        sections.push({
12976          label: "Component stack",
12977          content: componentStack.trim(),
12978          preformatted: true
12979        });
12980      }
12981      sections.push({
12982        label: "Environment",
12983        content: `User agent: $window.navigator.userAgent}`,
12984        preformatted: true
12985      });
12986      return sections;
12987    }
12988    function getErrorReport(error2, componentStack) {
12989      const sections = getErrorSections(error2, componentStack).map(
12990        ({ label, content, preformatted }) => `**$label}**
12991  
12992  $preformatted ? `\`\`\`
12993  $content}
12994  \`\`\`` : content}`
12995      );
12996      return ["### Error report", ...sections].join("\n\n");
12997    }
12998    function CopyButton({ text, children, variant = "outline" }) {
12999      const ref = (0, import_compose2.useCopyToClipboard)(text);
13000      return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.ActionButton, { variant, ref, children });
13001    }
13002    function ErrorReport({ error: error2, componentStack }) {
13003      return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13004        Stack,
13005        {
13006          className: "customize-widgets-error-boundary__report",
13007          direction: "column",
13008          gap: "md",
13009          children: getErrorSections(error2, componentStack).map(
13010            ({ label, content }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Stack, { direction: "column", gap: "xs", children: [
13011              /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { variant: "heading-md", children: label }),
13012              /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("pre", { className: "customize-widgets-error-boundary__report-section", children: content })
13013            ] }, label)
13014          )
13015        }
13016      );
13017    }
13018    function ErrorDetails({ error: error2, componentStack }) {
13019      return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(collapsible_card_exports.Root, { className: "customize-widgets-error-boundary__details", children: [
13020        /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(collapsible_card_exports.Header, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(card_exports.Title, { children: (0, import_i18n6.__)("Error details") }) }),
13021        /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(collapsible_card_exports.Content, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13022          ErrorReport,
13023          {
13024            error: error2,
13025            componentStack
13026          }
13027        ) })
13028      ] });
13029    }
13030    var ErrorBoundary = class extends import_element45.Component {
13031      constructor() {
13032        super(...arguments);
13033        this.state = {
13034          error: null,
13035          componentStack: null
13036        };
13037      }
13038      componentDidCatch(error2, errorInfo) {
13039        const { title, description } = getErrorNotice();
13040        (0, import_a11y2.speak)(`$title}. $description}`, "assertive");
13041        this.setState({ componentStack: errorInfo?.componentStack });
13042        (0, import_hooks.doAction)("editor.ErrorBoundary.errorLogged", error2, errorInfo);
13043      }
13044      static getDerivedStateFromError(error2) {
13045        return { error: error2 };
13046      }
13047      render() {
13048        const { error: error2, componentStack } = this.state;
13049        if (!error2) {
13050          return this.props.children;
13051        }
13052        const { title, description } = getErrorNotice();
13053        return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
13054          Stack,
13055          {
13056            className: "customize-widgets-error-boundary",
13057            direction: "column",
13058            gap: "lg",
13059            children: [
13060              /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(notice_exports.Root, { intent: "error", children: [
13061                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Title, { children: title }),
13062                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Description, { children: description }),
13063                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Actions, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13064                  CopyButton,
13065                  {
13066                    variant: "solid",
13067                    text: () => getErrorReport(error2, componentStack),
13068                    children: (0, import_i18n6.__)("Copy error")
13069                  }
13070                ) })
13071              ] }),
13072              true ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13073                ErrorDetails,
13074                {
13075                  error: error2,
13076                  componentStack
13077                }
13078              ) : null
13079            ]
13080          }
13081        );
13082      }
13083    };
13084  
13085    // packages/customize-widgets/build-module/components/sidebar-block-editor/index.mjs
13086    var import_compose4 = __toESM(require_compose(), 1);
13087    var import_core_data = __toESM(require_core_data(), 1);
13088    var import_data13 = __toESM(require_data(), 1);
13089    var import_element57 = __toESM(require_element(), 1);
13090    var import_block_editor8 = __toESM(require_block_editor(), 1);
13091    var import_media_utils = __toESM(require_media_utils(), 1);
13092    var import_preferences3 = __toESM(require_preferences(), 1);
13093  
13094    // packages/customize-widgets/build-module/components/block-inspector-button/index.mjs
13095    var import_element46 = __toESM(require_element(), 1);
13096    var import_i18n7 = __toESM(require_i18n(), 1);
13097    var import_components = __toESM(require_components(), 1);
13098    var import_data = __toESM(require_data(), 1);
13099    var import_block_editor = __toESM(require_block_editor(), 1);
13100    var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
13101    function BlockInspectorButton({ inspector, closeMenu, ...props }) {
13102      const selectedBlockClientId = (0, import_data.useSelect)(
13103        (select) => select(import_block_editor.store).getSelectedBlockClientId(),
13104        []
13105      );
13106      const selectedBlock = (0, import_element46.useMemo)(
13107        () => document.getElementById(`block-$selectedBlockClientId}`),
13108        [selectedBlockClientId]
13109      );
13110      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13111        import_components.MenuItem,
13112        {
13113          onClick: () => {
13114            inspector.open({
13115              returnFocusWhenClose: selectedBlock
13116            });
13117            closeMenu();
13118          },
13119          ...props,
13120          children: (0, import_i18n7.__)("Show more settings")
13121        }
13122      );
13123    }
13124    var block_inspector_button_default = BlockInspectorButton;
13125  
13126    // packages/customize-widgets/build-module/components/header/index.mjs
13127    var import_components5 = __toESM(require_components(), 1);
13128    var import_block_editor3 = __toESM(require_block_editor(), 1);
13129    var import_element50 = __toESM(require_element(), 1);
13130    var import_keycodes3 = __toESM(require_keycodes(), 1);
13131    var import_i18n12 = __toESM(require_i18n(), 1);
13132  
13133    // packages/customize-widgets/build-module/components/inserter/index.mjs
13134    var import_i18n8 = __toESM(require_i18n(), 1);
13135    var import_block_editor2 = __toESM(require_block_editor(), 1);
13136    var import_components2 = __toESM(require_components(), 1);
13137    var import_compose3 = __toESM(require_compose(), 1);
13138    var import_data4 = __toESM(require_data(), 1);
13139  
13140    // packages/customize-widgets/build-module/store/index.mjs
13141    var import_data3 = __toESM(require_data(), 1);
13142  
13143    // packages/customize-widgets/build-module/store/reducer.mjs
13144    var import_data2 = __toESM(require_data(), 1);
13145    function blockInserterPanel(state = false, action) {
13146      switch (action.type) {
13147        case "SET_IS_INSERTER_OPENED":
13148          return action.value;
13149      }
13150      return state;
13151    }
13152    var reducer_default = (0, import_data2.combineReducers)({
13153      blockInserterPanel
13154    });
13155  
13156    // packages/customize-widgets/build-module/store/selectors.mjs
13157    var selectors_exports = {};
13158    __export(selectors_exports, {
13159      __experimentalGetInsertionPoint: () => __experimentalGetInsertionPoint,
13160      isInserterOpened: () => isInserterOpened
13161    });
13162    var EMPTY_INSERTION_POINT = {
13163      rootClientId: void 0,
13164      insertionIndex: void 0
13165    };
13166    function isInserterOpened(state) {
13167      return !!state.blockInserterPanel;
13168    }
13169    function __experimentalGetInsertionPoint(state) {
13170      if (typeof state.blockInserterPanel === "boolean") {
13171        return EMPTY_INSERTION_POINT;
13172      }
13173      return state.blockInserterPanel;
13174    }
13175  
13176    // packages/customize-widgets/build-module/store/actions.mjs
13177    var actions_exports = {};
13178    __export(actions_exports, {
13179      setIsInserterOpened: () => setIsInserterOpened
13180    });
13181    function setIsInserterOpened(value) {
13182      return {
13183        type: "SET_IS_INSERTER_OPENED",
13184        value
13185      };
13186    }
13187  
13188    // packages/customize-widgets/build-module/store/constants.mjs
13189    var STORE_NAME = "core/customize-widgets";
13190  
13191    // packages/customize-widgets/build-module/store/index.mjs
13192    var storeConfig = {
13193      reducer: reducer_default,
13194      selectors: selectors_exports,
13195      actions: actions_exports
13196    };
13197    var store = (0, import_data3.createReduxStore)(STORE_NAME, storeConfig);
13198    (0, import_data3.register)(store);
13199  
13200    // packages/customize-widgets/build-module/components/inserter/index.mjs
13201    var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
13202    function Inserter({ setIsOpened }) {
13203      const inserterTitleId = (0, import_compose3.useInstanceId)(
13204        Inserter,
13205        "customize-widget-layout__inserter-panel-title"
13206      );
13207      const insertionPoint = (0, import_data4.useSelect)(
13208        (select) => select(store).__experimentalGetInsertionPoint(),
13209        []
13210      );
13211      return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
13212        "div",
13213        {
13214          className: "customize-widgets-layout__inserter-panel",
13215          "aria-labelledby": inserterTitleId,
13216          children: [
13217            /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "customize-widgets-layout__inserter-panel-header", children: [
13218              /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13219                "h2",
13220                {
13221                  id: inserterTitleId,
13222                  className: "customize-widgets-layout__inserter-panel-header-title",
13223                  children: (0, import_i18n8.__)("Add a block")
13224                }
13225              ),
13226              /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13227                import_components2.Button,
13228                {
13229                  size: "small",
13230                  icon: close_small_default,
13231                  onClick: () => setIsOpened(false),
13232                  "aria-label": (0, import_i18n8.__)("Close inserter")
13233                }
13234              )
13235            ] }),
13236            /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "customize-widgets-layout__inserter-panel-content", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13237              import_block_editor2.__experimentalLibrary,
13238              {
13239                rootClientId: insertionPoint.rootClientId,
13240                __experimentalInsertionIndex: insertionPoint.insertionIndex,
13241                showInserterHelpPanel: true,
13242                onSelect: () => setIsOpened(false)
13243              }
13244            ) })
13245          ]
13246        }
13247      );
13248    }
13249    var inserter_default = Inserter;
13250  
13251    // packages/customize-widgets/build-module/components/more-menu/index.mjs
13252    var import_components4 = __toESM(require_components(), 1);
13253    var import_data7 = __toESM(require_data(), 1);
13254    var import_element49 = __toESM(require_element(), 1);
13255    var import_i18n11 = __toESM(require_i18n(), 1);
13256    var import_keycodes2 = __toESM(require_keycodes(), 1);
13257    var import_keyboard_shortcuts3 = __toESM(require_keyboard_shortcuts(), 1);
13258    var import_preferences = __toESM(require_preferences(), 1);
13259  
13260    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.mjs
13261    var import_components3 = __toESM(require_components(), 1);
13262    var import_i18n10 = __toESM(require_i18n(), 1);
13263    var import_keyboard_shortcuts2 = __toESM(require_keyboard_shortcuts(), 1);
13264    var import_data6 = __toESM(require_data(), 1);
13265    var import_element48 = __toESM(require_element(), 1);
13266  
13267    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/config.mjs
13268    var import_i18n9 = __toESM(require_i18n(), 1);
13269    var textFormattingShortcuts = [
13270      {
13271        keyCombination: { modifier: "primary", character: "b" },
13272        description: (0, import_i18n9.__)("Make the selected text bold.")
13273      },
13274      {
13275        keyCombination: { modifier: "primary", character: "i" },
13276        description: (0, import_i18n9.__)("Make the selected text italic.")
13277      },
13278      {
13279        keyCombination: { modifier: "primary", character: "k" },
13280        description: (0, import_i18n9.__)("Convert the selected text into a link.")
13281      },
13282      {
13283        keyCombination: { modifier: "primaryShift", character: "k" },
13284        description: (0, import_i18n9.__)("Remove a link.")
13285      },
13286      {
13287        keyCombination: { character: "[[" },
13288        description: (0, import_i18n9.__)("Insert a link to a post or page.")
13289      },
13290      {
13291        keyCombination: { modifier: "primary", character: "u" },
13292        description: (0, import_i18n9.__)("Underline the selected text.")
13293      },
13294      {
13295        keyCombination: { modifier: "access", character: "d" },
13296        description: (0, import_i18n9.__)("Strikethrough the selected text.")
13297      },
13298      {
13299        keyCombination: { modifier: "access", character: "x" },
13300        description: (0, import_i18n9.__)("Make the selected text inline code.")
13301      },
13302      {
13303        keyCombination: {
13304          modifier: "access",
13305          character: "0"
13306        },
13307        aliases: [
13308          {
13309            modifier: "access",
13310            character: "7"
13311          }
13312        ],
13313        description: (0, import_i18n9.__)("Convert the current heading to a paragraph.")
13314      },
13315      {
13316        keyCombination: { modifier: "access", character: "1-6" },
13317        description: (0, import_i18n9.__)(
13318          "Convert the current paragraph or heading to a heading of level 1 to 6."
13319        )
13320      },
13321      {
13322        keyCombination: { modifier: "primaryShift", character: "SPACE" },
13323        description: (0, import_i18n9.__)("Add non breaking space.")
13324      }
13325    ];
13326  
13327    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/shortcut.mjs
13328    var import_element47 = __toESM(require_element(), 1);
13329    var import_keycodes = __toESM(require_keycodes(), 1);
13330    var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
13331    function KeyCombination({ keyCombination, forceAriaLabel }) {
13332      const shortcut = keyCombination.modifier ? import_keycodes.displayShortcutList[keyCombination.modifier](
13333        keyCombination.character
13334      ) : keyCombination.character;
13335      const ariaLabel = keyCombination.modifier ? import_keycodes.shortcutAriaLabel[keyCombination.modifier](
13336        keyCombination.character
13337      ) : keyCombination.character;
13338      return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13339        "kbd",
13340        {
13341          className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination",
13342          "aria-label": forceAriaLabel || ariaLabel,
13343          children: (Array.isArray(shortcut) ? shortcut : [shortcut]).map(
13344            (character, index2) => {
13345              if (character === "+") {
13346                return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_element47.Fragment, { children: character }, index2);
13347              }
13348              return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13349                "kbd",
13350                {
13351                  className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key",
13352                  children: character
13353                },
13354                index2
13355              );
13356            }
13357          )
13358        }
13359      );
13360    }
13361    function Shortcut({ description, keyCombination, aliases = [], ariaLabel }) {
13362      return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
13363        /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-description", children: description }),
13364        /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-term", children: [
13365          /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13366            KeyCombination,
13367            {
13368              keyCombination,
13369              forceAriaLabel: ariaLabel
13370            }
13371          ),
13372          aliases.map((alias, index2) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13373            KeyCombination,
13374            {
13375              keyCombination: alias,
13376              forceAriaLabel: ariaLabel
13377            },
13378            index2
13379          ))
13380        ] })
13381      ] });
13382    }
13383    var shortcut_default = Shortcut;
13384  
13385    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.mjs
13386    var import_data5 = __toESM(require_data(), 1);
13387    var import_keyboard_shortcuts = __toESM(require_keyboard_shortcuts(), 1);
13388    var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
13389    function DynamicShortcut({ name }) {
13390      const { keyCombination, description, aliases } = (0, import_data5.useSelect)(
13391        (select) => {
13392          const {
13393            getShortcutKeyCombination,
13394            getShortcutDescription,
13395            getShortcutAliases
13396          } = select(import_keyboard_shortcuts.store);
13397          return {
13398            keyCombination: getShortcutKeyCombination(name),
13399            aliases: getShortcutAliases(name),
13400            description: getShortcutDescription(name)
13401          };
13402        },
13403        [name]
13404      );
13405      if (!keyCombination) {
13406        return null;
13407      }
13408      return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13409        shortcut_default,
13410        {
13411          keyCombination,
13412          description,
13413          aliases
13414        }
13415      );
13416    }
13417    var dynamic_shortcut_default = DynamicShortcut;
13418  
13419    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.mjs
13420    var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
13421    var ShortcutList = ({ shortcuts }) => (
13422      /*
13423       * Disable reason: The `list` ARIA role is redundant but
13424       * Safari+VoiceOver won't announce the list otherwise.
13425       */
13426      /* eslint-disable jsx-a11y/no-redundant-roles */
13427      /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13428        "ul",
13429        {
13430          className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-list",
13431          role: "list",
13432          children: shortcuts.map((shortcut, index2) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13433            "li",
13434            {
13435              className: "customize-widgets-keyboard-shortcut-help-modal__shortcut",
13436              children: typeof shortcut === "string" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(dynamic_shortcut_default, { name: shortcut }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(shortcut_default, { ...shortcut })
13437            },
13438            index2
13439          ))
13440        }
13441      )
13442    );
13443    var ShortcutSection = ({ title, shortcuts, className }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
13444      "section",
13445      {
13446        className: clsx_default(
13447          "customize-widgets-keyboard-shortcut-help-modal__section",
13448          className
13449        ),
13450        children: [
13451          !!title && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h2", { className: "customize-widgets-keyboard-shortcut-help-modal__section-title", children: title }),
13452          /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ShortcutList, { shortcuts })
13453        ]
13454      }
13455    );
13456    var ShortcutCategorySection = ({
13457      title,
13458      categoryName,
13459      additionalShortcuts = []
13460    }) => {
13461      const categoryShortcuts = (0, import_data6.useSelect)(
13462        (select) => {
13463          return select(import_keyboard_shortcuts2.store).getCategoryShortcuts(
13464            categoryName
13465          );
13466        },
13467        [categoryName]
13468      );
13469      return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13470        ShortcutSection,
13471        {
13472          title,
13473          shortcuts: categoryShortcuts.concat(additionalShortcuts)
13474        }
13475      );
13476    };
13477    function KeyboardShortcutHelpModal({
13478      isModalActive,
13479      toggleModal
13480    }) {
13481      const { registerShortcut } = (0, import_data6.useDispatch)(import_keyboard_shortcuts2.store);
13482      (0, import_element48.useEffect)(() => {
13483        registerShortcut({
13484          name: "core/customize-widgets/keyboard-shortcuts",
13485          category: "main",
13486          description: (0, import_i18n10.__)("Display these keyboard shortcuts."),
13487          keyCombination: {
13488            modifier: "access",
13489            character: "h"
13490          }
13491        });
13492      }, [registerShortcut]);
13493      (0, import_keyboard_shortcuts2.useShortcut)("core/customize-widgets/keyboard-shortcuts", toggleModal);
13494      if (!isModalActive) {
13495        return null;
13496      }
13497      return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
13498        import_components3.Modal,
13499        {
13500          className: "customize-widgets-keyboard-shortcut-help-modal",
13501          title: (0, import_i18n10.__)("Keyboard shortcuts"),
13502          onRequestClose: toggleModal,
13503          children: [
13504            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13505              ShortcutSection,
13506              {
13507                className: "customize-widgets-keyboard-shortcut-help-modal__main-shortcuts",
13508                shortcuts: ["core/customize-widgets/keyboard-shortcuts"]
13509              }
13510            ),
13511            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13512              ShortcutCategorySection,
13513              {
13514                title: (0, import_i18n10.__)("Global shortcuts"),
13515                categoryName: "global"
13516              }
13517            ),
13518            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13519              ShortcutCategorySection,
13520              {
13521                title: (0, import_i18n10.__)("Selection shortcuts"),
13522                categoryName: "selection"
13523              }
13524            ),
13525            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13526              ShortcutCategorySection,
13527              {
13528                title: (0, import_i18n10.__)("Block shortcuts"),
13529                categoryName: "block",
13530                additionalShortcuts: [
13531                  {
13532                    keyCombination: { character: "/" },
13533                    description: (0, import_i18n10.__)(
13534                      "Change the block type after adding a new paragraph."
13535                    ),
13536                    /* translators: The forward-slash character. e.g. '/'. */
13537                    ariaLabel: (0, import_i18n10.__)("Forward-slash")
13538                  }
13539                ]
13540              }
13541            ),
13542            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13543              ShortcutSection,
13544              {
13545                title: (0, import_i18n10.__)("Text formatting"),
13546                shortcuts: textFormattingShortcuts
13547              }
13548            )
13549          ]
13550        }
13551      );
13552    }
13553  
13554    // packages/customize-widgets/build-module/components/more-menu/index.mjs
13555    var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
13556    function MoreMenu() {
13557      const [
13558        isKeyboardShortcutsModalActive,
13559        setIsKeyboardShortcutsModalVisible
13560      ] = (0, import_element49.useState)(false);
13561      const toggleKeyboardShortcutsModal = () => setIsKeyboardShortcutsModalVisible(!isKeyboardShortcutsModalActive);
13562      (0, import_keyboard_shortcuts3.useShortcut)(
13563        "core/customize-widgets/keyboard-shortcuts",
13564        toggleKeyboardShortcutsModal
13565      );
13566      const { toggle } = (0, import_data7.useDispatch)(import_preferences.store);
13567      return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
13568        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13569          import_components4.ToolbarDropdownMenu,
13570          {
13571            icon: more_vertical_default,
13572            label: (0, import_i18n11.__)("Options"),
13573            popoverProps: {
13574              placement: "bottom-end",
13575              className: "more-menu-dropdown__content"
13576            },
13577            toggleProps: {
13578              tooltipPosition: "bottom",
13579              size: "compact"
13580            },
13581            children: () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
13582              /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components4.MenuGroup, { label: (0, import_i18n11._x)("View", "noun"), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13583                import_preferences.PreferenceToggleMenuItem,
13584                {
13585                  scope: "core/customize-widgets",
13586                  name: "fixedToolbar",
13587                  label: (0, import_i18n11.__)("Top toolbar"),
13588                  info: (0, import_i18n11.__)(
13589                    "Access all block and document tools in a single place"
13590                  ),
13591                  messageActivated: (0, import_i18n11.__)(
13592                    "Top toolbar activated"
13593                  ),
13594                  messageDeactivated: (0, import_i18n11.__)(
13595                    "Top toolbar deactivated"
13596                  )
13597                }
13598              ) }),
13599              /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_components4.MenuGroup, { label: (0, import_i18n11.__)("Tools"), children: [
13600                /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13601                  import_components4.MenuItem,
13602                  {
13603                    onClick: () => {
13604                      setIsKeyboardShortcutsModalVisible(true);
13605                    },
13606                    shortcut: import_keycodes2.displayShortcut.access("h"),
13607                    children: (0, import_i18n11.__)("Keyboard shortcuts")
13608                  }
13609                ),
13610                /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13611                  import_components4.MenuItem,
13612                  {
13613                    onClick: () => toggle(
13614                      "core/customize-widgets",
13615                      "welcomeGuide"
13616                    ),
13617                    children: (0, import_i18n11.__)("Welcome Guide")
13618                  }
13619                ),
13620                /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
13621                  import_components4.MenuItem,
13622                  {
13623                    role: "menuitem",
13624                    icon: external_default,
13625                    href: (0, import_i18n11.__)(
13626                      "https://wordpress.org/documentation/article/block-based-widgets-editor/"
13627                    ),
13628                    target: "_blank",
13629                    rel: "noopener",
13630                    children: [
13631                      (0, import_i18n11.__)("Help"),
13632                      /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(VisuallyHidden, {
13633                        render: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", {}),
13634                        /* translators: accessibility text */
13635                        children: (0, import_i18n11.__)("(opens in a new tab)")
13636                      })
13637                    ]
13638                  }
13639                )
13640              ] }),
13641              /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components4.MenuGroup, { label: (0, import_i18n11.__)("Preferences"), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13642                import_preferences.PreferenceToggleMenuItem,
13643                {
13644                  scope: "core/customize-widgets",
13645                  name: "keepCaretInsideBlock",
13646                  label: (0, import_i18n11.__)(
13647                    "Contain text cursor inside block"
13648                  ),
13649                  info: (0, import_i18n11.__)(
13650                    "Aids screen readers by stopping text caret from leaving blocks."
13651                  ),
13652                  messageActivated: (0, import_i18n11.__)(
13653                    "Contain text cursor inside block activated"
13654                  ),
13655                  messageDeactivated: (0, import_i18n11.__)(
13656                    "Contain text cursor inside block deactivated"
13657                  )
13658                }
13659              ) })
13660            ] })
13661          }
13662        ),
13663        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13664          KeyboardShortcutHelpModal,
13665          {
13666            isModalActive: isKeyboardShortcutsModalActive,
13667            toggleModal: toggleKeyboardShortcutsModal
13668          }
13669        )
13670      ] });
13671    }
13672  
13673    // packages/customize-widgets/build-module/components/header/index.mjs
13674    var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
13675    function Header3({
13676      sidebar,
13677      inserter,
13678      isInserterOpened: isInserterOpened2,
13679      setIsInserterOpened: setIsInserterOpened2,
13680      isFixedToolbarActive
13681    }) {
13682      const [[hasUndo, hasRedo], setUndoRedo] = (0, import_element50.useState)([
13683        sidebar.hasUndo(),
13684        sidebar.hasRedo()
13685      ]);
13686      const shortcut = (0, import_keycodes3.isAppleOS)() ? import_keycodes3.displayShortcut.primaryShift("z") : import_keycodes3.displayShortcut.primary("y");
13687      (0, import_element50.useEffect)(() => {
13688        return sidebar.subscribeHistory(() => {
13689          setUndoRedo([sidebar.hasUndo(), sidebar.hasRedo()]);
13690        });
13691      }, [sidebar]);
13692      return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
13693        /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13694          "div",
13695          {
13696            className: clsx_default("customize-widgets-header", {
13697              "is-fixed-toolbar-active": isFixedToolbarActive
13698            }),
13699            children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
13700              import_block_editor3.NavigableToolbar,
13701              {
13702                className: "customize-widgets-header-toolbar",
13703                "aria-label": (0, import_i18n12.__)("Document tools"),
13704                children: [
13705                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13706                    import_components5.ToolbarItem,
13707                    {
13708                      as: import_components5.Button,
13709                      icon: !(0, import_i18n12.isRTL)() ? undo_default : redo_default,
13710                      label: (0, import_i18n12.__)("Undo"),
13711                      shortcut: import_keycodes3.displayShortcut.primary("z"),
13712                      "aria-disabled": !hasUndo,
13713                      onClick: hasUndo ? sidebar.undo : void 0,
13714                      size: "compact",
13715                      className: "customize-widgets-editor-history-button undo-button"
13716                    }
13717                  ),
13718                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13719                    import_components5.ToolbarItem,
13720                    {
13721                      as: import_components5.Button,
13722                      icon: !(0, import_i18n12.isRTL)() ? redo_default : undo_default,
13723                      label: (0, import_i18n12.__)("Redo"),
13724                      shortcut,
13725                      "aria-disabled": !hasRedo,
13726                      onClick: hasRedo ? sidebar.redo : void 0,
13727                      size: "compact",
13728                      className: "customize-widgets-editor-history-button redo-button"
13729                    }
13730                  ),
13731                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13732                    import_components5.ToolbarItem,
13733                    {
13734                      as: import_components5.Button,
13735                      className: "customize-widgets-header-toolbar__inserter-toggle",
13736                      isPressed: isInserterOpened2,
13737                      variant: "primary",
13738                      icon: plus_default,
13739                      label: (0, import_i18n12._x)(
13740                        "Add block",
13741                        "Generic label for block inserter button"
13742                      ),
13743                      onClick: () => {
13744                        setIsInserterOpened2((isOpen) => !isOpen);
13745                      },
13746                      size: "compact"
13747                    }
13748                  ),
13749                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MoreMenu, {})
13750                ]
13751              }
13752            )
13753          }
13754        ),
13755        (0, import_element50.createPortal)(
13756          /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(inserter_default, { setIsOpened: setIsInserterOpened2 }),
13757          inserter.contentContainer[0]
13758        )
13759      ] });
13760    }
13761    var header_default = Header3;
13762  
13763    // packages/customize-widgets/build-module/components/inserter/use-inserter.mjs
13764    var import_element51 = __toESM(require_element(), 1);
13765    var import_data8 = __toESM(require_data(), 1);
13766    function useInserter(inserter) {
13767      const isInserterOpened2 = (0, import_data8.useSelect)(
13768        (select) => select(store).isInserterOpened(),
13769        []
13770      );
13771      const { setIsInserterOpened: setIsInserterOpened2 } = (0, import_data8.useDispatch)(store);
13772      (0, import_element51.useEffect)(() => {
13773        if (isInserterOpened2) {
13774          inserter.open();
13775        } else {
13776          inserter.close();
13777        }
13778      }, [inserter, isInserterOpened2]);
13779      return [
13780        isInserterOpened2,
13781        (0, import_element51.useCallback)(
13782          (updater) => {
13783            let isOpen = updater;
13784            if (typeof updater === "function") {
13785              isOpen = updater(
13786                (0, import_data8.select)(store).isInserterOpened()
13787              );
13788            }
13789            setIsInserterOpened2(isOpen);
13790          },
13791          [setIsInserterOpened2]
13792        )
13793      ];
13794    }
13795  
13796    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.mjs
13797    var import_block_editor5 = __toESM(require_block_editor(), 1);
13798  
13799    // packages/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.mjs
13800    var import_es6 = __toESM(require_es6(), 1);
13801    var import_element52 = __toESM(require_element(), 1);
13802    var import_is_shallow_equal = __toESM(require_is_shallow_equal(), 1);
13803    var import_widgets2 = __toESM(require_widgets(), 1);
13804  
13805    // packages/customize-widgets/build-module/utils.mjs
13806    var import_blocks = __toESM(require_blocks(), 1);
13807    var import_widgets = __toESM(require_widgets(), 1);
13808    function settingIdToWidgetId(settingId) {
13809      const matches = settingId.match(/^widget_(.+)(?:\[(\d+)\])$/);
13810      if (matches) {
13811        const idBase = matches[1];
13812        const number = parseInt(matches[2], 10);
13813        return `$idBase}-$number}`;
13814      }
13815      return settingId;
13816    }
13817    function blockToWidget(block, existingWidget = null) {
13818      let widget;
13819      const isValidLegacyWidgetBlock = block.name === "core/legacy-widget" && (block.attributes.id || block.attributes.instance);
13820      if (isValidLegacyWidgetBlock) {
13821        if (block.attributes.id) {
13822          widget = {
13823            id: block.attributes.id
13824          };
13825        } else {
13826          const { encoded, hash, raw, ...rest } = block.attributes.instance;
13827          widget = {
13828            idBase: block.attributes.idBase,
13829            instance: {
13830              ...existingWidget?.instance,
13831              // Required only for the customizer.
13832              is_widget_customizer_js_value: true,
13833              encoded_serialized_instance: encoded,
13834              instance_hash_key: hash,
13835              raw_instance: raw,
13836              ...rest
13837            }
13838          };
13839        }
13840      } else {
13841        const instance = {
13842          content: (0, import_blocks.serialize)(block)
13843        };
13844        widget = {
13845          idBase: "block",
13846          widgetClass: "WP_Widget_Block",
13847          instance: {
13848            raw_instance: instance
13849          }
13850        };
13851      }
13852      const { form, rendered, ...restExistingWidget } = existingWidget || {};
13853      return {
13854        ...restExistingWidget,
13855        ...widget
13856      };
13857    }
13858    function widgetToBlock({ id, idBase, number, instance }) {
13859      let block;
13860      const {
13861        encoded_serialized_instance: encoded,
13862        instance_hash_key: hash,
13863        raw_instance: raw,
13864        ...rest
13865      } = instance;
13866      if (idBase === "block") {
13867        const parsedBlocks = (0, import_blocks.parse)(raw.content ?? "", {
13868          __unstableSkipAutop: true
13869        });
13870        block = parsedBlocks.length ? parsedBlocks[0] : (0, import_blocks.createBlock)("core/paragraph", {});
13871      } else if (number) {
13872        block = (0, import_blocks.createBlock)("core/legacy-widget", {
13873          idBase,
13874          instance: {
13875            encoded,
13876            hash,
13877            raw,
13878            ...rest
13879          }
13880        });
13881      } else {
13882        block = (0, import_blocks.createBlock)("core/legacy-widget", {
13883          id
13884        });
13885      }
13886      return (0, import_widgets.addWidgetIdToBlock)(block, id);
13887    }
13888  
13889    // packages/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.mjs
13890    function widgetsToBlocks(widgets) {
13891      return widgets.map((widget) => widgetToBlock(widget));
13892    }
13893    function useSidebarBlockEditor(sidebar) {
13894      const [blocks, setBlocks] = (0, import_element52.useState)(
13895        () => widgetsToBlocks(sidebar.getWidgets())
13896      );
13897      (0, import_element52.useEffect)(() => {
13898        return sidebar.subscribe((prevWidgets, nextWidgets) => {
13899          setBlocks((prevBlocks) => {
13900            const prevWidgetsMap = new Map(
13901              prevWidgets.map((widget) => [widget.id, widget])
13902            );
13903            const prevBlocksMap = new Map(
13904              prevBlocks.map((block) => [
13905                (0, import_widgets2.getWidgetIdFromBlock)(block),
13906                block
13907              ])
13908            );
13909            const nextBlocks = nextWidgets.map((nextWidget) => {
13910              const prevWidget = prevWidgetsMap.get(nextWidget.id);
13911              if (prevWidget && prevWidget === nextWidget) {
13912                return prevBlocksMap.get(nextWidget.id);
13913              }
13914              return widgetToBlock(nextWidget);
13915            });
13916            if ((0, import_is_shallow_equal.isShallowEqual)(prevBlocks, nextBlocks)) {
13917              return prevBlocks;
13918            }
13919            return nextBlocks;
13920          });
13921        });
13922      }, [sidebar]);
13923      const onChangeBlocks = (0, import_element52.useCallback)(
13924        (nextBlocks) => {
13925          setBlocks((prevBlocks) => {
13926            if ((0, import_is_shallow_equal.isShallowEqual)(prevBlocks, nextBlocks)) {
13927              return prevBlocks;
13928            }
13929            const prevBlocksMap = new Map(
13930              prevBlocks.map((block) => [
13931                (0, import_widgets2.getWidgetIdFromBlock)(block),
13932                block
13933              ])
13934            );
13935            const nextWidgets = nextBlocks.map((nextBlock) => {
13936              const widgetId = (0, import_widgets2.getWidgetIdFromBlock)(nextBlock);
13937              if (widgetId && prevBlocksMap.has(widgetId)) {
13938                const prevBlock = prevBlocksMap.get(widgetId);
13939                const prevWidget = sidebar.getWidget(widgetId);
13940                if ((0, import_es6.default)(nextBlock, prevBlock) && prevWidget) {
13941                  return prevWidget;
13942                }
13943                return blockToWidget(nextBlock, prevWidget);
13944              }
13945              return blockToWidget(nextBlock);
13946            });
13947            if ((0, import_is_shallow_equal.isShallowEqual)(sidebar.getWidgets(), nextWidgets)) {
13948              return prevBlocks;
13949            }
13950            const addedWidgetIds = sidebar.setWidgets(nextWidgets);
13951            return nextBlocks.reduce(
13952              (updatedNextBlocks, nextBlock, index2) => {
13953                const addedWidgetId = addedWidgetIds[index2];
13954                if (addedWidgetId !== null) {
13955                  if (updatedNextBlocks === nextBlocks) {
13956                    updatedNextBlocks = nextBlocks.slice();
13957                  }
13958                  updatedNextBlocks[index2] = (0, import_widgets2.addWidgetIdToBlock)(
13959                    nextBlock,
13960                    addedWidgetId
13961                  );
13962                }
13963                return updatedNextBlocks;
13964              },
13965              nextBlocks
13966            );
13967          });
13968        },
13969        [sidebar]
13970      );
13971      return [blocks, onChangeBlocks, onChangeBlocks];
13972    }
13973  
13974    // packages/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.mjs
13975    var import_element54 = __toESM(require_element(), 1);
13976    var import_data9 = __toESM(require_data(), 1);
13977    var import_block_editor4 = __toESM(require_block_editor(), 1);
13978    var import_widgets3 = __toESM(require_widgets(), 1);
13979  
13980    // packages/customize-widgets/build-module/components/focus-control/index.mjs
13981    var import_element53 = __toESM(require_element(), 1);
13982    var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
13983    var FocusControlContext = (0, import_element53.createContext)();
13984    FocusControlContext.displayName = "FocusControlContext";
13985    function FocusControl({ api, sidebarControls, children }) {
13986      const [focusedWidgetIdRef, setFocusedWidgetIdRef] = (0, import_element53.useState)({
13987        current: null
13988      });
13989      const focusWidget = (0, import_element53.useCallback)(
13990        (widgetId) => {
13991          for (const sidebarControl of sidebarControls) {
13992            const widgets = sidebarControl.setting.get();
13993            if (widgets.includes(widgetId)) {
13994              sidebarControl.sectionInstance.expand({
13995                // Schedule it after the complete callback so that
13996                // it won't be overridden by the "Back" button focus.
13997                completeCallback() {
13998                  setFocusedWidgetIdRef({ current: widgetId });
13999                }
14000              });
14001              break;
14002            }
14003          }
14004        },
14005        [sidebarControls]
14006      );
14007      (0, import_element53.useEffect)(() => {
14008        function handleFocus(settingId) {
14009          const widgetId = settingIdToWidgetId(settingId);
14010          focusWidget(widgetId);
14011        }
14012        let previewBound = false;
14013        function handleReady() {
14014          api.previewer.preview.bind(
14015            "focus-control-for-setting",
14016            handleFocus
14017          );
14018          previewBound = true;
14019        }
14020        api.previewer.bind("ready", handleReady);
14021        return () => {
14022          api.previewer.unbind("ready", handleReady);
14023          if (previewBound) {
14024            api.previewer.preview.unbind(
14025              "focus-control-for-setting",
14026              handleFocus
14027            );
14028          }
14029        };
14030      }, [api, focusWidget]);
14031      const context = (0, import_element53.useMemo)(
14032        () => [focusedWidgetIdRef, focusWidget],
14033        [focusedWidgetIdRef, focusWidget]
14034      );
14035      return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FocusControlContext.Provider, { value: context, children });
14036    }
14037    var useFocusControl = () => (0, import_element53.useContext)(FocusControlContext);
14038  
14039    // packages/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.mjs
14040    function useBlocksFocusControl(blocks) {
14041      const { selectBlock } = (0, import_data9.useDispatch)(import_block_editor4.store);
14042      const [focusedWidgetIdRef] = useFocusControl();
14043      const blocksRef = (0, import_element54.useRef)(blocks);
14044      (0, import_element54.useEffect)(() => {
14045        blocksRef.current = blocks;
14046      }, [blocks]);
14047      (0, import_element54.useEffect)(() => {
14048        if (focusedWidgetIdRef.current) {
14049          const focusedBlock = blocksRef.current.find(
14050            (block) => (0, import_widgets3.getWidgetIdFromBlock)(block) === focusedWidgetIdRef.current
14051          );
14052          if (focusedBlock) {
14053            selectBlock(focusedBlock.clientId);
14054            const blockNode = document.querySelector(
14055              `[data-block="$focusedBlock.clientId}"]`
14056            );
14057            blockNode?.focus();
14058          }
14059        }
14060      }, [focusedWidgetIdRef, selectBlock]);
14061    }
14062  
14063    // packages/customize-widgets/build-module/lock-unlock.mjs
14064    var import_private_apis2 = __toESM(require_private_apis(), 1);
14065    var { lock: lock2, unlock: unlock2 } = (0, import_private_apis2.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
14066      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
14067      "@wordpress/customize-widgets"
14068    );
14069  
14070    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.mjs
14071    var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
14072    var { ExperimentalBlockEditorProvider } = unlock2(import_block_editor5.privateApis);
14073    function SidebarEditorProvider({
14074      sidebar,
14075      settings,
14076      children
14077    }) {
14078      const [blocks, onInput, onChange] = useSidebarBlockEditor(sidebar);
14079      useBlocksFocusControl(blocks);
14080      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14081        ExperimentalBlockEditorProvider,
14082        {
14083          value: blocks,
14084          onInput,
14085          onChange,
14086          settings,
14087          useSubRegistry: false,
14088          children
14089        }
14090      );
14091    }
14092  
14093    // packages/customize-widgets/build-module/components/welcome-guide/index.mjs
14094    var import_i18n13 = __toESM(require_i18n(), 1);
14095    var import_components6 = __toESM(require_components(), 1);
14096    var import_data10 = __toESM(require_data(), 1);
14097    var import_preferences2 = __toESM(require_preferences(), 1);
14098    var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
14099    function WelcomeGuide({ sidebar }) {
14100      const { toggle } = (0, import_data10.useDispatch)(import_preferences2.store);
14101      const isEntirelyBlockWidgets = sidebar.getWidgets().every((widget) => widget.id.startsWith("block-"));
14102      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "customize-widgets-welcome-guide", children: [
14103        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "customize-widgets-welcome-guide__image__wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("picture", { children: [
14104          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14105            "source",
14106            {
14107              srcSet: "https://s.w.org/images/block-editor/welcome-editor.svg",
14108              media: "(prefers-reduced-motion: reduce)"
14109            }
14110          ),
14111          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14112            "img",
14113            {
14114              className: "customize-widgets-welcome-guide__image",
14115              src: "https://s.w.org/images/block-editor/welcome-editor.gif",
14116              width: "312",
14117              height: "240",
14118              alt: ""
14119            }
14120          )
14121        ] }) }),
14122        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h1", { className: "customize-widgets-welcome-guide__heading", children: (0, import_i18n13.__)("Welcome to block Widgets") }),
14123        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "customize-widgets-welcome-guide__text", children: isEntirelyBlockWidgets ? (0, import_i18n13.__)(
14124          "Your theme provides different \u201Cblock\u201D areas for you to add and edit content.\xA0Try adding a search bar, social icons, or other types of blocks here and see how they\u2019ll look on your site."
14125        ) : (0, import_i18n13.__)(
14126          "You can now add any block to your site\u2019s widget areas. Don\u2019t worry, all of your favorite widgets still work flawlessly."
14127        ) }),
14128        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14129          import_components6.Button,
14130          {
14131            size: "compact",
14132            variant: "primary",
14133            onClick: () => toggle("core/customize-widgets", "welcomeGuide"),
14134            children: (0, import_i18n13.__)("Got it")
14135          }
14136        ),
14137        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("hr", { className: "customize-widgets-welcome-guide__separator" }),
14138        !isEntirelyBlockWidgets && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
14139          (0, import_i18n13.__)("Want to stick with the old widgets?"),
14140          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("br", {}),
14141          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14142            import_components6.ExternalLink,
14143            {
14144              href: (0, import_i18n13.__)(
14145                "https://wordpress.org/plugins/classic-widgets/"
14146              ),
14147              children: (0, import_i18n13.__)("Get the Classic Widgets plugin.")
14148            }
14149          )
14150        ] }),
14151        /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
14152          (0, import_i18n13.__)("New to the block editor?"),
14153          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("br", {}),
14154          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14155            import_components6.ExternalLink,
14156            {
14157              href: (0, import_i18n13.__)(
14158                "https://wordpress.org/documentation/article/wordpress-block-editor/"
14159              ),
14160              children: (0, import_i18n13.__)("Here's a detailed guide.")
14161            }
14162          )
14163        ] })
14164      ] });
14165    }
14166  
14167    // packages/customize-widgets/build-module/components/keyboard-shortcuts/index.mjs
14168    var import_element55 = __toESM(require_element(), 1);
14169    var import_keyboard_shortcuts4 = __toESM(require_keyboard_shortcuts(), 1);
14170    var import_keycodes4 = __toESM(require_keycodes(), 1);
14171    var import_data11 = __toESM(require_data(), 1);
14172    var import_i18n14 = __toESM(require_i18n(), 1);
14173    var import_block_editor6 = __toESM(require_block_editor(), 1);
14174    var { usesNativeUndo } = unlock2(import_block_editor6.privateApis);
14175    function KeyboardShortcuts({ undo, redo, save }) {
14176      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/undo", (event) => {
14177        if (usesNativeUndo(event)) {
14178          return;
14179        }
14180        undo();
14181        event.preventDefault();
14182      });
14183      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/redo", (event) => {
14184        if (usesNativeUndo(event)) {
14185          return;
14186        }
14187        redo();
14188        event.preventDefault();
14189      });
14190      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/save", (event) => {
14191        event.preventDefault();
14192        save();
14193      });
14194      return null;
14195    }
14196    function KeyboardShortcutsRegister() {
14197      const { registerShortcut, unregisterShortcut } = (0, import_data11.useDispatch)(
14198        import_keyboard_shortcuts4.store
14199      );
14200      (0, import_element55.useEffect)(() => {
14201        registerShortcut({
14202          name: "core/customize-widgets/undo",
14203          category: "global",
14204          description: (0, import_i18n14.__)("Undo your last changes."),
14205          keyCombination: {
14206            modifier: "primary",
14207            character: "z"
14208          }
14209        });
14210        registerShortcut({
14211          name: "core/customize-widgets/redo",
14212          category: "global",
14213          description: (0, import_i18n14.__)("Redo your last undo."),
14214          keyCombination: {
14215            modifier: "primaryShift",
14216            character: "z"
14217          },
14218          // Disable on Apple OS because it conflicts with the browser's
14219          // history shortcut. It's a fine alias for both Windows and Linux.
14220          // Since there's no conflict for Ctrl+Shift+Z on both Windows and
14221          // Linux, we keep it as the default for consistency.
14222          aliases: (0, import_keycodes4.isAppleOS)() ? [] : [
14223            {
14224              modifier: "primary",
14225              character: "y"
14226            }
14227          ]
14228        });
14229        registerShortcut({
14230          name: "core/customize-widgets/save",
14231          category: "global",
14232          description: (0, import_i18n14.__)("Save your changes."),
14233          keyCombination: {
14234            modifier: "primary",
14235            character: "s"
14236          }
14237        });
14238        return () => {
14239          unregisterShortcut("core/customize-widgets/undo");
14240          unregisterShortcut("core/customize-widgets/redo");
14241          unregisterShortcut("core/customize-widgets/save");
14242        };
14243      }, [registerShortcut]);
14244      return null;
14245    }
14246    KeyboardShortcuts.Register = KeyboardShortcutsRegister;
14247    var keyboard_shortcuts_default = KeyboardShortcuts;
14248  
14249    // packages/customize-widgets/build-module/components/block-appender/index.mjs
14250    var import_element56 = __toESM(require_element(), 1);
14251    var import_block_editor7 = __toESM(require_block_editor(), 1);
14252    var import_data12 = __toESM(require_data(), 1);
14253    var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
14254    function BlockAppender(props) {
14255      const ref = (0, import_element56.useRef)();
14256      const isBlocksListEmpty = (0, import_data12.useSelect)(
14257        (select) => select(import_block_editor7.store).getBlockCount() === 0
14258      );
14259      (0, import_element56.useEffect)(() => {
14260        if (isBlocksListEmpty && ref.current) {
14261          const { ownerDocument: ownerDocument2 } = ref.current;
14262          if (!ownerDocument2.activeElement || ownerDocument2.activeElement === ownerDocument2.body) {
14263            ref.current.focus();
14264          }
14265        }
14266      }, [isBlocksListEmpty]);
14267      return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_block_editor7.ButtonBlockAppender, { ...props, ref });
14268    }
14269  
14270    // packages/customize-widgets/build-module/components/sidebar-block-editor/index.mjs
14271    var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
14272    var { ExperimentalBlockCanvas: BlockCanvas } = unlock2(
14273      import_block_editor8.privateApis
14274    );
14275    function SidebarBlockEditor({
14276      blockEditorSettings,
14277      sidebar,
14278      inserter,
14279      inspector
14280    }) {
14281      const [isInserterOpened2, setIsInserterOpened2] = useInserter(inserter);
14282      const isMediumViewport = (0, import_compose4.useViewportMatch)("small");
14283      const {
14284        hasUploadPermissions,
14285        isFixedToolbarActive,
14286        keepCaretInsideBlock,
14287        isWelcomeGuideActive
14288      } = (0, import_data13.useSelect)((select) => {
14289        const { get } = select(import_preferences3.store);
14290        return {
14291          hasUploadPermissions: select(import_core_data.store).canUser("create", {
14292            kind: "postType",
14293            name: "attachment"
14294          }) ?? true,
14295          isFixedToolbarActive: !!get(
14296            "core/customize-widgets",
14297            "fixedToolbar"
14298          ),
14299          keepCaretInsideBlock: !!get(
14300            "core/customize-widgets",
14301            "keepCaretInsideBlock"
14302          ),
14303          isWelcomeGuideActive: !!get(
14304            "core/customize-widgets",
14305            "welcomeGuide"
14306          )
14307        };
14308      }, []);
14309      const settings = (0, import_element57.useMemo)(() => {
14310        let mediaUploadBlockEditor;
14311        if (hasUploadPermissions) {
14312          mediaUploadBlockEditor = ({ onError, ...argumentsObject }) => {
14313            (0, import_media_utils.uploadMedia)({
14314              wpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,
14315              onError: ({ message }) => onError(message),
14316              ...argumentsObject
14317            });
14318          };
14319        }
14320        return {
14321          ...blockEditorSettings,
14322          __experimentalSetIsInserterOpened: setIsInserterOpened2,
14323          mediaUpload: mediaUploadBlockEditor,
14324          hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
14325          keepCaretInsideBlock,
14326          __unstableHasCustomAppender: true
14327        };
14328      }, [
14329        hasUploadPermissions,
14330        blockEditorSettings,
14331        isFixedToolbarActive,
14332        isMediumViewport,
14333        keepCaretInsideBlock,
14334        setIsInserterOpened2
14335      ]);
14336      if (isWelcomeGuideActive) {
14337        return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(WelcomeGuide, { sidebar });
14338      }
14339      return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
14340        /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(keyboard_shortcuts_default.Register, {}),
14341        /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(SidebarEditorProvider, { sidebar, settings, children: [
14342          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14343            keyboard_shortcuts_default,
14344            {
14345              undo: sidebar.undo,
14346              redo: sidebar.redo,
14347              save: sidebar.save
14348            }
14349          ),
14350          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14351            header_default,
14352            {
14353              sidebar,
14354              inserter,
14355              isInserterOpened: isInserterOpened2,
14356              setIsInserterOpened: setIsInserterOpened2,
14357              isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
14358            }
14359          ),
14360          (isFixedToolbarActive || !isMediumViewport) && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockToolbar, { hideDragHandle: true }),
14361          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14362            BlockCanvas,
14363            {
14364              shouldIframe: false,
14365              styles: settings.defaultEditorStyles,
14366              height: "100%",
14367              children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockList, { renderAppender: BlockAppender })
14368            }
14369          ),
14370          (0, import_element57.createPortal)(
14371            // This is a temporary hack to prevent button component inside <BlockInspector>
14372            // from submitting form when type="button" is not specified.
14373            /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("form", { onSubmit: (event) => event.preventDefault(), children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockInspector, {}) }),
14374            inspector.contentContainer[0]
14375          )
14376        ] }),
14377        /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.__unstableBlockSettingsMenuFirstItem, { children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14378          block_inspector_button_default,
14379          {
14380            inspector,
14381            closeMenu: onClose
14382          }
14383        ) })
14384      ] });
14385    }
14386  
14387    // packages/customize-widgets/build-module/components/sidebar-controls/index.mjs
14388    var import_element58 = __toESM(require_element(), 1);
14389    var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
14390    var SidebarControlsContext = (0, import_element58.createContext)();
14391    SidebarControlsContext.displayName = "SidebarControlsContext";
14392    function SidebarControls({
14393      sidebarControls,
14394      activeSidebarControl,
14395      children
14396    }) {
14397      const context = (0, import_element58.useMemo)(
14398        () => ({
14399          sidebarControls,
14400          activeSidebarControl
14401        }),
14402        [sidebarControls, activeSidebarControl]
14403      );
14404      return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SidebarControlsContext.Provider, { value: context, children });
14405    }
14406    function useSidebarControls() {
14407      const { sidebarControls } = (0, import_element58.useContext)(SidebarControlsContext);
14408      return sidebarControls;
14409    }
14410    function useActiveSidebarControl() {
14411      const { activeSidebarControl } = (0, import_element58.useContext)(SidebarControlsContext);
14412      return activeSidebarControl;
14413    }
14414  
14415    // packages/customize-widgets/build-module/components/customize-widgets/use-clear-selected-block.mjs
14416    var import_element59 = __toESM(require_element(), 1);
14417    var import_data14 = __toESM(require_data(), 1);
14418    var import_block_editor9 = __toESM(require_block_editor(), 1);
14419    function useClearSelectedBlock(sidebarControl, popoverRef) {
14420      const { hasSelectedBlock, hasMultiSelection } = (0, import_data14.useSelect)(import_block_editor9.store);
14421      const { clearSelectedBlock } = (0, import_data14.useDispatch)(import_block_editor9.store);
14422      (0, import_element59.useEffect)(() => {
14423        if (popoverRef.current && sidebarControl) {
14424          let handleClearSelectedBlock = function(element) {
14425            if (
14426              // 1. Make sure there are blocks being selected.
14427              (hasSelectedBlock() || hasMultiSelection()) && // 2. The element should exist in the DOM (not deleted).
14428              element && ownerDocument2.contains(element) && // 3. It should also not exist in the container, the popover, nor the dialog.
14429              !container.contains(element) && !popoverRef.current.contains(element) && !element.closest("[data-wp-compat-overlay-slot]") && !element.closest('[role="dialog"]') && // 4. The inspector should not be opened.
14430              !inspector.expanded()
14431            ) {
14432              clearSelectedBlock();
14433            }
14434          }, handleMouseDown = function(event) {
14435            handleClearSelectedBlock(event.target);
14436          }, handleBlur = function() {
14437            handleClearSelectedBlock(ownerDocument2.activeElement);
14438          };
14439          const inspector = sidebarControl.inspector;
14440          const container = sidebarControl.container[0];
14441          const ownerDocument2 = container.ownerDocument;
14442          const ownerWindow = ownerDocument2.defaultView;
14443          ownerDocument2.addEventListener("mousedown", handleMouseDown);
14444          ownerWindow.addEventListener("blur", handleBlur);
14445          return () => {
14446            ownerDocument2.removeEventListener(
14447              "mousedown",
14448              handleMouseDown
14449            );
14450            ownerWindow.removeEventListener("blur", handleBlur);
14451          };
14452        }
14453      }, [
14454        popoverRef,
14455        sidebarControl,
14456        hasSelectedBlock,
14457        hasMultiSelection,
14458        clearSelectedBlock
14459      ]);
14460    }
14461  
14462    // packages/customize-widgets/build-module/components/customize-widgets/index.mjs
14463    var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
14464    function CustomizeWidgets({
14465      api,
14466      sidebarControls,
14467      blockEditorSettings
14468    }) {
14469      const [activeSidebarControl, setActiveSidebarControl] = (0, import_element60.useState)(null);
14470      const parentContainer = document.getElementById(
14471        "customize-theme-controls"
14472      );
14473      const popoverRef = (0, import_element60.useRef)();
14474      const adminPrimary = (0, import_element60.useMemo)(() => getAdminThemeColors().primary, []);
14475      useEnableWpCompatOverlaySlot();
14476      useClearSelectedBlock(activeSidebarControl, popoverRef);
14477      (0, import_element60.useEffect)(() => {
14478        const unsubscribers = sidebarControls.map(
14479          (sidebarControl) => sidebarControl.subscribe((expanded) => {
14480            if (expanded) {
14481              setActiveSidebarControl(sidebarControl);
14482            }
14483          })
14484        );
14485        return () => {
14486          unsubscribers.forEach((unsubscriber) => unsubscriber());
14487        };
14488      }, [sidebarControls]);
14489      const activeSidebar = activeSidebarControl && (0, import_element60.createPortal)(
14490        /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ErrorBoundary, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
14491          SidebarBlockEditor,
14492          {
14493            blockEditorSettings,
14494            sidebar: activeSidebarControl.sidebarAdapter,
14495            inserter: activeSidebarControl.inserter,
14496            inspector: activeSidebarControl.inspector
14497          },
14498          activeSidebarControl.id
14499        ) }),
14500        activeSidebarControl.container[0]
14501      );
14502      const popover = parentContainer && (0, import_element60.createPortal)(
14503        /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "customize-widgets-popover", ref: popoverRef, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components7.Popover.Slot, {}) }),
14504        parentContainer
14505      );
14506      return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components7.SlotFillProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_theme.ThemeProvider, { isRoot: true, color: { primary: adminPrimary }, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
14507        SidebarControls,
14508        {
14509          sidebarControls,
14510          activeSidebarControl,
14511          children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
14512            FocusControl,
14513            {
14514              api,
14515              sidebarControls,
14516              children: [
14517                activeSidebar,
14518                popover
14519              ]
14520            }
14521          )
14522        }
14523      ) }) });
14524    }
14525  
14526    // packages/customize-widgets/build-module/controls/sidebar-section.mjs
14527    var import_i18n15 = __toESM(require_i18n(), 1);
14528  
14529    // packages/customize-widgets/build-module/controls/inspector-section.mjs
14530    function getInspectorSection() {
14531      const {
14532        wp: { customize }
14533      } = window;
14534      return class InspectorSection extends customize.Section {
14535        constructor(id, options) {
14536          super(id, options);
14537          this.parentSection = options.parentSection;
14538          this.returnFocusWhenClose = null;
14539          this._isOpen = false;
14540        }
14541        get isOpen() {
14542          return this._isOpen;
14543        }
14544        set isOpen(value) {
14545          this._isOpen = value;
14546          this.triggerActiveCallbacks();
14547        }
14548        ready() {
14549          this.contentContainer[0].classList.add(
14550            "customize-widgets-layout__inspector"
14551          );
14552        }
14553        isContextuallyActive() {
14554          return this.isOpen;
14555        }
14556        onChangeExpanded(expanded, args) {
14557          super.onChangeExpanded(expanded, args);
14558          if (this.parentSection && !args.unchanged) {
14559            if (expanded) {
14560              this.parentSection.collapse({
14561                manualTransition: true
14562              });
14563            } else {
14564              this.parentSection.expand({
14565                manualTransition: true,
14566                completeCallback: () => {
14567                  if (this.returnFocusWhenClose && !this.contentContainer[0].contains(
14568                    this.returnFocusWhenClose
14569                  )) {
14570                    this.returnFocusWhenClose.focus();
14571                  }
14572                }
14573              });
14574            }
14575          }
14576        }
14577        open({ returnFocusWhenClose } = {}) {
14578          this.isOpen = true;
14579          this.returnFocusWhenClose = returnFocusWhenClose;
14580          this.expand({
14581            allowMultiple: true
14582          });
14583        }
14584        close() {
14585          this.collapse({
14586            allowMultiple: true
14587          });
14588        }
14589        collapse(options) {
14590          this.isOpen = false;
14591          super.collapse(options);
14592        }
14593        triggerActiveCallbacks() {
14594          this.active.callbacks.fireWith(this.active, [false, true]);
14595        }
14596      };
14597    }
14598  
14599    // packages/customize-widgets/build-module/controls/sidebar-section.mjs
14600    var getInspectorSectionId = (sidebarId) => `widgets-inspector-$sidebarId}`;
14601    function getSidebarSection() {
14602      const {
14603        wp: { customize }
14604      } = window;
14605      const reduceMotionMediaQuery = window.matchMedia(
14606        "(prefers-reduced-motion: reduce)"
14607      );
14608      let isReducedMotion = reduceMotionMediaQuery.matches;
14609      reduceMotionMediaQuery.addEventListener("change", (event) => {
14610        isReducedMotion = event.matches;
14611      });
14612      return class SidebarSection extends customize.Section {
14613        ready() {
14614          const InspectorSection = getInspectorSection();
14615          this.inspector = new InspectorSection(
14616            getInspectorSectionId(this.id),
14617            {
14618              title: (0, import_i18n15.__)("Block Settings"),
14619              parentSection: this,
14620              customizeAction: [
14621                (0, import_i18n15.__)("Customizing"),
14622                (0, import_i18n15.__)("Widgets"),
14623                this.params.title
14624              ].join(" \u25B8 ")
14625            }
14626          );
14627          customize.section.add(this.inspector);
14628          this.contentContainer[0].classList.add(
14629            "customize-widgets__sidebar-section"
14630          );
14631        }
14632        hasSubSectionOpened() {
14633          return this.inspector.expanded();
14634        }
14635        onChangeExpanded(expanded, _args) {
14636          const controls = this.controls();
14637          const args = {
14638            ..._args,
14639            completeCallback() {
14640              controls.forEach((control) => {
14641                control.onChangeSectionExpanded?.(expanded, args);
14642              });
14643              _args.completeCallback?.();
14644            }
14645          };
14646          if (args.manualTransition) {
14647            if (expanded) {
14648              this.contentContainer.addClass(["busy", "open"]);
14649              this.contentContainer.removeClass("is-sub-section-open");
14650              this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
14651            } else {
14652              this.contentContainer.addClass([
14653                "busy",
14654                "is-sub-section-open"
14655              ]);
14656              this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
14657              this.contentContainer.removeClass("open");
14658            }
14659            const handleTransitionEnd = () => {
14660              this.contentContainer.removeClass("busy");
14661              args.completeCallback();
14662            };
14663            if (isReducedMotion) {
14664              handleTransitionEnd();
14665            } else {
14666              this.contentContainer.one(
14667                "transitionend",
14668                handleTransitionEnd
14669              );
14670            }
14671          } else {
14672            super.onChangeExpanded(expanded, args);
14673          }
14674        }
14675      };
14676    }
14677  
14678    // packages/customize-widgets/build-module/controls/sidebar-control.mjs
14679    var import_data16 = __toESM(require_data(), 1);
14680  
14681    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-adapter.mjs
14682    var { wp } = window;
14683    function parseWidgetId(widgetId) {
14684      const matches = widgetId.match(/^(.+)-(\d+)$/);
14685      if (matches) {
14686        return {
14687          idBase: matches[1],
14688          number: parseInt(matches[2], 10)
14689        };
14690      }
14691      return { idBase: widgetId };
14692    }
14693    function widgetIdToSettingId(widgetId) {
14694      const { idBase, number } = parseWidgetId(widgetId);
14695      if (number) {
14696        return `widget_$idBase}[$number}]`;
14697      }
14698      return `widget_$idBase}`;
14699    }
14700    function debounce(leading, callback, timeout) {
14701      let isLeading = false;
14702      let timerID;
14703      function debounced(...args) {
14704        const result = (isLeading ? callback : leading).apply(this, args);
14705        isLeading = true;
14706        clearTimeout(timerID);
14707        timerID = setTimeout(() => {
14708          isLeading = false;
14709        }, timeout);
14710        return result;
14711      }
14712      debounced.cancel = () => {
14713        isLeading = false;
14714        clearTimeout(timerID);
14715      };
14716      return debounced;
14717    }
14718    var SidebarAdapter = class {
14719      constructor(setting, api) {
14720        this.setting = setting;
14721        this.api = api;
14722        this.locked = false;
14723        this.widgetsCache = /* @__PURE__ */ new WeakMap();
14724        this.subscribers = /* @__PURE__ */ new Set();
14725        this.history = [
14726          this._getWidgetIds().map(
14727            (widgetId) => this.getWidget(widgetId)
14728          )
14729        ];
14730        this.historyIndex = 0;
14731        this.historySubscribers = /* @__PURE__ */ new Set();
14732        this._debounceSetHistory = debounce(
14733          this._pushHistory,
14734          this._replaceHistory,
14735          1e3
14736        );
14737        this.setting.bind(this._handleSettingChange.bind(this));
14738        this.api.bind("change", this._handleAllSettingsChange.bind(this));
14739        this.undo = this.undo.bind(this);
14740        this.redo = this.redo.bind(this);
14741        this.save = this.save.bind(this);
14742      }
14743      subscribe(callback) {
14744        this.subscribers.add(callback);
14745        return () => {
14746          this.subscribers.delete(callback);
14747        };
14748      }
14749      getWidgets() {
14750        return this.history[this.historyIndex];
14751      }
14752      _emit(...args) {
14753        for (const callback of this.subscribers) {
14754          callback(...args);
14755        }
14756      }
14757      _getWidgetIds() {
14758        return this.setting.get();
14759      }
14760      _pushHistory() {
14761        this.history = [
14762          ...this.history.slice(0, this.historyIndex + 1),
14763          this._getWidgetIds().map(
14764            (widgetId) => this.getWidget(widgetId)
14765          )
14766        ];
14767        this.historyIndex += 1;
14768        this.historySubscribers.forEach((listener) => listener());
14769      }
14770      _replaceHistory() {
14771        this.history[this.historyIndex] = this._getWidgetIds().map(
14772          (widgetId) => this.getWidget(widgetId)
14773        );
14774      }
14775      _handleSettingChange() {
14776        if (this.locked) {
14777          return;
14778        }
14779        const prevWidgets = this.getWidgets();
14780        this._pushHistory();
14781        this._emit(prevWidgets, this.getWidgets());
14782      }
14783      _handleAllSettingsChange(setting) {
14784        if (this.locked) {
14785          return;
14786        }
14787        if (!setting.id.startsWith("widget_")) {
14788          return;
14789        }
14790        const widgetId = settingIdToWidgetId(setting.id);
14791        if (!this.setting.get().includes(widgetId)) {
14792          return;
14793        }
14794        const prevWidgets = this.getWidgets();
14795        this._pushHistory();
14796        this._emit(prevWidgets, this.getWidgets());
14797      }
14798      _createWidget(widget) {
14799        const widgetModel = wp.customize.Widgets.availableWidgets.findWhere({
14800          id_base: widget.idBase
14801        });
14802        let number = widget.number;
14803        if (widgetModel.get("is_multi") && !number) {
14804          widgetModel.set(
14805            "multi_number",
14806            widgetModel.get("multi_number") + 1
14807          );
14808          number = widgetModel.get("multi_number");
14809        }
14810        const settingId = number ? `widget_$widget.idBase}[$number}]` : `widget_$widget.idBase}`;
14811        const settingArgs = {
14812          transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get("id_base")] ? "postMessage" : "refresh",
14813          previewer: this.setting.previewer
14814        };
14815        const setting = this.api.create(
14816          settingId,
14817          settingId,
14818          "",
14819          settingArgs
14820        );
14821        setting.set(widget.instance);
14822        const widgetId = settingIdToWidgetId(settingId);
14823        return widgetId;
14824      }
14825      _removeWidget(widget) {
14826        const settingId = widgetIdToSettingId(widget.id);
14827        const setting = this.api(settingId);
14828        if (setting) {
14829          const instance = setting.get();
14830          this.widgetsCache.delete(instance);
14831        }
14832        this.api.remove(settingId);
14833      }
14834      _updateWidget(widget) {
14835        const prevWidget = this.getWidget(widget.id);
14836        if (prevWidget === widget) {
14837          return widget.id;
14838        }
14839        if (prevWidget.idBase && widget.idBase && prevWidget.idBase === widget.idBase) {
14840          const settingId = widgetIdToSettingId(widget.id);
14841          this.api(settingId).set(widget.instance);
14842          return widget.id;
14843        }
14844        this._removeWidget(widget);
14845        return this._createWidget(widget);
14846      }
14847      getWidget(widgetId) {
14848        if (!widgetId) {
14849          return null;
14850        }
14851        const { idBase, number } = parseWidgetId(widgetId);
14852        const settingId = widgetIdToSettingId(widgetId);
14853        const setting = this.api(settingId);
14854        if (!setting) {
14855          return null;
14856        }
14857        const instance = setting.get();
14858        if (this.widgetsCache.has(instance)) {
14859          return this.widgetsCache.get(instance);
14860        }
14861        const widget = {
14862          id: widgetId,
14863          idBase,
14864          number,
14865          instance
14866        };
14867        this.widgetsCache.set(instance, widget);
14868        return widget;
14869      }
14870      _updateWidgets(nextWidgets) {
14871        this.locked = true;
14872        const addedWidgetIds = [];
14873        const nextWidgetIds = nextWidgets.map((nextWidget) => {
14874          if (nextWidget.id && this.getWidget(nextWidget.id)) {
14875            addedWidgetIds.push(null);
14876            return this._updateWidget(nextWidget);
14877          }
14878          const widgetId = this._createWidget(nextWidget);
14879          addedWidgetIds.push(widgetId);
14880          return widgetId;
14881        });
14882        const deletedWidgets = this.getWidgets().filter(
14883          (widget) => !nextWidgetIds.includes(widget.id)
14884        );
14885        deletedWidgets.forEach((widget) => this._removeWidget(widget));
14886        this.setting.set(nextWidgetIds);
14887        this.locked = false;
14888        return addedWidgetIds;
14889      }
14890      setWidgets(nextWidgets) {
14891        const addedWidgetIds = this._updateWidgets(nextWidgets);
14892        this._debounceSetHistory();
14893        return addedWidgetIds;
14894      }
14895      /**
14896       * Undo/Redo related features
14897       */
14898      hasUndo() {
14899        return this.historyIndex > 0;
14900      }
14901      hasRedo() {
14902        return this.historyIndex < this.history.length - 1;
14903      }
14904      _seek(historyIndex) {
14905        const currentWidgets = this.getWidgets();
14906        this.historyIndex = historyIndex;
14907        const widgets = this.history[this.historyIndex];
14908        this._updateWidgets(widgets);
14909        this._emit(currentWidgets, this.getWidgets());
14910        this.historySubscribers.forEach((listener) => listener());
14911        this._debounceSetHistory.cancel();
14912      }
14913      undo() {
14914        if (!this.hasUndo()) {
14915          return;
14916        }
14917        this._seek(this.historyIndex - 1);
14918      }
14919      redo() {
14920        if (!this.hasRedo()) {
14921          return;
14922        }
14923        this._seek(this.historyIndex + 1);
14924      }
14925      subscribeHistory(listener) {
14926        this.historySubscribers.add(listener);
14927        return () => {
14928          this.historySubscribers.delete(listener);
14929        };
14930      }
14931      save() {
14932        this.api.previewer.save();
14933      }
14934    };
14935  
14936    // packages/customize-widgets/build-module/controls/inserter-outer-section.mjs
14937    var import_keycodes5 = __toESM(require_keycodes(), 1);
14938    var import_dom21 = __toESM(require_dom(), 1);
14939    var import_data15 = __toESM(require_data(), 1);
14940    function getInserterOuterSection() {
14941      const {
14942        wp: { customize }
14943      } = window;
14944      const OuterSection = customize.OuterSection;
14945      customize.OuterSection = class extends OuterSection {
14946        onChangeExpanded(expanded, args) {
14947          if (expanded) {
14948            customize.section.each((section) => {
14949              if (section.params.type === "outer" && section.id !== this.id) {
14950                if (section.expanded()) {
14951                  section.collapse();
14952                }
14953              }
14954            });
14955          }
14956          return super.onChangeExpanded(expanded, args);
14957        }
14958      };
14959      customize.sectionConstructor.outer = customize.OuterSection;
14960      return class InserterOuterSection extends customize.OuterSection {
14961        constructor(...args) {
14962          super(...args);
14963          this.params.type = "outer";
14964          this.activeElementBeforeExpanded = null;
14965          const ownerWindow = this.contentContainer[0].ownerDocument.defaultView;
14966          ownerWindow.addEventListener(
14967            "keydown",
14968            (event) => {
14969              if (this.expanded() && (event.keyCode === import_keycodes5.ESCAPE || event.code === "Escape") && !event.defaultPrevented) {
14970                event.preventDefault();
14971                event.stopPropagation();
14972                (0, import_data15.dispatch)(store).setIsInserterOpened(
14973                  false
14974                );
14975              }
14976            },
14977            // Use capture mode to make this run before other event listeners.
14978            true
14979          );
14980          this.contentContainer.addClass("widgets-inserter");
14981          this.isFromInternalAction = false;
14982          this.expanded.bind(() => {
14983            if (!this.isFromInternalAction) {
14984              (0, import_data15.dispatch)(store).setIsInserterOpened(
14985                this.expanded()
14986              );
14987            }
14988            this.isFromInternalAction = false;
14989          });
14990        }
14991        open() {
14992          if (!this.expanded()) {
14993            const contentContainer = this.contentContainer[0];
14994            this.activeElementBeforeExpanded = contentContainer.ownerDocument.activeElement;
14995            this.isFromInternalAction = true;
14996            this.expand({
14997              completeCallback() {
14998                const searchBox = import_dom21.focus.tabbable.find(contentContainer)[1];
14999                if (searchBox) {
15000                  searchBox.focus();
15001                }
15002              }
15003            });
15004          }
15005        }
15006        close() {
15007          if (this.expanded()) {
15008            const contentContainer = this.contentContainer[0];
15009            const activeElement2 = contentContainer.ownerDocument.activeElement;
15010            this.isFromInternalAction = true;
15011            this.collapse({
15012              completeCallback() {
15013                if (contentContainer.contains(activeElement2)) {
15014                  if (this.activeElementBeforeExpanded) {
15015                    this.activeElementBeforeExpanded.focus();
15016                  }
15017                }
15018              }
15019            });
15020          }
15021        }
15022      };
15023    }
15024  
15025    // packages/customize-widgets/build-module/controls/sidebar-control.mjs
15026    var getInserterId = (controlId) => `widgets-inserter-$controlId}`;
15027    function getSidebarControl() {
15028      const {
15029        wp: { customize }
15030      } = window;
15031      return class SidebarControl extends customize.Control {
15032        constructor(...args) {
15033          super(...args);
15034          this.subscribers = /* @__PURE__ */ new Set();
15035        }
15036        ready() {
15037          const InserterOuterSection = getInserterOuterSection();
15038          this.inserter = new InserterOuterSection(
15039            getInserterId(this.id),
15040            {}
15041          );
15042          customize.section.add(this.inserter);
15043          this.sectionInstance = customize.section(this.section());
15044          this.inspector = this.sectionInstance.inspector;
15045          this.sidebarAdapter = new SidebarAdapter(this.setting, customize);
15046        }
15047        subscribe(callback) {
15048          this.subscribers.add(callback);
15049          return () => {
15050            this.subscribers.delete(callback);
15051          };
15052        }
15053        onChangeSectionExpanded(expanded, args) {
15054          if (!args.unchanged) {
15055            if (!expanded) {
15056              (0, import_data16.dispatch)(store).setIsInserterOpened(
15057                false
15058              );
15059            }
15060            this.subscribers.forEach(
15061              (subscriber) => subscriber(expanded, args)
15062            );
15063          }
15064        }
15065      };
15066    }
15067  
15068    // packages/customize-widgets/build-module/filters/move-to-sidebar.mjs
15069    var import_block_editor10 = __toESM(require_block_editor(), 1);
15070    var import_compose5 = __toESM(require_compose(), 1);
15071    var import_data17 = __toESM(require_data(), 1);
15072    var import_hooks2 = __toESM(require_hooks(), 1);
15073    var import_widgets4 = __toESM(require_widgets(), 1);
15074    var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
15075    var withMoveToSidebarToolbarItem = (0, import_compose5.createHigherOrderComponent)(
15076      (BlockEdit) => (props) => {
15077        let widgetId = (0, import_widgets4.getWidgetIdFromBlock)(props);
15078        const sidebarControls = useSidebarControls();
15079        const activeSidebarControl = useActiveSidebarControl();
15080        const hasMultipleSidebars = sidebarControls?.length > 1;
15081        const blockName = props.name;
15082        const clientId = props.clientId;
15083        const canInsertBlockInSidebar = (0, import_data17.useSelect)(
15084          (select) => {
15085            return select(import_block_editor10.store).canInsertBlockType(
15086              blockName,
15087              ""
15088            );
15089          },
15090          [blockName]
15091        );
15092        const block = (0, import_data17.useSelect)(
15093          (select) => select(import_block_editor10.store).getBlock(clientId),
15094          [clientId]
15095        );
15096        const { removeBlock } = (0, import_data17.useDispatch)(import_block_editor10.store);
15097        const [, focusWidget] = useFocusControl();
15098        function moveToSidebar(sidebarControlId) {
15099          const newSidebarControl = sidebarControls.find(
15100            (sidebarControl) => sidebarControl.id === sidebarControlId
15101          );
15102          if (widgetId) {
15103            const oldSetting = activeSidebarControl.setting;
15104            const newSetting = newSidebarControl.setting;
15105            oldSetting(oldSetting().filter((id) => id !== widgetId));
15106            newSetting([...newSetting(), widgetId]);
15107          } else {
15108            const sidebarAdapter = newSidebarControl.sidebarAdapter;
15109            removeBlock(clientId);
15110            const addedWidgetIds = sidebarAdapter.setWidgets([
15111              ...sidebarAdapter.getWidgets(),
15112              blockToWidget(block)
15113            ]);
15114            widgetId = addedWidgetIds.reverse().find((id) => !!id);
15115          }
15116          focusWidget(widgetId);
15117        }
15118        return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
15119          /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BlockEdit, { ...props }, "edit"),
15120          hasMultipleSidebars && canInsertBlockInSidebar && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_block_editor10.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15121            import_widgets4.MoveToWidgetArea,
15122            {
15123              widgetAreas: sidebarControls.map(
15124                (sidebarControl) => ({
15125                  id: sidebarControl.id,
15126                  name: sidebarControl.params.label,
15127                  description: sidebarControl.params.description
15128                })
15129              ),
15130              currentWidgetAreaId: activeSidebarControl?.id,
15131              onSelect: moveToSidebar
15132            }
15133          ) })
15134        ] });
15135      },
15136      "withMoveToSidebarToolbarItem"
15137    );
15138    (0, import_hooks2.addFilter)(
15139      "editor.BlockEdit",
15140      "core/customize-widgets/block-edit",
15141      withMoveToSidebarToolbarItem
15142    );
15143  
15144    // packages/customize-widgets/build-module/filters/replace-media-upload.mjs
15145    var import_hooks3 = __toESM(require_hooks(), 1);
15146    var import_media_utils2 = __toESM(require_media_utils(), 1);
15147    var replaceMediaUpload = () => import_media_utils2.MediaUpload;
15148    (0, import_hooks3.addFilter)(
15149      "editor.MediaUpload",
15150      "core/edit-widgets/replace-media-upload",
15151      replaceMediaUpload
15152    );
15153  
15154    // packages/customize-widgets/build-module/filters/wide-widget-display.mjs
15155    var import_compose6 = __toESM(require_compose(), 1);
15156    var import_hooks4 = __toESM(require_hooks(), 1);
15157    var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
15158    var { wp: wp2 } = window;
15159    var withWideWidgetDisplay = (0, import_compose6.createHigherOrderComponent)(
15160      (BlockEdit) => (props) => {
15161        const { idBase } = props.attributes;
15162        const isWide = wp2.customize.Widgets.data.availableWidgets.find(
15163          (widget) => widget.id_base === idBase
15164        )?.is_wide ?? false;
15165        return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(BlockEdit, { ...props, isWide }, "edit");
15166      },
15167      "withWideWidgetDisplay"
15168    );
15169    (0, import_hooks4.addFilter)(
15170      "editor.BlockEdit",
15171      "core/customize-widgets/wide-widget-display",
15172      withWideWidgetDisplay
15173    );
15174  
15175    // packages/customize-widgets/build-module/index.mjs
15176    var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
15177    var { wp: wp3 } = window;
15178    var DISABLED_BLOCKS = [
15179      "core/more",
15180      "core/block",
15181      "core/freeform",
15182      "core/template-part"
15183    ];
15184    function initialize(editorName, blockEditorSettings) {
15185      (0, import_data18.dispatch)(import_preferences4.store).setDefaults("core/customize-widgets", {
15186        fixedToolbar: false,
15187        welcomeGuide: true
15188      });
15189      (0, import_data18.dispatch)(import_blocks2.store).reapplyBlockTypeFilters();
15190      const coreBlocks = (0, import_block_library.__experimentalGetCoreBlocks)().filter((block) => {
15191        return !(DISABLED_BLOCKS.includes(block.name) || block.name.startsWith("core/post") || block.name.startsWith("core/query") || block.name.startsWith("core/site") || block.name.startsWith("core/navigation") || block.name.startsWith("core/term"));
15192      });
15193      (0, import_block_library.registerCoreBlocks)(coreBlocks);
15194      (0, import_widgets5.registerLegacyWidgetBlock)();
15195      if (false) {
15196        (0, import_block_library.__experimentalRegisterExperimentalCoreBlocks)({
15197          enableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS
15198        });
15199      }
15200      (0, import_widgets5.registerLegacyWidgetVariations)(blockEditorSettings);
15201      (0, import_widgets5.registerWidgetGroupBlock)();
15202      (0, import_blocks2.setFreeformContentHandlerName)("core/html");
15203      const SidebarControl = getSidebarControl(blockEditorSettings);
15204      wp3.customize.sectionConstructor.sidebar = getSidebarSection();
15205      wp3.customize.controlConstructor.sidebar_block_editor = SidebarControl;
15206      const container = document.createElement("div");
15207      document.body.appendChild(container);
15208      wp3.customize.bind("ready", () => {
15209        const sidebarControls = [];
15210        wp3.customize.control.each((control) => {
15211          if (control instanceof SidebarControl) {
15212            sidebarControls.push(control);
15213          }
15214        });
15215        (0, import_element61.createRoot)(container).render(
15216          /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_element61.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15217            CustomizeWidgets,
15218            {
15219              api: wp3.customize,
15220              sidebarControls,
15221              blockEditorSettings
15222            }
15223          ) })
15224        );
15225      });
15226    }
15227    return __toCommonJS(index_exports);
15228  })();
15229  /*! Bundled license information:
15230  
15231  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
15232    (**
15233     * @license React
15234     * use-sync-external-store-shim.development.js
15235     *
15236     * Copyright (c) Meta Platforms, Inc. and affiliates.
15237     *
15238     * This source code is licensed under the MIT license found in the
15239     * LICENSE file in the root directory of this source tree.
15240     *)
15241  
15242  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
15243    (**
15244     * @license React
15245     * use-sync-external-store-shim/with-selector.development.js
15246     *
15247     * Copyright (c) Meta Platforms, Inc. and affiliates.
15248     *
15249     * This source code is licensed under the MIT license found in the
15250     * LICENSE file in the root directory of this source tree.
15251     *)
15252  */
15253  (window.wp ||= {}).customizeWidgets = wp.customizeWidgets;
15254  })();


Generated : Mon Oct 26 08:20:34 2026 Cross-referenced by PHPXref