[ 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("09bae534ff", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._9745ffa515d864cf__text{text-wrap:pretty;margin:0}._8882b6a7feb4fd3d__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)}._664e3e7687c45603__heading-xl,._8882b6a7feb4fd3d__heading-2xl{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)}._664e3e7687c45603__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)}.dac661a5de0ed2bd__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)}._59c7f3f740e2f96e__heading-md,.dac661a5de0ed2bd__heading-lg{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)}._59c7f3f740e2f96e__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)}.cf052fbad8d93b7e__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}._212b9cfef57a0af4__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)}._07f57bc0aa36b2c6__body-lg,._212b9cfef57a0af4__body-xl{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)}._07f57bc0aa36b2c6__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)}._0c6da4457aec9e62__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)}._0c6da4457aec9e62__body-md,.b998f87ff17b7bec__body-sm{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)}.b998f87ff17b7bec__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": "_9745ffa515d864cf__text", "heading-2xl": "_8882b6a7feb4fd3d__heading-2xl", "heading-xl": "_664e3e7687c45603__heading-xl", "heading-lg": "dac661a5de0ed2bd__heading-lg", "heading-md": "_59c7f3f740e2f96e__heading-md", "heading-sm": "cf052fbad8d93b7e__heading-sm", "body-xl": "_212b9cfef57a0af4__body-xl", "body-lg": "_07f57bc0aa36b2c6__body-lg", "body-md": "_0c6da4457aec9e62__body-md", "body-sm": "b998f87ff17b7bec__body-sm" };
9768    if (typeof process === "undefined" || true) {
9769      registerStyle("726f348f3f", "._78c10a0773e51a91__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)}._5b33aa2d48624b4f__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)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__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)._326aee4184d261fd__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)}.e9576240835601ba__a,.e9576240835601ba__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)}._3f05789653864a73__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)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__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": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__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("b081213352", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.da418dc15e63be57__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)}._8b83deccaefa3c92__indicator{fill:transparent;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;transform-origin:50% 50%;@media (forced-colors:active){stroke:CanvasText}animation:_0da63cf2c7b08803__spinner-spin 1.4s linear infinite both}@keyframes _0da63cf2c7b08803__spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}}");
9882    }
9883    var style_default2 = { "spinner": "da418dc15e63be57__spinner", "indicator": "_8b83deccaefa3c92__indicator", "spinner-spin": "_0da63cf2c7b08803__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 24 24",
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 12 0 a 12 12 0 0 1 0 24"
9902              }
9903            )
9904          }
9905        );
9906      }
9907    );
9908  
9909    // packages/ui/build-module/button/button.mjs
9910    var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
9911    var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
9912    function getRuntime3() {
9913      const globalScope = globalThis;
9914      if (globalScope.__wpStyleRuntime) {
9915        return globalScope.__wpStyleRuntime;
9916      }
9917      globalScope.__wpStyleRuntime = {
9918        documents: /* @__PURE__ */ new Map(),
9919        styles: /* @__PURE__ */ new Map(),
9920        injectedStyles: /* @__PURE__ */ new WeakMap()
9921      };
9922      if (typeof document !== "undefined") {
9923        registerDocument3(document);
9924      }
9925      return globalScope.__wpStyleRuntime;
9926    }
9927    function documentContainsStyleHash3(targetDocument, hash) {
9928      if (!targetDocument.head) {
9929        return false;
9930      }
9931      for (const style of targetDocument.head.querySelectorAll(
9932        `style[$STYLE_HASH_ATTRIBUTE3}]`
9933      )) {
9934        if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
9935          return true;
9936        }
9937      }
9938      return false;
9939    }
9940    function injectStyle3(targetDocument, hash, css) {
9941      if (!targetDocument.head) {
9942        return;
9943      }
9944      const runtime = getRuntime3();
9945      let injectedStyles = runtime.injectedStyles.get(targetDocument);
9946      if (!injectedStyles) {
9947        injectedStyles = /* @__PURE__ */ new Set();
9948        runtime.injectedStyles.set(targetDocument, injectedStyles);
9949      }
9950      if (injectedStyles.has(hash)) {
9951        return;
9952      }
9953      if (documentContainsStyleHash3(targetDocument, hash)) {
9954        injectedStyles.add(hash);
9955        return;
9956      }
9957      const style = targetDocument.createElement("style");
9958      style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
9959      style.appendChild(targetDocument.createTextNode(css));
9960      targetDocument.head.appendChild(style);
9961      injectedStyles.add(hash);
9962    }
9963    function registerDocument3(targetDocument) {
9964      const runtime = getRuntime3();
9965      runtime.documents.set(
9966        targetDocument,
9967        (runtime.documents.get(targetDocument) ?? 0) + 1
9968      );
9969      for (const [hash, css] of runtime.styles) {
9970        injectStyle3(targetDocument, hash, css);
9971      }
9972      return () => {
9973        const count = runtime.documents.get(targetDocument);
9974        if (count === void 0) {
9975          return;
9976        }
9977        if (count <= 1) {
9978          runtime.documents.delete(targetDocument);
9979          return;
9980        }
9981        runtime.documents.set(targetDocument, count - 1);
9982      };
9983    }
9984    function registerStyle3(hash, css) {
9985      const runtime = getRuntime3();
9986      runtime.styles.set(hash, css);
9987      for (const targetDocument of runtime.documents.keys()) {
9988        injectStyle3(targetDocument, hash, css);
9989      }
9990    }
9991    if (typeof process === "undefined" || true) {
9992      registerStyle3("06ca4dbe45", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.e01b07636421375d__button,.ec10ae721bc68934__is-unstyled{appearance:none;padding:0}.e01b07636421375d__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(._414eb921eb9928fa__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}}}._36aecfa8aa1c059c__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)}._6e27e09880945492__icon{margin:var(--wp-ui-button-icon-margin)}.e861e38ec209c386__is-brand{&._126c37d7228179eb__is-outline,&._52d3a0733adabb28__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)}&._126c37d7228179eb__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)}&._52d3a0733adabb28__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)}}._4f1e6661283d0b09__is-neutral{&._52d3a0733adabb28__is-minimal[aria-pressed=true],&._7b8ab25ed58515d2__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)}&._126c37d7228179eb__is-outline,&._52d3a0733adabb28__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)}&._126c37d7228179eb__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)}&._52d3a0733adabb28__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)}}.ec10ae721bc68934__is-unstyled{background:none;border:none;min-width:unset}.df99f7773c9c8915__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._414eb921eb9928fa__is-loading:not(.ec10ae721bc68934__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._20f9e334daee91a7__spinner){opacity:0}}}@layer compositions{._20f9e334daee91a7__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);>*{stroke-width:2.75}@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
9993    }
9994    var style_default3 = { "button": "e01b07636421375d__button", "is-unstyled": "ec10ae721bc68934__is-unstyled", "is-loading": "_414eb921eb9928fa__is-loading", "is-small": "_36aecfa8aa1c059c__is-small", "icon": "_6e27e09880945492__icon", "is-brand": "e861e38ec209c386__is-brand", "is-outline": "_126c37d7228179eb__is-outline", "is-minimal": "_52d3a0733adabb28__is-minimal", "is-neutral": "_4f1e6661283d0b09__is-neutral", "is-solid": "_7b8ab25ed58515d2__is-solid", "is-compact": "df99f7773c9c8915__is-compact", "spinner": "_20f9e334daee91a7__spinner" };
9995    if (typeof process === "undefined" || true) {
9996      registerStyle3("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
9997    }
9998    var resets_default = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
9999    if (typeof process === "undefined" || true) {
10000      registerStyle3("c13e206e92", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._0f52be5f1d4ce686__outset-ring--focus-within:focus-within,._8f922cee854f2408__outset-ring--focus-visible:focus-visible,.accedd6ae8fd878e__outset-ring--focus:focus{--_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))}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within,.c20f61b115485a7f__outset-ring--focus-except-active:focus{outline:none}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.c20f61b115485a7f__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))}}}");
10001    }
10002    var focus_module_default = { "outset-ring--focus": "accedd6ae8fd878e__outset-ring--focus", "outset-ring--focus-visible": "_8f922cee854f2408__outset-ring--focus-visible", "outset-ring--focus-within": "_0f52be5f1d4ce686__outset-ring--focus-within", "outset-ring--focus-except-active": "c20f61b115485a7f__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3ad2c88c126f2bdd__outset-ring--focus-within-except-active" };
10003    if (typeof process === "undefined" || true) {
10004      registerStyle3("726f348f3f", "._78c10a0773e51a91__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)}._5b33aa2d48624b4f__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)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__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)._326aee4184d261fd__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)}.e9576240835601ba__a,.e9576240835601ba__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)}._3f05789653864a73__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)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__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)}");
10005    }
10006    var global_css_defense_default2 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
10007    var Button3 = (0, import_element13.forwardRef)(
10008      function UnforwardedButton({
10009        tone = "brand",
10010        variant = "solid",
10011        size: size4 = "default",
10012        className,
10013        focusableWhenDisabled = true,
10014        disabled: disabled2,
10015        loading,
10016        loadingAnnouncement = (0, import_i18n.__)("Loading"),
10017        children,
10018        ...props
10019      }, ref) {
10020        const mergedClassName = clsx_default(
10021          global_css_defense_default2.button,
10022          resets_default["box-sizing"],
10023          focus_module_default["outset-ring--focus-except-active"],
10024          variant !== "unstyled" && style_default3.button,
10025          style_default3[`is-$tone}`],
10026          style_default3[`is-$variant}`],
10027          style_default3[`is-$size4}`],
10028          loading && style_default3["is-loading"],
10029          className
10030        );
10031        (0, import_element13.useEffect)(() => {
10032          if (loading && loadingAnnouncement) {
10033            (0, import_a11y.speak)(loadingAnnouncement);
10034          }
10035        }, [loading, loadingAnnouncement]);
10036        return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(
10037          Button,
10038          {
10039            ref,
10040            className: mergedClassName,
10041            focusableWhenDisabled,
10042            disabled: disabled2 ?? loading,
10043            ...props,
10044            children: [
10045              children,
10046              loading && variant !== "unstyled" && /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Spinner, { className: style_default3.spinner })
10047            ]
10048          }
10049        );
10050      }
10051    );
10052  
10053    // packages/ui/build-module/button/icon.mjs
10054    var import_element14 = __toESM(require_element(), 1);
10055    var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
10056    var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
10057    function getRuntime4() {
10058      const globalScope = globalThis;
10059      if (globalScope.__wpStyleRuntime) {
10060        return globalScope.__wpStyleRuntime;
10061      }
10062      globalScope.__wpStyleRuntime = {
10063        documents: /* @__PURE__ */ new Map(),
10064        styles: /* @__PURE__ */ new Map(),
10065        injectedStyles: /* @__PURE__ */ new WeakMap()
10066      };
10067      if (typeof document !== "undefined") {
10068        registerDocument4(document);
10069      }
10070      return globalScope.__wpStyleRuntime;
10071    }
10072    function documentContainsStyleHash4(targetDocument, hash) {
10073      if (!targetDocument.head) {
10074        return false;
10075      }
10076      for (const style of targetDocument.head.querySelectorAll(
10077        `style[$STYLE_HASH_ATTRIBUTE4}]`
10078      )) {
10079        if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
10080          return true;
10081        }
10082      }
10083      return false;
10084    }
10085    function injectStyle4(targetDocument, hash, css) {
10086      if (!targetDocument.head) {
10087        return;
10088      }
10089      const runtime = getRuntime4();
10090      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10091      if (!injectedStyles) {
10092        injectedStyles = /* @__PURE__ */ new Set();
10093        runtime.injectedStyles.set(targetDocument, injectedStyles);
10094      }
10095      if (injectedStyles.has(hash)) {
10096        return;
10097      }
10098      if (documentContainsStyleHash4(targetDocument, hash)) {
10099        injectedStyles.add(hash);
10100        return;
10101      }
10102      const style = targetDocument.createElement("style");
10103      style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
10104      style.appendChild(targetDocument.createTextNode(css));
10105      targetDocument.head.appendChild(style);
10106      injectedStyles.add(hash);
10107    }
10108    function registerDocument4(targetDocument) {
10109      const runtime = getRuntime4();
10110      runtime.documents.set(
10111        targetDocument,
10112        (runtime.documents.get(targetDocument) ?? 0) + 1
10113      );
10114      for (const [hash, css] of runtime.styles) {
10115        injectStyle4(targetDocument, hash, css);
10116      }
10117      return () => {
10118        const count = runtime.documents.get(targetDocument);
10119        if (count === void 0) {
10120          return;
10121        }
10122        if (count <= 1) {
10123          runtime.documents.delete(targetDocument);
10124          return;
10125        }
10126        runtime.documents.set(targetDocument, count - 1);
10127      };
10128    }
10129    function registerStyle4(hash, css) {
10130      const runtime = getRuntime4();
10131      runtime.styles.set(hash, css);
10132      for (const targetDocument of runtime.documents.keys()) {
10133        injectStyle4(targetDocument, hash, css);
10134      }
10135    }
10136    if (typeof process === "undefined" || true) {
10137      registerStyle4("06ca4dbe45", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.e01b07636421375d__button,.ec10ae721bc68934__is-unstyled{appearance:none;padding:0}.e01b07636421375d__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(._414eb921eb9928fa__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}}}._36aecfa8aa1c059c__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)}._6e27e09880945492__icon{margin:var(--wp-ui-button-icon-margin)}.e861e38ec209c386__is-brand{&._126c37d7228179eb__is-outline,&._52d3a0733adabb28__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)}&._126c37d7228179eb__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)}&._52d3a0733adabb28__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)}}._4f1e6661283d0b09__is-neutral{&._52d3a0733adabb28__is-minimal[aria-pressed=true],&._7b8ab25ed58515d2__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)}&._126c37d7228179eb__is-outline,&._52d3a0733adabb28__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)}&._126c37d7228179eb__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)}&._52d3a0733adabb28__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)}}.ec10ae721bc68934__is-unstyled{background:none;border:none;min-width:unset}.df99f7773c9c8915__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._414eb921eb9928fa__is-loading:not(.ec10ae721bc68934__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._20f9e334daee91a7__spinner){opacity:0}}}@layer compositions{._20f9e334daee91a7__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);>*{stroke-width:2.75}@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
10138    }
10139    var style_default4 = { "button": "e01b07636421375d__button", "is-unstyled": "ec10ae721bc68934__is-unstyled", "is-loading": "_414eb921eb9928fa__is-loading", "is-small": "_36aecfa8aa1c059c__is-small", "icon": "_6e27e09880945492__icon", "is-brand": "e861e38ec209c386__is-brand", "is-outline": "_126c37d7228179eb__is-outline", "is-minimal": "_52d3a0733adabb28__is-minimal", "is-neutral": "_4f1e6661283d0b09__is-neutral", "is-solid": "_7b8ab25ed58515d2__is-solid", "is-compact": "df99f7773c9c8915__is-compact", "spinner": "_20f9e334daee91a7__spinner" };
10140    var ButtonIcon = (0, import_element14.forwardRef)(
10141      function UnforwardedButtonIcon({ className, icon, ...props }, ref) {
10142        return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
10143          Icon,
10144          {
10145            ref,
10146            icon,
10147            className: clsx_default(style_default4.icon, className),
10148            size: 24,
10149            ...props
10150          }
10151        );
10152      }
10153    );
10154  
10155    // packages/ui/build-module/button/index.mjs
10156    ButtonIcon.displayName = "Button.Icon";
10157    var Button4 = Object.assign(Button3, {
10158      /**
10159       * An icon component specifically designed to work well when rendered inside
10160       * a `Button` component.
10161       */
10162      Icon: ButtonIcon
10163    });
10164  
10165    // packages/icons/build-module/library/caution.mjs
10166    var import_primitives2 = __toESM(require_primitives(), 1);
10167    var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
10168    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" }) });
10169  
10170    // packages/icons/build-module/library/chevron-down.mjs
10171    var import_primitives3 = __toESM(require_primitives(), 1);
10172    var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
10173    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" }) });
10174  
10175    // packages/icons/build-module/library/close-small.mjs
10176    var import_primitives4 = __toESM(require_primitives(), 1);
10177    var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
10178    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" }) });
10179  
10180    // packages/icons/build-module/library/error.mjs
10181    var import_primitives5 = __toESM(require_primitives(), 1);
10182    var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
10183    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" }) });
10184  
10185    // packages/icons/build-module/library/external.mjs
10186    var import_primitives6 = __toESM(require_primitives(), 1);
10187    var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
10188    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" }) });
10189  
10190    // packages/icons/build-module/library/info.mjs
10191    var import_primitives7 = __toESM(require_primitives(), 1);
10192    var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
10193    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" }) });
10194  
10195    // packages/icons/build-module/library/more-vertical.mjs
10196    var import_primitives8 = __toESM(require_primitives(), 1);
10197    var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
10198    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: [
10199      /* @__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" }),
10200      /* @__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" }),
10201      /* @__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" }),
10202      /* @__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" }),
10203      /* @__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" }),
10204      /* @__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" })
10205    ] });
10206  
10207    // packages/icons/build-module/library/plus.mjs
10208    var import_primitives9 = __toESM(require_primitives(), 1);
10209    var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
10210    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" }) });
10211  
10212    // packages/icons/build-module/library/published.mjs
10213    var import_primitives10 = __toESM(require_primitives(), 1);
10214    var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
10215    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: [
10216      /* @__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" }),
10217      /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_primitives10.Path, { d: "M9 12L11 14L15 10" })
10218    ] });
10219  
10220    // packages/icons/build-module/library/redo.mjs
10221    var import_primitives11 = __toESM(require_primitives(), 1);
10222    var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
10223    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" }) });
10224  
10225    // packages/icons/build-module/library/undo.mjs
10226    var import_primitives12 = __toESM(require_primitives(), 1);
10227    var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
10228    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" }) });
10229  
10230    // packages/ui/build-module/utils/keyboard-shortcut.mjs
10231    var import_element16 = __toESM(require_element(), 1);
10232    var import_i18n2 = __toESM(require_i18n(), 1);
10233  
10234    // packages/ui/build-module/visually-hidden/visually-hidden.mjs
10235    var import_element15 = __toESM(require_element(), 1);
10236    var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
10237    function getRuntime5() {
10238      const globalScope = globalThis;
10239      if (globalScope.__wpStyleRuntime) {
10240        return globalScope.__wpStyleRuntime;
10241      }
10242      globalScope.__wpStyleRuntime = {
10243        documents: /* @__PURE__ */ new Map(),
10244        styles: /* @__PURE__ */ new Map(),
10245        injectedStyles: /* @__PURE__ */ new WeakMap()
10246      };
10247      if (typeof document !== "undefined") {
10248        registerDocument5(document);
10249      }
10250      return globalScope.__wpStyleRuntime;
10251    }
10252    function documentContainsStyleHash5(targetDocument, hash) {
10253      if (!targetDocument.head) {
10254        return false;
10255      }
10256      for (const style of targetDocument.head.querySelectorAll(
10257        `style[$STYLE_HASH_ATTRIBUTE5}]`
10258      )) {
10259        if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
10260          return true;
10261        }
10262      }
10263      return false;
10264    }
10265    function injectStyle5(targetDocument, hash, css) {
10266      if (!targetDocument.head) {
10267        return;
10268      }
10269      const runtime = getRuntime5();
10270      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10271      if (!injectedStyles) {
10272        injectedStyles = /* @__PURE__ */ new Set();
10273        runtime.injectedStyles.set(targetDocument, injectedStyles);
10274      }
10275      if (injectedStyles.has(hash)) {
10276        return;
10277      }
10278      if (documentContainsStyleHash5(targetDocument, hash)) {
10279        injectedStyles.add(hash);
10280        return;
10281      }
10282      const style = targetDocument.createElement("style");
10283      style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
10284      style.appendChild(targetDocument.createTextNode(css));
10285      targetDocument.head.appendChild(style);
10286      injectedStyles.add(hash);
10287    }
10288    function registerDocument5(targetDocument) {
10289      const runtime = getRuntime5();
10290      runtime.documents.set(
10291        targetDocument,
10292        (runtime.documents.get(targetDocument) ?? 0) + 1
10293      );
10294      for (const [hash, css] of runtime.styles) {
10295        injectStyle5(targetDocument, hash, css);
10296      }
10297      return () => {
10298        const count = runtime.documents.get(targetDocument);
10299        if (count === void 0) {
10300          return;
10301        }
10302        if (count <= 1) {
10303          runtime.documents.delete(targetDocument);
10304          return;
10305        }
10306        runtime.documents.set(targetDocument, count - 1);
10307      };
10308    }
10309    function registerStyle5(hash, css) {
10310      const runtime = getRuntime5();
10311      runtime.styles.set(hash, css);
10312      for (const targetDocument of runtime.documents.keys()) {
10313        injectStyle5(targetDocument, hash, css);
10314      }
10315    }
10316    if (typeof process === "undefined" || true) {
10317      registerStyle5("7caae29f9e", ".e2c3cbe6ada7d785__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}");
10318    }
10319    var style_default5 = { "visually-hidden": "e2c3cbe6ada7d785__visually-hidden" };
10320    var VisuallyHidden = (0, import_element15.forwardRef)(
10321      function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
10322        const element = useRender({
10323          render,
10324          ref,
10325          props: mergeProps(
10326            { className: style_default5["visually-hidden"] },
10327            restProps,
10328            {
10329              // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
10330              "data-visually-hidden": ""
10331            }
10332          )
10333        });
10334        return element;
10335      }
10336    );
10337  
10338    // packages/ui/build-module/utils/keyboard-shortcut.mjs
10339    var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
10340    function useKeyboardShortcutProps({
10341      "aria-describedby": ariaDescribedBy,
10342      "aria-keyshortcuts": ariaKeyShortcuts,
10343      shortcut
10344    }) {
10345      const generatedDescriptionId = (0, import_element16.useId)();
10346      const descriptionId = shortcut ? generatedDescriptionId : void 0;
10347      const describedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ");
10348      return {
10349        descriptionId,
10350        targetProps: {
10351          "aria-describedby": describedBy || void 0,
10352          "aria-keyshortcuts": shortcut?.ariaKeyShortcut ?? ariaKeyShortcuts
10353        }
10354      };
10355    }
10356    var KeyboardShortcutDescription = (0, import_element16.forwardRef)(function UnforwardedKeyboardShortcutDescription({ descriptionId, shortcut }, ref) {
10357      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
10358        VisuallyHidden,
10359        {
10360          id: descriptionId,
10361          "aria-hidden": "true",
10362          render: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { ref }),
10363          children: (0, import_i18n2.sprintf)(
10364            /* translators: %s: keyboard shortcut. */
10365            (0, import_i18n2.__)("Keyboard shortcut: %s"),
10366            shortcut.label ?? shortcut.ariaKeyShortcut
10367          )
10368        }
10369      );
10370    });
10371    var KeyboardShortcutDisplay = (0, import_element16.forwardRef)(function UnforwardedKeyboardShortcutDisplay({ className, shortcut }, ref) {
10372      return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("span", { ref, "aria-hidden": "true", className, dir: "ltr", children: shortcut.displayShortcut });
10373    });
10374  
10375    // packages/ui/build-module/utils/render-slot-with-children.mjs
10376    var import_element17 = __toESM(require_element(), 1);
10377    function renderSlotWithChildren(slot, defaultSlot, children) {
10378      return (0, import_element17.cloneElement)(
10379        slot ?? defaultSlot,
10380        { children }
10381      );
10382    }
10383  
10384    // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
10385    var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
10386    function getRuntime6() {
10387      const globalScope = globalThis;
10388      if (globalScope.__wpStyleRuntime) {
10389        return globalScope.__wpStyleRuntime;
10390      }
10391      globalScope.__wpStyleRuntime = {
10392        documents: /* @__PURE__ */ new Map(),
10393        styles: /* @__PURE__ */ new Map(),
10394        injectedStyles: /* @__PURE__ */ new WeakMap()
10395      };
10396      if (typeof document !== "undefined") {
10397        registerDocument6(document);
10398      }
10399      return globalScope.__wpStyleRuntime;
10400    }
10401    function documentContainsStyleHash6(targetDocument, hash) {
10402      if (!targetDocument.head) {
10403        return false;
10404      }
10405      for (const style of targetDocument.head.querySelectorAll(
10406        `style[$STYLE_HASH_ATTRIBUTE6}]`
10407      )) {
10408        if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
10409          return true;
10410        }
10411      }
10412      return false;
10413    }
10414    function injectStyle6(targetDocument, hash, css) {
10415      if (!targetDocument.head) {
10416        return;
10417      }
10418      const runtime = getRuntime6();
10419      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10420      if (!injectedStyles) {
10421        injectedStyles = /* @__PURE__ */ new Set();
10422        runtime.injectedStyles.set(targetDocument, injectedStyles);
10423      }
10424      if (injectedStyles.has(hash)) {
10425        return;
10426      }
10427      if (documentContainsStyleHash6(targetDocument, hash)) {
10428        injectedStyles.add(hash);
10429        return;
10430      }
10431      const style = targetDocument.createElement("style");
10432      style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
10433      style.appendChild(targetDocument.createTextNode(css));
10434      targetDocument.head.appendChild(style);
10435      injectedStyles.add(hash);
10436    }
10437    function registerDocument6(targetDocument) {
10438      const runtime = getRuntime6();
10439      runtime.documents.set(
10440        targetDocument,
10441        (runtime.documents.get(targetDocument) ?? 0) + 1
10442      );
10443      for (const [hash, css] of runtime.styles) {
10444        injectStyle6(targetDocument, hash, css);
10445      }
10446      return () => {
10447        const count = runtime.documents.get(targetDocument);
10448        if (count === void 0) {
10449          return;
10450        }
10451        if (count <= 1) {
10452          runtime.documents.delete(targetDocument);
10453          return;
10454        }
10455        runtime.documents.set(targetDocument, count - 1);
10456      };
10457    }
10458    function registerStyle6(hash, css) {
10459      const runtime = getRuntime6();
10460      runtime.styles.set(hash, css);
10461      for (const targetDocument of runtime.documents.keys()) {
10462        injectStyle6(targetDocument, hash, css);
10463      }
10464    }
10465    if (typeof process === "undefined" || true) {
10466      registerStyle6("40df669685", "._9e7887c25dedb459__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._9e7887c25dedb459__slot>*{pointer-events:auto}}}");
10467    }
10468    var wp_compat_overlay_slot_default = { "slot": "_9e7887c25dedb459__slot" };
10469    var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
10470    function resolveOwnerDocument() {
10471      return typeof document === "undefined" ? null : document;
10472    }
10473    function isInWordPressEnvironment() {
10474      let topWp;
10475      try {
10476        topWp = window.top?.wp;
10477      } catch {
10478      }
10479      const wp4 = topWp ?? window.wp;
10480      return typeof wp4?.components === "object" && wp4.components !== null;
10481    }
10482    var cachedSlot = null;
10483    function ensureSlotIsAccessible(element) {
10484      element.setAttribute("aria-hidden", "false");
10485      return element;
10486    }
10487    function createSlot(ownerDocument2) {
10488      const element = ownerDocument2.createElement("div");
10489      element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
10490      if (wp_compat_overlay_slot_default.slot) {
10491        element.classList.add(wp_compat_overlay_slot_default.slot);
10492      }
10493      ownerDocument2.body.appendChild(element);
10494      return element;
10495    }
10496    function getWpCompatOverlaySlot() {
10497      if (typeof window === "undefined") {
10498        return void 0;
10499      }
10500      if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
10501        return void 0;
10502      }
10503      const ownerDocument2 = resolveOwnerDocument();
10504      if (!ownerDocument2 || !ownerDocument2.body) {
10505        return void 0;
10506      }
10507      if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
10508        return ensureSlotIsAccessible(cachedSlot);
10509      }
10510      const existing = ownerDocument2.querySelector(
10511        `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
10512      );
10513      if (existing instanceof HTMLDivElement) {
10514        cachedSlot = ensureSlotIsAccessible(existing);
10515        return cachedSlot;
10516      }
10517      if (cachedSlot?.isConnected) {
10518        cachedSlot.remove();
10519      }
10520      cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
10521      return cachedSlot;
10522    }
10523  
10524    // packages/ui/build-module/utils/direction-provider.mjs
10525    var import_i18n3 = __toESM(require_i18n(), 1);
10526    var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
10527    function DirectionProvider3({ children }) {
10528      return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(DirectionProvider, { direction: (0, import_i18n3.isRTL)() ? "rtl" : "ltr", children });
10529    }
10530  
10531    // packages/ui/build-module/tooltip/popup.mjs
10532    var import_element20 = __toESM(require_element(), 1);
10533  
10534    // packages/ui/build-module/tooltip/portal.mjs
10535    var import_element18 = __toESM(require_element(), 1);
10536    var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
10537    var Portal = (0, import_element18.forwardRef)(
10538      function TooltipPortal3({ container, ...restProps }, ref) {
10539        return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
10540          index_parts_exports2.Portal,
10541          {
10542            container: container === void 0 ? getWpCompatOverlaySlot() : container,
10543            ...restProps,
10544            ref
10545          }
10546        );
10547      }
10548    );
10549  
10550    // packages/ui/build-module/tooltip/positioner.mjs
10551    var import_element19 = __toESM(require_element(), 1);
10552    var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
10553    var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
10554    function getRuntime7() {
10555      const globalScope = globalThis;
10556      if (globalScope.__wpStyleRuntime) {
10557        return globalScope.__wpStyleRuntime;
10558      }
10559      globalScope.__wpStyleRuntime = {
10560        documents: /* @__PURE__ */ new Map(),
10561        styles: /* @__PURE__ */ new Map(),
10562        injectedStyles: /* @__PURE__ */ new WeakMap()
10563      };
10564      if (typeof document !== "undefined") {
10565        registerDocument7(document);
10566      }
10567      return globalScope.__wpStyleRuntime;
10568    }
10569    function documentContainsStyleHash7(targetDocument, hash) {
10570      if (!targetDocument.head) {
10571        return false;
10572      }
10573      for (const style of targetDocument.head.querySelectorAll(
10574        `style[$STYLE_HASH_ATTRIBUTE7}]`
10575      )) {
10576        if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
10577          return true;
10578        }
10579      }
10580      return false;
10581    }
10582    function injectStyle7(targetDocument, hash, css) {
10583      if (!targetDocument.head) {
10584        return;
10585      }
10586      const runtime = getRuntime7();
10587      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10588      if (!injectedStyles) {
10589        injectedStyles = /* @__PURE__ */ new Set();
10590        runtime.injectedStyles.set(targetDocument, injectedStyles);
10591      }
10592      if (injectedStyles.has(hash)) {
10593        return;
10594      }
10595      if (documentContainsStyleHash7(targetDocument, hash)) {
10596        injectedStyles.add(hash);
10597        return;
10598      }
10599      const style = targetDocument.createElement("style");
10600      style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
10601      style.appendChild(targetDocument.createTextNode(css));
10602      targetDocument.head.appendChild(style);
10603      injectedStyles.add(hash);
10604    }
10605    function registerDocument7(targetDocument) {
10606      const runtime = getRuntime7();
10607      runtime.documents.set(
10608        targetDocument,
10609        (runtime.documents.get(targetDocument) ?? 0) + 1
10610      );
10611      for (const [hash, css] of runtime.styles) {
10612        injectStyle7(targetDocument, hash, css);
10613      }
10614      return () => {
10615        const count = runtime.documents.get(targetDocument);
10616        if (count === void 0) {
10617          return;
10618        }
10619        if (count <= 1) {
10620          runtime.documents.delete(targetDocument);
10621          return;
10622        }
10623        runtime.documents.set(targetDocument, count - 1);
10624      };
10625    }
10626    function registerStyle7(hash, css) {
10627      const runtime = getRuntime7();
10628      runtime.styles.set(hash, css);
10629      for (const targetDocument of runtime.documents.keys()) {
10630        injectStyle7(targetDocument, hash, css);
10631      }
10632    }
10633    if (typeof process === "undefined" || true) {
10634      registerStyle7("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
10635    }
10636    var resets_default2 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
10637    if (typeof process === "undefined" || true) {
10638      registerStyle7("aaf79ac691", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b9266862d9435660__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._7bb3fd8a0810be6d__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}}}}');
10639    }
10640    var style_default6 = { "positioner": "b9266862d9435660__positioner", "popup": "_7bb3fd8a0810be6d__popup" };
10641    var Positioner = (0, import_element19.forwardRef)(
10642      function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) {
10643        return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
10644          index_parts_exports2.Positioner,
10645          {
10646            ref,
10647            align,
10648            side,
10649            sideOffset,
10650            ...props,
10651            className: clsx_default(
10652              resets_default2["box-sizing"],
10653              style_default6.positioner,
10654              className
10655            )
10656          }
10657        );
10658      }
10659    );
10660  
10661    // packages/ui/build-module/utils/theme-provider.mjs
10662    var theme = __toESM(require_theme(), 1);
10663  
10664    // packages/ui/build-module/lock-unlock.mjs
10665    var import_private_apis = __toESM(require_private_apis(), 1);
10666    var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
10667      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
10668      "@wordpress/ui"
10669    );
10670  
10671    // packages/ui/build-module/utils/theme-provider.mjs
10672    function getThemeProvider() {
10673      const themePackage = theme;
10674      if (themePackage.ThemeProvider) {
10675        return themePackage.ThemeProvider;
10676      }
10677      if (!themePackage.privateApis) {
10678        throw new Error(
10679          "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`."
10680        );
10681      }
10682      return unlock(
10683        themePackage.privateApis
10684      ).ThemeProvider;
10685    }
10686    var ThemeProvider = getThemeProvider();
10687  
10688    // packages/ui/build-module/tooltip/popup.mjs
10689    var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
10690    var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
10691    function getRuntime8() {
10692      const globalScope = globalThis;
10693      if (globalScope.__wpStyleRuntime) {
10694        return globalScope.__wpStyleRuntime;
10695      }
10696      globalScope.__wpStyleRuntime = {
10697        documents: /* @__PURE__ */ new Map(),
10698        styles: /* @__PURE__ */ new Map(),
10699        injectedStyles: /* @__PURE__ */ new WeakMap()
10700      };
10701      if (typeof document !== "undefined") {
10702        registerDocument8(document);
10703      }
10704      return globalScope.__wpStyleRuntime;
10705    }
10706    function documentContainsStyleHash8(targetDocument, hash) {
10707      if (!targetDocument.head) {
10708        return false;
10709      }
10710      for (const style of targetDocument.head.querySelectorAll(
10711        `style[$STYLE_HASH_ATTRIBUTE8}]`
10712      )) {
10713        if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
10714          return true;
10715        }
10716      }
10717      return false;
10718    }
10719    function injectStyle8(targetDocument, hash, css) {
10720      if (!targetDocument.head) {
10721        return;
10722      }
10723      const runtime = getRuntime8();
10724      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10725      if (!injectedStyles) {
10726        injectedStyles = /* @__PURE__ */ new Set();
10727        runtime.injectedStyles.set(targetDocument, injectedStyles);
10728      }
10729      if (injectedStyles.has(hash)) {
10730        return;
10731      }
10732      if (documentContainsStyleHash8(targetDocument, hash)) {
10733        injectedStyles.add(hash);
10734        return;
10735      }
10736      const style = targetDocument.createElement("style");
10737      style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
10738      style.appendChild(targetDocument.createTextNode(css));
10739      targetDocument.head.appendChild(style);
10740      injectedStyles.add(hash);
10741    }
10742    function registerDocument8(targetDocument) {
10743      const runtime = getRuntime8();
10744      runtime.documents.set(
10745        targetDocument,
10746        (runtime.documents.get(targetDocument) ?? 0) + 1
10747      );
10748      for (const [hash, css] of runtime.styles) {
10749        injectStyle8(targetDocument, hash, css);
10750      }
10751      return () => {
10752        const count = runtime.documents.get(targetDocument);
10753        if (count === void 0) {
10754          return;
10755        }
10756        if (count <= 1) {
10757          runtime.documents.delete(targetDocument);
10758          return;
10759        }
10760        runtime.documents.set(targetDocument, count - 1);
10761      };
10762    }
10763    function registerStyle8(hash, css) {
10764      const runtime = getRuntime8();
10765      runtime.styles.set(hash, css);
10766      for (const targetDocument of runtime.documents.keys()) {
10767        injectStyle8(targetDocument, hash, css);
10768      }
10769    }
10770    if (typeof process === "undefined" || true) {
10771      registerStyle8("aaf79ac691", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.b9266862d9435660__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._7bb3fd8a0810be6d__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}}}}');
10772    }
10773    var style_default7 = { "positioner": "b9266862d9435660__positioner", "popup": "_7bb3fd8a0810be6d__popup" };
10774    var POPUP_COLOR = { background: "#1e1e1e" };
10775    var Popup = (0, import_element20.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) {
10776      const popupContent = /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
10777        index_parts_exports2.Popup,
10778        {
10779          ref,
10780          className: clsx_default(style_default7.popup, className),
10781          ...props,
10782          children
10783        }
10784      ) });
10785      const positionedPopup = renderSlotWithChildren(
10786        positioner,
10787        /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Positioner, {}),
10788        popupContent
10789      );
10790      return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(Portal, {}), positionedPopup);
10791    });
10792  
10793    // packages/ui/build-module/tooltip/trigger.mjs
10794    var import_element21 = __toESM(require_element(), 1);
10795    var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
10796    var Trigger = (0, import_element21.forwardRef)(
10797      function TooltipTrigger3(props, ref) {
10798        return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(index_parts_exports2.Trigger, { ref, ...props });
10799      }
10800    );
10801  
10802    // packages/ui/build-module/tooltip/root.mjs
10803    var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
10804    function Root(props) {
10805      return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(index_parts_exports2.Root, { ...props }) });
10806    }
10807  
10808    // packages/ui/build-module/link/link.mjs
10809    var import_element22 = __toESM(require_element(), 1);
10810    var import_i18n4 = __toESM(require_i18n(), 1);
10811    var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
10812    var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
10813    function getRuntime9() {
10814      const globalScope = globalThis;
10815      if (globalScope.__wpStyleRuntime) {
10816        return globalScope.__wpStyleRuntime;
10817      }
10818      globalScope.__wpStyleRuntime = {
10819        documents: /* @__PURE__ */ new Map(),
10820        styles: /* @__PURE__ */ new Map(),
10821        injectedStyles: /* @__PURE__ */ new WeakMap()
10822      };
10823      if (typeof document !== "undefined") {
10824        registerDocument9(document);
10825      }
10826      return globalScope.__wpStyleRuntime;
10827    }
10828    function documentContainsStyleHash9(targetDocument, hash) {
10829      if (!targetDocument.head) {
10830        return false;
10831      }
10832      for (const style of targetDocument.head.querySelectorAll(
10833        `style[$STYLE_HASH_ATTRIBUTE9}]`
10834      )) {
10835        if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
10836          return true;
10837        }
10838      }
10839      return false;
10840    }
10841    function injectStyle9(targetDocument, hash, css) {
10842      if (!targetDocument.head) {
10843        return;
10844      }
10845      const runtime = getRuntime9();
10846      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10847      if (!injectedStyles) {
10848        injectedStyles = /* @__PURE__ */ new Set();
10849        runtime.injectedStyles.set(targetDocument, injectedStyles);
10850      }
10851      if (injectedStyles.has(hash)) {
10852        return;
10853      }
10854      if (documentContainsStyleHash9(targetDocument, hash)) {
10855        injectedStyles.add(hash);
10856        return;
10857      }
10858      const style = targetDocument.createElement("style");
10859      style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
10860      style.appendChild(targetDocument.createTextNode(css));
10861      targetDocument.head.appendChild(style);
10862      injectedStyles.add(hash);
10863    }
10864    function registerDocument9(targetDocument) {
10865      const runtime = getRuntime9();
10866      runtime.documents.set(
10867        targetDocument,
10868        (runtime.documents.get(targetDocument) ?? 0) + 1
10869      );
10870      for (const [hash, css] of runtime.styles) {
10871        injectStyle9(targetDocument, hash, css);
10872      }
10873      return () => {
10874        const count = runtime.documents.get(targetDocument);
10875        if (count === void 0) {
10876          return;
10877        }
10878        if (count <= 1) {
10879          runtime.documents.delete(targetDocument);
10880          return;
10881        }
10882        runtime.documents.set(targetDocument, count - 1);
10883      };
10884    }
10885    function registerStyle9(hash, css) {
10886      const runtime = getRuntime9();
10887      runtime.styles.set(hash, css);
10888      for (const targetDocument of runtime.documents.keys()) {
10889        injectStyle9(targetDocument, hash, css);
10890      }
10891    }
10892    if (typeof process === "undefined" || true) {
10893      registerStyle9("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
10894    }
10895    var resets_default3 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
10896    if (typeof process === "undefined" || true) {
10897      registerStyle9("c13e206e92", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._0f52be5f1d4ce686__outset-ring--focus-within:focus-within,._8f922cee854f2408__outset-ring--focus-visible:focus-visible,.accedd6ae8fd878e__outset-ring--focus:focus{--_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))}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within,.c20f61b115485a7f__outset-ring--focus-except-active:focus{outline:none}._3ad2c88c126f2bdd__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.c20f61b115485a7f__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))}}}");
10898    }
10899    var focus_module_default2 = { "outset-ring--focus": "accedd6ae8fd878e__outset-ring--focus", "outset-ring--focus-visible": "_8f922cee854f2408__outset-ring--focus-visible", "outset-ring--focus-within": "_0f52be5f1d4ce686__outset-ring--focus-within", "outset-ring--focus-except-active": "c20f61b115485a7f__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3ad2c88c126f2bdd__outset-ring--focus-within-except-active" };
10900    if (typeof process === "undefined" || true) {
10901      registerStyle9("c87d91cdf7", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.a574f9f242212d58__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}._2d2f0506e717a46c__link-with-icon{text-decoration-line:none}._92b7b6a03fbb27ac__link-contents{text-decoration:inherit;text-decoration-line:underline}._69f40d9212adc58d__is-brand,._69f40d9212adc58d__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))}._69f40d9212adc58d__is-brand:active,._69f40d9212adc58d__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))}._9a9c54c6e67b4c3c__is-neutral,._9a9c54c6e67b4c3c__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)}._9a9c54c6e67b4c3c__is-neutral:active,._9a9c54c6e67b4c3c__is-neutral:hover{--_gcd-a-color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);color:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e)}._93be0b747897baad__is-unstyled{--_gcd-a-border-radius:0;--_gcd-a-color:inherit;color:inherit;text-decoration:none}._9c39df40fdc09594__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}._9c39df40fdc09594__link-icon:after{content:"\\2060\\2197"}._9c39df40fdc09594__link-icon:dir(rtl):after{content:"\\2060\\2196"}}}');
10902    }
10903    var style_default8 = { "link": "a574f9f242212d58__link", "link-with-icon": "_2d2f0506e717a46c__link-with-icon", "link-contents": "_92b7b6a03fbb27ac__link-contents", "is-brand": "_69f40d9212adc58d__is-brand", "is-neutral": "_9a9c54c6e67b4c3c__is-neutral", "is-unstyled": "_93be0b747897baad__is-unstyled", "link-icon": "_9c39df40fdc09594__link-icon" };
10904    if (typeof process === "undefined" || true) {
10905      registerStyle9("726f348f3f", "._78c10a0773e51a91__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)}._5b33aa2d48624b4f__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)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__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)._326aee4184d261fd__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)}.e9576240835601ba__a,.e9576240835601ba__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)}._3f05789653864a73__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)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__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)}");
10906    }
10907    var global_css_defense_default3 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
10908    var Link = (0, import_element22.forwardRef)(
10909      function UnforwardedLink({
10910        children,
10911        variant = "default",
10912        tone = "brand",
10913        openInNewTab = false,
10914        target,
10915        render,
10916        className,
10917        ...props
10918      }, ref) {
10919        const shouldShowNewTabIndicator = openInNewTab || /^_blank$/i.test(target ?? "");
10920        const element = useRender({
10921          render,
10922          defaultTagName: "a",
10923          ref,
10924          props: mergeProps(props, {
10925            className: clsx_default(
10926              global_css_defense_default3.a,
10927              resets_default3["box-sizing"],
10928              focus_module_default2["outset-ring--focus-except-active"],
10929              variant !== "unstyled" && style_default8.link,
10930              variant !== "unstyled" && shouldShowNewTabIndicator && style_default8["link-with-icon"],
10931              variant !== "unstyled" && style_default8[`is-$tone}`],
10932              variant === "unstyled" && style_default8["is-unstyled"],
10933              className
10934            ),
10935            target: target ?? (openInNewTab ? "_blank" : void 0),
10936            children: /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
10937              shouldShowNewTabIndicator && variant !== "unstyled" ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("span", { className: style_default8["link-contents"], children }) : children,
10938              shouldShowNewTabIndicator && /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
10939                "span",
10940                {
10941                  className: style_default8["link-icon"],
10942                  role: "img",
10943                  "aria-label": (
10944                    /* translators: accessibility text appended to link text */
10945                    (0, import_i18n4.__)("(opens in a new tab)")
10946                  )
10947                }
10948              )
10949            ] })
10950          })
10951        });
10952        return element;
10953      }
10954    );
10955  
10956    // packages/ui/build-module/icon-button/icon-button.mjs
10957    var import_element23 = __toESM(require_element(), 1);
10958    var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
10959    var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
10960    function getRuntime10() {
10961      const globalScope = globalThis;
10962      if (globalScope.__wpStyleRuntime) {
10963        return globalScope.__wpStyleRuntime;
10964      }
10965      globalScope.__wpStyleRuntime = {
10966        documents: /* @__PURE__ */ new Map(),
10967        styles: /* @__PURE__ */ new Map(),
10968        injectedStyles: /* @__PURE__ */ new WeakMap()
10969      };
10970      if (typeof document !== "undefined") {
10971        registerDocument10(document);
10972      }
10973      return globalScope.__wpStyleRuntime;
10974    }
10975    function documentContainsStyleHash10(targetDocument, hash) {
10976      if (!targetDocument.head) {
10977        return false;
10978      }
10979      for (const style of targetDocument.head.querySelectorAll(
10980        `style[$STYLE_HASH_ATTRIBUTE10}]`
10981      )) {
10982        if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
10983          return true;
10984        }
10985      }
10986      return false;
10987    }
10988    function injectStyle10(targetDocument, hash, css) {
10989      if (!targetDocument.head) {
10990        return;
10991      }
10992      const runtime = getRuntime10();
10993      let injectedStyles = runtime.injectedStyles.get(targetDocument);
10994      if (!injectedStyles) {
10995        injectedStyles = /* @__PURE__ */ new Set();
10996        runtime.injectedStyles.set(targetDocument, injectedStyles);
10997      }
10998      if (injectedStyles.has(hash)) {
10999        return;
11000      }
11001      if (documentContainsStyleHash10(targetDocument, hash)) {
11002        injectedStyles.add(hash);
11003        return;
11004      }
11005      const style = targetDocument.createElement("style");
11006      style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
11007      style.appendChild(targetDocument.createTextNode(css));
11008      targetDocument.head.appendChild(style);
11009      injectedStyles.add(hash);
11010    }
11011    function registerDocument10(targetDocument) {
11012      const runtime = getRuntime10();
11013      runtime.documents.set(
11014        targetDocument,
11015        (runtime.documents.get(targetDocument) ?? 0) + 1
11016      );
11017      for (const [hash, css] of runtime.styles) {
11018        injectStyle10(targetDocument, hash, css);
11019      }
11020      return () => {
11021        const count = runtime.documents.get(targetDocument);
11022        if (count === void 0) {
11023          return;
11024        }
11025        if (count <= 1) {
11026          runtime.documents.delete(targetDocument);
11027          return;
11028        }
11029        runtime.documents.set(targetDocument, count - 1);
11030      };
11031    }
11032    function registerStyle10(hash, css) {
11033      const runtime = getRuntime10();
11034      runtime.styles.set(hash, css);
11035      for (const targetDocument of runtime.documents.keys()) {
11036        injectStyle10(targetDocument, hash, css);
11037      }
11038    }
11039    if (typeof process === "undefined" || true) {
11040      registerStyle10("2a111665b3", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{._7f5dbf30e44a43dd__icon-button{--wp-ui-button-aspect-ratio:1;--wp-ui-button-padding-inline:0px;--wp-ui-button-min-width:unset}._1b3c0d159ecbf3d5__icon{margin:-1px}}}");
11041    }
11042    var style_default9 = { "icon-button": "_7f5dbf30e44a43dd__icon-button", "icon": "_1b3c0d159ecbf3d5__icon" };
11043    var IconButton = (0, import_element23.forwardRef)(
11044      function UnforwardedIconButton({
11045        label,
11046        className,
11047        // Prevent accidental forwarding of `children`
11048        children: _children,
11049        disabled: disabled2,
11050        focusableWhenDisabled = true,
11051        icon,
11052        size: size4,
11053        shortcut,
11054        positioner,
11055        "aria-describedby": ariaDescribedBy,
11056        "aria-keyshortcuts": ariaKeyShortcuts,
11057        ...restProps
11058      }, ref) {
11059        const classes = clsx_default(style_default9["icon-button"], className);
11060        const { descriptionId, targetProps } = useKeyboardShortcutProps({
11061          "aria-describedby": ariaDescribedBy,
11062          "aria-keyshortcuts": ariaKeyShortcuts,
11063          shortcut
11064        });
11065        return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Root, { children: [
11066          /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
11067            Trigger,
11068            {
11069              ref,
11070              ...targetProps,
11071              disabled: disabled2 && !focusableWhenDisabled,
11072              render: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
11073                Button4,
11074                {
11075                  ...restProps,
11076                  size: size4,
11077                  "aria-label": label,
11078                  disabled: disabled2,
11079                  focusableWhenDisabled
11080                }
11081              ),
11082              className: classes,
11083              children: [
11084                /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(Icon, { icon, size: 24, className: style_default9.icon }),
11085                shortcut && descriptionId && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
11086                  KeyboardShortcutDescription,
11087                  {
11088                    descriptionId,
11089                    shortcut
11090                  }
11091                )
11092              ]
11093            }
11094          ),
11095          /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(Popup, { positioner, children: [
11096            label,
11097            shortcut && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(import_jsx_runtime36.Fragment, { children: [
11098              " ",
11099              /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(KeyboardShortcutDisplay, { shortcut })
11100            ] })
11101          ] })
11102        ] });
11103      }
11104    );
11105  
11106    // packages/ui/build-module/card/index.mjs
11107    var card_exports = {};
11108    __export(card_exports, {
11109      Content: () => Content,
11110      FullBleed: () => FullBleed,
11111      Header: () => Header,
11112      Root: () => Root2,
11113      Title: () => Title
11114    });
11115  
11116    // packages/ui/build-module/card/root.mjs
11117    var import_element24 = __toESM(require_element(), 1);
11118    var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
11119    function getRuntime11() {
11120      const globalScope = globalThis;
11121      if (globalScope.__wpStyleRuntime) {
11122        return globalScope.__wpStyleRuntime;
11123      }
11124      globalScope.__wpStyleRuntime = {
11125        documents: /* @__PURE__ */ new Map(),
11126        styles: /* @__PURE__ */ new Map(),
11127        injectedStyles: /* @__PURE__ */ new WeakMap()
11128      };
11129      if (typeof document !== "undefined") {
11130        registerDocument11(document);
11131      }
11132      return globalScope.__wpStyleRuntime;
11133    }
11134    function documentContainsStyleHash11(targetDocument, hash) {
11135      if (!targetDocument.head) {
11136        return false;
11137      }
11138      for (const style of targetDocument.head.querySelectorAll(
11139        `style[$STYLE_HASH_ATTRIBUTE11}]`
11140      )) {
11141        if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
11142          return true;
11143        }
11144      }
11145      return false;
11146    }
11147    function injectStyle11(targetDocument, hash, css) {
11148      if (!targetDocument.head) {
11149        return;
11150      }
11151      const runtime = getRuntime11();
11152      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11153      if (!injectedStyles) {
11154        injectedStyles = /* @__PURE__ */ new Set();
11155        runtime.injectedStyles.set(targetDocument, injectedStyles);
11156      }
11157      if (injectedStyles.has(hash)) {
11158        return;
11159      }
11160      if (documentContainsStyleHash11(targetDocument, hash)) {
11161        injectedStyles.add(hash);
11162        return;
11163      }
11164      const style = targetDocument.createElement("style");
11165      style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
11166      style.appendChild(targetDocument.createTextNode(css));
11167      targetDocument.head.appendChild(style);
11168      injectedStyles.add(hash);
11169    }
11170    function registerDocument11(targetDocument) {
11171      const runtime = getRuntime11();
11172      runtime.documents.set(
11173        targetDocument,
11174        (runtime.documents.get(targetDocument) ?? 0) + 1
11175      );
11176      for (const [hash, css] of runtime.styles) {
11177        injectStyle11(targetDocument, hash, css);
11178      }
11179      return () => {
11180        const count = runtime.documents.get(targetDocument);
11181        if (count === void 0) {
11182          return;
11183        }
11184        if (count <= 1) {
11185          runtime.documents.delete(targetDocument);
11186          return;
11187        }
11188        runtime.documents.set(targetDocument, count - 1);
11189      };
11190    }
11191    function registerStyle11(hash, css) {
11192      const runtime = getRuntime11();
11193      runtime.styles.set(hash, css);
11194      for (const targetDocument of runtime.documents.keys()) {
11195        injectStyle11(targetDocument, hash, css);
11196      }
11197    }
11198    if (typeof process === "undefined" || true) {
11199      registerStyle11("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
11200    }
11201    var resets_default4 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
11202    if (typeof process === "undefined" || true) {
11203      registerStyle11("ada2aa0e9f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.bced04d30c075714__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}.b4b2578de6f75764__header,.cadd1062398e929c__content{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.b4b2578de6f75764__header+.cadd1062398e929c__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c25959d41c245c8c__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}.bced04d30c075714__root>:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):first-child>.c25959d41c245c8c__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):last-child>.c25959d41c245c8c__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11204    }
11205    var style_default10 = { "root": "bced04d30c075714__root", "header": "b4b2578de6f75764__header", "content": "cadd1062398e929c__content", "fullbleed": "c25959d41c245c8c__fullbleed" };
11206    var Root2 = (0, import_element24.forwardRef)(function Card({ render, ...restProps }, ref) {
11207      const mergedClassName = clsx_default(style_default10.root, resets_default4["box-sizing"]);
11208      const element = useRender({
11209        defaultTagName: "div",
11210        render,
11211        ref,
11212        props: mergeProps({ className: mergedClassName }, restProps)
11213      });
11214      return element;
11215    });
11216  
11217    // packages/ui/build-module/card/header.mjs
11218    var import_element25 = __toESM(require_element(), 1);
11219    var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
11220    function getRuntime12() {
11221      const globalScope = globalThis;
11222      if (globalScope.__wpStyleRuntime) {
11223        return globalScope.__wpStyleRuntime;
11224      }
11225      globalScope.__wpStyleRuntime = {
11226        documents: /* @__PURE__ */ new Map(),
11227        styles: /* @__PURE__ */ new Map(),
11228        injectedStyles: /* @__PURE__ */ new WeakMap()
11229      };
11230      if (typeof document !== "undefined") {
11231        registerDocument12(document);
11232      }
11233      return globalScope.__wpStyleRuntime;
11234    }
11235    function documentContainsStyleHash12(targetDocument, hash) {
11236      if (!targetDocument.head) {
11237        return false;
11238      }
11239      for (const style of targetDocument.head.querySelectorAll(
11240        `style[$STYLE_HASH_ATTRIBUTE12}]`
11241      )) {
11242        if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
11243          return true;
11244        }
11245      }
11246      return false;
11247    }
11248    function injectStyle12(targetDocument, hash, css) {
11249      if (!targetDocument.head) {
11250        return;
11251      }
11252      const runtime = getRuntime12();
11253      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11254      if (!injectedStyles) {
11255        injectedStyles = /* @__PURE__ */ new Set();
11256        runtime.injectedStyles.set(targetDocument, injectedStyles);
11257      }
11258      if (injectedStyles.has(hash)) {
11259        return;
11260      }
11261      if (documentContainsStyleHash12(targetDocument, hash)) {
11262        injectedStyles.add(hash);
11263        return;
11264      }
11265      const style = targetDocument.createElement("style");
11266      style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
11267      style.appendChild(targetDocument.createTextNode(css));
11268      targetDocument.head.appendChild(style);
11269      injectedStyles.add(hash);
11270    }
11271    function registerDocument12(targetDocument) {
11272      const runtime = getRuntime12();
11273      runtime.documents.set(
11274        targetDocument,
11275        (runtime.documents.get(targetDocument) ?? 0) + 1
11276      );
11277      for (const [hash, css] of runtime.styles) {
11278        injectStyle12(targetDocument, hash, css);
11279      }
11280      return () => {
11281        const count = runtime.documents.get(targetDocument);
11282        if (count === void 0) {
11283          return;
11284        }
11285        if (count <= 1) {
11286          runtime.documents.delete(targetDocument);
11287          return;
11288        }
11289        runtime.documents.set(targetDocument, count - 1);
11290      };
11291    }
11292    function registerStyle12(hash, css) {
11293      const runtime = getRuntime12();
11294      runtime.styles.set(hash, css);
11295      for (const targetDocument of runtime.documents.keys()) {
11296        injectStyle12(targetDocument, hash, css);
11297      }
11298    }
11299    if (typeof process === "undefined" || true) {
11300      registerStyle12("ada2aa0e9f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.bced04d30c075714__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}.b4b2578de6f75764__header,.cadd1062398e929c__content{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.b4b2578de6f75764__header+.cadd1062398e929c__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c25959d41c245c8c__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}.bced04d30c075714__root>:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):first-child>.c25959d41c245c8c__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):last-child>.c25959d41c245c8c__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11301    }
11302    var style_default11 = { "root": "bced04d30c075714__root", "header": "b4b2578de6f75764__header", "content": "cadd1062398e929c__content", "fullbleed": "c25959d41c245c8c__fullbleed" };
11303    var Header = (0, import_element25.forwardRef)(
11304      function CardHeader({ render, ...props }, ref) {
11305        const element = useRender({
11306          defaultTagName: "div",
11307          render,
11308          ref,
11309          props: mergeProps({ className: style_default11.header }, props)
11310        });
11311        return element;
11312      }
11313    );
11314  
11315    // packages/ui/build-module/card/content.mjs
11316    var import_element26 = __toESM(require_element(), 1);
11317    var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
11318    function getRuntime13() {
11319      const globalScope = globalThis;
11320      if (globalScope.__wpStyleRuntime) {
11321        return globalScope.__wpStyleRuntime;
11322      }
11323      globalScope.__wpStyleRuntime = {
11324        documents: /* @__PURE__ */ new Map(),
11325        styles: /* @__PURE__ */ new Map(),
11326        injectedStyles: /* @__PURE__ */ new WeakMap()
11327      };
11328      if (typeof document !== "undefined") {
11329        registerDocument13(document);
11330      }
11331      return globalScope.__wpStyleRuntime;
11332    }
11333    function documentContainsStyleHash13(targetDocument, hash) {
11334      if (!targetDocument.head) {
11335        return false;
11336      }
11337      for (const style of targetDocument.head.querySelectorAll(
11338        `style[$STYLE_HASH_ATTRIBUTE13}]`
11339      )) {
11340        if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
11341          return true;
11342        }
11343      }
11344      return false;
11345    }
11346    function injectStyle13(targetDocument, hash, css) {
11347      if (!targetDocument.head) {
11348        return;
11349      }
11350      const runtime = getRuntime13();
11351      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11352      if (!injectedStyles) {
11353        injectedStyles = /* @__PURE__ */ new Set();
11354        runtime.injectedStyles.set(targetDocument, injectedStyles);
11355      }
11356      if (injectedStyles.has(hash)) {
11357        return;
11358      }
11359      if (documentContainsStyleHash13(targetDocument, hash)) {
11360        injectedStyles.add(hash);
11361        return;
11362      }
11363      const style = targetDocument.createElement("style");
11364      style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
11365      style.appendChild(targetDocument.createTextNode(css));
11366      targetDocument.head.appendChild(style);
11367      injectedStyles.add(hash);
11368    }
11369    function registerDocument13(targetDocument) {
11370      const runtime = getRuntime13();
11371      runtime.documents.set(
11372        targetDocument,
11373        (runtime.documents.get(targetDocument) ?? 0) + 1
11374      );
11375      for (const [hash, css] of runtime.styles) {
11376        injectStyle13(targetDocument, hash, css);
11377      }
11378      return () => {
11379        const count = runtime.documents.get(targetDocument);
11380        if (count === void 0) {
11381          return;
11382        }
11383        if (count <= 1) {
11384          runtime.documents.delete(targetDocument);
11385          return;
11386        }
11387        runtime.documents.set(targetDocument, count - 1);
11388      };
11389    }
11390    function registerStyle13(hash, css) {
11391      const runtime = getRuntime13();
11392      runtime.styles.set(hash, css);
11393      for (const targetDocument of runtime.documents.keys()) {
11394        injectStyle13(targetDocument, hash, css);
11395      }
11396    }
11397    if (typeof process === "undefined" || true) {
11398      registerStyle13("ada2aa0e9f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.bced04d30c075714__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}.b4b2578de6f75764__header,.cadd1062398e929c__content{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.b4b2578de6f75764__header+.cadd1062398e929c__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c25959d41c245c8c__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}.bced04d30c075714__root>:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):first-child>.c25959d41c245c8c__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):last-child>.c25959d41c245c8c__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11399    }
11400    var style_default12 = { "root": "bced04d30c075714__root", "header": "b4b2578de6f75764__header", "content": "cadd1062398e929c__content", "fullbleed": "c25959d41c245c8c__fullbleed" };
11401    var Content = (0, import_element26.forwardRef)(
11402      function CardContent({ render, ...props }, ref) {
11403        const element = useRender({
11404          defaultTagName: "div",
11405          render,
11406          ref,
11407          props: mergeProps({ className: style_default12.content }, props)
11408        });
11409        return element;
11410      }
11411    );
11412  
11413    // packages/ui/build-module/card/full-bleed.mjs
11414    var import_element27 = __toESM(require_element(), 1);
11415    var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
11416    function getRuntime14() {
11417      const globalScope = globalThis;
11418      if (globalScope.__wpStyleRuntime) {
11419        return globalScope.__wpStyleRuntime;
11420      }
11421      globalScope.__wpStyleRuntime = {
11422        documents: /* @__PURE__ */ new Map(),
11423        styles: /* @__PURE__ */ new Map(),
11424        injectedStyles: /* @__PURE__ */ new WeakMap()
11425      };
11426      if (typeof document !== "undefined") {
11427        registerDocument14(document);
11428      }
11429      return globalScope.__wpStyleRuntime;
11430    }
11431    function documentContainsStyleHash14(targetDocument, hash) {
11432      if (!targetDocument.head) {
11433        return false;
11434      }
11435      for (const style of targetDocument.head.querySelectorAll(
11436        `style[$STYLE_HASH_ATTRIBUTE14}]`
11437      )) {
11438        if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
11439          return true;
11440        }
11441      }
11442      return false;
11443    }
11444    function injectStyle14(targetDocument, hash, css) {
11445      if (!targetDocument.head) {
11446        return;
11447      }
11448      const runtime = getRuntime14();
11449      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11450      if (!injectedStyles) {
11451        injectedStyles = /* @__PURE__ */ new Set();
11452        runtime.injectedStyles.set(targetDocument, injectedStyles);
11453      }
11454      if (injectedStyles.has(hash)) {
11455        return;
11456      }
11457      if (documentContainsStyleHash14(targetDocument, hash)) {
11458        injectedStyles.add(hash);
11459        return;
11460      }
11461      const style = targetDocument.createElement("style");
11462      style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
11463      style.appendChild(targetDocument.createTextNode(css));
11464      targetDocument.head.appendChild(style);
11465      injectedStyles.add(hash);
11466    }
11467    function registerDocument14(targetDocument) {
11468      const runtime = getRuntime14();
11469      runtime.documents.set(
11470        targetDocument,
11471        (runtime.documents.get(targetDocument) ?? 0) + 1
11472      );
11473      for (const [hash, css] of runtime.styles) {
11474        injectStyle14(targetDocument, hash, css);
11475      }
11476      return () => {
11477        const count = runtime.documents.get(targetDocument);
11478        if (count === void 0) {
11479          return;
11480        }
11481        if (count <= 1) {
11482          runtime.documents.delete(targetDocument);
11483          return;
11484        }
11485        runtime.documents.set(targetDocument, count - 1);
11486      };
11487    }
11488    function registerStyle14(hash, css) {
11489      const runtime = getRuntime14();
11490      runtime.styles.set(hash, css);
11491      for (const targetDocument of runtime.documents.keys()) {
11492        injectStyle14(targetDocument, hash, css);
11493      }
11494    }
11495    if (typeof process === "undefined" || true) {
11496      registerStyle14("ada2aa0e9f", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.bced04d30c075714__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}.b4b2578de6f75764__header,.cadd1062398e929c__content{padding:var(--wp-ui-card-padding);&:not(:first-child):not(:last-child){padding-block-end:0}}.b4b2578de6f75764__header+.cadd1062398e929c__content{margin-block-start:var(--wp-ui-card-header-content-margin);padding-block-start:0}.c25959d41c245c8c__fullbleed{margin-inline:calc(var(--wp-ui-card-padding)*-1);width:calc(100% + var(--wp-ui-card-padding)*2)}.bced04d30c075714__root>:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):first-child>.c25959d41c245c8c__fullbleed:first-child{margin-block-start:calc(var(--wp-ui-card-padding)*-1)}:is(.b4b2578de6f75764__header,.cadd1062398e929c__content):last-child>.c25959d41c245c8c__fullbleed:last-child{margin-block-end:calc(var(--wp-ui-card-padding)*-1)}}}");
11497    }
11498    var style_default13 = { "root": "bced04d30c075714__root", "header": "b4b2578de6f75764__header", "content": "cadd1062398e929c__content", "fullbleed": "c25959d41c245c8c__fullbleed" };
11499    var FullBleed = (0, import_element27.forwardRef)(
11500      function CardFullBleed({ render, ...props }, ref) {
11501        const element = useRender({
11502          defaultTagName: "div",
11503          render,
11504          ref,
11505          props: mergeProps(
11506            { className: style_default13.fullbleed },
11507            props
11508          )
11509        });
11510        return element;
11511      }
11512    );
11513  
11514    // packages/ui/build-module/card/title.mjs
11515    var import_element28 = __toESM(require_element(), 1);
11516    var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
11517    var DEFAULT_TAG = /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", {});
11518    var Title = (0, import_element28.forwardRef)(
11519      function CardTitle({ render = DEFAULT_TAG, children, ...props }, ref) {
11520        return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
11521          Text,
11522          {
11523            ref,
11524            variant: "heading-lg",
11525            render,
11526            ...props,
11527            children
11528          }
11529        );
11530      }
11531    );
11532  
11533    // packages/ui/build-module/collapsible/panel.mjs
11534    var import_element29 = __toESM(require_element(), 1);
11535    var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
11536    var Panel = (0, import_element29.forwardRef)(
11537      function CollapsiblePanel3(props, forwardedRef) {
11538        return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(index_parts_exports.Panel, { ref: forwardedRef, ...props });
11539      }
11540    );
11541  
11542    // packages/ui/build-module/collapsible/root.mjs
11543    var import_element30 = __toESM(require_element(), 1);
11544    var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
11545    var Root3 = (0, import_element30.forwardRef)(
11546      function CollapsibleRoot3(props, forwardedRef) {
11547        return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(index_parts_exports.Root, { ref: forwardedRef, ...props });
11548      }
11549    );
11550  
11551    // packages/ui/build-module/collapsible/trigger.mjs
11552    var import_element31 = __toESM(require_element(), 1);
11553    var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
11554    var Trigger2 = (0, import_element31.forwardRef)(
11555      function CollapsibleTrigger3(props, forwardedRef) {
11556        return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(index_parts_exports.Trigger, { ref: forwardedRef, ...props });
11557      }
11558    );
11559  
11560    // packages/ui/build-module/collapsible-card/index.mjs
11561    var collapsible_card_exports = {};
11562    __export(collapsible_card_exports, {
11563      Content: () => Content2,
11564      Header: () => Header2,
11565      HeaderDescription: () => HeaderDescription,
11566      Root: () => Root32
11567    });
11568  
11569    // packages/ui/build-module/collapsible-card/root.mjs
11570    var import_element32 = __toESM(require_element(), 1);
11571    var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
11572    var Root32 = (0, import_element32.forwardRef)(
11573      function CollapsibleCardRoot({ render, ...restProps }, ref) {
11574        return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
11575          Root3,
11576          {
11577            ref,
11578            render: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Root2, { render }),
11579            ...restProps
11580          }
11581        );
11582      }
11583    );
11584  
11585    // packages/ui/build-module/collapsible-card/header.mjs
11586    var import_compose = __toESM(require_compose(), 1);
11587    var import_element34 = __toESM(require_element(), 1);
11588  
11589    // packages/ui/build-module/collapsible-card/context.mjs
11590    var import_element33 = __toESM(require_element(), 1);
11591    var HeaderDescriptionIdContext = (0, import_element33.createContext)(null);
11592  
11593    // packages/ui/build-module/collapsible-card/header.mjs
11594    var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
11595    var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
11596    function getRuntime15() {
11597      const globalScope = globalThis;
11598      if (globalScope.__wpStyleRuntime) {
11599        return globalScope.__wpStyleRuntime;
11600      }
11601      globalScope.__wpStyleRuntime = {
11602        documents: /* @__PURE__ */ new Map(),
11603        styles: /* @__PURE__ */ new Map(),
11604        injectedStyles: /* @__PURE__ */ new WeakMap()
11605      };
11606      if (typeof document !== "undefined") {
11607        registerDocument15(document);
11608      }
11609      return globalScope.__wpStyleRuntime;
11610    }
11611    function documentContainsStyleHash15(targetDocument, hash) {
11612      if (!targetDocument.head) {
11613        return false;
11614      }
11615      for (const style of targetDocument.head.querySelectorAll(
11616        `style[$STYLE_HASH_ATTRIBUTE15}]`
11617      )) {
11618        if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
11619          return true;
11620        }
11621      }
11622      return false;
11623    }
11624    function injectStyle15(targetDocument, hash, css) {
11625      if (!targetDocument.head) {
11626        return;
11627      }
11628      const runtime = getRuntime15();
11629      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11630      if (!injectedStyles) {
11631        injectedStyles = /* @__PURE__ */ new Set();
11632        runtime.injectedStyles.set(targetDocument, injectedStyles);
11633      }
11634      if (injectedStyles.has(hash)) {
11635        return;
11636      }
11637      if (documentContainsStyleHash15(targetDocument, hash)) {
11638        injectedStyles.add(hash);
11639        return;
11640      }
11641      const style = targetDocument.createElement("style");
11642      style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
11643      style.appendChild(targetDocument.createTextNode(css));
11644      targetDocument.head.appendChild(style);
11645      injectedStyles.add(hash);
11646    }
11647    function registerDocument15(targetDocument) {
11648      const runtime = getRuntime15();
11649      runtime.documents.set(
11650        targetDocument,
11651        (runtime.documents.get(targetDocument) ?? 0) + 1
11652      );
11653      for (const [hash, css] of runtime.styles) {
11654        injectStyle15(targetDocument, hash, css);
11655      }
11656      return () => {
11657        const count = runtime.documents.get(targetDocument);
11658        if (count === void 0) {
11659          return;
11660        }
11661        if (count <= 1) {
11662          runtime.documents.delete(targetDocument);
11663          return;
11664        }
11665        runtime.documents.set(targetDocument, count - 1);
11666      };
11667    }
11668    function registerStyle15(hash, css) {
11669      const runtime = getRuntime15();
11670      runtime.styles.set(hash, css);
11671      for (const targetDocument of runtime.documents.keys()) {
11672        injectStyle15(targetDocument, hash, css);
11673      }
11674    }
11675    if (typeof process === "undefined" || true) {
11676      registerStyle15("4b918be902", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.c518fd8936700931__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}.fea34f4e9dfacd71__header-content{flex:1;min-width:0}._0d708389b4074955__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.ff044cc511d350dc__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}.fff122094d192bfe__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}._2d6d78d85e28c6a1__header:focus-visible .fff122094d192bfe__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){.bd8376580a8ef445__header-trigger{transition:rotate .15s ease-out}}._2d6d78d85e28c6a1__header[data-panel-open] .bd8376580a8ef445__header-trigger{rotate:180deg}._2d6d78d85e28c6a1__header[data-disabled] .bd8376580a8ef445__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}.b470df8119d32037__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}.b470df8119d32037__content._640cbe83366c89c3__overflow-visible{overflow:visible}.b470df8119d32037__content[hidden]:not([hidden=until-found]){display:none}.b470df8119d32037__content[data-ending-style],.b470df8119d32037__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){.b470df8119d32037__content{transition:all .15s ease-out}}}@layer compositions{._51c02cc98c745389__content-inner{padding-block-start:0}._2d6d78d85e28c6a1__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}._2d6d78d85e28c6a1__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11677    }
11678    var style_module_default = { "heading-wrapper": "c518fd8936700931__heading-wrapper", "header-content": "fea34f4e9dfacd71__header-content", "header-description": "_0d708389b4074955__header-description", "header-trigger-positioner": "ff044cc511d350dc__header-trigger-positioner", "header-trigger-wrapper": "fff122094d192bfe__header-trigger-wrapper", "header": "_2d6d78d85e28c6a1__header", "header-trigger": "bd8376580a8ef445__header-trigger", "content": "b470df8119d32037__content", "overflow-visible": "_640cbe83366c89c3__overflow-visible", "content-inner": "_51c02cc98c745389__content-inner" };
11679    if (typeof process === "undefined" || true) {
11680      registerStyle15("726f348f3f", "._78c10a0773e51a91__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)}._5b33aa2d48624b4f__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)}}._980b3b4776ac8f81__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._43e478b4279a076c__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._698099e25b0fb1a6__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)._326aee4184d261fd__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)}.e9576240835601ba__a,.e9576240835601ba__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)}._3f05789653864a73__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)}._3c72ff72abe57859__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._79d16267c15d9eb2__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)}");
11681    }
11682    var global_css_defense_default4 = { "button": "_78c10a0773e51a91__button", "input": "_5b33aa2d48624b4f__input", "textarea": "_980b3b4776ac8f81__textarea", "div": "_43e478b4279a076c__div", "p": "_698099e25b0fb1a6__p", "heading": "_326aee4184d261fd__heading", "a": "e9576240835601ba__a", "ol": "_3f05789653864a73__ol", "li": "_3c72ff72abe57859__li", "span": "_79d16267c15d9eb2__span" };
11683    var Header2 = (0, import_element34.forwardRef)(
11684      function CollapsibleCardHeader({
11685        children,
11686        className,
11687        render,
11688        "aria-describedby": ariaDescribedByProp,
11689        ...restProps
11690      }, ref) {
11691        const [descriptionIds, setDescriptionIds] = (0, import_element34.useState)(
11692          []
11693        );
11694        const [orderedDescriptionIds, setOrderedDescriptionIds] = (0, import_element34.useState)([]);
11695        const headerContentRef = (0, import_element34.useRef)(null);
11696        const registerDescriptionId = (0, import_element34.useCallback)((id) => {
11697          setDescriptionIds((currentDescriptionIds) => {
11698            if (currentDescriptionIds.includes(id)) {
11699              return currentDescriptionIds;
11700            }
11701            return [...currentDescriptionIds, id];
11702          });
11703          return () => {
11704            setDescriptionIds(
11705              (currentDescriptionIds) => currentDescriptionIds.filter(
11706                (descriptionId) => descriptionId !== id
11707              )
11708            );
11709          };
11710        }, []);
11711        const contextValue = (0, import_element34.useMemo)(
11712          () => ({ registerDescriptionId }),
11713          [registerDescriptionId]
11714        );
11715        (0, import_compose.useIsomorphicLayoutEffect)(() => {
11716          const registeredDescriptionIds = new Set(descriptionIds);
11717          const nextDescriptionIds = Array.from(
11718            headerContentRef.current?.querySelectorAll("[id]") ?? []
11719          ).map((element) => element.id).filter((id) => registeredDescriptionIds.has(id));
11720          setOrderedDescriptionIds((currentDescriptionIds) => {
11721            if (currentDescriptionIds.length === nextDescriptionIds.length && currentDescriptionIds.every(
11722              (id, index2) => id === nextDescriptionIds[index2]
11723            )) {
11724              return currentDescriptionIds;
11725            }
11726            return nextDescriptionIds;
11727          });
11728        });
11729        const ariaDescribedBy = Array.from(
11730          /* @__PURE__ */ new Set([
11731            ...ariaDescribedByProp?.split(/\s+/).filter(Boolean) ?? [],
11732            ...orderedDescriptionIds
11733          ])
11734        ).join(" ") || void 0;
11735        return useRender({
11736          defaultTagName: "div",
11737          render,
11738          ref,
11739          props: mergeProps(restProps, {
11740            className: clsx_default(
11741              global_css_defense_default4.heading,
11742              style_module_default["heading-wrapper"],
11743              className
11744            ),
11745            children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(HeaderDescriptionIdContext.Provider, { value: contextValue, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
11746              Trigger2,
11747              {
11748                className: style_module_default.header,
11749                render: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Header, {}),
11750                nativeButton: false,
11751                "aria-describedby": ariaDescribedBy,
11752                children: [
11753                  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11754                    "div",
11755                    {
11756                      ref: headerContentRef,
11757                      className: style_module_default["header-content"],
11758                      children
11759                    }
11760                  ),
11761                  /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11762                    "div",
11763                    {
11764                      className: clsx_default(
11765                        style_module_default["header-trigger-positioner"]
11766                      ),
11767                      children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11768                        "div",
11769                        {
11770                          className: clsx_default(
11771                            style_module_default["header-trigger-wrapper"],
11772                            global_css_defense_default4.div
11773                          ),
11774                          children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
11775                            Icon,
11776                            {
11777                              icon: chevron_down_default,
11778                              className: style_module_default["header-trigger"]
11779                            }
11780                          )
11781                        }
11782                      )
11783                    }
11784                  )
11785                ]
11786              }
11787            ) })
11788          })
11789        });
11790      }
11791    );
11792  
11793    // packages/ui/build-module/collapsible-card/header-description.mjs
11794    var import_element35 = __toESM(require_element(), 1);
11795    var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
11796    var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
11797    function getRuntime16() {
11798      const globalScope = globalThis;
11799      if (globalScope.__wpStyleRuntime) {
11800        return globalScope.__wpStyleRuntime;
11801      }
11802      globalScope.__wpStyleRuntime = {
11803        documents: /* @__PURE__ */ new Map(),
11804        styles: /* @__PURE__ */ new Map(),
11805        injectedStyles: /* @__PURE__ */ new WeakMap()
11806      };
11807      if (typeof document !== "undefined") {
11808        registerDocument16(document);
11809      }
11810      return globalScope.__wpStyleRuntime;
11811    }
11812    function documentContainsStyleHash16(targetDocument, hash) {
11813      if (!targetDocument.head) {
11814        return false;
11815      }
11816      for (const style of targetDocument.head.querySelectorAll(
11817        `style[$STYLE_HASH_ATTRIBUTE16}]`
11818      )) {
11819        if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
11820          return true;
11821        }
11822      }
11823      return false;
11824    }
11825    function injectStyle16(targetDocument, hash, css) {
11826      if (!targetDocument.head) {
11827        return;
11828      }
11829      const runtime = getRuntime16();
11830      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11831      if (!injectedStyles) {
11832        injectedStyles = /* @__PURE__ */ new Set();
11833        runtime.injectedStyles.set(targetDocument, injectedStyles);
11834      }
11835      if (injectedStyles.has(hash)) {
11836        return;
11837      }
11838      if (documentContainsStyleHash16(targetDocument, hash)) {
11839        injectedStyles.add(hash);
11840        return;
11841      }
11842      const style = targetDocument.createElement("style");
11843      style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
11844      style.appendChild(targetDocument.createTextNode(css));
11845      targetDocument.head.appendChild(style);
11846      injectedStyles.add(hash);
11847    }
11848    function registerDocument16(targetDocument) {
11849      const runtime = getRuntime16();
11850      runtime.documents.set(
11851        targetDocument,
11852        (runtime.documents.get(targetDocument) ?? 0) + 1
11853      );
11854      for (const [hash, css] of runtime.styles) {
11855        injectStyle16(targetDocument, hash, css);
11856      }
11857      return () => {
11858        const count = runtime.documents.get(targetDocument);
11859        if (count === void 0) {
11860          return;
11861        }
11862        if (count <= 1) {
11863          runtime.documents.delete(targetDocument);
11864          return;
11865        }
11866        runtime.documents.set(targetDocument, count - 1);
11867      };
11868    }
11869    function registerStyle16(hash, css) {
11870      const runtime = getRuntime16();
11871      runtime.styles.set(hash, css);
11872      for (const targetDocument of runtime.documents.keys()) {
11873        injectStyle16(targetDocument, hash, css);
11874      }
11875    }
11876    if (typeof process === "undefined" || true) {
11877      registerStyle16("4b918be902", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.c518fd8936700931__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}.fea34f4e9dfacd71__header-content{flex:1;min-width:0}._0d708389b4074955__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.ff044cc511d350dc__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}.fff122094d192bfe__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}._2d6d78d85e28c6a1__header:focus-visible .fff122094d192bfe__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){.bd8376580a8ef445__header-trigger{transition:rotate .15s ease-out}}._2d6d78d85e28c6a1__header[data-panel-open] .bd8376580a8ef445__header-trigger{rotate:180deg}._2d6d78d85e28c6a1__header[data-disabled] .bd8376580a8ef445__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}.b470df8119d32037__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}.b470df8119d32037__content._640cbe83366c89c3__overflow-visible{overflow:visible}.b470df8119d32037__content[hidden]:not([hidden=until-found]){display:none}.b470df8119d32037__content[data-ending-style],.b470df8119d32037__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){.b470df8119d32037__content{transition:all .15s ease-out}}}@layer compositions{._51c02cc98c745389__content-inner{padding-block-start:0}._2d6d78d85e28c6a1__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}._2d6d78d85e28c6a1__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11878    }
11879    var style_module_default2 = { "heading-wrapper": "c518fd8936700931__heading-wrapper", "header-content": "fea34f4e9dfacd71__header-content", "header-description": "_0d708389b4074955__header-description", "header-trigger-positioner": "ff044cc511d350dc__header-trigger-positioner", "header-trigger-wrapper": "fff122094d192bfe__header-trigger-wrapper", "header": "_2d6d78d85e28c6a1__header", "header-trigger": "bd8376580a8ef445__header-trigger", "content": "b470df8119d32037__content", "overflow-visible": "_640cbe83366c89c3__overflow-visible", "content-inner": "_51c02cc98c745389__content-inner" };
11880    var DEFAULT_TAG2 = /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", {});
11881    var HeaderDescription = (0, import_element35.forwardRef)(function CollapsibleCardHeaderDescription({ children, className, id: idProp, render = DEFAULT_TAG2, ...restProps }, ref) {
11882      const generatedId = (0, import_element35.useId)();
11883      const descriptionId = idProp ?? generatedId;
11884      const context = (0, import_element35.useContext)(HeaderDescriptionIdContext);
11885      if (!context) {
11886        throw new Error(
11887          "CollapsibleCard.HeaderDescription: Missing parent <CollapsibleCard.Header>. Render <CollapsibleCard.HeaderDescription> inside <CollapsibleCard.Header>."
11888        );
11889      }
11890      (0, import_element35.useEffect)(() => {
11891        return context?.registerDescriptionId(descriptionId);
11892      }, [context, descriptionId]);
11893      return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
11894        Text,
11895        {
11896          ref,
11897          variant: "body-md",
11898          render,
11899          id: descriptionId,
11900          "aria-hidden": "true",
11901          className: clsx_default(style_module_default2["header-description"], className),
11902          ...restProps,
11903          children
11904        }
11905      );
11906    });
11907  
11908    // packages/ui/build-module/collapsible-card/content.mjs
11909    var import_element36 = __toESM(require_element(), 1);
11910    var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
11911    var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
11912    function getRuntime17() {
11913      const globalScope = globalThis;
11914      if (globalScope.__wpStyleRuntime) {
11915        return globalScope.__wpStyleRuntime;
11916      }
11917      globalScope.__wpStyleRuntime = {
11918        documents: /* @__PURE__ */ new Map(),
11919        styles: /* @__PURE__ */ new Map(),
11920        injectedStyles: /* @__PURE__ */ new WeakMap()
11921      };
11922      if (typeof document !== "undefined") {
11923        registerDocument17(document);
11924      }
11925      return globalScope.__wpStyleRuntime;
11926    }
11927    function documentContainsStyleHash17(targetDocument, hash) {
11928      if (!targetDocument.head) {
11929        return false;
11930      }
11931      for (const style of targetDocument.head.querySelectorAll(
11932        `style[$STYLE_HASH_ATTRIBUTE17}]`
11933      )) {
11934        if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
11935          return true;
11936        }
11937      }
11938      return false;
11939    }
11940    function injectStyle17(targetDocument, hash, css) {
11941      if (!targetDocument.head) {
11942        return;
11943      }
11944      const runtime = getRuntime17();
11945      let injectedStyles = runtime.injectedStyles.get(targetDocument);
11946      if (!injectedStyles) {
11947        injectedStyles = /* @__PURE__ */ new Set();
11948        runtime.injectedStyles.set(targetDocument, injectedStyles);
11949      }
11950      if (injectedStyles.has(hash)) {
11951        return;
11952      }
11953      if (documentContainsStyleHash17(targetDocument, hash)) {
11954        injectedStyles.add(hash);
11955        return;
11956      }
11957      const style = targetDocument.createElement("style");
11958      style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
11959      style.appendChild(targetDocument.createTextNode(css));
11960      targetDocument.head.appendChild(style);
11961      injectedStyles.add(hash);
11962    }
11963    function registerDocument17(targetDocument) {
11964      const runtime = getRuntime17();
11965      runtime.documents.set(
11966        targetDocument,
11967        (runtime.documents.get(targetDocument) ?? 0) + 1
11968      );
11969      for (const [hash, css] of runtime.styles) {
11970        injectStyle17(targetDocument, hash, css);
11971      }
11972      return () => {
11973        const count = runtime.documents.get(targetDocument);
11974        if (count === void 0) {
11975          return;
11976        }
11977        if (count <= 1) {
11978          runtime.documents.delete(targetDocument);
11979          return;
11980        }
11981        runtime.documents.set(targetDocument, count - 1);
11982      };
11983    }
11984    function registerStyle17(hash, css) {
11985      const runtime = getRuntime17();
11986      runtime.styles.set(hash, css);
11987      for (const targetDocument of runtime.documents.keys()) {
11988        injectStyle17(targetDocument, hash, css);
11989      }
11990    }
11991    if (typeof process === "undefined" || true) {
11992      registerStyle17("4b918be902", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.c518fd8936700931__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}.fea34f4e9dfacd71__header-content{flex:1;min-width:0}._0d708389b4074955__header-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}.ff044cc511d350dc__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}.fff122094d192bfe__header-trigger-wrapper{border-radius:var(--wpds-border-radius-sm,2px);display:flex;translate:0 -50%}._2d6d78d85e28c6a1__header:focus-visible .fff122094d192bfe__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){.bd8376580a8ef445__header-trigger{transition:rotate .15s ease-out}}._2d6d78d85e28c6a1__header[data-panel-open] .bd8376580a8ef445__header-trigger{rotate:180deg}._2d6d78d85e28c6a1__header[data-disabled] .bd8376580a8ef445__header-trigger{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}.b470df8119d32037__content{height:var(--collapsible-panel-height);margin-block-start:var(--wp-ui-card-header-content-margin);overflow:hidden}.b470df8119d32037__content._640cbe83366c89c3__overflow-visible{overflow:visible}.b470df8119d32037__content[hidden]:not([hidden=until-found]){display:none}.b470df8119d32037__content[data-ending-style],.b470df8119d32037__content[data-starting-style]{height:0}@media not (prefers-reduced-motion){.b470df8119d32037__content{transition:all .15s ease-out}}}@layer compositions{._51c02cc98c745389__content-inner{padding-block-start:0}._2d6d78d85e28c6a1__header{align-items:stretch;display:flex;flex-direction:row;gap:var(--wpds-dimension-gap-sm,8px);outline:none}._2d6d78d85e28c6a1__header:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}}}");
11993    }
11994    var style_module_default3 = { "heading-wrapper": "c518fd8936700931__heading-wrapper", "header-content": "fea34f4e9dfacd71__header-content", "header-description": "_0d708389b4074955__header-description", "header-trigger-positioner": "ff044cc511d350dc__header-trigger-positioner", "header-trigger-wrapper": "fff122094d192bfe__header-trigger-wrapper", "header": "_2d6d78d85e28c6a1__header", "header-trigger": "bd8376580a8ef445__header-trigger", "content": "b470df8119d32037__content", "overflow-visible": "_640cbe83366c89c3__overflow-visible", "content-inner": "_51c02cc98c745389__content-inner" };
11995    var Content2 = (0, import_element36.forwardRef)(
11996      function CollapsibleCardContent({ className, render, children, hiddenUntilFound = true, ...restProps }, ref) {
11997        return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
11998          Panel,
11999          {
12000            ref,
12001            className: (state) => clsx_default(
12002              style_module_default3.content,
12003              state.open && state.transitionStatus === "idle" && style_module_default3["overflow-visible"],
12004              className
12005            ),
12006            hiddenUntilFound,
12007            ...restProps,
12008            children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
12009              Content,
12010              {
12011                className: style_module_default3["content-inner"],
12012                render,
12013                children
12014              }
12015            )
12016          }
12017        );
12018      }
12019    );
12020  
12021    // packages/ui/build-module/stack/stack.mjs
12022    var import_element37 = __toESM(require_element(), 1);
12023    var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
12024    function getRuntime18() {
12025      const globalScope = globalThis;
12026      if (globalScope.__wpStyleRuntime) {
12027        return globalScope.__wpStyleRuntime;
12028      }
12029      globalScope.__wpStyleRuntime = {
12030        documents: /* @__PURE__ */ new Map(),
12031        styles: /* @__PURE__ */ new Map(),
12032        injectedStyles: /* @__PURE__ */ new WeakMap()
12033      };
12034      if (typeof document !== "undefined") {
12035        registerDocument18(document);
12036      }
12037      return globalScope.__wpStyleRuntime;
12038    }
12039    function documentContainsStyleHash18(targetDocument, hash) {
12040      if (!targetDocument.head) {
12041        return false;
12042      }
12043      for (const style of targetDocument.head.querySelectorAll(
12044        `style[$STYLE_HASH_ATTRIBUTE18}]`
12045      )) {
12046        if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
12047          return true;
12048        }
12049      }
12050      return false;
12051    }
12052    function injectStyle18(targetDocument, hash, css) {
12053      if (!targetDocument.head) {
12054        return;
12055      }
12056      const runtime = getRuntime18();
12057      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12058      if (!injectedStyles) {
12059        injectedStyles = /* @__PURE__ */ new Set();
12060        runtime.injectedStyles.set(targetDocument, injectedStyles);
12061      }
12062      if (injectedStyles.has(hash)) {
12063        return;
12064      }
12065      if (documentContainsStyleHash18(targetDocument, hash)) {
12066        injectedStyles.add(hash);
12067        return;
12068      }
12069      const style = targetDocument.createElement("style");
12070      style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
12071      style.appendChild(targetDocument.createTextNode(css));
12072      targetDocument.head.appendChild(style);
12073      injectedStyles.add(hash);
12074    }
12075    function registerDocument18(targetDocument) {
12076      const runtime = getRuntime18();
12077      runtime.documents.set(
12078        targetDocument,
12079        (runtime.documents.get(targetDocument) ?? 0) + 1
12080      );
12081      for (const [hash, css] of runtime.styles) {
12082        injectStyle18(targetDocument, hash, css);
12083      }
12084      return () => {
12085        const count = runtime.documents.get(targetDocument);
12086        if (count === void 0) {
12087          return;
12088        }
12089        if (count <= 1) {
12090          runtime.documents.delete(targetDocument);
12091          return;
12092        }
12093        runtime.documents.set(targetDocument, count - 1);
12094      };
12095    }
12096    function registerStyle18(hash, css) {
12097      const runtime = getRuntime18();
12098      runtime.styles.set(hash, css);
12099      for (const targetDocument of runtime.documents.keys()) {
12100        injectStyle18(targetDocument, hash, css);
12101      }
12102    }
12103    if (typeof process === "undefined" || true) {
12104      registerStyle18("67591fa198", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._8e8e79c1a2eec43b__stack{display:flex}}}");
12105    }
12106    var style_default14 = { "stack": "_8e8e79c1a2eec43b__stack" };
12107    var gapTokens = {
12108      xs: "var(--wpds-dimension-gap-xs, 4px)",
12109      sm: "var(--wpds-dimension-gap-sm, 8px)",
12110      md: "var(--wpds-dimension-gap-md, 12px)",
12111      lg: "var(--wpds-dimension-gap-lg, 16px)",
12112      xl: "var(--wpds-dimension-gap-xl, 24px)",
12113      "2xl": "var(--wpds-dimension-gap-2xl, 32px)",
12114      "3xl": "var(--wpds-dimension-gap-3xl, 40px)"
12115    };
12116    var Stack = (0, import_element37.forwardRef)(
12117      function UnforwardedStack({ direction, gap, align, justify, wrap, render, ...props }, ref) {
12118        const style = {
12119          gap: gap && gapTokens[gap],
12120          alignItems: align,
12121          justifyContent: justify,
12122          flexDirection: direction,
12123          flexWrap: wrap
12124        };
12125        const element = useRender({
12126          render,
12127          ref,
12128          props: mergeProps(props, {
12129            style,
12130            className: style_default14.stack
12131          })
12132        });
12133        return element;
12134      }
12135    );
12136  
12137    // packages/ui/build-module/notice/index.mjs
12138    var notice_exports = {};
12139    __export(notice_exports, {
12140      ActionButton: () => ActionButton,
12141      ActionLink: () => ActionLink,
12142      Actions: () => Actions,
12143      CloseIconButton: () => CloseIconButton,
12144      Description: () => Description,
12145      Root: () => Root4,
12146      Title: () => Title2
12147    });
12148  
12149    // packages/ui/build-module/notice/root.mjs
12150    var import_element38 = __toESM(require_element(), 1);
12151    var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
12152    var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
12153    function getRuntime19() {
12154      const globalScope = globalThis;
12155      if (globalScope.__wpStyleRuntime) {
12156        return globalScope.__wpStyleRuntime;
12157      }
12158      globalScope.__wpStyleRuntime = {
12159        documents: /* @__PURE__ */ new Map(),
12160        styles: /* @__PURE__ */ new Map(),
12161        injectedStyles: /* @__PURE__ */ new WeakMap()
12162      };
12163      if (typeof document !== "undefined") {
12164        registerDocument19(document);
12165      }
12166      return globalScope.__wpStyleRuntime;
12167    }
12168    function documentContainsStyleHash19(targetDocument, hash) {
12169      if (!targetDocument.head) {
12170        return false;
12171      }
12172      for (const style of targetDocument.head.querySelectorAll(
12173        `style[$STYLE_HASH_ATTRIBUTE19}]`
12174      )) {
12175        if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
12176          return true;
12177        }
12178      }
12179      return false;
12180    }
12181    function injectStyle19(targetDocument, hash, css) {
12182      if (!targetDocument.head) {
12183        return;
12184      }
12185      const runtime = getRuntime19();
12186      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12187      if (!injectedStyles) {
12188        injectedStyles = /* @__PURE__ */ new Set();
12189        runtime.injectedStyles.set(targetDocument, injectedStyles);
12190      }
12191      if (injectedStyles.has(hash)) {
12192        return;
12193      }
12194      if (documentContainsStyleHash19(targetDocument, hash)) {
12195        injectedStyles.add(hash);
12196        return;
12197      }
12198      const style = targetDocument.createElement("style");
12199      style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
12200      style.appendChild(targetDocument.createTextNode(css));
12201      targetDocument.head.appendChild(style);
12202      injectedStyles.add(hash);
12203    }
12204    function registerDocument19(targetDocument) {
12205      const runtime = getRuntime19();
12206      runtime.documents.set(
12207        targetDocument,
12208        (runtime.documents.get(targetDocument) ?? 0) + 1
12209      );
12210      for (const [hash, css] of runtime.styles) {
12211        injectStyle19(targetDocument, hash, css);
12212      }
12213      return () => {
12214        const count = runtime.documents.get(targetDocument);
12215        if (count === void 0) {
12216          return;
12217        }
12218        if (count <= 1) {
12219          runtime.documents.delete(targetDocument);
12220          return;
12221        }
12222        runtime.documents.set(targetDocument, count - 1);
12223      };
12224    }
12225    function registerStyle19(hash, css) {
12226      const runtime = getRuntime19();
12227      runtime.styles.set(hash, css);
12228      for (const targetDocument of runtime.documents.keys()) {
12229        injectStyle19(targetDocument, hash, css);
12230      }
12231    }
12232    if (typeof process === "undefined" || true) {
12233      registerStyle19("37477070fb", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.ccc29f9575c4c758__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
12234    }
12235    var resets_default5 = { "box-sizing": "ccc29f9575c4c758__box-sizing" };
12236    if (typeof process === "undefined" || true) {
12237      registerStyle19("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12238    }
12239    var style_default15 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12240    var icons = {
12241      neutral: null,
12242      info: info_default,
12243      warning: caution_default,
12244      success: published_default,
12245      error: error_default
12246    };
12247    var Root4 = (0, import_element38.forwardRef)(function Notice({ intent = "neutral", children, icon, render, ...restProps }, ref) {
12248      const iconElement = icon === null ? null : icon ?? icons[intent];
12249      const mergedClassName = clsx_default(
12250        style_default15.notice,
12251        style_default15[`is-$intent}`],
12252        resets_default5["box-sizing"]
12253      );
12254      const element = useRender({
12255        defaultTagName: "div",
12256        render,
12257        ref,
12258        props: mergeProps(
12259          {
12260            className: mergedClassName,
12261            children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(import_jsx_runtime45.Fragment, { children: [
12262              children,
12263              iconElement && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
12264                Icon,
12265                {
12266                  className: style_default15.icon,
12267                  icon: iconElement
12268                }
12269              )
12270            ] })
12271          },
12272          restProps
12273        )
12274      });
12275      return element;
12276    });
12277  
12278    // packages/ui/build-module/notice/title.mjs
12279    var import_element39 = __toESM(require_element(), 1);
12280    var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
12281    var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
12282    function getRuntime20() {
12283      const globalScope = globalThis;
12284      if (globalScope.__wpStyleRuntime) {
12285        return globalScope.__wpStyleRuntime;
12286      }
12287      globalScope.__wpStyleRuntime = {
12288        documents: /* @__PURE__ */ new Map(),
12289        styles: /* @__PURE__ */ new Map(),
12290        injectedStyles: /* @__PURE__ */ new WeakMap()
12291      };
12292      if (typeof document !== "undefined") {
12293        registerDocument20(document);
12294      }
12295      return globalScope.__wpStyleRuntime;
12296    }
12297    function documentContainsStyleHash20(targetDocument, hash) {
12298      if (!targetDocument.head) {
12299        return false;
12300      }
12301      for (const style of targetDocument.head.querySelectorAll(
12302        `style[$STYLE_HASH_ATTRIBUTE20}]`
12303      )) {
12304        if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
12305          return true;
12306        }
12307      }
12308      return false;
12309    }
12310    function injectStyle20(targetDocument, hash, css) {
12311      if (!targetDocument.head) {
12312        return;
12313      }
12314      const runtime = getRuntime20();
12315      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12316      if (!injectedStyles) {
12317        injectedStyles = /* @__PURE__ */ new Set();
12318        runtime.injectedStyles.set(targetDocument, injectedStyles);
12319      }
12320      if (injectedStyles.has(hash)) {
12321        return;
12322      }
12323      if (documentContainsStyleHash20(targetDocument, hash)) {
12324        injectedStyles.add(hash);
12325        return;
12326      }
12327      const style = targetDocument.createElement("style");
12328      style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
12329      style.appendChild(targetDocument.createTextNode(css));
12330      targetDocument.head.appendChild(style);
12331      injectedStyles.add(hash);
12332    }
12333    function registerDocument20(targetDocument) {
12334      const runtime = getRuntime20();
12335      runtime.documents.set(
12336        targetDocument,
12337        (runtime.documents.get(targetDocument) ?? 0) + 1
12338      );
12339      for (const [hash, css] of runtime.styles) {
12340        injectStyle20(targetDocument, hash, css);
12341      }
12342      return () => {
12343        const count = runtime.documents.get(targetDocument);
12344        if (count === void 0) {
12345          return;
12346        }
12347        if (count <= 1) {
12348          runtime.documents.delete(targetDocument);
12349          return;
12350        }
12351        runtime.documents.set(targetDocument, count - 1);
12352      };
12353    }
12354    function registerStyle20(hash, css) {
12355      const runtime = getRuntime20();
12356      runtime.styles.set(hash, css);
12357      for (const targetDocument of runtime.documents.keys()) {
12358        injectStyle20(targetDocument, hash, css);
12359      }
12360    }
12361    if (typeof process === "undefined" || true) {
12362      registerStyle20("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12363    }
12364    var style_default16 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12365    var Title2 = (0, import_element39.forwardRef)(
12366      function NoticeTitle({ className, ...props }, ref) {
12367        return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
12368          Text,
12369          {
12370            ref,
12371            variant: "heading-md",
12372            className: clsx_default(style_default16.title, className),
12373            ...props
12374          }
12375        );
12376      }
12377    );
12378  
12379    // packages/ui/build-module/notice/description.mjs
12380    var import_element40 = __toESM(require_element(), 1);
12381    var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
12382    var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
12383    function getRuntime21() {
12384      const globalScope = globalThis;
12385      if (globalScope.__wpStyleRuntime) {
12386        return globalScope.__wpStyleRuntime;
12387      }
12388      globalScope.__wpStyleRuntime = {
12389        documents: /* @__PURE__ */ new Map(),
12390        styles: /* @__PURE__ */ new Map(),
12391        injectedStyles: /* @__PURE__ */ new WeakMap()
12392      };
12393      if (typeof document !== "undefined") {
12394        registerDocument21(document);
12395      }
12396      return globalScope.__wpStyleRuntime;
12397    }
12398    function documentContainsStyleHash21(targetDocument, hash) {
12399      if (!targetDocument.head) {
12400        return false;
12401      }
12402      for (const style of targetDocument.head.querySelectorAll(
12403        `style[$STYLE_HASH_ATTRIBUTE21}]`
12404      )) {
12405        if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
12406          return true;
12407        }
12408      }
12409      return false;
12410    }
12411    function injectStyle21(targetDocument, hash, css) {
12412      if (!targetDocument.head) {
12413        return;
12414      }
12415      const runtime = getRuntime21();
12416      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12417      if (!injectedStyles) {
12418        injectedStyles = /* @__PURE__ */ new Set();
12419        runtime.injectedStyles.set(targetDocument, injectedStyles);
12420      }
12421      if (injectedStyles.has(hash)) {
12422        return;
12423      }
12424      if (documentContainsStyleHash21(targetDocument, hash)) {
12425        injectedStyles.add(hash);
12426        return;
12427      }
12428      const style = targetDocument.createElement("style");
12429      style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
12430      style.appendChild(targetDocument.createTextNode(css));
12431      targetDocument.head.appendChild(style);
12432      injectedStyles.add(hash);
12433    }
12434    function registerDocument21(targetDocument) {
12435      const runtime = getRuntime21();
12436      runtime.documents.set(
12437        targetDocument,
12438        (runtime.documents.get(targetDocument) ?? 0) + 1
12439      );
12440      for (const [hash, css] of runtime.styles) {
12441        injectStyle21(targetDocument, hash, css);
12442      }
12443      return () => {
12444        const count = runtime.documents.get(targetDocument);
12445        if (count === void 0) {
12446          return;
12447        }
12448        if (count <= 1) {
12449          runtime.documents.delete(targetDocument);
12450          return;
12451        }
12452        runtime.documents.set(targetDocument, count - 1);
12453      };
12454    }
12455    function registerStyle21(hash, css) {
12456      const runtime = getRuntime21();
12457      runtime.styles.set(hash, css);
12458      for (const targetDocument of runtime.documents.keys()) {
12459        injectStyle21(targetDocument, hash, css);
12460      }
12461    }
12462    if (typeof process === "undefined" || true) {
12463      registerStyle21("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12464    }
12465    var style_default17 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12466    var Description = (0, import_element40.forwardRef)(
12467      function NoticeDescription({ className, ...props }, ref) {
12468        return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
12469          Text,
12470          {
12471            ref,
12472            variant: "body-md",
12473            className: clsx_default(style_default17.description, className),
12474            ...props
12475          }
12476        );
12477      }
12478    );
12479  
12480    // packages/ui/build-module/notice/actions.mjs
12481    var import_element41 = __toESM(require_element(), 1);
12482    var STYLE_HASH_ATTRIBUTE22 = "data-wp-hash";
12483    function getRuntime22() {
12484      const globalScope = globalThis;
12485      if (globalScope.__wpStyleRuntime) {
12486        return globalScope.__wpStyleRuntime;
12487      }
12488      globalScope.__wpStyleRuntime = {
12489        documents: /* @__PURE__ */ new Map(),
12490        styles: /* @__PURE__ */ new Map(),
12491        injectedStyles: /* @__PURE__ */ new WeakMap()
12492      };
12493      if (typeof document !== "undefined") {
12494        registerDocument22(document);
12495      }
12496      return globalScope.__wpStyleRuntime;
12497    }
12498    function documentContainsStyleHash22(targetDocument, hash) {
12499      if (!targetDocument.head) {
12500        return false;
12501      }
12502      for (const style of targetDocument.head.querySelectorAll(
12503        `style[$STYLE_HASH_ATTRIBUTE22}]`
12504      )) {
12505        if (style.getAttribute(STYLE_HASH_ATTRIBUTE22) === hash) {
12506          return true;
12507        }
12508      }
12509      return false;
12510    }
12511    function injectStyle22(targetDocument, hash, css) {
12512      if (!targetDocument.head) {
12513        return;
12514      }
12515      const runtime = getRuntime22();
12516      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12517      if (!injectedStyles) {
12518        injectedStyles = /* @__PURE__ */ new Set();
12519        runtime.injectedStyles.set(targetDocument, injectedStyles);
12520      }
12521      if (injectedStyles.has(hash)) {
12522        return;
12523      }
12524      if (documentContainsStyleHash22(targetDocument, hash)) {
12525        injectedStyles.add(hash);
12526        return;
12527      }
12528      const style = targetDocument.createElement("style");
12529      style.setAttribute(STYLE_HASH_ATTRIBUTE22, hash);
12530      style.appendChild(targetDocument.createTextNode(css));
12531      targetDocument.head.appendChild(style);
12532      injectedStyles.add(hash);
12533    }
12534    function registerDocument22(targetDocument) {
12535      const runtime = getRuntime22();
12536      runtime.documents.set(
12537        targetDocument,
12538        (runtime.documents.get(targetDocument) ?? 0) + 1
12539      );
12540      for (const [hash, css] of runtime.styles) {
12541        injectStyle22(targetDocument, hash, css);
12542      }
12543      return () => {
12544        const count = runtime.documents.get(targetDocument);
12545        if (count === void 0) {
12546          return;
12547        }
12548        if (count <= 1) {
12549          runtime.documents.delete(targetDocument);
12550          return;
12551        }
12552        runtime.documents.set(targetDocument, count - 1);
12553      };
12554    }
12555    function registerStyle22(hash, css) {
12556      const runtime = getRuntime22();
12557      runtime.styles.set(hash, css);
12558      for (const targetDocument of runtime.documents.keys()) {
12559        injectStyle22(targetDocument, hash, css);
12560      }
12561    }
12562    if (typeof process === "undefined" || true) {
12563      registerStyle22("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12564    }
12565    var style_default18 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12566    var Actions = (0, import_element41.forwardRef)(
12567      function NoticeActions({ render, ...props }, ref) {
12568        const element = useRender({
12569          defaultTagName: "div",
12570          render,
12571          ref,
12572          props: mergeProps(
12573            {
12574              className: style_default18.actions
12575            },
12576            props
12577          )
12578        });
12579        return element;
12580      }
12581    );
12582  
12583    // packages/ui/build-module/notice/close-icon-button.mjs
12584    var import_element42 = __toESM(require_element(), 1);
12585    var import_i18n5 = __toESM(require_i18n(), 1);
12586    var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
12587    var STYLE_HASH_ATTRIBUTE23 = "data-wp-hash";
12588    function getRuntime23() {
12589      const globalScope = globalThis;
12590      if (globalScope.__wpStyleRuntime) {
12591        return globalScope.__wpStyleRuntime;
12592      }
12593      globalScope.__wpStyleRuntime = {
12594        documents: /* @__PURE__ */ new Map(),
12595        styles: /* @__PURE__ */ new Map(),
12596        injectedStyles: /* @__PURE__ */ new WeakMap()
12597      };
12598      if (typeof document !== "undefined") {
12599        registerDocument23(document);
12600      }
12601      return globalScope.__wpStyleRuntime;
12602    }
12603    function documentContainsStyleHash23(targetDocument, hash) {
12604      if (!targetDocument.head) {
12605        return false;
12606      }
12607      for (const style of targetDocument.head.querySelectorAll(
12608        `style[$STYLE_HASH_ATTRIBUTE23}]`
12609      )) {
12610        if (style.getAttribute(STYLE_HASH_ATTRIBUTE23) === hash) {
12611          return true;
12612        }
12613      }
12614      return false;
12615    }
12616    function injectStyle23(targetDocument, hash, css) {
12617      if (!targetDocument.head) {
12618        return;
12619      }
12620      const runtime = getRuntime23();
12621      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12622      if (!injectedStyles) {
12623        injectedStyles = /* @__PURE__ */ new Set();
12624        runtime.injectedStyles.set(targetDocument, injectedStyles);
12625      }
12626      if (injectedStyles.has(hash)) {
12627        return;
12628      }
12629      if (documentContainsStyleHash23(targetDocument, hash)) {
12630        injectedStyles.add(hash);
12631        return;
12632      }
12633      const style = targetDocument.createElement("style");
12634      style.setAttribute(STYLE_HASH_ATTRIBUTE23, hash);
12635      style.appendChild(targetDocument.createTextNode(css));
12636      targetDocument.head.appendChild(style);
12637      injectedStyles.add(hash);
12638    }
12639    function registerDocument23(targetDocument) {
12640      const runtime = getRuntime23();
12641      runtime.documents.set(
12642        targetDocument,
12643        (runtime.documents.get(targetDocument) ?? 0) + 1
12644      );
12645      for (const [hash, css] of runtime.styles) {
12646        injectStyle23(targetDocument, hash, css);
12647      }
12648      return () => {
12649        const count = runtime.documents.get(targetDocument);
12650        if (count === void 0) {
12651          return;
12652        }
12653        if (count <= 1) {
12654          runtime.documents.delete(targetDocument);
12655          return;
12656        }
12657        runtime.documents.set(targetDocument, count - 1);
12658      };
12659    }
12660    function registerStyle23(hash, css) {
12661      const runtime = getRuntime23();
12662      runtime.styles.set(hash, css);
12663      for (const targetDocument of runtime.documents.keys()) {
12664        injectStyle23(targetDocument, hash, css);
12665      }
12666    }
12667    if (typeof process === "undefined" || true) {
12668      registerStyle23("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12669    }
12670    var style_default19 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12671    var CloseIconButton = (0, import_element42.forwardRef)(function NoticeCloseIconButton({ className, icon = close_small_default, label = (0, import_i18n5.__)("Dismiss"), ...props }, ref) {
12672      return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
12673        IconButton,
12674        {
12675          ...props,
12676          ref,
12677          className: clsx_default(style_default19["close-icon"], className),
12678          variant: "minimal",
12679          size: "small",
12680          tone: "neutral",
12681          icon,
12682          label
12683        }
12684      );
12685    });
12686  
12687    // packages/ui/build-module/notice/action-button.mjs
12688    var import_element43 = __toESM(require_element(), 1);
12689    var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
12690    var STYLE_HASH_ATTRIBUTE24 = "data-wp-hash";
12691    function getRuntime24() {
12692      const globalScope = globalThis;
12693      if (globalScope.__wpStyleRuntime) {
12694        return globalScope.__wpStyleRuntime;
12695      }
12696      globalScope.__wpStyleRuntime = {
12697        documents: /* @__PURE__ */ new Map(),
12698        styles: /* @__PURE__ */ new Map(),
12699        injectedStyles: /* @__PURE__ */ new WeakMap()
12700      };
12701      if (typeof document !== "undefined") {
12702        registerDocument24(document);
12703      }
12704      return globalScope.__wpStyleRuntime;
12705    }
12706    function documentContainsStyleHash24(targetDocument, hash) {
12707      if (!targetDocument.head) {
12708        return false;
12709      }
12710      for (const style of targetDocument.head.querySelectorAll(
12711        `style[$STYLE_HASH_ATTRIBUTE24}]`
12712      )) {
12713        if (style.getAttribute(STYLE_HASH_ATTRIBUTE24) === hash) {
12714          return true;
12715        }
12716      }
12717      return false;
12718    }
12719    function injectStyle24(targetDocument, hash, css) {
12720      if (!targetDocument.head) {
12721        return;
12722      }
12723      const runtime = getRuntime24();
12724      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12725      if (!injectedStyles) {
12726        injectedStyles = /* @__PURE__ */ new Set();
12727        runtime.injectedStyles.set(targetDocument, injectedStyles);
12728      }
12729      if (injectedStyles.has(hash)) {
12730        return;
12731      }
12732      if (documentContainsStyleHash24(targetDocument, hash)) {
12733        injectedStyles.add(hash);
12734        return;
12735      }
12736      const style = targetDocument.createElement("style");
12737      style.setAttribute(STYLE_HASH_ATTRIBUTE24, hash);
12738      style.appendChild(targetDocument.createTextNode(css));
12739      targetDocument.head.appendChild(style);
12740      injectedStyles.add(hash);
12741    }
12742    function registerDocument24(targetDocument) {
12743      const runtime = getRuntime24();
12744      runtime.documents.set(
12745        targetDocument,
12746        (runtime.documents.get(targetDocument) ?? 0) + 1
12747      );
12748      for (const [hash, css] of runtime.styles) {
12749        injectStyle24(targetDocument, hash, css);
12750      }
12751      return () => {
12752        const count = runtime.documents.get(targetDocument);
12753        if (count === void 0) {
12754          return;
12755        }
12756        if (count <= 1) {
12757          runtime.documents.delete(targetDocument);
12758          return;
12759        }
12760        runtime.documents.set(targetDocument, count - 1);
12761      };
12762    }
12763    function registerStyle24(hash, css) {
12764      const runtime = getRuntime24();
12765      runtime.styles.set(hash, css);
12766      for (const targetDocument of runtime.documents.keys()) {
12767        injectStyle24(targetDocument, hash, css);
12768      }
12769    }
12770    if (typeof process === "undefined" || true) {
12771      registerStyle24("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12772    }
12773    var style_default20 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12774    var ActionButton = (0, import_element43.forwardRef)(
12775      function NoticeActionButton({ className, loading, loadingAnnouncement, variant, ...props }, ref) {
12776        const loadingProps = loading !== void 0 ? { loading, loadingAnnouncement: loadingAnnouncement ?? "" } : {};
12777        return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
12778          Button4,
12779          {
12780            ...props,
12781            ...loadingProps,
12782            ref,
12783            size: "compact",
12784            tone: "neutral",
12785            variant,
12786            className: clsx_default(
12787              style_default20["action-button"],
12788              style_default20[`is-action-button-$variant}`],
12789              className
12790            )
12791          }
12792        );
12793      }
12794    );
12795  
12796    // packages/ui/build-module/notice/action-link.mjs
12797    var import_element44 = __toESM(require_element(), 1);
12798    var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
12799    var STYLE_HASH_ATTRIBUTE25 = "data-wp-hash";
12800    function getRuntime25() {
12801      const globalScope = globalThis;
12802      if (globalScope.__wpStyleRuntime) {
12803        return globalScope.__wpStyleRuntime;
12804      }
12805      globalScope.__wpStyleRuntime = {
12806        documents: /* @__PURE__ */ new Map(),
12807        styles: /* @__PURE__ */ new Map(),
12808        injectedStyles: /* @__PURE__ */ new WeakMap()
12809      };
12810      if (typeof document !== "undefined") {
12811        registerDocument25(document);
12812      }
12813      return globalScope.__wpStyleRuntime;
12814    }
12815    function documentContainsStyleHash25(targetDocument, hash) {
12816      if (!targetDocument.head) {
12817        return false;
12818      }
12819      for (const style of targetDocument.head.querySelectorAll(
12820        `style[$STYLE_HASH_ATTRIBUTE25}]`
12821      )) {
12822        if (style.getAttribute(STYLE_HASH_ATTRIBUTE25) === hash) {
12823          return true;
12824        }
12825      }
12826      return false;
12827    }
12828    function injectStyle25(targetDocument, hash, css) {
12829      if (!targetDocument.head) {
12830        return;
12831      }
12832      const runtime = getRuntime25();
12833      let injectedStyles = runtime.injectedStyles.get(targetDocument);
12834      if (!injectedStyles) {
12835        injectedStyles = /* @__PURE__ */ new Set();
12836        runtime.injectedStyles.set(targetDocument, injectedStyles);
12837      }
12838      if (injectedStyles.has(hash)) {
12839        return;
12840      }
12841      if (documentContainsStyleHash25(targetDocument, hash)) {
12842        injectedStyles.add(hash);
12843        return;
12844      }
12845      const style = targetDocument.createElement("style");
12846      style.setAttribute(STYLE_HASH_ATTRIBUTE25, hash);
12847      style.appendChild(targetDocument.createTextNode(css));
12848      targetDocument.head.appendChild(style);
12849      injectedStyles.add(hash);
12850    }
12851    function registerDocument25(targetDocument) {
12852      const runtime = getRuntime25();
12853      runtime.documents.set(
12854        targetDocument,
12855        (runtime.documents.get(targetDocument) ?? 0) + 1
12856      );
12857      for (const [hash, css] of runtime.styles) {
12858        injectStyle25(targetDocument, hash, css);
12859      }
12860      return () => {
12861        const count = runtime.documents.get(targetDocument);
12862        if (count === void 0) {
12863          return;
12864        }
12865        if (count <= 1) {
12866          runtime.documents.delete(targetDocument);
12867          return;
12868        }
12869        runtime.documents.set(targetDocument, count - 1);
12870      };
12871    }
12872    function registerStyle25(hash, css) {
12873      const runtime = getRuntime25();
12874      runtime.styles.set(hash, css);
12875      for (const targetDocument of runtime.documents.keys()) {
12876        injectStyle25(targetDocument, hash, css);
12877      }
12878    }
12879    if (typeof process === "undefined" || true) {
12880      registerStyle25("e57e872b6c", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._173ad03087dbb509__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)}._86733bd626c7e048__icon{color:var(--wp-ui-notice-decorative-icon-color);grid-column:1;grid-row:1;margin-inline-end:var(--wpds-dimension-gap-xs,4px)}._6688caffadaf5a66__description{color:var(--wp-ui-notice-text-color);grid-column:2;padding-block:var(--text-vertical-padding)}._48b3142dec93ee87__actions{display:flex;flex-wrap:wrap;gap:var(--wpds-dimension-gap-md,12px);grid-column:2}._173ad03087dbb509__notice:has(._6688caffadaf5a66__description) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions{margin-block-start:var(--wpds-dimension-gap-sm,8px)}.adcfc74c7c481a8b__action-button{flex-shrink:0}.b0ce2ddf3e16f445__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)}}._234d6ae581e5eb29__close-icon{grid-column:3;grid-row:1;margin-inline-start:var(--wpds-dimension-gap-xs,4px)}._4e822398b0e00dd5__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)}._1ef9a1d966bd5220__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)}.e98dc9c1e2c0bf3b__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)}._673065a55bda7056__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){._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._48b3142dec93ee87__actions,._173ad03087dbb509__notice:has(._6d6c0651ee903d00__title) ._6688caffadaf5a66__description{grid-column:1/3}}}@layer compositions{._6d6c0651ee903d00__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)}.b0ce2ddf3e16f445__action-link{margin-block:auto}._234d6ae581e5eb29__close-icon,.adcfc74c7c481a8b__action-button,.b0ce2ddf3e16f445__action-link{mix-blend-mode:luminosity;@media (forced-colors:active){mix-blend-mode:normal}}}}");
12881    }
12882    var style_default21 = { "notice": "_173ad03087dbb509__notice", "icon": "_86733bd626c7e048__icon", "description": "_6688caffadaf5a66__description", "actions": "_48b3142dec93ee87__actions", "title": "_6d6c0651ee903d00__title", "action-button": "adcfc74c7c481a8b__action-button", "action-link": "b0ce2ddf3e16f445__action-link", "close-icon": "_234d6ae581e5eb29__close-icon", "is-info": "_4e822398b0e00dd5__is-info", "is-warning": "_1ef9a1d966bd5220__is-warning", "is-success": "e98dc9c1e2c0bf3b__is-success", "is-error": "_673065a55bda7056__is-error" };
12883    var ActionLink = (0, import_element44.forwardRef)(
12884      function NoticeActionLink({ className, render, ...props }, ref) {
12885        return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
12886          Text,
12887          {
12888            ref,
12889            className: clsx_default(style_default21["action-link"], className),
12890            ...props,
12891            variant: "body-md",
12892            render: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Link, { tone: "neutral", variant: "default", render })
12893          }
12894        );
12895      }
12896    );
12897  
12898    // packages/ui/build-module/utils/use-enable-wp-compat-overlay-slot.mjs
12899    function useEnableWpCompatOverlaySlot() {
12900      if (typeof window === "undefined") {
12901        return;
12902      }
12903      const internalWindow = window;
12904      if (internalWindow.__wpUiCompatOverlaySlotEnabled !== true) {
12905        internalWindow.__wpUiCompatOverlaySlotEnabled = true;
12906      }
12907    }
12908  
12909    // packages/admin-ui/build-module/admin-theme-colors/index.mjs
12910    var DEFAULT_THEME_COLORS = {
12911      primary: "#3858e9",
12912      background: "#222524"
12913    };
12914    var ADMIN_THEME_COLORS = /* @__PURE__ */ new Map([
12915      ["modern", DEFAULT_THEME_COLORS],
12916      ["fresh", { primary: "#007cba", background: "#25292b" }],
12917      ["midnight", { primary: "#cf4339", background: "#3d4042" }],
12918      ["coffee", { primary: "#916745", background: "#5b534d" }],
12919      ["ocean", { primary: "#567958", background: "#5f787f" }],
12920      ["blue", { primary: "#437aa8", background: "#3876a8" }],
12921      ["ectoplasm", { primary: "#646c3e", background: "#4f386e" }],
12922      ["sunrise", { primary: "#ad631e", background: "#cc4541" }],
12923      ["light", { primary: "#007cba", background: "#eaeeed" }]
12924    ]);
12925    function getAdminThemeColors() {
12926      const scheme = document.body.className.match(/admin-color-([\w-]+)/)?.[1] ?? "modern";
12927      return ADMIN_THEME_COLORS.get(scheme) ?? DEFAULT_THEME_COLORS;
12928    }
12929  
12930    // packages/customize-widgets/build-module/components/customize-widgets/index.mjs
12931    var import_element60 = __toESM(require_element(), 1);
12932    var import_components7 = __toESM(require_components(), 1);
12933    var import_theme = __toESM(require_theme(), 1);
12934  
12935    // packages/customize-widgets/build-module/components/error-boundary/index.mjs
12936    var import_element45 = __toESM(require_element(), 1);
12937    var import_a11y2 = __toESM(require_a11y(), 1);
12938    var import_i18n6 = __toESM(require_i18n(), 1);
12939    var import_compose2 = __toESM(require_compose(), 1);
12940    var import_hooks = __toESM(require_hooks(), 1);
12941    var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
12942    function getErrorNotice() {
12943      return {
12944        title: (0, import_i18n6.__)("The editor has crashed"),
12945        description: (0, import_i18n6.__)(
12946          "An unknown error occurred. Reload your browser to try again, or copy the error to report the problem or search."
12947        )
12948      };
12949    }
12950    function getErrorName(error2) {
12951      return error2 instanceof Error && error2.name || "Error";
12952    }
12953    function getErrorMessage(error2) {
12954      if (typeof error2 === "string" && error2) {
12955        return error2;
12956      }
12957      if (typeof error2?.message === "string" && error2.message) {
12958        return error2.message;
12959      }
12960      return "An unknown error occurred.";
12961    }
12962    function getErrorSections(error2, componentStack) {
12963      const sections = [
12964        { label: getErrorName(error2), content: getErrorMessage(error2) }
12965      ];
12966      if (error2?.stack) {
12967        sections.push({
12968          label: "Stack",
12969          content: error2.stack.trim(),
12970          preformatted: true
12971        });
12972      }
12973      if (componentStack) {
12974        sections.push({
12975          label: "Component stack",
12976          content: componentStack.trim(),
12977          preformatted: true
12978        });
12979      }
12980      sections.push({
12981        label: "Environment",
12982        content: `User agent: $window.navigator.userAgent}`,
12983        preformatted: true
12984      });
12985      return sections;
12986    }
12987    function getErrorReport(error2, componentStack) {
12988      const sections = getErrorSections(error2, componentStack).map(
12989        ({ label, content, preformatted }) => `**$label}**
12990  
12991  $preformatted ? `\`\`\`
12992  $content}
12993  \`\`\`` : content}`
12994      );
12995      return ["### Error report", ...sections].join("\n\n");
12996    }
12997    function CopyButton({ text, children, variant = "outline" }) {
12998      const ref = (0, import_compose2.useCopyToClipboard)(text);
12999      return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.ActionButton, { variant, ref, children });
13000    }
13001    function ErrorReport({ error: error2, componentStack }) {
13002      return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13003        Stack,
13004        {
13005          className: "customize-widgets-error-boundary__report",
13006          direction: "column",
13007          gap: "md",
13008          children: getErrorSections(error2, componentStack).map(
13009            ({ label, content }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(Stack, { direction: "column", gap: "xs", children: [
13010              /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(Text, { variant: "heading-md", children: label }),
13011              /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("pre", { className: "customize-widgets-error-boundary__report-section", children: content })
13012            ] }, label)
13013          )
13014        }
13015      );
13016    }
13017    function ErrorDetails({ error: error2, componentStack }) {
13018      return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(collapsible_card_exports.Root, { className: "customize-widgets-error-boundary__details", children: [
13019        /* @__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") }) }),
13020        /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(collapsible_card_exports.Content, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13021          ErrorReport,
13022          {
13023            error: error2,
13024            componentStack
13025          }
13026        ) })
13027      ] });
13028    }
13029    var ErrorBoundary = class extends import_element45.Component {
13030      constructor() {
13031        super(...arguments);
13032        this.state = {
13033          error: null,
13034          componentStack: null
13035        };
13036      }
13037      componentDidCatch(error2, errorInfo) {
13038        const { title, description } = getErrorNotice();
13039        (0, import_a11y2.speak)(`$title}. $description}`, "assertive");
13040        this.setState({ componentStack: errorInfo?.componentStack });
13041        (0, import_hooks.doAction)("editor.ErrorBoundary.errorLogged", error2, errorInfo);
13042      }
13043      static getDerivedStateFromError(error2) {
13044        return { error: error2 };
13045      }
13046      render() {
13047        const { error: error2, componentStack } = this.state;
13048        if (!error2) {
13049          return this.props.children;
13050        }
13051        const { title, description } = getErrorNotice();
13052        return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
13053          Stack,
13054          {
13055            className: "customize-widgets-error-boundary",
13056            direction: "column",
13057            gap: "lg",
13058            children: [
13059              /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(notice_exports.Root, { intent: "error", children: [
13060                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Title, { children: title }),
13061                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Description, { children: description }),
13062                /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(notice_exports.Actions, { children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13063                  CopyButton,
13064                  {
13065                    variant: "solid",
13066                    text: () => getErrorReport(error2, componentStack),
13067                    children: (0, import_i18n6._x)("Copy error", "button label")
13068                  }
13069                ) })
13070              ] }),
13071              true ? /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
13072                ErrorDetails,
13073                {
13074                  error: error2,
13075                  componentStack
13076                }
13077              ) : null
13078            ]
13079          }
13080        );
13081      }
13082    };
13083  
13084    // packages/customize-widgets/build-module/components/sidebar-block-editor/index.mjs
13085    var import_compose4 = __toESM(require_compose(), 1);
13086    var import_core_data = __toESM(require_core_data(), 1);
13087    var import_data13 = __toESM(require_data(), 1);
13088    var import_element57 = __toESM(require_element(), 1);
13089    var import_block_editor8 = __toESM(require_block_editor(), 1);
13090    var import_media_utils = __toESM(require_media_utils(), 1);
13091    var import_preferences3 = __toESM(require_preferences(), 1);
13092  
13093    // packages/customize-widgets/build-module/components/block-inspector-button/index.mjs
13094    var import_element46 = __toESM(require_element(), 1);
13095    var import_i18n7 = __toESM(require_i18n(), 1);
13096    var import_components = __toESM(require_components(), 1);
13097    var import_data = __toESM(require_data(), 1);
13098    var import_block_editor = __toESM(require_block_editor(), 1);
13099    var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
13100    function BlockInspectorButton({ inspector, closeMenu, ...props }) {
13101      const selectedBlockClientId = (0, import_data.useSelect)(
13102        (select) => select(import_block_editor.store).getSelectedBlockClientId(),
13103        []
13104      );
13105      const selectedBlock = (0, import_element46.useMemo)(
13106        () => document.getElementById(`block-$selectedBlockClientId}`),
13107        [selectedBlockClientId]
13108      );
13109      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
13110        import_components.MenuItem,
13111        {
13112          onClick: () => {
13113            inspector.open({
13114              returnFocusWhenClose: selectedBlock
13115            });
13116            closeMenu();
13117          },
13118          ...props,
13119          children: (0, import_i18n7.__)("Show more settings")
13120        }
13121      );
13122    }
13123    var block_inspector_button_default = BlockInspectorButton;
13124  
13125    // packages/customize-widgets/build-module/components/header/index.mjs
13126    var import_components5 = __toESM(require_components(), 1);
13127    var import_block_editor3 = __toESM(require_block_editor(), 1);
13128    var import_element50 = __toESM(require_element(), 1);
13129    var import_keycodes3 = __toESM(require_keycodes(), 1);
13130    var import_i18n12 = __toESM(require_i18n(), 1);
13131  
13132    // packages/customize-widgets/build-module/components/inserter/index.mjs
13133    var import_i18n8 = __toESM(require_i18n(), 1);
13134    var import_block_editor2 = __toESM(require_block_editor(), 1);
13135    var import_components2 = __toESM(require_components(), 1);
13136    var import_compose3 = __toESM(require_compose(), 1);
13137    var import_data4 = __toESM(require_data(), 1);
13138  
13139    // packages/customize-widgets/build-module/store/index.mjs
13140    var import_data3 = __toESM(require_data(), 1);
13141  
13142    // packages/customize-widgets/build-module/store/reducer.mjs
13143    var import_data2 = __toESM(require_data(), 1);
13144    function blockInserterPanel(state = false, action) {
13145      switch (action.type) {
13146        case "SET_IS_INSERTER_OPENED":
13147          return action.value;
13148      }
13149      return state;
13150    }
13151    var reducer_default = (0, import_data2.combineReducers)({
13152      blockInserterPanel
13153    });
13154  
13155    // packages/customize-widgets/build-module/store/selectors.mjs
13156    var selectors_exports = {};
13157    __export(selectors_exports, {
13158      __experimentalGetInsertionPoint: () => __experimentalGetInsertionPoint,
13159      isInserterOpened: () => isInserterOpened
13160    });
13161    var EMPTY_INSERTION_POINT = {
13162      rootClientId: void 0,
13163      insertionIndex: void 0
13164    };
13165    function isInserterOpened(state) {
13166      return !!state.blockInserterPanel;
13167    }
13168    function __experimentalGetInsertionPoint(state) {
13169      if (typeof state.blockInserterPanel === "boolean") {
13170        return EMPTY_INSERTION_POINT;
13171      }
13172      return state.blockInserterPanel;
13173    }
13174  
13175    // packages/customize-widgets/build-module/store/actions.mjs
13176    var actions_exports = {};
13177    __export(actions_exports, {
13178      setIsInserterOpened: () => setIsInserterOpened
13179    });
13180    function setIsInserterOpened(value) {
13181      return {
13182        type: "SET_IS_INSERTER_OPENED",
13183        value
13184      };
13185    }
13186  
13187    // packages/customize-widgets/build-module/store/constants.mjs
13188    var STORE_NAME = "core/customize-widgets";
13189  
13190    // packages/customize-widgets/build-module/store/index.mjs
13191    var storeConfig = {
13192      reducer: reducer_default,
13193      selectors: selectors_exports,
13194      actions: actions_exports
13195    };
13196    var store = (0, import_data3.createReduxStore)(STORE_NAME, storeConfig);
13197    (0, import_data3.register)(store);
13198  
13199    // packages/customize-widgets/build-module/components/inserter/index.mjs
13200    var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
13201    function Inserter({ setIsOpened }) {
13202      const inserterTitleId = (0, import_compose3.useInstanceId)(
13203        Inserter,
13204        "customize-widget-layout__inserter-panel-title"
13205      );
13206      const insertionPoint = (0, import_data4.useSelect)(
13207        (select) => select(store).__experimentalGetInsertionPoint(),
13208        []
13209      );
13210      return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
13211        "div",
13212        {
13213          className: "customize-widgets-layout__inserter-panel",
13214          "aria-labelledby": inserterTitleId,
13215          children: [
13216            /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)("div", { className: "customize-widgets-layout__inserter-panel-header", children: [
13217              /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13218                "h2",
13219                {
13220                  id: inserterTitleId,
13221                  className: "customize-widgets-layout__inserter-panel-header-title",
13222                  children: (0, import_i18n8.__)("Add a block")
13223                }
13224              ),
13225              /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13226                import_components2.Button,
13227                {
13228                  size: "small",
13229                  icon: close_small_default,
13230                  onClick: () => setIsOpened(false),
13231                  "aria-label": (0, import_i18n8.__)("Close inserter")
13232                }
13233              )
13234            ] }),
13235            /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("div", { className: "customize-widgets-layout__inserter-panel-content", children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
13236              import_block_editor2.__experimentalLibrary,
13237              {
13238                rootClientId: insertionPoint.rootClientId,
13239                __experimentalInsertionIndex: insertionPoint.insertionIndex,
13240                showInserterHelpPanel: true,
13241                onSelect: () => setIsOpened(false)
13242              }
13243            ) })
13244          ]
13245        }
13246      );
13247    }
13248    var inserter_default = Inserter;
13249  
13250    // packages/customize-widgets/build-module/components/more-menu/index.mjs
13251    var import_components4 = __toESM(require_components(), 1);
13252    var import_data7 = __toESM(require_data(), 1);
13253    var import_element49 = __toESM(require_element(), 1);
13254    var import_i18n11 = __toESM(require_i18n(), 1);
13255    var import_keycodes2 = __toESM(require_keycodes(), 1);
13256    var import_keyboard_shortcuts3 = __toESM(require_keyboard_shortcuts(), 1);
13257    var import_preferences = __toESM(require_preferences(), 1);
13258  
13259    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.mjs
13260    var import_components3 = __toESM(require_components(), 1);
13261    var import_i18n10 = __toESM(require_i18n(), 1);
13262    var import_keyboard_shortcuts2 = __toESM(require_keyboard_shortcuts(), 1);
13263    var import_data6 = __toESM(require_data(), 1);
13264    var import_element48 = __toESM(require_element(), 1);
13265  
13266    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/config.mjs
13267    var import_i18n9 = __toESM(require_i18n(), 1);
13268    var textFormattingShortcuts = [
13269      {
13270        keyCombination: { modifier: "primary", character: "b" },
13271        description: (0, import_i18n9.__)("Make the selected text bold.")
13272      },
13273      {
13274        keyCombination: { modifier: "primary", character: "i" },
13275        description: (0, import_i18n9.__)("Make the selected text italic.")
13276      },
13277      {
13278        keyCombination: { modifier: "primary", character: "k" },
13279        description: (0, import_i18n9.__)("Convert the selected text into a link.")
13280      },
13281      {
13282        keyCombination: { modifier: "primaryShift", character: "k" },
13283        description: (0, import_i18n9.__)("Remove a link.")
13284      },
13285      {
13286        keyCombination: { character: "[[" },
13287        description: (0, import_i18n9.__)("Insert a link to a post or page.")
13288      },
13289      {
13290        keyCombination: { modifier: "primary", character: "u" },
13291        description: (0, import_i18n9.__)("Underline the selected text.")
13292      },
13293      {
13294        keyCombination: { modifier: "access", character: "d" },
13295        description: (0, import_i18n9.__)("Strikethrough the selected text.")
13296      },
13297      {
13298        keyCombination: { modifier: "access", character: "x" },
13299        description: (0, import_i18n9.__)("Make the selected text inline code.")
13300      },
13301      {
13302        keyCombination: {
13303          modifier: "access",
13304          character: "0"
13305        },
13306        aliases: [
13307          {
13308            modifier: "access",
13309            character: "7"
13310          }
13311        ],
13312        description: (0, import_i18n9.__)("Convert the current heading to a paragraph.")
13313      },
13314      {
13315        keyCombination: { modifier: "access", character: "1-6" },
13316        description: (0, import_i18n9.__)(
13317          "Convert the current paragraph or heading to a heading of level 1 to 6."
13318        )
13319      },
13320      {
13321        keyCombination: { modifier: "primaryShift", character: "SPACE" },
13322        description: (0, import_i18n9.__)("Add non breaking space.")
13323      }
13324    ];
13325  
13326    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/shortcut.mjs
13327    var import_element47 = __toESM(require_element(), 1);
13328    var import_keycodes = __toESM(require_keycodes(), 1);
13329    var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
13330    function KeyCombination({ keyCombination, forceAriaLabel }) {
13331      const shortcut = keyCombination.modifier ? import_keycodes.displayShortcutList[keyCombination.modifier](
13332        keyCombination.character
13333      ) : keyCombination.character;
13334      const ariaLabel = keyCombination.modifier ? import_keycodes.shortcutAriaLabel[keyCombination.modifier](
13335        keyCombination.character
13336      ) : keyCombination.character;
13337      return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13338        "kbd",
13339        {
13340          className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key-combination",
13341          "aria-label": forceAriaLabel || ariaLabel,
13342          children: (Array.isArray(shortcut) ? shortcut : [shortcut]).map(
13343            (character, index2) => {
13344              if (character === "+") {
13345                return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_element47.Fragment, { children: character }, index2);
13346              }
13347              return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13348                "kbd",
13349                {
13350                  className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-key",
13351                  children: character
13352                },
13353                index2
13354              );
13355            }
13356          )
13357        }
13358      );
13359    }
13360    function Shortcut({ description, keyCombination, aliases = [], ariaLabel }) {
13361      return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)(import_jsx_runtime54.Fragment, { children: [
13362        /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-description", children: description }),
13363        /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("div", { className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-term", children: [
13364          /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13365            KeyCombination,
13366            {
13367              keyCombination,
13368              forceAriaLabel: ariaLabel
13369            }
13370          ),
13371          aliases.map((alias, index2) => /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
13372            KeyCombination,
13373            {
13374              keyCombination: alias,
13375              forceAriaLabel: ariaLabel
13376            },
13377            index2
13378          ))
13379        ] })
13380      ] });
13381    }
13382    var shortcut_default = Shortcut;
13383  
13384    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.mjs
13385    var import_data5 = __toESM(require_data(), 1);
13386    var import_keyboard_shortcuts = __toESM(require_keyboard_shortcuts(), 1);
13387    var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
13388    function DynamicShortcut({ name }) {
13389      const { keyCombination, description, aliases } = (0, import_data5.useSelect)(
13390        (select) => {
13391          const {
13392            getShortcutKeyCombination,
13393            getShortcutDescription,
13394            getShortcutAliases
13395          } = select(import_keyboard_shortcuts.store);
13396          return {
13397            keyCombination: getShortcutKeyCombination(name),
13398            aliases: getShortcutAliases(name),
13399            description: getShortcutDescription(name)
13400          };
13401        },
13402        [name]
13403      );
13404      if (!keyCombination) {
13405        return null;
13406      }
13407      return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
13408        shortcut_default,
13409        {
13410          keyCombination,
13411          description,
13412          aliases
13413        }
13414      );
13415    }
13416    var dynamic_shortcut_default = DynamicShortcut;
13417  
13418    // packages/customize-widgets/build-module/components/keyboard-shortcut-help-modal/index.mjs
13419    var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
13420    var ShortcutList = ({ shortcuts }) => (
13421      /*
13422       * Disable reason: The `list` ARIA role is redundant but
13423       * Safari+VoiceOver won't announce the list otherwise.
13424       */
13425      /* eslint-disable jsx-a11y/no-redundant-roles */
13426      /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13427        "ul",
13428        {
13429          className: "customize-widgets-keyboard-shortcut-help-modal__shortcut-list",
13430          role: "list",
13431          children: shortcuts.map((shortcut, index2) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13432            "li",
13433            {
13434              className: "customize-widgets-keyboard-shortcut-help-modal__shortcut",
13435              children: typeof shortcut === "string" ? /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(dynamic_shortcut_default, { name: shortcut }) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(shortcut_default, { ...shortcut })
13436            },
13437            index2
13438          ))
13439        }
13440      )
13441    );
13442    var ShortcutSection = ({ title, shortcuts, className }) => /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
13443      "section",
13444      {
13445        className: clsx_default(
13446          "customize-widgets-keyboard-shortcut-help-modal__section",
13447          className
13448        ),
13449        children: [
13450          !!title && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("h2", { className: "customize-widgets-keyboard-shortcut-help-modal__section-title", children: title }),
13451          /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(ShortcutList, { shortcuts })
13452        ]
13453      }
13454    );
13455    var ShortcutCategorySection = ({
13456      title,
13457      categoryName,
13458      additionalShortcuts = []
13459    }) => {
13460      const categoryShortcuts = (0, import_data6.useSelect)(
13461        (select) => {
13462          return select(import_keyboard_shortcuts2.store).getCategoryShortcuts(
13463            categoryName
13464          );
13465        },
13466        [categoryName]
13467      );
13468      return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13469        ShortcutSection,
13470        {
13471          title,
13472          shortcuts: categoryShortcuts.concat(additionalShortcuts)
13473        }
13474      );
13475    };
13476    function KeyboardShortcutHelpModal({
13477      isModalActive,
13478      toggleModal
13479    }) {
13480      const { registerShortcut } = (0, import_data6.useDispatch)(import_keyboard_shortcuts2.store);
13481      (0, import_element48.useEffect)(() => {
13482        registerShortcut({
13483          name: "core/customize-widgets/keyboard-shortcuts",
13484          category: "main",
13485          description: (0, import_i18n10.__)("Display these keyboard shortcuts."),
13486          keyCombination: {
13487            modifier: "access",
13488            character: "h"
13489          }
13490        });
13491      }, [registerShortcut]);
13492      (0, import_keyboard_shortcuts2.useShortcut)("core/customize-widgets/keyboard-shortcuts", toggleModal);
13493      if (!isModalActive) {
13494        return null;
13495      }
13496      return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
13497        import_components3.Modal,
13498        {
13499          className: "customize-widgets-keyboard-shortcut-help-modal",
13500          title: (0, import_i18n10.__)("Keyboard shortcuts"),
13501          onRequestClose: toggleModal,
13502          children: [
13503            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13504              ShortcutSection,
13505              {
13506                className: "customize-widgets-keyboard-shortcut-help-modal__main-shortcuts",
13507                shortcuts: ["core/customize-widgets/keyboard-shortcuts"]
13508              }
13509            ),
13510            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13511              ShortcutCategorySection,
13512              {
13513                title: (0, import_i18n10.__)("Global shortcuts"),
13514                categoryName: "global"
13515              }
13516            ),
13517            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13518              ShortcutCategorySection,
13519              {
13520                title: (0, import_i18n10.__)("Selection shortcuts"),
13521                categoryName: "selection"
13522              }
13523            ),
13524            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13525              ShortcutCategorySection,
13526              {
13527                title: (0, import_i18n10.__)("Block shortcuts"),
13528                categoryName: "block",
13529                additionalShortcuts: [
13530                  {
13531                    keyCombination: { character: "/" },
13532                    description: (0, import_i18n10.__)(
13533                      "Change the block type after adding a new paragraph."
13534                    ),
13535                    /* translators: The forward-slash character. e.g. '/'. */
13536                    ariaLabel: (0, import_i18n10.__)("Forward-slash")
13537                  }
13538                ]
13539              }
13540            ),
13541            /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
13542              ShortcutSection,
13543              {
13544                title: (0, import_i18n10.__)("Text formatting"),
13545                shortcuts: textFormattingShortcuts
13546              }
13547            )
13548          ]
13549        }
13550      );
13551    }
13552  
13553    // packages/customize-widgets/build-module/components/more-menu/index.mjs
13554    var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
13555    function MoreMenu() {
13556      const [
13557        isKeyboardShortcutsModalActive,
13558        setIsKeyboardShortcutsModalVisible
13559      ] = (0, import_element49.useState)(false);
13560      const toggleKeyboardShortcutsModal = () => setIsKeyboardShortcutsModalVisible(!isKeyboardShortcutsModalActive);
13561      (0, import_keyboard_shortcuts3.useShortcut)(
13562        "core/customize-widgets/keyboard-shortcuts",
13563        toggleKeyboardShortcutsModal
13564      );
13565      const { toggle } = (0, import_data7.useDispatch)(import_preferences.store);
13566      return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
13567        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13568          import_components4.ToolbarDropdownMenu,
13569          {
13570            icon: more_vertical_default,
13571            label: (0, import_i18n11.__)("Options"),
13572            popoverProps: {
13573              placement: "bottom-end",
13574              className: "more-menu-dropdown__content"
13575            },
13576            toggleProps: {
13577              tooltipPosition: "bottom",
13578              size: "compact"
13579            },
13580            children: () => /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_jsx_runtime57.Fragment, { children: [
13581              /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components4.MenuGroup, { label: (0, import_i18n11._x)("View", "noun"), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13582                import_preferences.PreferenceToggleMenuItem,
13583                {
13584                  scope: "core/customize-widgets",
13585                  name: "fixedToolbar",
13586                  label: (0, import_i18n11.__)("Top toolbar"),
13587                  info: (0, import_i18n11.__)(
13588                    "Access all block and document tools in a single place"
13589                  ),
13590                  messageActivated: (0, import_i18n11.__)(
13591                    "Top toolbar activated"
13592                  ),
13593                  messageDeactivated: (0, import_i18n11.__)(
13594                    "Top toolbar deactivated"
13595                  )
13596                }
13597              ) }),
13598              /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(import_components4.MenuGroup, { label: (0, import_i18n11.__)("Tools"), children: [
13599                /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13600                  import_components4.MenuItem,
13601                  {
13602                    onClick: () => {
13603                      setIsKeyboardShortcutsModalVisible(true);
13604                    },
13605                    shortcut: import_keycodes2.displayShortcut.access("h"),
13606                    children: (0, import_i18n11.__)("Keyboard shortcuts")
13607                  }
13608                ),
13609                /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13610                  import_components4.MenuItem,
13611                  {
13612                    onClick: () => toggle(
13613                      "core/customize-widgets",
13614                      "welcomeGuide"
13615                    ),
13616                    children: (0, import_i18n11.__)("Welcome Guide")
13617                  }
13618                ),
13619                /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
13620                  import_components4.MenuItem,
13621                  {
13622                    role: "menuitem",
13623                    icon: external_default,
13624                    href: (0, import_i18n11.__)(
13625                      "https://wordpress.org/documentation/article/block-based-widgets-editor/"
13626                    ),
13627                    target: "_blank",
13628                    rel: "noopener",
13629                    children: [
13630                      (0, import_i18n11.__)("Help"),
13631                      /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(VisuallyHidden, {
13632                        render: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("span", {}),
13633                        /* translators: accessibility text */
13634                        children: (0, import_i18n11.__)("(opens in a new tab)")
13635                      })
13636                    ]
13637                  }
13638                )
13639              ] }),
13640              /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(import_components4.MenuGroup, { label: (0, import_i18n11.__)("Preferences"), children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13641                import_preferences.PreferenceToggleMenuItem,
13642                {
13643                  scope: "core/customize-widgets",
13644                  name: "keepCaretInsideBlock",
13645                  label: (0, import_i18n11.__)(
13646                    "Contain text cursor inside block"
13647                  ),
13648                  info: (0, import_i18n11.__)(
13649                    "Aids screen readers by stopping text caret from leaving blocks."
13650                  ),
13651                  messageActivated: (0, import_i18n11.__)(
13652                    "Contain text cursor inside block activated"
13653                  ),
13654                  messageDeactivated: (0, import_i18n11.__)(
13655                    "Contain text cursor inside block deactivated"
13656                  )
13657                }
13658              ) })
13659            ] })
13660          }
13661        ),
13662        /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
13663          KeyboardShortcutHelpModal,
13664          {
13665            isModalActive: isKeyboardShortcutsModalActive,
13666            toggleModal: toggleKeyboardShortcutsModal
13667          }
13668        )
13669      ] });
13670    }
13671  
13672    // packages/customize-widgets/build-module/components/header/index.mjs
13673    var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
13674    function Header3({
13675      sidebar,
13676      inserter,
13677      isInserterOpened: isInserterOpened2,
13678      setIsInserterOpened: setIsInserterOpened2,
13679      isFixedToolbarActive
13680    }) {
13681      const [[hasUndo, hasRedo], setUndoRedo] = (0, import_element50.useState)([
13682        sidebar.hasUndo(),
13683        sidebar.hasRedo()
13684      ]);
13685      const shortcut = (0, import_keycodes3.isAppleOS)() ? import_keycodes3.displayShortcut.primaryShift("z") : import_keycodes3.displayShortcut.primary("y");
13686      (0, import_element50.useEffect)(() => {
13687        return sidebar.subscribeHistory(() => {
13688          setUndoRedo([sidebar.hasUndo(), sidebar.hasRedo()]);
13689        });
13690      }, [sidebar]);
13691      return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(import_jsx_runtime58.Fragment, { children: [
13692        /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13693          "div",
13694          {
13695            className: clsx_default("customize-widgets-header", {
13696              "is-fixed-toolbar-active": isFixedToolbarActive
13697            }),
13698            children: /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
13699              import_block_editor3.NavigableToolbar,
13700              {
13701                className: "customize-widgets-header-toolbar",
13702                "aria-label": (0, import_i18n12.__)("Document tools"),
13703                children: [
13704                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13705                    import_components5.ToolbarItem,
13706                    {
13707                      as: import_components5.Button,
13708                      icon: !(0, import_i18n12.isRTL)() ? undo_default : redo_default,
13709                      label: (0, import_i18n12.__)("Undo"),
13710                      shortcut: import_keycodes3.displayShortcut.primary("z"),
13711                      "aria-disabled": !hasUndo,
13712                      onClick: hasUndo ? sidebar.undo : void 0,
13713                      size: "compact",
13714                      className: "customize-widgets-editor-history-button undo-button"
13715                    }
13716                  ),
13717                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13718                    import_components5.ToolbarItem,
13719                    {
13720                      as: import_components5.Button,
13721                      icon: !(0, import_i18n12.isRTL)() ? redo_default : undo_default,
13722                      label: (0, import_i18n12.__)("Redo"),
13723                      shortcut,
13724                      "aria-disabled": !hasRedo,
13725                      onClick: hasRedo ? sidebar.redo : void 0,
13726                      size: "compact",
13727                      className: "customize-widgets-editor-history-button redo-button"
13728                    }
13729                  ),
13730                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
13731                    import_components5.ToolbarItem,
13732                    {
13733                      as: import_components5.Button,
13734                      className: "customize-widgets-header-toolbar__inserter-toggle",
13735                      isPressed: isInserterOpened2,
13736                      variant: "primary",
13737                      icon: plus_default,
13738                      label: (0, import_i18n12._x)(
13739                        "Add block",
13740                        "Generic label for block inserter button"
13741                      ),
13742                      onClick: () => {
13743                        setIsInserterOpened2((isOpen) => !isOpen);
13744                      },
13745                      size: "compact"
13746                    }
13747                  ),
13748                  /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MoreMenu, {})
13749                ]
13750              }
13751            )
13752          }
13753        ),
13754        (0, import_element50.createPortal)(
13755          /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(inserter_default, { setIsOpened: setIsInserterOpened2 }),
13756          inserter.contentContainer[0]
13757        )
13758      ] });
13759    }
13760    var header_default = Header3;
13761  
13762    // packages/customize-widgets/build-module/components/inserter/use-inserter.mjs
13763    var import_element51 = __toESM(require_element(), 1);
13764    var import_data8 = __toESM(require_data(), 1);
13765    function useInserter(inserter) {
13766      const isInserterOpened2 = (0, import_data8.useSelect)(
13767        (select) => select(store).isInserterOpened(),
13768        []
13769      );
13770      const { setIsInserterOpened: setIsInserterOpened2 } = (0, import_data8.useDispatch)(store);
13771      (0, import_element51.useEffect)(() => {
13772        if (isInserterOpened2) {
13773          inserter.open();
13774        } else {
13775          inserter.close();
13776        }
13777      }, [inserter, isInserterOpened2]);
13778      return [
13779        isInserterOpened2,
13780        (0, import_element51.useCallback)(
13781          (updater) => {
13782            let isOpen = updater;
13783            if (typeof updater === "function") {
13784              isOpen = updater(
13785                (0, import_data8.select)(store).isInserterOpened()
13786              );
13787            }
13788            setIsInserterOpened2(isOpen);
13789          },
13790          [setIsInserterOpened2]
13791        )
13792      ];
13793    }
13794  
13795    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.mjs
13796    var import_block_editor5 = __toESM(require_block_editor(), 1);
13797  
13798    // packages/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.mjs
13799    var import_es6 = __toESM(require_es6(), 1);
13800    var import_element52 = __toESM(require_element(), 1);
13801    var import_is_shallow_equal = __toESM(require_is_shallow_equal(), 1);
13802    var import_widgets2 = __toESM(require_widgets(), 1);
13803  
13804    // packages/customize-widgets/build-module/utils.mjs
13805    var import_blocks = __toESM(require_blocks(), 1);
13806    var import_widgets = __toESM(require_widgets(), 1);
13807    function settingIdToWidgetId(settingId) {
13808      const matches = settingId.match(/^widget_(.+)(?:\[(\d+)\])$/);
13809      if (matches) {
13810        const idBase = matches[1];
13811        const number = parseInt(matches[2], 10);
13812        return `$idBase}-$number}`;
13813      }
13814      return settingId;
13815    }
13816    function blockToWidget(block, existingWidget = null) {
13817      let widget;
13818      const isValidLegacyWidgetBlock = block.name === "core/legacy-widget" && (block.attributes.id || block.attributes.instance);
13819      if (isValidLegacyWidgetBlock) {
13820        if (block.attributes.id) {
13821          widget = {
13822            id: block.attributes.id
13823          };
13824        } else {
13825          const { encoded, hash, raw, ...rest } = block.attributes.instance;
13826          widget = {
13827            idBase: block.attributes.idBase,
13828            instance: {
13829              ...existingWidget?.instance,
13830              // Required only for the customizer.
13831              is_widget_customizer_js_value: true,
13832              encoded_serialized_instance: encoded,
13833              instance_hash_key: hash,
13834              raw_instance: raw,
13835              ...rest
13836            }
13837          };
13838        }
13839      } else {
13840        const instance = {
13841          content: (0, import_blocks.serialize)(block)
13842        };
13843        widget = {
13844          idBase: "block",
13845          widgetClass: "WP_Widget_Block",
13846          instance: {
13847            raw_instance: instance
13848          }
13849        };
13850      }
13851      const { form, rendered, ...restExistingWidget } = existingWidget || {};
13852      return {
13853        ...restExistingWidget,
13854        ...widget
13855      };
13856    }
13857    function widgetToBlock({ id, idBase, number, instance }) {
13858      let block;
13859      const {
13860        encoded_serialized_instance: encoded,
13861        instance_hash_key: hash,
13862        raw_instance: raw,
13863        ...rest
13864      } = instance;
13865      if (idBase === "block") {
13866        const parsedBlocks = (0, import_blocks.parse)(raw.content ?? "", {
13867          __unstableSkipAutop: true
13868        });
13869        block = parsedBlocks.length ? parsedBlocks[0] : (0, import_blocks.createBlock)("core/paragraph", {});
13870      } else if (number) {
13871        block = (0, import_blocks.createBlock)("core/legacy-widget", {
13872          idBase,
13873          instance: {
13874            encoded,
13875            hash,
13876            raw,
13877            ...rest
13878          }
13879        });
13880      } else {
13881        block = (0, import_blocks.createBlock)("core/legacy-widget", {
13882          id
13883        });
13884      }
13885      return (0, import_widgets.addWidgetIdToBlock)(block, id);
13886    }
13887  
13888    // packages/customize-widgets/build-module/components/sidebar-block-editor/use-sidebar-block-editor.mjs
13889    function widgetsToBlocks(widgets) {
13890      return widgets.map((widget) => widgetToBlock(widget));
13891    }
13892    function useSidebarBlockEditor(sidebar) {
13893      const [blocks, setBlocks] = (0, import_element52.useState)(
13894        () => widgetsToBlocks(sidebar.getWidgets())
13895      );
13896      (0, import_element52.useEffect)(() => {
13897        return sidebar.subscribe((prevWidgets, nextWidgets) => {
13898          setBlocks((prevBlocks) => {
13899            const prevWidgetsMap = new Map(
13900              prevWidgets.map((widget) => [widget.id, widget])
13901            );
13902            const prevBlocksMap = new Map(
13903              prevBlocks.map((block) => [
13904                (0, import_widgets2.getWidgetIdFromBlock)(block),
13905                block
13906              ])
13907            );
13908            const nextBlocks = nextWidgets.map((nextWidget) => {
13909              const prevWidget = prevWidgetsMap.get(nextWidget.id);
13910              if (prevWidget && prevWidget === nextWidget) {
13911                return prevBlocksMap.get(nextWidget.id);
13912              }
13913              return widgetToBlock(nextWidget);
13914            });
13915            if ((0, import_is_shallow_equal.isShallowEqual)(prevBlocks, nextBlocks)) {
13916              return prevBlocks;
13917            }
13918            return nextBlocks;
13919          });
13920        });
13921      }, [sidebar]);
13922      const onChangeBlocks = (0, import_element52.useCallback)(
13923        (nextBlocks) => {
13924          setBlocks((prevBlocks) => {
13925            if ((0, import_is_shallow_equal.isShallowEqual)(prevBlocks, nextBlocks)) {
13926              return prevBlocks;
13927            }
13928            const prevBlocksMap = new Map(
13929              prevBlocks.map((block) => [
13930                (0, import_widgets2.getWidgetIdFromBlock)(block),
13931                block
13932              ])
13933            );
13934            const nextWidgets = nextBlocks.map((nextBlock) => {
13935              const widgetId = (0, import_widgets2.getWidgetIdFromBlock)(nextBlock);
13936              if (widgetId && prevBlocksMap.has(widgetId)) {
13937                const prevBlock = prevBlocksMap.get(widgetId);
13938                const prevWidget = sidebar.getWidget(widgetId);
13939                if ((0, import_es6.default)(nextBlock, prevBlock) && prevWidget) {
13940                  return prevWidget;
13941                }
13942                return blockToWidget(nextBlock, prevWidget);
13943              }
13944              return blockToWidget(nextBlock);
13945            });
13946            if ((0, import_is_shallow_equal.isShallowEqual)(sidebar.getWidgets(), nextWidgets)) {
13947              return prevBlocks;
13948            }
13949            const addedWidgetIds = sidebar.setWidgets(nextWidgets);
13950            return nextBlocks.reduce(
13951              (updatedNextBlocks, nextBlock, index2) => {
13952                const addedWidgetId = addedWidgetIds[index2];
13953                if (addedWidgetId !== null) {
13954                  if (updatedNextBlocks === nextBlocks) {
13955                    updatedNextBlocks = nextBlocks.slice();
13956                  }
13957                  updatedNextBlocks[index2] = (0, import_widgets2.addWidgetIdToBlock)(
13958                    nextBlock,
13959                    addedWidgetId
13960                  );
13961                }
13962                return updatedNextBlocks;
13963              },
13964              nextBlocks
13965            );
13966          });
13967        },
13968        [sidebar]
13969      );
13970      return [blocks, onChangeBlocks, onChangeBlocks];
13971    }
13972  
13973    // packages/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.mjs
13974    var import_element54 = __toESM(require_element(), 1);
13975    var import_data9 = __toESM(require_data(), 1);
13976    var import_block_editor4 = __toESM(require_block_editor(), 1);
13977    var import_widgets3 = __toESM(require_widgets(), 1);
13978  
13979    // packages/customize-widgets/build-module/components/focus-control/index.mjs
13980    var import_element53 = __toESM(require_element(), 1);
13981    var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
13982    var FocusControlContext = (0, import_element53.createContext)();
13983    FocusControlContext.displayName = "FocusControlContext";
13984    function FocusControl({ api, sidebarControls, children }) {
13985      const [focusedWidgetIdRef, setFocusedWidgetIdRef] = (0, import_element53.useState)({
13986        current: null
13987      });
13988      const focusWidget = (0, import_element53.useCallback)(
13989        (widgetId) => {
13990          for (const sidebarControl of sidebarControls) {
13991            const widgets = sidebarControl.setting.get();
13992            if (widgets.includes(widgetId)) {
13993              sidebarControl.sectionInstance.expand({
13994                // Schedule it after the complete callback so that
13995                // it won't be overridden by the "Back" button focus.
13996                completeCallback() {
13997                  setFocusedWidgetIdRef({ current: widgetId });
13998                }
13999              });
14000              break;
14001            }
14002          }
14003        },
14004        [sidebarControls]
14005      );
14006      (0, import_element53.useEffect)(() => {
14007        function handleFocus(settingId) {
14008          const widgetId = settingIdToWidgetId(settingId);
14009          focusWidget(widgetId);
14010        }
14011        let previewBound = false;
14012        function handleReady() {
14013          api.previewer.preview.bind(
14014            "focus-control-for-setting",
14015            handleFocus
14016          );
14017          previewBound = true;
14018        }
14019        api.previewer.bind("ready", handleReady);
14020        return () => {
14021          api.previewer.unbind("ready", handleReady);
14022          if (previewBound) {
14023            api.previewer.preview.unbind(
14024              "focus-control-for-setting",
14025              handleFocus
14026            );
14027          }
14028        };
14029      }, [api, focusWidget]);
14030      const context = (0, import_element53.useMemo)(
14031        () => [focusedWidgetIdRef, focusWidget],
14032        [focusedWidgetIdRef, focusWidget]
14033      );
14034      return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(FocusControlContext.Provider, { value: context, children });
14035    }
14036    var useFocusControl = () => (0, import_element53.useContext)(FocusControlContext);
14037  
14038    // packages/customize-widgets/build-module/components/focus-control/use-blocks-focus-control.mjs
14039    function useBlocksFocusControl(blocks) {
14040      const { selectBlock } = (0, import_data9.useDispatch)(import_block_editor4.store);
14041      const [focusedWidgetIdRef] = useFocusControl();
14042      const blocksRef = (0, import_element54.useRef)(blocks);
14043      (0, import_element54.useEffect)(() => {
14044        blocksRef.current = blocks;
14045      }, [blocks]);
14046      (0, import_element54.useEffect)(() => {
14047        if (focusedWidgetIdRef.current) {
14048          const focusedBlock = blocksRef.current.find(
14049            (block) => (0, import_widgets3.getWidgetIdFromBlock)(block) === focusedWidgetIdRef.current
14050          );
14051          if (focusedBlock) {
14052            selectBlock(focusedBlock.clientId);
14053            const blockNode = document.querySelector(
14054              `[data-block="$focusedBlock.clientId}"]`
14055            );
14056            blockNode?.focus();
14057          }
14058        }
14059      }, [focusedWidgetIdRef, selectBlock]);
14060    }
14061  
14062    // packages/customize-widgets/build-module/lock-unlock.mjs
14063    var import_private_apis2 = __toESM(require_private_apis(), 1);
14064    var { lock: lock2, unlock: unlock2 } = (0, import_private_apis2.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
14065      "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
14066      "@wordpress/customize-widgets"
14067    );
14068  
14069    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-editor-provider.mjs
14070    var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
14071    var { ExperimentalBlockEditorProvider } = unlock2(import_block_editor5.privateApis);
14072    function SidebarEditorProvider({
14073      sidebar,
14074      settings,
14075      children
14076    }) {
14077      const [blocks, onInput, onChange] = useSidebarBlockEditor(sidebar);
14078      useBlocksFocusControl(blocks);
14079      return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
14080        ExperimentalBlockEditorProvider,
14081        {
14082          value: blocks,
14083          onInput,
14084          onChange,
14085          settings,
14086          useSubRegistry: false,
14087          children
14088        }
14089      );
14090    }
14091  
14092    // packages/customize-widgets/build-module/components/welcome-guide/index.mjs
14093    var import_i18n13 = __toESM(require_i18n(), 1);
14094    var import_components6 = __toESM(require_components(), 1);
14095    var import_data10 = __toESM(require_data(), 1);
14096    var import_preferences2 = __toESM(require_preferences(), 1);
14097    var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
14098    function WelcomeGuide({ sidebar }) {
14099      const { toggle } = (0, import_data10.useDispatch)(import_preferences2.store);
14100      const isEntirelyBlockWidgets = sidebar.getWidgets().every((widget) => widget.id.startsWith("block-"));
14101      return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "customize-widgets-welcome-guide", children: [
14102        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("div", { className: "customize-widgets-welcome-guide__image__wrapper", children: /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("picture", { children: [
14103          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14104            "source",
14105            {
14106              srcSet: "https://s.w.org/images/block-editor/welcome-editor.svg",
14107              media: "(prefers-reduced-motion: reduce)"
14108            }
14109          ),
14110          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14111            "img",
14112            {
14113              className: "customize-widgets-welcome-guide__image",
14114              src: "https://s.w.org/images/block-editor/welcome-editor.gif",
14115              width: "312",
14116              height: "240",
14117              alt: ""
14118            }
14119          )
14120        ] }) }),
14121        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("h1", { className: "customize-widgets-welcome-guide__heading", children: (0, import_i18n13.__)("Welcome to block Widgets") }),
14122        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("p", { className: "customize-widgets-welcome-guide__text", children: isEntirelyBlockWidgets ? (0, import_i18n13.__)(
14123          "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."
14124        ) : (0, import_i18n13.__)(
14125          "You can now add any block to your site\u2019s widget areas. Don\u2019t worry, all of your favorite widgets still work flawlessly."
14126        ) }),
14127        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14128          import_components6.Button,
14129          {
14130            size: "compact",
14131            variant: "primary",
14132            onClick: () => toggle("core/customize-widgets", "welcomeGuide"),
14133            children: (0, import_i18n13.__)("Got it")
14134          }
14135        ),
14136        /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("hr", { className: "customize-widgets-welcome-guide__separator" }),
14137        !isEntirelyBlockWidgets && /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
14138          (0, import_i18n13.__)("Want to stick with the old widgets?"),
14139          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("br", {}),
14140          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14141            import_components6.ExternalLink,
14142            {
14143              href: (0, import_i18n13.__)(
14144                "https://wordpress.org/plugins/classic-widgets/"
14145              ),
14146              children: (0, import_i18n13.__)("Get the Classic Widgets plugin.")
14147            }
14148          )
14149        ] }),
14150        /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("p", { className: "customize-widgets-welcome-guide__more-info", children: [
14151          (0, import_i18n13.__)("New to the block editor?"),
14152          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("br", {}),
14153          /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
14154            import_components6.ExternalLink,
14155            {
14156              href: (0, import_i18n13.__)(
14157                "https://wordpress.org/documentation/article/wordpress-block-editor/"
14158              ),
14159              children: (0, import_i18n13.__)("Here's a detailed guide.")
14160            }
14161          )
14162        ] })
14163      ] });
14164    }
14165  
14166    // packages/customize-widgets/build-module/components/keyboard-shortcuts/index.mjs
14167    var import_element55 = __toESM(require_element(), 1);
14168    var import_keyboard_shortcuts4 = __toESM(require_keyboard_shortcuts(), 1);
14169    var import_keycodes4 = __toESM(require_keycodes(), 1);
14170    var import_data11 = __toESM(require_data(), 1);
14171    var import_i18n14 = __toESM(require_i18n(), 1);
14172    var import_block_editor6 = __toESM(require_block_editor(), 1);
14173    var { usesNativeUndo } = unlock2(import_block_editor6.privateApis);
14174    function KeyboardShortcuts({ undo, redo, save }) {
14175      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/undo", (event) => {
14176        if (usesNativeUndo(event)) {
14177          return;
14178        }
14179        undo();
14180        event.preventDefault();
14181      });
14182      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/redo", (event) => {
14183        if (usesNativeUndo(event)) {
14184          return;
14185        }
14186        redo();
14187        event.preventDefault();
14188      });
14189      (0, import_keyboard_shortcuts4.useShortcut)("core/customize-widgets/save", (event) => {
14190        event.preventDefault();
14191        save();
14192      });
14193      return null;
14194    }
14195    function KeyboardShortcutsRegister() {
14196      const { registerShortcut, unregisterShortcut } = (0, import_data11.useDispatch)(
14197        import_keyboard_shortcuts4.store
14198      );
14199      (0, import_element55.useEffect)(() => {
14200        registerShortcut({
14201          name: "core/customize-widgets/undo",
14202          category: "global",
14203          description: (0, import_i18n14.__)("Undo your last changes."),
14204          keyCombination: {
14205            modifier: "primary",
14206            character: "z"
14207          }
14208        });
14209        registerShortcut({
14210          name: "core/customize-widgets/redo",
14211          category: "global",
14212          description: (0, import_i18n14.__)("Redo your last undo."),
14213          keyCombination: {
14214            modifier: "primaryShift",
14215            character: "z"
14216          },
14217          // Disable on Apple OS because it conflicts with the browser's
14218          // history shortcut. It's a fine alias for both Windows and Linux.
14219          // Since there's no conflict for Ctrl+Shift+Z on both Windows and
14220          // Linux, we keep it as the default for consistency.
14221          aliases: (0, import_keycodes4.isAppleOS)() ? [] : [
14222            {
14223              modifier: "primary",
14224              character: "y"
14225            }
14226          ]
14227        });
14228        registerShortcut({
14229          name: "core/customize-widgets/save",
14230          category: "global",
14231          description: (0, import_i18n14.__)("Save your changes."),
14232          keyCombination: {
14233            modifier: "primary",
14234            character: "s"
14235          }
14236        });
14237        return () => {
14238          unregisterShortcut("core/customize-widgets/undo");
14239          unregisterShortcut("core/customize-widgets/redo");
14240          unregisterShortcut("core/customize-widgets/save");
14241        };
14242      }, [registerShortcut]);
14243      return null;
14244    }
14245    KeyboardShortcuts.Register = KeyboardShortcutsRegister;
14246    var keyboard_shortcuts_default = KeyboardShortcuts;
14247  
14248    // packages/customize-widgets/build-module/components/block-appender/index.mjs
14249    var import_element56 = __toESM(require_element(), 1);
14250    var import_block_editor7 = __toESM(require_block_editor(), 1);
14251    var import_data12 = __toESM(require_data(), 1);
14252    var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
14253    function BlockAppender(props) {
14254      const ref = (0, import_element56.useRef)();
14255      const isBlocksListEmpty = (0, import_data12.useSelect)(
14256        (select) => select(import_block_editor7.store).getBlockCount() === 0
14257      );
14258      (0, import_element56.useEffect)(() => {
14259        if (isBlocksListEmpty && ref.current) {
14260          const { ownerDocument: ownerDocument2 } = ref.current;
14261          if (!ownerDocument2.activeElement || ownerDocument2.activeElement === ownerDocument2.body) {
14262            ref.current.focus();
14263          }
14264        }
14265      }, [isBlocksListEmpty]);
14266      return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(import_block_editor7.ButtonBlockAppender, { ...props, ref });
14267    }
14268  
14269    // packages/customize-widgets/build-module/components/sidebar-block-editor/index.mjs
14270    var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
14271    var { ExperimentalBlockCanvas: BlockCanvas } = unlock2(
14272      import_block_editor8.privateApis
14273    );
14274    function SidebarBlockEditor({
14275      blockEditorSettings,
14276      sidebar,
14277      inserter,
14278      inspector
14279    }) {
14280      const [isInserterOpened2, setIsInserterOpened2] = useInserter(inserter);
14281      const isMediumViewport = (0, import_compose4.useViewportMatch)("small");
14282      const {
14283        hasUploadPermissions,
14284        isFixedToolbarActive,
14285        keepCaretInsideBlock,
14286        isWelcomeGuideActive
14287      } = (0, import_data13.useSelect)((select) => {
14288        const { get } = select(import_preferences3.store);
14289        return {
14290          hasUploadPermissions: select(import_core_data.store).canUser("create", {
14291            kind: "postType",
14292            name: "attachment"
14293          }) ?? true,
14294          isFixedToolbarActive: !!get(
14295            "core/customize-widgets",
14296            "fixedToolbar"
14297          ),
14298          keepCaretInsideBlock: !!get(
14299            "core/customize-widgets",
14300            "keepCaretInsideBlock"
14301          ),
14302          isWelcomeGuideActive: !!get(
14303            "core/customize-widgets",
14304            "welcomeGuide"
14305          )
14306        };
14307      }, []);
14308      const settings = (0, import_element57.useMemo)(() => {
14309        let mediaUploadBlockEditor;
14310        if (hasUploadPermissions) {
14311          mediaUploadBlockEditor = ({ onError, ...argumentsObject }) => {
14312            (0, import_media_utils.uploadMedia)({
14313              wpAllowedMimeTypes: blockEditorSettings.allowedMimeTypes,
14314              onError: ({ message }) => onError(message),
14315              ...argumentsObject
14316            });
14317          };
14318        }
14319        return {
14320          ...blockEditorSettings,
14321          __experimentalSetIsInserterOpened: setIsInserterOpened2,
14322          mediaUpload: mediaUploadBlockEditor,
14323          hasFixedToolbar: isFixedToolbarActive || !isMediumViewport,
14324          keepCaretInsideBlock,
14325          __unstableHasCustomAppender: true
14326        };
14327      }, [
14328        hasUploadPermissions,
14329        blockEditorSettings,
14330        isFixedToolbarActive,
14331        isMediumViewport,
14332        keepCaretInsideBlock,
14333        setIsInserterOpened2
14334      ]);
14335      if (isWelcomeGuideActive) {
14336        return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(WelcomeGuide, { sidebar });
14337      }
14338      return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(import_jsx_runtime63.Fragment, { children: [
14339        /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(keyboard_shortcuts_default.Register, {}),
14340        /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(SidebarEditorProvider, { sidebar, settings, children: [
14341          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14342            keyboard_shortcuts_default,
14343            {
14344              undo: sidebar.undo,
14345              redo: sidebar.redo,
14346              save: sidebar.save
14347            }
14348          ),
14349          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14350            header_default,
14351            {
14352              sidebar,
14353              inserter,
14354              isInserterOpened: isInserterOpened2,
14355              setIsInserterOpened: setIsInserterOpened2,
14356              isFixedToolbarActive: isFixedToolbarActive || !isMediumViewport
14357            }
14358          ),
14359          (isFixedToolbarActive || !isMediumViewport) && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockToolbar, { hideDragHandle: true }),
14360          /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14361            BlockCanvas,
14362            {
14363              shouldIframe: false,
14364              styles: settings.defaultEditorStyles,
14365              height: "100%",
14366              children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockList, { renderAppender: BlockAppender })
14367            }
14368          ),
14369          (0, import_element57.createPortal)(
14370            // This is a temporary hack to prevent button component inside <BlockInspector>
14371            // from submitting form when type="button" is not specified.
14372            /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("form", { onSubmit: (event) => event.preventDefault(), children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.BlockInspector, {}) }),
14373            inspector.contentContainer[0]
14374          )
14375        ] }),
14376        /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_block_editor8.__unstableBlockSettingsMenuFirstItem, { children: ({ onClose }) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
14377          block_inspector_button_default,
14378          {
14379            inspector,
14380            closeMenu: onClose
14381          }
14382        ) })
14383      ] });
14384    }
14385  
14386    // packages/customize-widgets/build-module/components/sidebar-controls/index.mjs
14387    var import_element58 = __toESM(require_element(), 1);
14388    var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
14389    var SidebarControlsContext = (0, import_element58.createContext)();
14390    SidebarControlsContext.displayName = "SidebarControlsContext";
14391    function SidebarControls({
14392      sidebarControls,
14393      activeSidebarControl,
14394      children
14395    }) {
14396      const context = (0, import_element58.useMemo)(
14397        () => ({
14398          sidebarControls,
14399          activeSidebarControl
14400        }),
14401        [sidebarControls, activeSidebarControl]
14402      );
14403      return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(SidebarControlsContext.Provider, { value: context, children });
14404    }
14405    function useSidebarControls() {
14406      const { sidebarControls } = (0, import_element58.useContext)(SidebarControlsContext);
14407      return sidebarControls;
14408    }
14409    function useActiveSidebarControl() {
14410      const { activeSidebarControl } = (0, import_element58.useContext)(SidebarControlsContext);
14411      return activeSidebarControl;
14412    }
14413  
14414    // packages/customize-widgets/build-module/components/customize-widgets/use-clear-selected-block.mjs
14415    var import_element59 = __toESM(require_element(), 1);
14416    var import_data14 = __toESM(require_data(), 1);
14417    var import_block_editor9 = __toESM(require_block_editor(), 1);
14418    function useClearSelectedBlock(sidebarControl, popoverRef) {
14419      const { hasSelectedBlock, hasMultiSelection } = (0, import_data14.useSelect)(import_block_editor9.store);
14420      const { clearSelectedBlock } = (0, import_data14.useDispatch)(import_block_editor9.store);
14421      (0, import_element59.useEffect)(() => {
14422        if (popoverRef.current && sidebarControl) {
14423          let handleClearSelectedBlock = function(element) {
14424            if (
14425              // 1. Make sure there are blocks being selected.
14426              (hasSelectedBlock() || hasMultiSelection()) && // 2. The element should exist in the DOM (not deleted).
14427              element && ownerDocument2.contains(element) && // 3. It should also not exist in the container, the popover, nor the dialog.
14428              !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.
14429              !inspector.expanded()
14430            ) {
14431              clearSelectedBlock();
14432            }
14433          }, handleMouseDown = function(event) {
14434            handleClearSelectedBlock(event.target);
14435          }, handleBlur = function() {
14436            handleClearSelectedBlock(ownerDocument2.activeElement);
14437          };
14438          const inspector = sidebarControl.inspector;
14439          const container = sidebarControl.container[0];
14440          const ownerDocument2 = container.ownerDocument;
14441          const ownerWindow = ownerDocument2.defaultView;
14442          ownerDocument2.addEventListener("mousedown", handleMouseDown);
14443          ownerWindow.addEventListener("blur", handleBlur);
14444          return () => {
14445            ownerDocument2.removeEventListener(
14446              "mousedown",
14447              handleMouseDown
14448            );
14449            ownerWindow.removeEventListener("blur", handleBlur);
14450          };
14451        }
14452      }, [
14453        popoverRef,
14454        sidebarControl,
14455        hasSelectedBlock,
14456        hasMultiSelection,
14457        clearSelectedBlock
14458      ]);
14459    }
14460  
14461    // packages/customize-widgets/build-module/components/customize-widgets/index.mjs
14462    var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
14463    function CustomizeWidgets({
14464      api,
14465      sidebarControls,
14466      blockEditorSettings
14467    }) {
14468      const [activeSidebarControl, setActiveSidebarControl] = (0, import_element60.useState)(null);
14469      const parentContainer = document.getElementById(
14470        "customize-theme-controls"
14471      );
14472      const popoverRef = (0, import_element60.useRef)();
14473      const adminPrimary = (0, import_element60.useMemo)(() => getAdminThemeColors().primary, []);
14474      useEnableWpCompatOverlaySlot();
14475      useClearSelectedBlock(activeSidebarControl, popoverRef);
14476      (0, import_element60.useEffect)(() => {
14477        const unsubscribers = sidebarControls.map(
14478          (sidebarControl) => sidebarControl.subscribe((expanded) => {
14479            if (expanded) {
14480              setActiveSidebarControl(sidebarControl);
14481            }
14482          })
14483        );
14484        return () => {
14485          unsubscribers.forEach((unsubscriber) => unsubscriber());
14486        };
14487      }, [sidebarControls]);
14488      const activeSidebar = activeSidebarControl && (0, import_element60.createPortal)(
14489        /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(ErrorBoundary, { children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
14490          SidebarBlockEditor,
14491          {
14492            blockEditorSettings,
14493            sidebar: activeSidebarControl.sidebarAdapter,
14494            inserter: activeSidebarControl.inserter,
14495            inspector: activeSidebarControl.inspector
14496          },
14497          activeSidebarControl.id
14498        ) }),
14499        activeSidebarControl.container[0]
14500      );
14501      const popover = parentContainer && (0, import_element60.createPortal)(
14502        /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("div", { className: "customize-widgets-popover", ref: popoverRef, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(import_components7.Popover.Slot, {}) }),
14503        parentContainer
14504      );
14505      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)(
14506        SidebarControls,
14507        {
14508          sidebarControls,
14509          activeSidebarControl,
14510          children: /* @__PURE__ */ (0, import_jsx_runtime65.jsxs)(
14511            FocusControl,
14512            {
14513              api,
14514              sidebarControls,
14515              children: [
14516                activeSidebar,
14517                popover
14518              ]
14519            }
14520          )
14521        }
14522      ) }) });
14523    }
14524  
14525    // packages/customize-widgets/build-module/controls/sidebar-section.mjs
14526    var import_i18n15 = __toESM(require_i18n(), 1);
14527  
14528    // packages/customize-widgets/build-module/controls/inspector-section.mjs
14529    function getInspectorSection() {
14530      const {
14531        wp: { customize }
14532      } = window;
14533      return class InspectorSection extends customize.Section {
14534        constructor(id, options) {
14535          super(id, options);
14536          this.parentSection = options.parentSection;
14537          this.returnFocusWhenClose = null;
14538          this._isOpen = false;
14539        }
14540        get isOpen() {
14541          return this._isOpen;
14542        }
14543        set isOpen(value) {
14544          this._isOpen = value;
14545          this.triggerActiveCallbacks();
14546        }
14547        ready() {
14548          this.contentContainer[0].classList.add(
14549            "customize-widgets-layout__inspector"
14550          );
14551        }
14552        isContextuallyActive() {
14553          return this.isOpen;
14554        }
14555        onChangeExpanded(expanded, args) {
14556          super.onChangeExpanded(expanded, args);
14557          if (this.parentSection && !args.unchanged) {
14558            if (expanded) {
14559              this.parentSection.collapse({
14560                manualTransition: true
14561              });
14562            } else {
14563              this.parentSection.expand({
14564                manualTransition: true,
14565                completeCallback: () => {
14566                  if (this.returnFocusWhenClose && !this.contentContainer[0].contains(
14567                    this.returnFocusWhenClose
14568                  )) {
14569                    this.returnFocusWhenClose.focus();
14570                  }
14571                }
14572              });
14573            }
14574          }
14575        }
14576        open({ returnFocusWhenClose } = {}) {
14577          this.isOpen = true;
14578          this.returnFocusWhenClose = returnFocusWhenClose;
14579          this.expand({
14580            allowMultiple: true
14581          });
14582        }
14583        close() {
14584          this.collapse({
14585            allowMultiple: true
14586          });
14587        }
14588        collapse(options) {
14589          this.isOpen = false;
14590          super.collapse(options);
14591        }
14592        triggerActiveCallbacks() {
14593          this.active.callbacks.fireWith(this.active, [false, true]);
14594        }
14595      };
14596    }
14597  
14598    // packages/customize-widgets/build-module/controls/sidebar-section.mjs
14599    var getInspectorSectionId = (sidebarId) => `widgets-inspector-$sidebarId}`;
14600    function getSidebarSection() {
14601      const {
14602        wp: { customize }
14603      } = window;
14604      const reduceMotionMediaQuery = window.matchMedia(
14605        "(prefers-reduced-motion: reduce)"
14606      );
14607      let isReducedMotion = reduceMotionMediaQuery.matches;
14608      reduceMotionMediaQuery.addEventListener("change", (event) => {
14609        isReducedMotion = event.matches;
14610      });
14611      return class SidebarSection extends customize.Section {
14612        ready() {
14613          const InspectorSection = getInspectorSection();
14614          this.inspector = new InspectorSection(
14615            getInspectorSectionId(this.id),
14616            {
14617              title: (0, import_i18n15.__)("Block Settings"),
14618              parentSection: this,
14619              customizeAction: [
14620                (0, import_i18n15.__)("Customizing"),
14621                (0, import_i18n15.__)("Widgets"),
14622                this.params.title
14623              ].join(" \u25B8 ")
14624            }
14625          );
14626          customize.section.add(this.inspector);
14627          this.contentContainer[0].classList.add(
14628            "customize-widgets__sidebar-section"
14629          );
14630        }
14631        hasSubSectionOpened() {
14632          return this.inspector.expanded();
14633        }
14634        onChangeExpanded(expanded, _args) {
14635          const controls = this.controls();
14636          const args = {
14637            ..._args,
14638            completeCallback() {
14639              controls.forEach((control) => {
14640                control.onChangeSectionExpanded?.(expanded, args);
14641              });
14642              _args.completeCallback?.();
14643            }
14644          };
14645          if (args.manualTransition) {
14646            if (expanded) {
14647              this.contentContainer.addClass(["busy", "open"]);
14648              this.contentContainer.removeClass("is-sub-section-open");
14649              this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
14650            } else {
14651              this.contentContainer.addClass([
14652                "busy",
14653                "is-sub-section-open"
14654              ]);
14655              this.contentContainer.closest(".wp-full-overlay").addClass("section-open");
14656              this.contentContainer.removeClass("open");
14657            }
14658            const handleTransitionEnd = () => {
14659              this.contentContainer.removeClass("busy");
14660              args.completeCallback();
14661            };
14662            if (isReducedMotion) {
14663              handleTransitionEnd();
14664            } else {
14665              this.contentContainer.one(
14666                "transitionend",
14667                handleTransitionEnd
14668              );
14669            }
14670          } else {
14671            super.onChangeExpanded(expanded, args);
14672          }
14673        }
14674      };
14675    }
14676  
14677    // packages/customize-widgets/build-module/controls/sidebar-control.mjs
14678    var import_data16 = __toESM(require_data(), 1);
14679  
14680    // packages/customize-widgets/build-module/components/sidebar-block-editor/sidebar-adapter.mjs
14681    var { wp } = window;
14682    function parseWidgetId(widgetId) {
14683      const matches = widgetId.match(/^(.+)-(\d+)$/);
14684      if (matches) {
14685        return {
14686          idBase: matches[1],
14687          number: parseInt(matches[2], 10)
14688        };
14689      }
14690      return { idBase: widgetId };
14691    }
14692    function widgetIdToSettingId(widgetId) {
14693      const { idBase, number } = parseWidgetId(widgetId);
14694      if (number) {
14695        return `widget_$idBase}[$number}]`;
14696      }
14697      return `widget_$idBase}`;
14698    }
14699    function debounce(leading, callback, timeout) {
14700      let isLeading = false;
14701      let timerID;
14702      function debounced(...args) {
14703        const result = (isLeading ? callback : leading).apply(this, args);
14704        isLeading = true;
14705        clearTimeout(timerID);
14706        timerID = setTimeout(() => {
14707          isLeading = false;
14708        }, timeout);
14709        return result;
14710      }
14711      debounced.cancel = () => {
14712        isLeading = false;
14713        clearTimeout(timerID);
14714      };
14715      return debounced;
14716    }
14717    var SidebarAdapter = class {
14718      constructor(setting, api) {
14719        this.setting = setting;
14720        this.api = api;
14721        this.locked = false;
14722        this.widgetsCache = /* @__PURE__ */ new WeakMap();
14723        this.subscribers = /* @__PURE__ */ new Set();
14724        this.history = [
14725          this._getWidgetIds().map(
14726            (widgetId) => this.getWidget(widgetId)
14727          )
14728        ];
14729        this.historyIndex = 0;
14730        this.historySubscribers = /* @__PURE__ */ new Set();
14731        this._debounceSetHistory = debounce(
14732          this._pushHistory,
14733          this._replaceHistory,
14734          1e3
14735        );
14736        this.setting.bind(this._handleSettingChange.bind(this));
14737        this.api.bind("change", this._handleAllSettingsChange.bind(this));
14738        this.undo = this.undo.bind(this);
14739        this.redo = this.redo.bind(this);
14740        this.save = this.save.bind(this);
14741      }
14742      subscribe(callback) {
14743        this.subscribers.add(callback);
14744        return () => {
14745          this.subscribers.delete(callback);
14746        };
14747      }
14748      getWidgets() {
14749        return this.history[this.historyIndex];
14750      }
14751      _emit(...args) {
14752        for (const callback of this.subscribers) {
14753          callback(...args);
14754        }
14755      }
14756      _getWidgetIds() {
14757        return this.setting.get();
14758      }
14759      _pushHistory() {
14760        this.history = [
14761          ...this.history.slice(0, this.historyIndex + 1),
14762          this._getWidgetIds().map(
14763            (widgetId) => this.getWidget(widgetId)
14764          )
14765        ];
14766        this.historyIndex += 1;
14767        this.historySubscribers.forEach((listener) => listener());
14768      }
14769      _replaceHistory() {
14770        this.history[this.historyIndex] = this._getWidgetIds().map(
14771          (widgetId) => this.getWidget(widgetId)
14772        );
14773      }
14774      _handleSettingChange() {
14775        if (this.locked) {
14776          return;
14777        }
14778        const prevWidgets = this.getWidgets();
14779        this._pushHistory();
14780        this._emit(prevWidgets, this.getWidgets());
14781      }
14782      _handleAllSettingsChange(setting) {
14783        if (this.locked) {
14784          return;
14785        }
14786        if (!setting.id.startsWith("widget_")) {
14787          return;
14788        }
14789        const widgetId = settingIdToWidgetId(setting.id);
14790        if (!this.setting.get().includes(widgetId)) {
14791          return;
14792        }
14793        const prevWidgets = this.getWidgets();
14794        this._pushHistory();
14795        this._emit(prevWidgets, this.getWidgets());
14796      }
14797      _createWidget(widget) {
14798        const widgetModel = wp.customize.Widgets.availableWidgets.findWhere({
14799          id_base: widget.idBase
14800        });
14801        let number = widget.number;
14802        if (widgetModel.get("is_multi") && !number) {
14803          widgetModel.set(
14804            "multi_number",
14805            widgetModel.get("multi_number") + 1
14806          );
14807          number = widgetModel.get("multi_number");
14808        }
14809        const settingId = number ? `widget_$widget.idBase}[$number}]` : `widget_$widget.idBase}`;
14810        const settingArgs = {
14811          transport: wp.customize.Widgets.data.selectiveRefreshableWidgets[widgetModel.get("id_base")] ? "postMessage" : "refresh",
14812          previewer: this.setting.previewer
14813        };
14814        const setting = this.api.create(
14815          settingId,
14816          settingId,
14817          "",
14818          settingArgs
14819        );
14820        setting.set(widget.instance);
14821        const widgetId = settingIdToWidgetId(settingId);
14822        return widgetId;
14823      }
14824      _removeWidget(widget) {
14825        const settingId = widgetIdToSettingId(widget.id);
14826        const setting = this.api(settingId);
14827        if (setting) {
14828          const instance = setting.get();
14829          this.widgetsCache.delete(instance);
14830        }
14831        this.api.remove(settingId);
14832      }
14833      _updateWidget(widget) {
14834        const prevWidget = this.getWidget(widget.id);
14835        if (prevWidget === widget) {
14836          return widget.id;
14837        }
14838        if (prevWidget.idBase && widget.idBase && prevWidget.idBase === widget.idBase) {
14839          const settingId = widgetIdToSettingId(widget.id);
14840          this.api(settingId).set(widget.instance);
14841          return widget.id;
14842        }
14843        this._removeWidget(widget);
14844        return this._createWidget(widget);
14845      }
14846      getWidget(widgetId) {
14847        if (!widgetId) {
14848          return null;
14849        }
14850        const { idBase, number } = parseWidgetId(widgetId);
14851        const settingId = widgetIdToSettingId(widgetId);
14852        const setting = this.api(settingId);
14853        if (!setting) {
14854          return null;
14855        }
14856        const instance = setting.get();
14857        if (this.widgetsCache.has(instance)) {
14858          return this.widgetsCache.get(instance);
14859        }
14860        const widget = {
14861          id: widgetId,
14862          idBase,
14863          number,
14864          instance
14865        };
14866        this.widgetsCache.set(instance, widget);
14867        return widget;
14868      }
14869      _updateWidgets(nextWidgets) {
14870        this.locked = true;
14871        const addedWidgetIds = [];
14872        const nextWidgetIds = nextWidgets.map((nextWidget) => {
14873          if (nextWidget.id && this.getWidget(nextWidget.id)) {
14874            addedWidgetIds.push(null);
14875            return this._updateWidget(nextWidget);
14876          }
14877          const widgetId = this._createWidget(nextWidget);
14878          addedWidgetIds.push(widgetId);
14879          return widgetId;
14880        });
14881        const deletedWidgets = this.getWidgets().filter(
14882          (widget) => !nextWidgetIds.includes(widget.id)
14883        );
14884        deletedWidgets.forEach((widget) => this._removeWidget(widget));
14885        this.setting.set(nextWidgetIds);
14886        this.locked = false;
14887        return addedWidgetIds;
14888      }
14889      setWidgets(nextWidgets) {
14890        const addedWidgetIds = this._updateWidgets(nextWidgets);
14891        this._debounceSetHistory();
14892        return addedWidgetIds;
14893      }
14894      /**
14895       * Undo/Redo related features
14896       */
14897      hasUndo() {
14898        return this.historyIndex > 0;
14899      }
14900      hasRedo() {
14901        return this.historyIndex < this.history.length - 1;
14902      }
14903      _seek(historyIndex) {
14904        const currentWidgets = this.getWidgets();
14905        this.historyIndex = historyIndex;
14906        const widgets = this.history[this.historyIndex];
14907        this._updateWidgets(widgets);
14908        this._emit(currentWidgets, this.getWidgets());
14909        this.historySubscribers.forEach((listener) => listener());
14910        this._debounceSetHistory.cancel();
14911      }
14912      undo() {
14913        if (!this.hasUndo()) {
14914          return;
14915        }
14916        this._seek(this.historyIndex - 1);
14917      }
14918      redo() {
14919        if (!this.hasRedo()) {
14920          return;
14921        }
14922        this._seek(this.historyIndex + 1);
14923      }
14924      subscribeHistory(listener) {
14925        this.historySubscribers.add(listener);
14926        return () => {
14927          this.historySubscribers.delete(listener);
14928        };
14929      }
14930      save() {
14931        this.api.previewer.save();
14932      }
14933    };
14934  
14935    // packages/customize-widgets/build-module/controls/inserter-outer-section.mjs
14936    var import_keycodes5 = __toESM(require_keycodes(), 1);
14937    var import_dom21 = __toESM(require_dom(), 1);
14938    var import_data15 = __toESM(require_data(), 1);
14939    function getInserterOuterSection() {
14940      const {
14941        wp: { customize }
14942      } = window;
14943      const OuterSection = customize.OuterSection;
14944      customize.OuterSection = class extends OuterSection {
14945        onChangeExpanded(expanded, args) {
14946          if (expanded) {
14947            customize.section.each((section) => {
14948              if (section.params.type === "outer" && section.id !== this.id) {
14949                if (section.expanded()) {
14950                  section.collapse();
14951                }
14952              }
14953            });
14954          }
14955          return super.onChangeExpanded(expanded, args);
14956        }
14957      };
14958      customize.sectionConstructor.outer = customize.OuterSection;
14959      return class InserterOuterSection extends customize.OuterSection {
14960        constructor(...args) {
14961          super(...args);
14962          this.params.type = "outer";
14963          this.activeElementBeforeExpanded = null;
14964          const ownerWindow = this.contentContainer[0].ownerDocument.defaultView;
14965          ownerWindow.addEventListener(
14966            "keydown",
14967            (event) => {
14968              if (this.expanded() && (event.keyCode === import_keycodes5.ESCAPE || event.code === "Escape") && !event.defaultPrevented) {
14969                event.preventDefault();
14970                event.stopPropagation();
14971                (0, import_data15.dispatch)(store).setIsInserterOpened(
14972                  false
14973                );
14974              }
14975            },
14976            // Use capture mode to make this run before other event listeners.
14977            true
14978          );
14979          this.contentContainer.addClass("widgets-inserter");
14980          this.isFromInternalAction = false;
14981          this.expanded.bind(() => {
14982            if (!this.isFromInternalAction) {
14983              (0, import_data15.dispatch)(store).setIsInserterOpened(
14984                this.expanded()
14985              );
14986            }
14987            this.isFromInternalAction = false;
14988          });
14989        }
14990        open() {
14991          if (!this.expanded()) {
14992            const contentContainer = this.contentContainer[0];
14993            this.activeElementBeforeExpanded = contentContainer.ownerDocument.activeElement;
14994            this.isFromInternalAction = true;
14995            this.expand({
14996              completeCallback() {
14997                const searchBox = import_dom21.focus.tabbable.find(contentContainer)[1];
14998                if (searchBox) {
14999                  searchBox.focus();
15000                }
15001              }
15002            });
15003          }
15004        }
15005        close() {
15006          if (this.expanded()) {
15007            const contentContainer = this.contentContainer[0];
15008            const activeElement2 = contentContainer.ownerDocument.activeElement;
15009            this.isFromInternalAction = true;
15010            this.collapse({
15011              completeCallback() {
15012                if (contentContainer.contains(activeElement2)) {
15013                  if (this.activeElementBeforeExpanded) {
15014                    this.activeElementBeforeExpanded.focus();
15015                  }
15016                }
15017              }
15018            });
15019          }
15020        }
15021      };
15022    }
15023  
15024    // packages/customize-widgets/build-module/controls/sidebar-control.mjs
15025    var getInserterId = (controlId) => `widgets-inserter-$controlId}`;
15026    function getSidebarControl() {
15027      const {
15028        wp: { customize }
15029      } = window;
15030      return class SidebarControl extends customize.Control {
15031        constructor(...args) {
15032          super(...args);
15033          this.subscribers = /* @__PURE__ */ new Set();
15034        }
15035        ready() {
15036          const InserterOuterSection = getInserterOuterSection();
15037          this.inserter = new InserterOuterSection(
15038            getInserterId(this.id),
15039            {}
15040          );
15041          customize.section.add(this.inserter);
15042          this.sectionInstance = customize.section(this.section());
15043          this.inspector = this.sectionInstance.inspector;
15044          this.sidebarAdapter = new SidebarAdapter(this.setting, customize);
15045        }
15046        subscribe(callback) {
15047          this.subscribers.add(callback);
15048          return () => {
15049            this.subscribers.delete(callback);
15050          };
15051        }
15052        onChangeSectionExpanded(expanded, args) {
15053          if (!args.unchanged) {
15054            if (!expanded) {
15055              (0, import_data16.dispatch)(store).setIsInserterOpened(
15056                false
15057              );
15058            }
15059            this.subscribers.forEach(
15060              (subscriber) => subscriber(expanded, args)
15061            );
15062          }
15063        }
15064      };
15065    }
15066  
15067    // packages/customize-widgets/build-module/filters/move-to-sidebar.mjs
15068    var import_block_editor10 = __toESM(require_block_editor(), 1);
15069    var import_compose5 = __toESM(require_compose(), 1);
15070    var import_data17 = __toESM(require_data(), 1);
15071    var import_hooks2 = __toESM(require_hooks(), 1);
15072    var import_widgets4 = __toESM(require_widgets(), 1);
15073    var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
15074    var withMoveToSidebarToolbarItem = (0, import_compose5.createHigherOrderComponent)(
15075      (BlockEdit) => (props) => {
15076        let widgetId = (0, import_widgets4.getWidgetIdFromBlock)(props);
15077        const sidebarControls = useSidebarControls();
15078        const activeSidebarControl = useActiveSidebarControl();
15079        const hasMultipleSidebars = sidebarControls?.length > 1;
15080        const blockName = props.name;
15081        const clientId = props.clientId;
15082        const canInsertBlockInSidebar = (0, import_data17.useSelect)(
15083          (select) => {
15084            return select(import_block_editor10.store).canInsertBlockType(
15085              blockName,
15086              ""
15087            );
15088          },
15089          [blockName]
15090        );
15091        const block = (0, import_data17.useSelect)(
15092          (select) => select(import_block_editor10.store).getBlock(clientId),
15093          [clientId]
15094        );
15095        const { removeBlock } = (0, import_data17.useDispatch)(import_block_editor10.store);
15096        const [, focusWidget] = useFocusControl();
15097        function moveToSidebar(sidebarControlId) {
15098          const newSidebarControl = sidebarControls.find(
15099            (sidebarControl) => sidebarControl.id === sidebarControlId
15100          );
15101          if (widgetId) {
15102            const oldSetting = activeSidebarControl.setting;
15103            const newSetting = newSidebarControl.setting;
15104            oldSetting(oldSetting().filter((id) => id !== widgetId));
15105            newSetting([...newSetting(), widgetId]);
15106          } else {
15107            const sidebarAdapter = newSidebarControl.sidebarAdapter;
15108            removeBlock(clientId);
15109            const addedWidgetIds = sidebarAdapter.setWidgets([
15110              ...sidebarAdapter.getWidgets(),
15111              blockToWidget(block)
15112            ]);
15113            widgetId = addedWidgetIds.reverse().find((id) => !!id);
15114          }
15115          focusWidget(widgetId);
15116        }
15117        return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)(import_jsx_runtime66.Fragment, { children: [
15118          /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(BlockEdit, { ...props }, "edit"),
15119          hasMultipleSidebars && canInsertBlockInSidebar && /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(import_block_editor10.BlockControls, { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
15120            import_widgets4.MoveToWidgetArea,
15121            {
15122              widgetAreas: sidebarControls.map(
15123                (sidebarControl) => ({
15124                  id: sidebarControl.id,
15125                  name: sidebarControl.params.label,
15126                  description: sidebarControl.params.description
15127                })
15128              ),
15129              currentWidgetAreaId: activeSidebarControl?.id,
15130              onSelect: moveToSidebar
15131            }
15132          ) })
15133        ] });
15134      },
15135      "withMoveToSidebarToolbarItem"
15136    );
15137    (0, import_hooks2.addFilter)(
15138      "editor.BlockEdit",
15139      "core/customize-widgets/block-edit",
15140      withMoveToSidebarToolbarItem
15141    );
15142  
15143    // packages/customize-widgets/build-module/filters/replace-media-upload.mjs
15144    var import_hooks3 = __toESM(require_hooks(), 1);
15145    var import_media_utils2 = __toESM(require_media_utils(), 1);
15146    var replaceMediaUpload = () => import_media_utils2.MediaUpload;
15147    (0, import_hooks3.addFilter)(
15148      "editor.MediaUpload",
15149      "core/edit-widgets/replace-media-upload",
15150      replaceMediaUpload
15151    );
15152  
15153    // packages/customize-widgets/build-module/filters/wide-widget-display.mjs
15154    var import_compose6 = __toESM(require_compose(), 1);
15155    var import_hooks4 = __toESM(require_hooks(), 1);
15156    var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
15157    var { wp: wp2 } = window;
15158    var withWideWidgetDisplay = (0, import_compose6.createHigherOrderComponent)(
15159      (BlockEdit) => (props) => {
15160        const { idBase } = props.attributes;
15161        const isWide = wp2.customize.Widgets.data.availableWidgets.find(
15162          (widget) => widget.id_base === idBase
15163        )?.is_wide ?? false;
15164        return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(BlockEdit, { ...props, isWide }, "edit");
15165      },
15166      "withWideWidgetDisplay"
15167    );
15168    (0, import_hooks4.addFilter)(
15169      "editor.BlockEdit",
15170      "core/customize-widgets/wide-widget-display",
15171      withWideWidgetDisplay
15172    );
15173  
15174    // packages/customize-widgets/build-module/index.mjs
15175    var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
15176    var { wp: wp3 } = window;
15177    var DISABLED_BLOCKS = [
15178      "core/more",
15179      "core/block",
15180      "core/freeform",
15181      "core/template-part"
15182    ];
15183    function initialize(editorName, blockEditorSettings) {
15184      (0, import_data18.dispatch)(import_preferences4.store).setDefaults("core/customize-widgets", {
15185        fixedToolbar: false,
15186        welcomeGuide: true
15187      });
15188      (0, import_data18.dispatch)(import_blocks2.store).reapplyBlockTypeFilters();
15189      const coreBlocks = (0, import_block_library.__experimentalGetCoreBlocks)().filter((block) => {
15190        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"));
15191      });
15192      (0, import_block_library.registerCoreBlocks)(coreBlocks);
15193      (0, import_widgets5.registerLegacyWidgetBlock)();
15194      if (false) {
15195        (0, import_block_library.__experimentalRegisterExperimentalCoreBlocks)({
15196          enableFSEBlocks: ENABLE_EXPERIMENTAL_FSE_BLOCKS
15197        });
15198      }
15199      (0, import_widgets5.registerLegacyWidgetVariations)(blockEditorSettings);
15200      (0, import_widgets5.registerWidgetGroupBlock)();
15201      (0, import_blocks2.setFreeformContentHandlerName)("core/html");
15202      const SidebarControl = getSidebarControl(blockEditorSettings);
15203      wp3.customize.sectionConstructor.sidebar = getSidebarSection();
15204      wp3.customize.controlConstructor.sidebar_block_editor = SidebarControl;
15205      const container = document.createElement("div");
15206      document.body.appendChild(container);
15207      wp3.customize.bind("ready", () => {
15208        const sidebarControls = [];
15209        wp3.customize.control.each((control) => {
15210          if (control instanceof SidebarControl) {
15211            sidebarControls.push(control);
15212          }
15213        });
15214        (0, import_element61.createRoot)(container).render(
15215          /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_element61.StrictMode, { children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
15216            CustomizeWidgets,
15217            {
15218              api: wp3.customize,
15219              sidebarControls,
15220              blockEditorSettings
15221            }
15222          ) })
15223        );
15224      });
15225    }
15226    return __toCommonJS(index_exports);
15227  })();
15228  /*! Bundled license information:
15229  
15230  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
15231    (**
15232     * @license React
15233     * use-sync-external-store-shim.development.js
15234     *
15235     * Copyright (c) Meta Platforms, Inc. and affiliates.
15236     *
15237     * This source code is licensed under the MIT license found in the
15238     * LICENSE file in the root directory of this source tree.
15239     *)
15240  
15241  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
15242    (**
15243     * @license React
15244     * use-sync-external-store-shim/with-selector.development.js
15245     *
15246     * Copyright (c) Meta Platforms, Inc. and affiliates.
15247     *
15248     * This source code is licensed under the MIT license found in the
15249     * LICENSE file in the root directory of this source tree.
15250     *)
15251  */
15252  (window.wp ||= {}).customizeWidgets = wp.customizeWidgets;
15253  })();


Generated : Wed Nov 11 08:20:02 2026 Cross-referenced by PHPXref