[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/js/dist/script-modules/workflow/ -> index.js (source)

   1  var __create = Object.create;
   2  var __defProp = Object.defineProperty;
   3  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
   4  var __getOwnPropNames = Object.getOwnPropertyNames;
   5  var __getProtoOf = Object.getPrototypeOf;
   6  var __hasOwnProp = Object.prototype.hasOwnProperty;
   7  var __commonJS = (cb, mod) => function __require() {
   8    return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
   9  };
  10  var __export = (target, all) => {
  11    for (var name in all)
  12      __defProp(target, name, { get: all[name], enumerable: true });
  13  };
  14  var __copyProps = (to, from, except, desc) => {
  15    if (from && typeof from === "object" || typeof from === "function") {
  16      for (let key of __getOwnPropNames(from))
  17        if (!__hasOwnProp.call(to, key) && key !== except)
  18          __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  19    }
  20    return to;
  21  };
  22  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  23    // If the importer is in node compatibility mode or this is not an ESM
  24    // file that has been converted to a CommonJS file using a Babel-
  25    // compatible transform (i.e. "__esModule" has not been set), then set
  26    // "default" to the CommonJS "module.exports" for node compatibility.
  27    isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  28    mod
  29  ));
  30  
  31  // package-external:@wordpress/element
  32  var require_element = __commonJS({
  33    "package-external:@wordpress/element"(exports, module) {
  34      module.exports = window.wp.element;
  35    }
  36  });
  37  
  38  // vendor-external:react
  39  var require_react = __commonJS({
  40    "vendor-external:react"(exports, module) {
  41      module.exports = window.React;
  42    }
  43  });
  44  
  45  // vendor-external:react/jsx-runtime
  46  var require_jsx_runtime = __commonJS({
  47    "vendor-external:react/jsx-runtime"(exports, module) {
  48      module.exports = window.ReactJSXRuntime;
  49    }
  50  });
  51  
  52  // vendor-external:react-dom
  53  var require_react_dom = __commonJS({
  54    "vendor-external:react-dom"(exports, module) {
  55      module.exports = window.ReactDOM;
  56    }
  57  });
  58  
  59  // package-external:@wordpress/primitives
  60  var require_primitives = __commonJS({
  61    "package-external:@wordpress/primitives"(exports, module) {
  62      module.exports = window.wp.primitives;
  63    }
  64  });
  65  
  66  // 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
  67  var require_use_sync_external_store_shim_development = __commonJS({
  68    "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) {
  69      "use strict";
  70      (function() {
  71        function is(x, y) {
  72          return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
  73        }
  74        function useSyncExternalStore$2(subscribe, getSnapshot) {
  75          didWarnOld18Alpha || void 0 === React118.startTransition || (didWarnOld18Alpha = true, console.error(
  76            "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."
  77          ));
  78          var value = getSnapshot();
  79          if (!didWarnUncachedGetSnapshot) {
  80            var cachedValue = getSnapshot();
  81            objectIs(value, cachedValue) || (console.error(
  82              "The result of getSnapshot should be cached to avoid an infinite loop"
  83            ), didWarnUncachedGetSnapshot = true);
  84          }
  85          cachedValue = useState25({
  86            inst: { value, getSnapshot }
  87          });
  88          var inst = cachedValue[0].inst, forceUpdate = cachedValue[1];
  89          useLayoutEffect3(
  90            function() {
  91              inst.value = value;
  92              inst.getSnapshot = getSnapshot;
  93              checkIfSnapshotChanged(inst) && forceUpdate({ inst });
  94            },
  95            [subscribe, value, getSnapshot]
  96          );
  97          useEffect20(
  98            function() {
  99              checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 100              return subscribe(function() {
 101                checkIfSnapshotChanged(inst) && forceUpdate({ inst });
 102              });
 103            },
 104            [subscribe]
 105          );
 106          useDebugValue2(value);
 107          return value;
 108        }
 109        function checkIfSnapshotChanged(inst) {
 110          var latestGetSnapshot = inst.getSnapshot;
 111          inst = inst.value;
 112          try {
 113            var nextValue = latestGetSnapshot();
 114            return !objectIs(inst, nextValue);
 115          } catch (error2) {
 116            return true;
 117          }
 118        }
 119        function useSyncExternalStore$1(subscribe, getSnapshot) {
 120          return getSnapshot();
 121        }
 122        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 123        var React118 = require_react(), objectIs = "function" === typeof Object.is ? Object.is : is, useState25 = React118.useState, useEffect20 = React118.useEffect, useLayoutEffect3 = React118.useLayoutEffect, useDebugValue2 = React118.useDebugValue, didWarnOld18Alpha = false, didWarnUncachedGetSnapshot = false, shim = "undefined" === typeof window || "undefined" === typeof window.document || "undefined" === typeof window.document.createElement ? useSyncExternalStore$1 : useSyncExternalStore$2;
 124        exports.useSyncExternalStore = void 0 !== React118.useSyncExternalStore ? React118.useSyncExternalStore : shim;
 125        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 126      })();
 127    }
 128  });
 129  
 130  // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js
 131  var require_shim = __commonJS({
 132    "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/index.js"(exports, module) {
 133      "use strict";
 134      if (false) {
 135        module.exports = null;
 136      } else {
 137        module.exports = require_use_sync_external_store_shim_development();
 138      }
 139    }
 140  });
 141  
 142  // 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
 143  var require_with_selector_development = __commonJS({
 144    "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) {
 145      "use strict";
 146      (function() {
 147        function is(x, y) {
 148          return x === y && (0 !== x || 1 / x === 1 / y) || x !== x && y !== y;
 149        }
 150        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());
 151        var React118 = require_react(), shim = require_shim(), objectIs = "function" === typeof Object.is ? Object.is : is, useSyncExternalStore3 = shim.useSyncExternalStore, useRef43 = React118.useRef, useEffect20 = React118.useEffect, useMemo34 = React118.useMemo, useDebugValue2 = React118.useDebugValue;
 152        exports.useSyncExternalStoreWithSelector = function(subscribe, getSnapshot, getServerSnapshot, selector, isEqual) {
 153          var instRef = useRef43(null);
 154          if (null === instRef.current) {
 155            var inst = { hasValue: false, value: null };
 156            instRef.current = inst;
 157          } else inst = instRef.current;
 158          instRef = useMemo34(
 159            function() {
 160              function memoizedSelector(nextSnapshot) {
 161                if (!hasMemo) {
 162                  hasMemo = true;
 163                  memoizedSnapshot = nextSnapshot;
 164                  nextSnapshot = selector(nextSnapshot);
 165                  if (void 0 !== isEqual && inst.hasValue) {
 166                    var currentSelection = inst.value;
 167                    if (isEqual(currentSelection, nextSnapshot))
 168                      return memoizedSelection = currentSelection;
 169                  }
 170                  return memoizedSelection = nextSnapshot;
 171                }
 172                currentSelection = memoizedSelection;
 173                if (objectIs(memoizedSnapshot, nextSnapshot))
 174                  return currentSelection;
 175                var nextSelection = selector(nextSnapshot);
 176                if (void 0 !== isEqual && isEqual(currentSelection, nextSelection))
 177                  return memoizedSnapshot = nextSnapshot, currentSelection;
 178                memoizedSnapshot = nextSnapshot;
 179                return memoizedSelection = nextSelection;
 180              }
 181              var hasMemo = false, memoizedSnapshot, memoizedSelection, maybeGetServerSnapshot = void 0 === getServerSnapshot ? null : getServerSnapshot;
 182              return [
 183                function() {
 184                  return memoizedSelector(getSnapshot());
 185                },
 186                null === maybeGetServerSnapshot ? void 0 : function() {
 187                  return memoizedSelector(maybeGetServerSnapshot());
 188                }
 189              ];
 190            },
 191            [getSnapshot, getServerSnapshot, selector, isEqual]
 192          );
 193          var value = useSyncExternalStore3(subscribe, instRef[0], instRef[1]);
 194          useEffect20(
 195            function() {
 196              inst.hasValue = true;
 197              inst.value = value;
 198            },
 199            [value]
 200          );
 201          useDebugValue2(value);
 202          return value;
 203        };
 204        "undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && "function" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());
 205      })();
 206    }
 207  });
 208  
 209  // node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js
 210  var require_with_selector = __commonJS({
 211    "node_modules/.store/use-sync-external-store@1.7.0-jHNF5n8408rkWhZ5NHKclA/node_modules/use-sync-external-store/shim/with-selector.js"(exports, module) {
 212      "use strict";
 213      if (false) {
 214        module.exports = null;
 215      } else {
 216        module.exports = require_with_selector_development();
 217      }
 218    }
 219  });
 220  
 221  // package-external:@wordpress/i18n
 222  var require_i18n = __commonJS({
 223    "package-external:@wordpress/i18n"(exports, module) {
 224      module.exports = window.wp.i18n;
 225    }
 226  });
 227  
 228  // package-external:@wordpress/theme
 229  var require_theme = __commonJS({
 230    "package-external:@wordpress/theme"(exports, module) {
 231      module.exports = window.wp.theme;
 232    }
 233  });
 234  
 235  // package-external:@wordpress/private-apis
 236  var require_private_apis = __commonJS({
 237    "package-external:@wordpress/private-apis"(exports, module) {
 238      module.exports = window.wp.privateApis;
 239    }
 240  });
 241  
 242  // package-external:@wordpress/data
 243  var require_data = __commonJS({
 244    "package-external:@wordpress/data"(exports, module) {
 245      module.exports = window.wp.data;
 246    }
 247  });
 248  
 249  // package-external:@wordpress/components
 250  var require_components = __commonJS({
 251    "package-external:@wordpress/components"(exports, module) {
 252      module.exports = window.wp.components;
 253    }
 254  });
 255  
 256  // package-external:@wordpress/keyboard-shortcuts
 257  var require_keyboard_shortcuts = __commonJS({
 258    "package-external:@wordpress/keyboard-shortcuts"(exports, module) {
 259      module.exports = window.wp.keyboardShortcuts;
 260    }
 261  });
 262  
 263  // package-external:@wordpress/keycodes
 264  var require_keycodes = __commonJS({
 265    "package-external:@wordpress/keycodes"(exports, module) {
 266      module.exports = window.wp.keycodes;
 267    }
 268  });
 269  
 270  // package-external:@wordpress/html-entities
 271  var require_html_entities = __commonJS({
 272    "package-external:@wordpress/html-entities"(exports, module) {
 273      module.exports = window.wp.htmlEntities;
 274    }
 275  });
 276  
 277  // packages/workflow/build-module/index.mjs
 278  var import_element53 = __toESM(require_element(), 1);
 279  
 280  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 281  var React4 = __toESM(require_react(), 1);
 282  
 283  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useRefWithInit.mjs
 284  var React = __toESM(require_react(), 1);
 285  var UNINITIALIZED = {};
 286  function useRefWithInit(init, initArg) {
 287    const ref = React.useRef(UNINITIALIZED);
 288    if (ref.current === UNINITIALIZED) {
 289      ref.current = init(initArg);
 290    }
 291    return ref;
 292  }
 293  
 294  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useMergedRefs.mjs
 295  function useMergedRefs(a, b, c, d) {
 296    const forkRef = useRefWithInit(createForkRef).current;
 297    if (didChange(forkRef, a, b, c, d)) {
 298      update(forkRef, [a, b, c, d]);
 299    }
 300    return forkRef.callback;
 301  }
 302  function useMergedRefsN(refs) {
 303    const forkRef = useRefWithInit(createForkRef).current;
 304    if (didChangeN(forkRef, refs)) {
 305      update(forkRef, refs);
 306    }
 307    return forkRef.callback;
 308  }
 309  function createForkRef() {
 310    return {
 311      callback: null,
 312      cleanup: null,
 313      refs: []
 314    };
 315  }
 316  function didChange(forkRef, a, b, c, d) {
 317    return forkRef.refs[0] !== a || forkRef.refs[1] !== b || forkRef.refs[2] !== c || forkRef.refs[3] !== d;
 318  }
 319  function didChangeN(forkRef, newRefs) {
 320    return forkRef.refs.length !== newRefs.length || forkRef.refs.some((ref, index2) => ref !== newRefs[index2]);
 321  }
 322  function update(forkRef, refs) {
 323    forkRef.refs = refs;
 324    if (refs.every((ref) => ref == null)) {
 325      forkRef.callback = null;
 326      return;
 327    }
 328    forkRef.callback = (instance) => {
 329      if (forkRef.cleanup) {
 330        forkRef.cleanup();
 331        forkRef.cleanup = null;
 332      }
 333      if (instance != null) {
 334        const cleanupCallbacks = Array(refs.length).fill(null);
 335        for (let i = 0; i < refs.length; i += 1) {
 336          const ref = refs[i];
 337          if (ref == null) {
 338            continue;
 339          }
 340          switch (typeof ref) {
 341            case "function": {
 342              const refCleanup = ref(instance);
 343              if (typeof refCleanup === "function") {
 344                cleanupCallbacks[i] = refCleanup;
 345              }
 346              break;
 347            }
 348            case "object": {
 349              ref.current = instance;
 350              break;
 351            }
 352            default:
 353          }
 354        }
 355        forkRef.cleanup = () => {
 356          for (let i = 0; i < refs.length; i += 1) {
 357            const ref = refs[i];
 358            if (ref == null) {
 359              continue;
 360            }
 361            switch (typeof ref) {
 362              case "function": {
 363                const cleanupCallback = cleanupCallbacks[i];
 364                if (typeof cleanupCallback === "function") {
 365                  cleanupCallback();
 366                } else {
 367                  void ref(null);
 368                }
 369                break;
 370              }
 371              case "object": {
 372                ref.current = null;
 373                break;
 374              }
 375              default:
 376            }
 377          }
 378        };
 379      }
 380    };
 381  }
 382  
 383  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 384  var React3 = __toESM(require_react(), 1);
 385  
 386  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/reactVersion.mjs
 387  var React2 = __toESM(require_react(), 1);
 388  var majorVersion = parseInt(React2.version, 10);
 389  function isReactVersionAtLeast(reactVersionToCheck) {
 390    return majorVersion >= reactVersionToCheck;
 391  }
 392  
 393  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/getReactElementRef.mjs
 394  function getReactElementRef(element) {
 395    if (!/* @__PURE__ */ React3.isValidElement(element)) {
 396      return null;
 397    }
 398    const reactElement = element;
 399    const propsWithRef = reactElement.props;
 400    return (isReactVersionAtLeast(19) ? propsWithRef?.ref : reactElement.ref) ?? null;
 401  }
 402  
 403  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeObjects.mjs
 404  function mergeObjects(a, b) {
 405    if (a && !b) {
 406      return a;
 407    }
 408    if (!a && b) {
 409      return b;
 410    }
 411    if (a || b) {
 412      return {
 413        ...a,
 414        ...b
 415      };
 416    }
 417    return void 0;
 418  }
 419  
 420  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/createLogOnce.mjs
 421  var loggedMessages;
 422  if (true) {
 423    loggedMessages = /* @__PURE__ */ new Set();
 424  }
 425  function createLogOnce(severity, prefix) {
 426    return function logOnce(...messages) {
 427      if (true) {
 428        const message = messages.join(" ");
 429        const output = prefix ? `$prefix}: $message}` : message;
 430        const key = `$severity}:$output}`;
 431        if (!loggedMessages.has(key)) {
 432          loggedMessages.add(key);
 433          if (severity === "warn") {
 434            console.warn(output);
 435          } else {
 436            console.error(output);
 437          }
 438        }
 439      }
 440    };
 441  }
 442  
 443  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/warn.mjs
 444  var warn = createLogOnce("warn", "Base UI");
 445  
 446  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/empty.mjs
 447  function NOOP() {
 448  }
 449  var EMPTY_ARRAY = Object.freeze([]);
 450  var EMPTY_OBJECT = Object.freeze({});
 451  
 452  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getStateAttributesProps.mjs
 453  function getStateAttributesProps(state, customMapping) {
 454    const props = {};
 455    for (const key in state) {
 456      const value = state[key];
 457      if (customMapping?.hasOwnProperty(key)) {
 458        const customProps = customMapping[key](value);
 459        if (customProps != null) {
 460          Object.assign(props, customProps);
 461        }
 462        continue;
 463      }
 464      if (value === true) {
 465        props[`data-$key.toLowerCase()}`] = "";
 466      } else if (value) {
 467        props[`data-$key.toLowerCase()}`] = value.toString();
 468      }
 469    }
 470    return props;
 471  }
 472  
 473  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveClassName.mjs
 474  function resolveClassName(className, state) {
 475    return typeof className === "function" ? className(state) : className;
 476  }
 477  
 478  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveStyle.mjs
 479  function resolveStyle(style, state) {
 480    return typeof style === "function" ? style(state) : style;
 481  }
 482  
 483  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/merge-props/mergeProps.mjs
 484  var EMPTY_PROPS = {};
 485  function mergeProps(a, b, c, d, e) {
 486    if (!c && !d && !e && !a) {
 487      return createInitialMergedProps(b);
 488    }
 489    let merged = createInitialMergedProps(a);
 490    if (b) {
 491      merged = mergeInto(merged, b);
 492    }
 493    if (c) {
 494      merged = mergeInto(merged, c);
 495    }
 496    if (d) {
 497      merged = mergeInto(merged, d);
 498    }
 499    if (e) {
 500      merged = mergeInto(merged, e);
 501    }
 502    return merged;
 503  }
 504  function mergePropsN(props) {
 505    if (props.length === 0) {
 506      return EMPTY_PROPS;
 507    }
 508    if (props.length === 1) {
 509      return createInitialMergedProps(props[0]);
 510    }
 511    let merged = createInitialMergedProps(props[0]);
 512    for (let i = 1; i < props.length; i += 1) {
 513      merged = mergeInto(merged, props[i]);
 514    }
 515    return merged;
 516  }
 517  function createInitialMergedProps(inputProps) {
 518    if (isPropsGetter(inputProps)) {
 519      return {
 520        ...inputProps(EMPTY_PROPS)
 521      };
 522    }
 523    return copyInitialProps(inputProps);
 524  }
 525  function mergeInto(merged, inputProps) {
 526    if (isPropsGetter(inputProps)) {
 527      return inputProps(merged);
 528    }
 529    return mutablyMergeInto(merged, inputProps);
 530  }
 531  function copyInitialProps(inputProps) {
 532    const copiedProps = {
 533      ...inputProps
 534    };
 535    for (const propName in copiedProps) {
 536      const propValue = copiedProps[propName];
 537      if (isEventHandler(propName, propValue)) {
 538        copiedProps[propName] = wrapEventHandler(propValue);
 539      }
 540    }
 541    return copiedProps;
 542  }
 543  function mutablyMergeInto(mergedProps, externalProps) {
 544    if (!externalProps) {
 545      return mergedProps;
 546    }
 547    for (const propName in externalProps) {
 548      const externalPropValue = externalProps[propName];
 549      switch (propName) {
 550        case "style": {
 551          mergedProps[propName] = mergeObjects(mergedProps.style, externalPropValue);
 552          break;
 553        }
 554        case "className": {
 555          mergedProps[propName] = mergeClassNames(mergedProps.className, externalPropValue);
 556          break;
 557        }
 558        default: {
 559          if (isEventHandler(propName, externalPropValue)) {
 560            mergedProps[propName] = mergeEventHandlers(mergedProps[propName], externalPropValue);
 561          } else {
 562            mergedProps[propName] = externalPropValue;
 563          }
 564        }
 565      }
 566    }
 567    return mergedProps;
 568  }
 569  function isEventHandler(key, value) {
 570    const code0 = key.charCodeAt(0);
 571    const code1 = key.charCodeAt(1);
 572    const code2 = key.charCodeAt(2);
 573    return code0 === 111 && code1 === 110 && code2 >= 65 && code2 <= 90 && (typeof value === "function" || typeof value === "undefined");
 574  }
 575  function isPropsGetter(inputProps) {
 576    return typeof inputProps === "function";
 577  }
 578  function mergeEventHandlers(ourHandler, theirHandler) {
 579    if (!theirHandler) {
 580      return ourHandler;
 581    }
 582    if (!ourHandler) {
 583      return wrapEventHandler(theirHandler);
 584    }
 585    return (...args) => {
 586      const event = args[0];
 587      if (isSyntheticEvent(event)) {
 588        const baseUIEvent = event;
 589        makeEventPreventable(baseUIEvent);
 590        const result2 = theirHandler(...args);
 591        if (!baseUIEvent.baseUIHandlerPrevented) {
 592          ourHandler?.(...args);
 593        }
 594        return result2;
 595      }
 596      const result = theirHandler(...args);
 597      ourHandler?.(...args);
 598      return result;
 599    };
 600  }
 601  function wrapEventHandler(handler) {
 602    if (!handler) {
 603      return handler;
 604    }
 605    return (...args) => {
 606      const event = args[0];
 607      if (isSyntheticEvent(event)) {
 608        makeEventPreventable(event);
 609      }
 610      return handler(...args);
 611    };
 612  }
 613  function makeEventPreventable(event) {
 614    event.preventBaseUIHandler = () => {
 615      event.baseUIHandlerPrevented = true;
 616    };
 617    return event;
 618  }
 619  function mergeClassNames(ourClassName, theirClassName) {
 620    if (theirClassName) {
 621      if (ourClassName) {
 622        return theirClassName + " " + ourClassName;
 623      }
 624      return theirClassName;
 625    }
 626    return ourClassName;
 627  }
 628  function isSyntheticEvent(event) {
 629    return event != null && typeof event === "object" && "nativeEvent" in event;
 630  }
 631  
 632  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useRenderElement.mjs
 633  var import_react = __toESM(require_react(), 1);
 634  function useRenderElement(element, componentProps, params = {}) {
 635    let renderProp = componentProps.render;
 636    if (params.enabled !== false) {
 637      renderProp = unwrapLazyRenderProp(renderProp);
 638    }
 639    const outProps = useRenderElementProps(componentProps, params, renderProp);
 640    if (params.enabled === false) {
 641      return null;
 642    }
 643    const state = params.state ?? EMPTY_OBJECT;
 644    return evaluateRenderProp(element, renderProp, outProps, state);
 645  }
 646  function useRenderElementProps(componentProps, params, renderProp) {
 647    const {
 648      className: classNameProp,
 649      style: styleProp
 650    } = componentProps;
 651    const {
 652      state = EMPTY_OBJECT,
 653      ref,
 654      props,
 655      stateAttributesMapping: stateAttributesMapping5,
 656      enabled = true
 657    } = params;
 658    const className = enabled ? resolveClassName(classNameProp, state) : void 0;
 659    const style = enabled ? resolveStyle(styleProp, state) : void 0;
 660    const stateProps = enabled ? getStateAttributesProps(state, stateAttributesMapping5) : EMPTY_OBJECT;
 661    const resolvedProps = enabled && props ? resolveRenderFunctionProps(props) : void 0;
 662    const outProps = enabled ? mergeObjects(stateProps, resolvedProps) ?? {} : EMPTY_OBJECT;
 663    if (typeof document !== "undefined") {
 664      if (!enabled) {
 665        void useMergedRefs(null, null);
 666      } else if (Array.isArray(ref)) {
 667        outProps.ref = useMergedRefsN([outProps.ref, getReactElementRef(renderProp), ...ref]);
 668      } else {
 669        outProps.ref = useMergedRefs(outProps.ref, getReactElementRef(renderProp), ref);
 670      }
 671    }
 672    if (!enabled) {
 673      return EMPTY_OBJECT;
 674    }
 675    if (className !== void 0) {
 676      outProps.className = mergeClassNames(outProps.className, className);
 677    }
 678    if (style !== void 0) {
 679      outProps.style = mergeObjects(outProps.style, style);
 680    }
 681    return outProps;
 682  }
 683  function resolveRenderFunctionProps(props) {
 684    if (Array.isArray(props)) {
 685      return mergePropsN(props);
 686    }
 687    return mergeProps(void 0, props);
 688  }
 689  var REACT_LAZY_TYPE = /* @__PURE__ */ Symbol.for("react.lazy");
 690  var COMPONENT_IDENTIFIER_PATTERN = /^[A-Z][A-Za-z0-9$]*$/;
 691  var LOWERCASE_CHARACTER_PATTERN = /[a-z]/;
 692  function unwrapLazyRenderProp(render) {
 693    if (render?.$$typeof !== REACT_LAZY_TYPE) {
 694      return render;
 695    }
 696    const unwrapped = React4.Children.toArray(render)[0];
 697    return /* @__PURE__ */ React4.isValidElement(unwrapped) ? unwrapped : render;
 698  }
 699  function evaluateRenderProp(element, render, props, state) {
 700    if (render) {
 701      if (typeof render === "function") {
 702        if (true) {
 703          warnIfRenderPropLooksLikeComponent(render);
 704        }
 705        return render(props, state);
 706      }
 707      const mergedProps = mergeProps(props, render.props);
 708      mergedProps.ref = props.ref;
 709      if (true) {
 710        if (!/* @__PURE__ */ React4.isValidElement(render)) {
 711          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"));
 712        }
 713      }
 714      return /* @__PURE__ */ React4.cloneElement(render, mergedProps);
 715    }
 716    return renderTag(element, props);
 717  }
 718  function warnIfRenderPropLooksLikeComponent(renderFn) {
 719    const functionName = renderFn.name;
 720    if (functionName.length === 0) {
 721      return;
 722    }
 723    if (!COMPONENT_IDENTIFIER_PATTERN.test(functionName)) {
 724      return;
 725    }
 726    if (!LOWERCASE_CHARACTER_PATTERN.test(functionName)) {
 727      return;
 728    }
 729    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");
 730  }
 731  function renderTag(Tag, props) {
 732    if (Tag === "button") {
 733      return /* @__PURE__ */ (0, import_react.createElement)("button", {
 734        type: "button",
 735        ...props,
 736        key: props.key
 737      });
 738    }
 739    if (Tag === "img") {
 740      return /* @__PURE__ */ (0, import_react.createElement)("img", {
 741        alt: "",
 742        ...props,
 743        key: props.key
 744      });
 745    }
 746    return /* @__PURE__ */ React4.createElement(Tag, props);
 747  }
 748  
 749  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/safeReact.mjs
 750  var React5 = __toESM(require_react(), 1);
 751  var SafeReact = {
 752    ...React5
 753  };
 754  
 755  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useStableCallback.mjs
 756  var useInsertionEffect = SafeReact.useInsertionEffect;
 757  var useSafeInsertionEffect = (
 758    // React 17 doesn't have useInsertionEffect.
 759    useInsertionEffect && // Preact replaces useInsertionEffect with useLayoutEffect and fires too late.
 760    useInsertionEffect !== SafeReact.useLayoutEffect ? useInsertionEffect : (fn) => fn()
 761  );
 762  function useStableCallback(callback) {
 763    const stable = useRefWithInit(createStableCallback).current;
 764    stable.next = callback;
 765    useSafeInsertionEffect(stable.effect);
 766    return stable.trampoline;
 767  }
 768  function createStableCallback() {
 769    const stable = {
 770      next: void 0,
 771      callback: assertNotCalled,
 772      trampoline: (...args) => stable.callback?.(...args),
 773      effect: () => {
 774        stable.callback = stable.next;
 775      }
 776    };
 777    return stable;
 778  }
 779  function assertNotCalled() {
 780    if (true) {
 781      throw (
 782        /* minify-error-disabled */
 783        new Error("Base UI: Cannot call an event handler while rendering.")
 784      );
 785    }
 786  }
 787  
 788  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useIsoLayoutEffect.mjs
 789  var React6 = __toESM(require_react(), 1);
 790  var noop = () => {
 791  };
 792  var useIsoLayoutEffect = typeof document !== "undefined" ? React6.useLayoutEffect : noop;
 793  
 794  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
 795  var React8 = __toESM(require_react(), 1);
 796  
 797  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
 798  var ReactDOM = __toESM(require_react_dom(), 1);
 799  
 800  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnMount.mjs
 801  var React7 = __toESM(require_react(), 1);
 802  function useOnMount(fn) {
 803    React7.useEffect(fn, EMPTY_ARRAY);
 804  }
 805  
 806  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useAnimationFrame.mjs
 807  var EMPTY = null;
 808  var LAST_RAF = globalThis.requestAnimationFrame;
 809  var Scheduler = class {
 810    /* This implementation uses an array as a backing data-structure for frame callbacks.
 811     * It allows `O(1)` callback cancelling by inserting a `null` in the array, though it
 812     * never calls the native `cancelAnimationFrame` if there are no frames left. This can
 813     * be much more efficient if there is a call pattern that alterns as
 814     * "request-cancel-request-cancel-…".
 815     * But in the case of "request-request-…-cancel-cancel-…", it leaves the final animation
 816     * frame to run anyway. We turn that frame into a `O(1)` no-op via `callbacksCount`. */
 817    callbacks = [];
 818    callbacksCount = 0;
 819    nextId = 1;
 820    startId = 1;
 821    isScheduled = false;
 822    tick = (timestamp) => {
 823      this.isScheduled = false;
 824      const currentCallbacks = this.callbacks;
 825      const currentCallbacksCount = this.callbacksCount;
 826      this.callbacks = [];
 827      this.callbacksCount = 0;
 828      this.startId = this.nextId;
 829      if (currentCallbacksCount > 0) {
 830        for (let i = 0; i < currentCallbacks.length; i += 1) {
 831          currentCallbacks[i]?.(timestamp);
 832        }
 833      }
 834    };
 835    request(fn) {
 836      const id = this.nextId;
 837      this.nextId += 1;
 838      this.callbacks.push(fn);
 839      this.callbacksCount += 1;
 840      const didRAFChange = LAST_RAF !== requestAnimationFrame && (LAST_RAF = requestAnimationFrame, true);
 841      if (!this.isScheduled || didRAFChange) {
 842        requestAnimationFrame(this.tick);
 843        this.isScheduled = true;
 844      }
 845      return id;
 846    }
 847    cancel(id) {
 848      const index2 = id - this.startId;
 849      if (index2 < 0 || index2 >= this.callbacks.length) {
 850        return;
 851      }
 852      if (this.callbacks[index2] === null) {
 853        return;
 854      }
 855      this.callbacks[index2] = null;
 856      this.callbacksCount -= 1;
 857    }
 858  };
 859  var scheduler = new Scheduler();
 860  var AnimationFrame = class _AnimationFrame {
 861    static create() {
 862      return new _AnimationFrame();
 863    }
 864    static request(fn) {
 865      return scheduler.request(fn);
 866    }
 867    static cancel(id) {
 868      return scheduler.cancel(id);
 869    }
 870    currentId = EMPTY;
 871    /**
 872     * Executes `fn` after `delay`, clearing any previously scheduled call.
 873     */
 874    request(fn) {
 875      this.cancel();
 876      this.currentId = scheduler.request(() => {
 877        this.currentId = EMPTY;
 878        fn();
 879      });
 880    }
 881    cancel = () => {
 882      if (this.currentId !== EMPTY) {
 883        scheduler.cancel(this.currentId);
 884        this.currentId = EMPTY;
 885      }
 886    };
 887    disposeEffect = () => {
 888      return this.cancel;
 889    };
 890  };
 891  function useAnimationFrame() {
 892    const timeout = useRefWithInit(AnimationFrame.create).current;
 893    useOnMount(timeout.disposeEffect);
 894    return timeout;
 895  }
 896  
 897  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveRef.mjs
 898  function resolveRef(maybeRef) {
 899    if (maybeRef == null) {
 900      return maybeRef;
 901    }
 902    return "current" in maybeRef ? maybeRef.current : maybeRef;
 903  }
 904  
 905  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getFiniteAnimations.mjs
 906  function getFiniteAnimations(element, options) {
 907    return element.getAnimations(options).filter((animation) => {
 908      const timing = animation.effect?.getTiming();
 909      return timing?.duration !== Infinity && timing?.iterations !== Infinity;
 910    });
 911  }
 912  
 913  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/TransitionStatusDataAttributes.mjs
 914  var startingStyle = "data-starting-style";
 915  var endingStyle = "data-ending-style";
 916  
 917  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnimationsFinished.mjs
 918  var pendingCallbacks = null;
 919  function flushBeforePaint(fn) {
 920    if (!pendingCallbacks) {
 921      const callbacks = [];
 922      pendingCallbacks = callbacks;
 923      queueMicrotask(() => {
 924        pendingCallbacks = null;
 925        ReactDOM.flushSync(() => {
 926          for (const callback of callbacks) {
 927            callback();
 928          }
 929        });
 930      });
 931    }
 932    pendingCallbacks.push(fn);
 933  }
 934  function useAnimationsFinished(elementOrRef, waitForStartingStyleRemoved = false, batch = false) {
 935    const frame = useAnimationFrame();
 936    return useStableCallback((fnToExecute, signal = null) => {
 937      frame.cancel();
 938      const element = resolveRef(elementOrRef);
 939      if (element == null) {
 940        return;
 941      }
 942      const resolvedElement = element;
 943      const done = () => {
 944        if (!batch) {
 945          ReactDOM.flushSync(fnToExecute);
 946          return;
 947        }
 948        flushBeforePaint(() => {
 949          if (!signal?.aborted) {
 950            fnToExecute();
 951          }
 952        });
 953      };
 954      if (typeof resolvedElement.getAnimations !== "function" || globalThis.BASE_UI_ANIMATIONS_DISABLED) {
 955        fnToExecute();
 956        return;
 957      }
 958      function exec() {
 959        Promise.all(getFiniteAnimations(resolvedElement).map((animation) => animation.finished.then(NOOP))).then(() => {
 960          if (!signal?.aborted) {
 961            done();
 962          }
 963        }, () => {
 964          if (signal?.aborted) {
 965            return;
 966          }
 967          const currentAnimations = getFiniteAnimations(resolvedElement);
 968          if (currentAnimations.some((animation) => animation.pending || animation.playState !== "finished")) {
 969            exec();
 970            return;
 971          }
 972          done();
 973        });
 974      }
 975      if (waitForStartingStyleRemoved) {
 976        const startingStyleAttribute = startingStyle;
 977        if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
 978          frame.request(exec);
 979          return;
 980        }
 981        const attributeObserver = new MutationObserver(() => {
 982          if (!resolvedElement.hasAttribute(startingStyleAttribute)) {
 983            attributeObserver.disconnect();
 984            exec();
 985          }
 986        });
 987        attributeObserver.observe(resolvedElement, {
 988          attributes: true,
 989          attributeFilter: [startingStyleAttribute]
 990        });
 991        signal?.addEventListener("abort", () => attributeObserver.disconnect(), {
 992          once: true
 993        });
 994        return;
 995      }
 996      frame.request(exec);
 997    });
 998  }
 999  
1000  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useOpenChangeComplete.mjs
1001  function useOpenChangeComplete(parameters) {
1002    const {
1003      enabled = true,
1004      open: open2,
1005      ref,
1006      batch = false,
1007      onComplete: onCompleteParam
1008    } = parameters;
1009    const onComplete = useStableCallback(onCompleteParam);
1010    const runOnceAnimationsFinish = useAnimationsFinished(ref, open2, batch);
1011    React8.useEffect(() => {
1012      if (!enabled) {
1013        return void 0;
1014      }
1015      const abortController = new AbortController();
1016      runOnceAnimationsFinish(onComplete, abortController.signal);
1017      return () => {
1018        abortController.abort();
1019      };
1020    }, [enabled, open2, onComplete, runOnceAnimationsFinish]);
1021  }
1022  
1023  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/stateAttributesMapping.mjs
1024  var STARTING_HOOK = {
1025    [startingStyle]: ""
1026  };
1027  var ENDING_HOOK = {
1028    [endingStyle]: ""
1029  };
1030  var transitionStatusMapping = {
1031    transitionStatus(value) {
1032      if (value === "starting") {
1033        return STARTING_HOOK;
1034      }
1035      if (value === "ending") {
1036        return ENDING_HOOK;
1037      }
1038      return null;
1039    }
1040  };
1041  
1042  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useTransitionStatus.mjs
1043  var React9 = __toESM(require_react(), 1);
1044  function useTransitionStatus(open2, enableIdleState = false, deferEndingState = false, animateInitialOpen = false) {
1045    const [transitionStatus, setTransitionStatus] = React9.useState(open2 && enableIdleState ? "idle" : void 0);
1046    const [mounted, setMounted] = React9.useState(open2 && !animateInitialOpen);
1047    if (open2 && !mounted) {
1048      setMounted(true);
1049      setTransitionStatus("starting");
1050    }
1051    if (!open2 && mounted && transitionStatus !== "ending" && !deferEndingState) {
1052      setTransitionStatus("ending");
1053    }
1054    if (!open2 && !mounted && transitionStatus === "ending") {
1055      setTransitionStatus(void 0);
1056    }
1057    useIsoLayoutEffect(() => {
1058      if (!open2 && mounted && transitionStatus !== "ending" && deferEndingState) {
1059        const frame = AnimationFrame.request(() => {
1060          setTransitionStatus("ending");
1061        });
1062        return () => {
1063          AnimationFrame.cancel(frame);
1064        };
1065      }
1066      return void 0;
1067    }, [open2, mounted, transitionStatus, deferEndingState]);
1068    useIsoLayoutEffect(() => {
1069      if (!open2 || enableIdleState || transitionStatus === void 0) {
1070        return void 0;
1071      }
1072      const frame = AnimationFrame.request(() => {
1073        setTransitionStatus(void 0);
1074      });
1075      return () => {
1076        AnimationFrame.cancel(frame);
1077      };
1078    }, [enableIdleState, open2, transitionStatus]);
1079    useIsoLayoutEffect(() => {
1080      if (!open2 || !enableIdleState) {
1081        return void 0;
1082      }
1083      if (open2 && mounted && transitionStatus !== "idle") {
1084        setTransitionStatus("starting");
1085      }
1086      const frame = AnimationFrame.request(() => {
1087        setTransitionStatus("idle");
1088      });
1089      return () => {
1090        AnimationFrame.cancel(frame);
1091      };
1092    }, [enableIdleState, open2, mounted, transitionStatus]);
1093    return {
1094      mounted,
1095      setMounted,
1096      transitionStatus
1097    };
1098  }
1099  
1100  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useTimeout.mjs
1101  var EMPTY2 = 0;
1102  var Timeout = class _Timeout {
1103    static create() {
1104      return new _Timeout();
1105    }
1106    currentId = EMPTY2;
1107    /**
1108     * Executes `fn` after `delay`, clearing any previously scheduled call.
1109     */
1110    start(delay, fn) {
1111      this.clear();
1112      this.currentId = setTimeout(() => {
1113        this.currentId = EMPTY2;
1114        fn();
1115      }, delay);
1116    }
1117    isStarted() {
1118      return this.currentId !== EMPTY2;
1119    }
1120    clear = () => {
1121      if (this.currentId !== EMPTY2) {
1122        clearTimeout(this.currentId);
1123        this.currentId = EMPTY2;
1124      }
1125    };
1126    disposeEffect = () => {
1127      return this.clear;
1128    };
1129  };
1130  function useTimeout() {
1131    const timeout = useRefWithInit(Timeout.create).current;
1132    useOnMount(timeout.disposeEffect);
1133    return timeout;
1134  }
1135  
1136  // node_modules/.store/clsx@2.1.1-XOLP1vUL9vEGfpiXm37fAw/node_modules/clsx/dist/clsx.mjs
1137  function r(e) {
1138    var t, f, n = "";
1139    if ("string" == typeof e || "number" == typeof e) n += e;
1140    else if ("object" == typeof e) if (Array.isArray(e)) {
1141      var o = e.length;
1142      for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
1143    } else for (f in e) e[f] && (n && (n += " "), n += f);
1144    return n;
1145  }
1146  function clsx() {
1147    for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
1148    return n;
1149  }
1150  var clsx_default = clsx;
1151  
1152  // packages/ui/build-module/icon/icon.mjs
1153  var import_element = __toESM(require_element(), 1);
1154  var import_primitives = __toESM(require_primitives(), 1);
1155  var import_jsx_runtime = __toESM(require_jsx_runtime(), 1);
1156  var Icon = (0, import_element.forwardRef)(
1157    function UnforwardedIcon({ icon, size: size4 = 24, style, ...restProps }, ref) {
1158      const mergedStyle = icon.props.style || style ? { ...icon.props.style, ...style } : void 0;
1159      return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
1160        import_primitives.SVG,
1161        {
1162          ref,
1163          ...icon.props,
1164          ...restProps,
1165          ...mergedStyle ? { style: mergedStyle } : {},
1166          width: size4,
1167          height: size4
1168        }
1169      );
1170    }
1171  );
1172  
1173  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1174  var React10 = __toESM(require_react(), 1);
1175  
1176  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/error.mjs
1177  var error = createLogOnce("error", "Base UI");
1178  
1179  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useControlled.mjs
1180  function useControlled({
1181    controlled,
1182    default: defaultProp,
1183    name,
1184    state = "value"
1185  }) {
1186    const {
1187      current: isControlled
1188    } = React10.useRef(controlled !== void 0);
1189    const [valueState, setValue] = React10.useState(() => defaultProp);
1190    const value = isControlled && controlled !== void 0 ? controlled : valueState;
1191    if (true) {
1192      React10.useEffect(() => {
1193        if (isControlled !== (controlled !== void 0)) {
1194          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"));
1195        }
1196      }, [state, name, controlled]);
1197      const {
1198        current: defaultValue
1199      } = React10.useRef(defaultProp);
1200      React10.useEffect(() => {
1201        if (!isControlled && serializeToDevModeString(defaultValue) !== serializeToDevModeString(defaultProp)) {
1202          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"));
1203        }
1204      }, [defaultProp]);
1205    }
1206    const setValueIfUncontrolled = React10.useCallback((newValue) => {
1207      if (!isControlled) {
1208        setValue(newValue);
1209      }
1210    }, []);
1211    return [value, setValueIfUncontrolled];
1212  }
1213  function serializeToDevModeString(input) {
1214    let nextId = 0;
1215    const seen = /* @__PURE__ */ new WeakMap();
1216    try {
1217      const result = JSON.stringify(input, function replacer(key, value) {
1218        if (key === "_owner" && this != null && typeof this === "object" && "$$typeof" in this) {
1219          return void 0;
1220        }
1221        if (typeof value === "bigint") {
1222          return `__bigint__:$value}`;
1223        }
1224        if (value !== null && typeof value === "object") {
1225          const id = seen.get(value);
1226          if (id !== void 0) {
1227            return `__object__:$id}`;
1228          }
1229          seen.set(value, nextId);
1230          nextId += 1;
1231        }
1232        return value;
1233      });
1234      return result ?? `__top__:$typeof input}`;
1235    } catch {
1236      return "__unserializable__";
1237    }
1238  }
1239  
1240  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1241  var React12 = __toESM(require_react(), 1);
1242  
1243  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeListContext.mjs
1244  var React11 = __toESM(require_react(), 1);
1245  var CompositeListContext = /* @__PURE__ */ React11.createContext({
1246    register: () => {
1247    },
1248    unregister: () => {
1249    },
1250    subscribeMapChange: () => () => {
1251    },
1252    nextIndexRef: {
1253      current: 0
1254    }
1255  });
1256  if (true) CompositeListContext.displayName = "CompositeListContext";
1257  function useCompositeListContext() {
1258    return React11.useContext(CompositeListContext);
1259  }
1260  
1261  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/CompositeList.mjs
1262  var import_jsx_runtime2 = __toESM(require_jsx_runtime(), 1);
1263  function CompositeList(props) {
1264    const {
1265      children,
1266      elementsRef,
1267      labelsRef,
1268      onMapChange: onMapChangeProp
1269    } = props;
1270    const onMapChange = useStableCallback(onMapChangeProp);
1271    const [, setMapTick] = React12.useState(0);
1272    const listeners = useRefWithInit(createListeners).current;
1273    const map = useRefWithInit(createMap).current;
1274    const nextIndexRef = React12.useRef(0);
1275    const isDirtyRef = React12.useRef(true);
1276    const itemsRef = React12.useRef(null);
1277    const mutationObserverRef = React12.useRef(null);
1278    const scheduleMapUpdate = useStableCallback(() => {
1279      if (isDirtyRef.current) {
1280        return;
1281      }
1282      isDirtyRef.current = true;
1283      setMapTick((tick) => tick + 1);
1284    });
1285    const register2 = useStableCallback((node, registration) => {
1286      map.set(node, registration);
1287      scheduleMapUpdate();
1288    });
1289    const unregister = useStableCallback((node) => {
1290      map.delete(node);
1291      scheduleMapUpdate();
1292    });
1293    const syncRefs = useStableCallback((items) => {
1294      const nextMap = /* @__PURE__ */ new Map();
1295      elementsRef.current.length = 0;
1296      if (labelsRef) {
1297        labelsRef.current.length = 0;
1298      }
1299      items.forEach((item) => {
1300        nextMap.set(item.element, {
1301          ...item.registration.metadata ?? {},
1302          index: item.index
1303        });
1304        elementsRef.current[item.index] = item.element;
1305        if (labelsRef) {
1306          labelsRef.current[item.index] = item.registration.label !== void 0 ? item.registration.label : item.registration.textRef?.current?.textContent ?? item.element.textContent;
1307        }
1308      });
1309      nextIndexRef.current = elementsRef.current.length;
1310      return nextMap;
1311    });
1312    function observe(sortedNodes) {
1313      mutationObserverRef.current?.disconnect();
1314      mutationObserverRef.current = null;
1315      if (typeof MutationObserver !== "function" || sortedNodes.length < 2) {
1316        return;
1317      }
1318      const mutationObserver = new MutationObserver((entries) => {
1319        if (!hasMovedNode(entries)) {
1320          return;
1321        }
1322        let previousConnectedNode = null;
1323        for (const node of sortedNodes) {
1324          if (!node.isConnected) {
1325            continue;
1326          }
1327          if (previousConnectedNode && sortByDocumentPosition(previousConnectedNode, node) > 0) {
1328            mutationObserver.disconnect();
1329            scheduleMapUpdate();
1330            return;
1331          }
1332          previousConnectedNode = node;
1333        }
1334      });
1335      mutationObserverRef.current = mutationObserver;
1336      const roots = /* @__PURE__ */ new Set();
1337      for (let i = 1; i < sortedNodes.length; i += 1) {
1338        const root2 = getCommonAncestor(sortedNodes[i - 1], sortedNodes[i]);
1339        if (root2) {
1340          roots.add(root2);
1341        }
1342      }
1343      roots.forEach((root2) => mutationObserver.observe(root2, {
1344        childList: true
1345      }));
1346    }
1347    const flush = useStableCallback(() => {
1348      const [items, automaticNodes] = getCompositeListSnapshot(map);
1349      const nextMap = syncRefs(items);
1350      const previousItems = itemsRef.current;
1351      const changed = !previousItems || previousItems.length !== items.length || items.some((item, index2) => {
1352        const previousItem = previousItems[index2];
1353        return item.index !== previousItem.index || item.element !== previousItem.element || item.registration.index !== previousItem.registration.index || item.registration.metadata !== previousItem.registration.metadata;
1354      });
1355      observe(automaticNodes);
1356      itemsRef.current = items;
1357      isDirtyRef.current = false;
1358      if (!changed) {
1359        return;
1360      }
1361      listeners.forEach((listener) => listener(nextMap));
1362      onMapChange(nextMap);
1363    });
1364    useIsoLayoutEffect(() => {
1365      if (!isDirtyRef.current && itemsRef.current) {
1366        syncRefs(itemsRef.current);
1367      }
1368      return () => {
1369        elementsRef.current = [];
1370        if (labelsRef) {
1371          labelsRef.current = [];
1372        }
1373      };
1374    }, [elementsRef, labelsRef, syncRefs]);
1375    useIsoLayoutEffect(() => {
1376      if (isDirtyRef.current) {
1377        flush();
1378      }
1379    });
1380    useIsoLayoutEffect(() => {
1381      return () => {
1382        mutationObserverRef.current?.disconnect();
1383        isDirtyRef.current = true;
1384      };
1385    }, []);
1386    const subscribeMapChange = useStableCallback((fn) => {
1387      listeners.add(fn);
1388      return () => {
1389        listeners.delete(fn);
1390      };
1391    });
1392    const contextValue = React12.useMemo(() => ({
1393      register: register2,
1394      unregister,
1395      subscribeMapChange,
1396      nextIndexRef
1397    }), [register2, unregister, subscribeMapChange, nextIndexRef]);
1398    return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(CompositeListContext.Provider, {
1399      value: contextValue,
1400      children
1401    });
1402  }
1403  function createMap() {
1404    return /* @__PURE__ */ new Map();
1405  }
1406  function createListeners() {
1407    return /* @__PURE__ */ new Set();
1408  }
1409  function getCompositeListSnapshot(map) {
1410    const reservedIndices = /* @__PURE__ */ new Set();
1411    const items = [];
1412    const automaticItems = [];
1413    map.forEach((registration, node) => {
1414      if (!node.isConnected) {
1415        return;
1416      }
1417      const index2 = registration.index;
1418      const item = {
1419        index: index2 ?? -1,
1420        element: node,
1421        registration
1422      };
1423      if (index2 === null) {
1424        automaticItems.push(item);
1425      } else if (index2 >= 0) {
1426        reservedIndices.add(index2);
1427        items.push(item);
1428      }
1429    });
1430    let nextAutomaticIndex = 0;
1431    automaticItems.sort((a, b) => sortByDocumentPosition(a.element, b.element));
1432    automaticItems.forEach((item) => {
1433      while (reservedIndices.has(nextAutomaticIndex)) {
1434        nextAutomaticIndex += 1;
1435      }
1436      item.index = nextAutomaticIndex;
1437      items.push(item);
1438      nextAutomaticIndex += 1;
1439    });
1440    if (reservedIndices.size > 0) {
1441      items.sort((a, b) => a.index - b.index);
1442    }
1443    return [items, automaticItems.map((item) => item.element)];
1444  }
1445  function getCommonAncestor(firstNode, lastNode) {
1446    let ancestor = firstNode.parentElement;
1447    while (ancestor && !ancestor.contains(lastNode)) {
1448      ancestor = ancestor.parentElement;
1449    }
1450    return ancestor;
1451  }
1452  function hasMovedNode(entries) {
1453    for (const entry of entries) {
1454      for (let i = 0; i < entry.removedNodes.length; i += 1) {
1455        if (entry.removedNodes[i].isConnected) {
1456          return true;
1457        }
1458      }
1459    }
1460    return false;
1461  }
1462  function sortByDocumentPosition(a, b) {
1463    if (a.nextElementSibling === b) {
1464      return -1;
1465    }
1466    if (b.nextElementSibling === a) {
1467      return 1;
1468    }
1469    return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
1470  }
1471  
1472  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1473  var React14 = __toESM(require_react(), 1);
1474  
1475  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useForcedRerendering.mjs
1476  var React13 = __toESM(require_react(), 1);
1477  function useForcedRerendering() {
1478    const [, setState] = React13.useState({});
1479    return React13.useCallback(() => {
1480      setState({});
1481    }, []);
1482  }
1483  
1484  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useId.mjs
1485  var globalId = 0;
1486  function useGlobalId(idOverride, prefix = "mui") {
1487    const defaultId = React14.useRef(void 0);
1488    const forceRerender = useForcedRerendering();
1489    const id = idOverride ?? defaultId.current;
1490    React14.useEffect(() => {
1491      if (defaultId.current == null) {
1492        globalId += 1;
1493        defaultId.current = `$prefix}-$globalId}`;
1494        if (idOverride == null) {
1495          forceRerender();
1496        }
1497      }
1498    }, [idOverride, prefix, forceRerender]);
1499    return id;
1500  }
1501  var maybeReactUseId = SafeReact.useId;
1502  function useId(idOverride, prefix) {
1503    if (maybeReactUseId !== void 0) {
1504      const reactId = maybeReactUseId();
1505      return idOverride ?? (prefix ? `$prefix}-$reactId}` : reactId);
1506    }
1507    return useGlobalId(idOverride, prefix);
1508  }
1509  
1510  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useBaseUiId.mjs
1511  function useBaseUiId(idOverride) {
1512    return useId(idOverride, "base-ui");
1513  }
1514  
1515  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/createBaseUIEventDetails.mjs
1516  function createChangeEventDetails(reason, event, trigger, customProperties) {
1517    let canceled = false;
1518    let allowPropagation = false;
1519    const custom = customProperties ?? EMPTY_OBJECT;
1520    const details = {
1521      reason,
1522      event: event ?? new Event("base-ui"),
1523      cancel() {
1524        canceled = true;
1525      },
1526      allowPropagation() {
1527        allowPropagation = true;
1528      },
1529      get isCanceled() {
1530        return canceled;
1531      },
1532      get isPropagationAllowed() {
1533        return allowPropagation;
1534      },
1535      trigger,
1536      ...custom
1537    };
1538    return details;
1539  }
1540  function createGenericEventDetails(reason, event, customProperties) {
1541    const custom = customProperties ?? EMPTY_OBJECT;
1542    const details = {
1543      reason,
1544      event: event ?? new Event("base-ui"),
1545      ...custom
1546    };
1547    return details;
1548  }
1549  
1550  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/reason-parts.mjs
1551  var reason_parts_exports = {};
1552  __export(reason_parts_exports, {
1553    cancelOpen: () => cancelOpen,
1554    chipRemovePress: () => chipRemovePress,
1555    clearPress: () => clearPress,
1556    closePress: () => closePress,
1557    closeWatcher: () => closeWatcher,
1558    decrementPress: () => decrementPress,
1559    disabled: () => disabled,
1560    drag: () => drag,
1561    escapeKey: () => escapeKey,
1562    focusOut: () => focusOut,
1563    imperativeAction: () => imperativeAction,
1564    incrementPress: () => incrementPress,
1565    initial: () => initial,
1566    inputBlur: () => inputBlur,
1567    inputChange: () => inputChange,
1568    inputClear: () => inputClear,
1569    inputPaste: () => inputPaste,
1570    inputPress: () => inputPress,
1571    itemPress: () => itemPress,
1572    keyboard: () => keyboard,
1573    linkPress: () => linkPress,
1574    listNavigation: () => listNavigation,
1575    missing: () => missing,
1576    none: () => none,
1577    outsidePress: () => outsidePress,
1578    pointer: () => pointer,
1579    popupClose: () => popupClose,
1580    scrub: () => scrub,
1581    siblingOpen: () => siblingOpen,
1582    swipe: () => swipe,
1583    trackPress: () => trackPress,
1584    triggerFocus: () => triggerFocus,
1585    triggerHover: () => triggerHover,
1586    triggerPress: () => triggerPress,
1587    wheel: () => wheel,
1588    windowResize: () => windowResize
1589  });
1590  var none = "none";
1591  var triggerPress = "trigger-press";
1592  var triggerHover = "trigger-hover";
1593  var triggerFocus = "trigger-focus";
1594  var outsidePress = "outside-press";
1595  var itemPress = "item-press";
1596  var closePress = "close-press";
1597  var linkPress = "link-press";
1598  var clearPress = "clear-press";
1599  var chipRemovePress = "chip-remove-press";
1600  var trackPress = "track-press";
1601  var incrementPress = "increment-press";
1602  var decrementPress = "decrement-press";
1603  var inputChange = "input-change";
1604  var inputClear = "input-clear";
1605  var inputBlur = "input-blur";
1606  var inputPaste = "input-paste";
1607  var inputPress = "input-press";
1608  var focusOut = "focus-out";
1609  var escapeKey = "escape-key";
1610  var closeWatcher = "close-watcher";
1611  var listNavigation = "list-navigation";
1612  var keyboard = "keyboard";
1613  var pointer = "pointer";
1614  var drag = "drag";
1615  var wheel = "wheel";
1616  var scrub = "scrub";
1617  var popupClose = "popup-close";
1618  var cancelOpen = "cancel-open";
1619  var siblingOpen = "sibling-open";
1620  var disabled = "disabled";
1621  var missing = "missing";
1622  var initial = "initial";
1623  var imperativeAction = "imperative-action";
1624  var swipe = "swipe";
1625  var windowResize = "window-resize";
1626  
1627  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/list/useCompositeListItem.mjs
1628  var React15 = __toESM(require_react(), 1);
1629  function useCompositeListItem(params = {}) {
1630    const {
1631      guess,
1632      label,
1633      metadata,
1634      textRef,
1635      index: externalIndex
1636    } = params;
1637    const {
1638      register: register2,
1639      unregister,
1640      subscribeMapChange,
1641      nextIndexRef
1642    } = useCompositeListContext();
1643    const indexRef = React15.useRef(-1);
1644    const [internalIndex, setInternalIndex] = React15.useState(externalIndex == null && guess ? () => {
1645      if (indexRef.current === -1) {
1646        const newIndex = nextIndexRef.current;
1647        nextIndexRef.current += 1;
1648        indexRef.current = newIndex;
1649      }
1650      return indexRef.current;
1651    } : -1);
1652    const index2 = externalIndex ?? internalIndex;
1653    const componentRef = React15.useRef(null);
1654    const ref = React15.useCallback((node) => {
1655      const previousNode = componentRef.current;
1656      if (previousNode) {
1657        unregister(previousNode);
1658      }
1659      componentRef.current = node;
1660      if (node) {
1661        register2(node, {
1662          metadata: metadata ?? null,
1663          index: externalIndex ?? null,
1664          label,
1665          textRef
1666        });
1667      }
1668    }, [externalIndex, register2, unregister, metadata, label, textRef]);
1669    useIsoLayoutEffect(() => {
1670      if (externalIndex != null) {
1671        return void 0;
1672      }
1673      return subscribeMapChange((map) => {
1674        const i = componentRef.current ? map.get(componentRef.current)?.index : null;
1675        if (i != null) {
1676          setInternalIndex(i);
1677        }
1678      });
1679    }, [externalIndex, subscribeMapChange]);
1680    return {
1681      ref,
1682      index: index2
1683    };
1684  }
1685  
1686  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1687  var React18 = __toESM(require_react(), 1);
1688  
1689  // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
1690  function hasWindow() {
1691    return typeof window !== "undefined";
1692  }
1693  function getNodeName(node) {
1694    if (isNode(node)) {
1695      return (node.nodeName || "").toLowerCase();
1696    }
1697    return "#document";
1698  }
1699  function getWindow(node) {
1700    var _node$ownerDocument;
1701    return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1702  }
1703  function getDocumentElement(node) {
1704    var _ref;
1705    return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;
1706  }
1707  function isNode(value) {
1708    if (!hasWindow()) {
1709      return false;
1710    }
1711    return value instanceof Node || value instanceof getWindow(value).Node;
1712  }
1713  function isElement(value) {
1714    if (!hasWindow()) {
1715      return false;
1716    }
1717    return value instanceof Element || value instanceof getWindow(value).Element;
1718  }
1719  function isHTMLElement(value) {
1720    if (!hasWindow()) {
1721      return false;
1722    }
1723    return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;
1724  }
1725  function isShadowRoot(value) {
1726    if (!hasWindow() || typeof ShadowRoot === "undefined") {
1727      return false;
1728    }
1729    return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
1730  }
1731  function isOverflowElement(element) {
1732    const {
1733      overflow,
1734      overflowX,
1735      overflowY,
1736      display
1737    } = getComputedStyle2(element);
1738    return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
1739  }
1740  function isTableElement(element) {
1741    return /^(table|td|th)$/.test(getNodeName(element));
1742  }
1743  function isTopLayer(element) {
1744    try {
1745      if (element.matches(":popover-open")) {
1746        return true;
1747      }
1748    } catch (_e) {
1749    }
1750    try {
1751      return element.matches(":modal");
1752    } catch (_e) {
1753      return false;
1754    }
1755  }
1756  var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
1757  var containRe = /paint|layout|strict|content/;
1758  var isNotNone = (value) => !!value && value !== "none";
1759  var isWebKitValue;
1760  function isContainingBlock(elementOrCss) {
1761    const css = isElement(elementOrCss) ? getComputedStyle2(elementOrCss) : elementOrCss;
1762    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 || "");
1763  }
1764  function getContainingBlock(element) {
1765    let currentNode = getParentNode(element);
1766    while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1767      if (isContainingBlock(currentNode)) {
1768        return currentNode;
1769      } else if (isTopLayer(currentNode)) {
1770        return null;
1771      }
1772      currentNode = getParentNode(currentNode);
1773    }
1774    return null;
1775  }
1776  function isWebKit() {
1777    if (isWebKitValue == null) {
1778      isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
1779    }
1780    return isWebKitValue;
1781  }
1782  function isLastTraversableNode(node) {
1783    return /^(html|body|#document)$/.test(getNodeName(node));
1784  }
1785  function getComputedStyle2(element) {
1786    return getWindow(element).getComputedStyle(element);
1787  }
1788  function getNodeScroll(element) {
1789    if (isElement(element)) {
1790      return {
1791        scrollLeft: element.scrollLeft,
1792        scrollTop: element.scrollTop
1793      };
1794    }
1795    return {
1796      scrollLeft: element.scrollX,
1797      scrollTop: element.scrollY
1798    };
1799  }
1800  function getParentNode(node) {
1801    if (getNodeName(node) === "html") {
1802      return node;
1803    }
1804    const result = (
1805      // Step into the shadow DOM of the parent of a slotted node.
1806      node.assignedSlot || // DOM Element detected.
1807      node.parentNode || // ShadowRoot detected.
1808      isShadowRoot(node) && node.host || // Fallback.
1809      getDocumentElement(node)
1810    );
1811    return isShadowRoot(result) ? result.host : result;
1812  }
1813  function getNearestOverflowAncestor(node) {
1814    const parentNode = getParentNode(node);
1815    if (isLastTraversableNode(parentNode)) {
1816      return (node.ownerDocument || node).body;
1817    }
1818    if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1819      return parentNode;
1820    }
1821    return getNearestOverflowAncestor(parentNode);
1822  }
1823  function getOverflowAncestors(node, list, traverseIframes) {
1824    var _node$ownerDocument2;
1825    if (list === void 0) {
1826      list = [];
1827    }
1828    if (traverseIframes === void 0) {
1829      traverseIframes = true;
1830    }
1831    const scrollableAncestor = getNearestOverflowAncestor(node);
1832    const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
1833    const win = getWindow(scrollableAncestor);
1834    if (isBody) {
1835      const frameElement = getFrameElement(win);
1836      return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1837    } else {
1838      return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1839    }
1840  }
1841  function getFrameElement(win) {
1842    return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1843  }
1844  
1845  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/composite/root/CompositeRootContext.mjs
1846  var React16 = __toESM(require_react(), 1);
1847  var CompositeRootContext = /* @__PURE__ */ React16.createContext(void 0);
1848  if (true) CompositeRootContext.displayName = "CompositeRootContext";
1849  function useCompositeRootContext(optional = false) {
1850    const context = React16.useContext(CompositeRootContext);
1851    if (context === void 0 && !optional) {
1852      throw new Error(true ? "Base UI: CompositeRootContext is missing. Composite parts must be placed within <Composite.Root>." : formatErrorMessage_default(16));
1853    }
1854    return context;
1855  }
1856  
1857  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useFocusableWhenDisabled.mjs
1858  var React17 = __toESM(require_react(), 1);
1859  function useFocusableWhenDisabled(parameters) {
1860    const {
1861      focusableWhenDisabled,
1862      disabled: disabled2,
1863      composite = false,
1864      tabIndex: tabIndexProp = 0,
1865      isNativeButton
1866    } = parameters;
1867    const isFocusableComposite = composite && focusableWhenDisabled !== false;
1868    const isNonFocusableComposite = composite && focusableWhenDisabled === false;
1869    const props = React17.useMemo(() => {
1870      const additionalProps = {
1871        // allow Tabbing away from focusableWhenDisabled elements
1872        onKeyDown(event) {
1873          if (disabled2 && focusableWhenDisabled && event.key !== "Tab") {
1874            event.preventDefault();
1875          }
1876        }
1877      };
1878      if (!composite) {
1879        additionalProps.tabIndex = tabIndexProp;
1880        if (!isNativeButton && disabled2) {
1881          additionalProps.tabIndex = focusableWhenDisabled ? tabIndexProp : -1;
1882        }
1883      }
1884      if (isNativeButton && (focusableWhenDisabled || isFocusableComposite) || !isNativeButton && disabled2) {
1885        additionalProps["aria-disabled"] = disabled2;
1886      }
1887      if (isNativeButton && (!focusableWhenDisabled || isNonFocusableComposite)) {
1888        additionalProps.disabled = disabled2;
1889      }
1890      return additionalProps;
1891    }, [composite, disabled2, focusableWhenDisabled, isFocusableComposite, isNonFocusableComposite, isNativeButton, tabIndexProp]);
1892    return {
1893      props
1894    };
1895  }
1896  
1897  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/owner.mjs
1898  function ownerDocument(node) {
1899    return node?.ownerDocument || document;
1900  }
1901  
1902  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/dispatchClickWithModifiers.mjs
1903  function dispatchClickWithModifiers(target, sourceEvent, {
1904    detail = 0,
1905    pointerType = ""
1906  } = {}) {
1907    target.dispatchEvent(new (getWindow(target)).PointerEvent("click", {
1908      bubbles: true,
1909      cancelable: true,
1910      composed: true,
1911      detail,
1912      pointerType,
1913      shiftKey: sourceEvent.shiftKey,
1914      ctrlKey: sourceEvent.ctrlKey,
1915      altKey: sourceEvent.altKey,
1916      metaKey: sourceEvent.metaKey
1917    }));
1918  }
1919  
1920  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/use-button/useButton.mjs
1921  function useButton(parameters = {}) {
1922    const {
1923      disabled: disabled2 = false,
1924      focusableWhenDisabled,
1925      tabIndex = 0,
1926      native: isNativeButton = true,
1927      composite: compositeProp
1928    } = parameters;
1929    const elementRef = React18.useRef(null);
1930    const compositeRootContext = useCompositeRootContext(true);
1931    const isCompositeItem = compositeProp ?? compositeRootContext !== void 0;
1932    const {
1933      props: focusableWhenDisabledProps
1934    } = useFocusableWhenDisabled({
1935      focusableWhenDisabled,
1936      disabled: disabled2,
1937      composite: isCompositeItem,
1938      tabIndex,
1939      isNativeButton
1940    });
1941    if (true) {
1942      React18.useEffect(() => {
1943        if (!elementRef.current) {
1944          return;
1945        }
1946        const isButtonTag = isButtonElement(elementRef.current);
1947        if (isNativeButton) {
1948          if (!isButtonTag) {
1949            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
1950            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`.";
1951            error(`$message}$ownerStackMessage}`);
1952          }
1953        } else if (isButtonTag) {
1954          const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
1955          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`.";
1956          error(`$message}$ownerStackMessage}`);
1957        }
1958      }, [isNativeButton]);
1959    }
1960    const updateDisabled = React18.useCallback(() => {
1961      const element = elementRef.current;
1962      if (!isButtonElement(element)) {
1963        return;
1964      }
1965      if (isCompositeItem && disabled2 && focusableWhenDisabledProps.disabled === void 0 && element.disabled) {
1966        element.disabled = false;
1967      }
1968    }, [disabled2, focusableWhenDisabledProps.disabled, isCompositeItem]);
1969    useIsoLayoutEffect(updateDisabled, [updateDisabled]);
1970    const getButtonProps = React18.useCallback((externalProps = {}) => {
1971      const {
1972        onClick: externalOnClick,
1973        onMouseDown: externalOnMouseDown,
1974        onKeyUp: externalOnKeyUp,
1975        onKeyDown: externalOnKeyDown,
1976        onPointerDown: externalOnPointerDown,
1977        ...otherExternalProps
1978      } = externalProps;
1979      return mergeProps({
1980        onClick(event) {
1981          if (disabled2) {
1982            event.preventDefault();
1983            return;
1984          }
1985          externalOnClick?.(event);
1986        },
1987        onMouseDown(event) {
1988          if (!disabled2) {
1989            externalOnMouseDown?.(event);
1990          }
1991        },
1992        onKeyDown(event) {
1993          if (disabled2) {
1994            return;
1995          }
1996          makeEventPreventable(event);
1997          externalOnKeyDown?.(event);
1998          if (event.baseUIHandlerPrevented) {
1999            return;
2000          }
2001          const isCurrentTarget = event.target === event.currentTarget;
2002          const currentTarget = event.currentTarget;
2003          const isButton = isButtonElement(currentTarget);
2004          const isLink = !isNativeButton && isValidLinkElement(currentTarget);
2005          const shouldClick = isCurrentTarget && (isNativeButton ? isButton : !isLink);
2006          const isEnterKey = event.key === "Enter";
2007          const isSpaceKey = event.key === " ";
2008          const role = currentTarget.getAttribute("role");
2009          const isTextNavigationRole = role?.startsWith("menuitem") || role === "option" || role === "gridcell";
2010          if (isCurrentTarget && isCompositeItem && isSpaceKey) {
2011            if (event.defaultPrevented && isTextNavigationRole) {
2012              return;
2013            }
2014            event.preventDefault();
2015            if (!isNativeButton || isButton) {
2016              event.preventBaseUIHandler();
2017              dispatchClickWithModifiers(currentTarget, event);
2018            }
2019            return;
2020          }
2021          if (!shouldClick || isNativeButton || !isSpaceKey && !isEnterKey) {
2022            if (isCurrentTarget && isLink && isSpaceKey) {
2023              event.preventDefault();
2024            }
2025            return;
2026          }
2027          if (event.defaultPrevented) {
2028            return;
2029          }
2030          event.preventDefault();
2031          if (isEnterKey) {
2032            event.preventBaseUIHandler();
2033            dispatchClickWithModifiers(currentTarget, event);
2034          }
2035        },
2036        onKeyUp(event) {
2037          if (disabled2) {
2038            return;
2039          }
2040          makeEventPreventable(event);
2041          externalOnKeyUp?.(event);
2042          if (event.target === event.currentTarget && isNativeButton && isCompositeItem && isButtonElement(event.currentTarget) && event.key === " ") {
2043            event.preventDefault();
2044            return;
2045          }
2046          if (event.baseUIHandlerPrevented) {
2047            return;
2048          }
2049          if (event.target === event.currentTarget && !isNativeButton && !isCompositeItem && !event.defaultPrevented && event.key === " ") {
2050            event.preventBaseUIHandler();
2051            dispatchClickWithModifiers(event.currentTarget, event);
2052          }
2053        },
2054        onPointerDown(event) {
2055          if (disabled2) {
2056            event.preventDefault();
2057            return;
2058          }
2059          externalOnPointerDown?.(event);
2060        }
2061      }, isNativeButton ? {
2062        type: "button"
2063      } : {
2064        role: "button"
2065      }, focusableWhenDisabledProps, otherExternalProps);
2066    }, [disabled2, focusableWhenDisabledProps, isCompositeItem, isNativeButton]);
2067    const buttonRef = useStableCallback((element) => {
2068      elementRef.current = element;
2069      updateDisabled();
2070    });
2071    return {
2072      getButtonProps,
2073      buttonRef
2074    };
2075  }
2076  function isButtonElement(elem) {
2077    return isHTMLElement(elem) && elem.tagName === "BUTTON";
2078  }
2079  function isValidLinkElement(elem) {
2080    return isHTMLElement(elem) && elem.tagName === "A" && Boolean(elem.href);
2081  }
2082  
2083  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/addEventListener.mjs
2084  function addEventListener(target, type, listener, options) {
2085    target.addEventListener(type, listener, options);
2086    return () => {
2087      target.removeEventListener(type, listener, options);
2088    };
2089  }
2090  
2091  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useValueAsRef.mjs
2092  function useValueAsRef(value) {
2093    const latest = useRefWithInit(createLatestRef, value).current;
2094    latest.next = value;
2095    useIsoLayoutEffect(latest.effect);
2096    return latest;
2097  }
2098  function createLatestRef(value) {
2099    const latest = {
2100      current: value,
2101      next: value,
2102      effect: () => {
2103        latest.current = latest.next;
2104      }
2105    };
2106    return latest;
2107  }
2108  
2109  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/parts.mjs
2110  var parts_exports = {};
2111  __export(parts_exports, {
2112    engine: () => engine_exports,
2113    env: () => env_exports,
2114    mediaQuery: () => media_query_exports,
2115    os: () => os_exports,
2116    screenReader: () => screen_reader_exports
2117  });
2118  
2119  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2120  var os_exports = {};
2121  __export(os_exports, {
2122    android: () => android,
2123    apple: () => apple,
2124    ios: () => ios,
2125    linux: () => linux,
2126    mac: () => mac,
2127    windows: () => windows
2128  });
2129  
2130  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/shared.mjs
2131  function readRawData() {
2132    if (typeof navigator === "undefined") {
2133      return {
2134        userAgent: "",
2135        platform: "",
2136        maxTouchPoints: 0
2137      };
2138    }
2139    if (true) {
2140      const uaData = navigator.userAgentData;
2141      if (uaData && Array.isArray(uaData.brands)) {
2142        return {
2143          userAgent: uaData.brands.map(({
2144            brand,
2145            version: version2
2146          }) => `$brand}/$version2}`).join(" "),
2147          platform: uaData.platform ?? navigator.platform ?? "",
2148          maxTouchPoints: navigator.maxTouchPoints ?? 0
2149        };
2150      }
2151    }
2152    return {
2153      userAgent: navigator.userAgent,
2154      platform: navigator.platform ?? "",
2155      maxTouchPoints: navigator.maxTouchPoints ?? 0
2156    };
2157  }
2158  var {
2159    userAgent,
2160    platform,
2161    maxTouchPoints
2162  } = readRawData();
2163  var lowerUserAgent = userAgent.toLowerCase();
2164  var lowerPlatform = platform.toLowerCase();
2165  
2166  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/os.mjs
2167  var ios = /^i(os$|p)/.test(lowerPlatform) || lowerPlatform === "macintel" && maxTouchPoints > 1;
2168  var ANDROID_STRING = "android";
2169  var android = lowerPlatform === ANDROID_STRING || lowerUserAgent.includes(ANDROID_STRING);
2170  var mac = !ios && lowerPlatform.startsWith("mac");
2171  var windows = lowerPlatform.startsWith("win");
2172  var linux = !android && /^(linux|chrome os)/.test(lowerPlatform);
2173  var apple = mac || ios;
2174  
2175  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/engine.mjs
2176  var engine_exports = {};
2177  __export(engine_exports, {
2178    blink: () => blink,
2179    gecko: () => gecko,
2180    webkit: () => webkit
2181  });
2182  var webkit = typeof CSS !== "undefined" && !!CSS.supports?.("-webkit-backdrop-filter:none");
2183  var gecko = !webkit && lowerUserAgent.includes("firefox");
2184  var blink = !webkit && lowerUserAgent.includes("chrom");
2185  
2186  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/screen-reader.mjs
2187  var screen_reader_exports = {};
2188  __export(screen_reader_exports, {
2189    voiceOver: () => voiceOver
2190  });
2191  var voiceOver = apple;
2192  
2193  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/env.mjs
2194  var env_exports = {};
2195  __export(env_exports, {
2196    jsdom: () => jsdom
2197  });
2198  var jsdom = /jsdom|happydom/.test(lowerUserAgent);
2199  
2200  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/platform/media-query.mjs
2201  var media_query_exports = {};
2202  __export(media_query_exports, {
2203    iOS: () => iOS
2204  });
2205  var iOS = "@supports (-webkit-touch-callout: none)";
2206  
2207  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useScrollLock.mjs
2208  var originalHtmlStyles = {};
2209  var originalBodyStyles = {};
2210  var originalHtmlScrollBehavior = "";
2211  function getViewportScroller(html, body) {
2212    return isOverflowElement(html) ? html : body;
2213  }
2214  function isPageScrollLocked(win, html, body) {
2215    return /hidden|clip/.test(win.getComputedStyle(getViewportScroller(html, body)).overflowY);
2216  }
2217  function hasInsetScrollbars(referenceElement) {
2218    if (typeof document === "undefined") {
2219      return false;
2220    }
2221    const doc = ownerDocument(referenceElement);
2222    const win = getWindow(doc);
2223    return win.innerWidth - doc.documentElement.clientWidth > 0;
2224  }
2225  function supportsStableScrollbarGutter(referenceElement) {
2226    const supported = typeof CSS !== "undefined" && CSS.supports && CSS.supports("scrollbar-gutter", "stable");
2227    if (!supported || typeof document === "undefined") {
2228      return false;
2229    }
2230    const doc = ownerDocument(referenceElement);
2231    const html = doc.documentElement;
2232    const body = doc.body;
2233    const scrollContainer = getViewportScroller(html, body);
2234    const originalScrollContainerOverflowY = scrollContainer.style.overflowY;
2235    const originalHtmlStyleGutter = html.style.scrollbarGutter;
2236    html.style.scrollbarGutter = "stable";
2237    scrollContainer.style.overflowY = "scroll";
2238    const before = scrollContainer.offsetWidth;
2239    scrollContainer.style.overflowY = "hidden";
2240    const after = scrollContainer.offsetWidth;
2241    scrollContainer.style.overflowY = originalScrollContainerOverflowY;
2242    html.style.scrollbarGutter = originalHtmlStyleGutter;
2243    return before === after;
2244  }
2245  function preventScrollOverlayScrollbars(referenceElement) {
2246    const doc = ownerDocument(referenceElement);
2247    const html = doc.documentElement;
2248    const body = doc.body;
2249    const elementToLock = getViewportScroller(html, body);
2250    const originalElementToLockStyles = {
2251      overflowY: elementToLock.style.overflowY,
2252      overflowX: elementToLock.style.overflowX
2253    };
2254    Object.assign(elementToLock.style, {
2255      overflowY: "hidden",
2256      overflowX: "hidden"
2257    });
2258    return () => {
2259      Object.assign(elementToLock.style, originalElementToLockStyles);
2260    };
2261  }
2262  function preventScrollInsetScrollbars(referenceElement) {
2263    const doc = ownerDocument(referenceElement);
2264    const html = doc.documentElement;
2265    const body = doc.body;
2266    const win = getWindow(html);
2267    let scrollTop = 0;
2268    let scrollLeft = 0;
2269    let updateGutterOnly = false;
2270    const resizeFrame = AnimationFrame.create();
2271    if (parts_exports.engine.webkit && (win.visualViewport?.scale ?? 1) !== 1) {
2272      return () => {
2273      };
2274    }
2275    function lockScroll() {
2276      const htmlStyles = win.getComputedStyle(html);
2277      const bodyStyles = win.getComputedStyle(body);
2278      const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || "";
2279      const hasBothEdges = htmlScrollbarGutterValue.includes("both-edges");
2280      const scrollbarGutterValue = hasBothEdges ? "stable both-edges" : "stable";
2281      scrollTop = html.scrollTop;
2282      scrollLeft = html.scrollLeft;
2283      originalHtmlStyles = {
2284        scrollbarGutter: html.style.scrollbarGutter,
2285        overflowY: html.style.overflowY,
2286        overflowX: html.style.overflowX
2287      };
2288      originalHtmlScrollBehavior = html.style.scrollBehavior;
2289      originalBodyStyles = {
2290        position: body.style.position,
2291        height: body.style.height,
2292        width: body.style.width,
2293        boxSizing: body.style.boxSizing,
2294        overflowY: body.style.overflowY,
2295        overflowX: body.style.overflowX,
2296        scrollBehavior: body.style.scrollBehavior
2297      };
2298      const isScrollableY2 = html.scrollHeight > html.clientHeight;
2299      const isScrollableX = html.scrollWidth > html.clientWidth;
2300      const hasConstantOverflowY = htmlStyles.overflowY === "scroll" || bodyStyles.overflowY === "scroll";
2301      const hasConstantOverflowX = htmlStyles.overflowX === "scroll" || bodyStyles.overflowX === "scroll";
2302      const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);
2303      const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);
2304      const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);
2305      const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);
2306      const elementToLock = getViewportScroller(html, body);
2307      updateGutterOnly = supportsStableScrollbarGutter(referenceElement);
2308      if (updateGutterOnly) {
2309        html.style.scrollbarGutter = scrollbarGutterValue;
2310        elementToLock.style.overflowY = "hidden";
2311        elementToLock.style.overflowX = "hidden";
2312        return;
2313      }
2314      Object.assign(html.style, {
2315        scrollbarGutter: scrollbarGutterValue,
2316        overflowY: "hidden",
2317        overflowX: "hidden"
2318      });
2319      if (isScrollableY2 || hasConstantOverflowY) {
2320        html.style.overflowY = "scroll";
2321      }
2322      if (isScrollableX || hasConstantOverflowX) {
2323        html.style.overflowX = "scroll";
2324      }
2325      Object.assign(body.style, {
2326        position: "relative",
2327        height: marginY || scrollbarHeight ? `calc(100dvh - $marginY + scrollbarHeight}px)` : "100dvh",
2328        width: marginX || scrollbarWidth ? `calc(100vw - $marginX + scrollbarWidth}px)` : "100vw",
2329        boxSizing: "border-box",
2330        // Assign the longhands that `cleanup` restores, so nothing is left behind.
2331        overflowY: "hidden",
2332        overflowX: "hidden",
2333        scrollBehavior: "unset"
2334      });
2335      body.scrollTop = scrollTop;
2336      body.scrollLeft = scrollLeft;
2337      html.setAttribute("data-base-ui-scroll-locked", "");
2338      html.style.scrollBehavior = "unset";
2339    }
2340    function cleanup() {
2341      Object.assign(html.style, originalHtmlStyles);
2342      Object.assign(body.style, originalBodyStyles);
2343      if (!updateGutterOnly) {
2344        html.scrollTop = scrollTop;
2345        html.scrollLeft = scrollLeft;
2346        html.removeAttribute("data-base-ui-scroll-locked");
2347        html.style.scrollBehavior = originalHtmlScrollBehavior;
2348      }
2349    }
2350    function handleResize() {
2351      cleanup();
2352      resizeFrame.request(lockScroll);
2353    }
2354    lockScroll();
2355    const unsubscribeResize = addEventListener(win, "resize", handleResize);
2356    return () => {
2357      resizeFrame.cancel();
2358      cleanup();
2359      if (typeof win.removeEventListener === "function") {
2360        unsubscribeResize();
2361      }
2362    };
2363  }
2364  var ScrollLocker = class {
2365    lockCount = 0;
2366    restore = null;
2367    timeoutLock = Timeout.create();
2368    timeoutUnlock = Timeout.create();
2369    acquire(referenceElement) {
2370      this.lockCount += 1;
2371      if (this.lockCount === 1 && this.restore === null) {
2372        this.timeoutLock.start(0, () => this.lock(referenceElement));
2373      }
2374      return this.release;
2375    }
2376    release = () => {
2377      this.lockCount -= 1;
2378      if (this.lockCount === 0 && this.restore) {
2379        this.timeoutUnlock.start(0, this.unlock);
2380      }
2381    };
2382    unlock = () => {
2383      if (this.lockCount === 0 && this.restore) {
2384        this.restore?.();
2385        this.restore = null;
2386      }
2387    };
2388    lock(referenceElement) {
2389      if (this.lockCount === 0 || this.restore !== null) {
2390        return;
2391      }
2392      const doc = ownerDocument(referenceElement);
2393      const html = doc.documentElement;
2394      const body = doc.body;
2395      const win = getWindow(html);
2396      if (isPageScrollLocked(win, html, body)) {
2397        const observer = new win.MutationObserver(() => {
2398          if (isPageScrollLocked(win, html, body)) {
2399            return;
2400          }
2401          observer.disconnect();
2402          this.restore = null;
2403          this.lock(referenceElement);
2404        });
2405        const options = {
2406          attributes: true
2407        };
2408        observer.observe(html, options);
2409        observer.observe(body, options);
2410        this.restore = () => observer.disconnect();
2411        return;
2412      }
2413      const hasOverlayScrollbars = parts_exports.os.ios || !hasInsetScrollbars(referenceElement);
2414      this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);
2415    }
2416  };
2417  var SCROLL_LOCKER = new ScrollLocker();
2418  function useScrollLock(enabled = true, referenceElement = null) {
2419    useIsoLayoutEffect(() => {
2420      if (!enabled) {
2421        return void 0;
2422      }
2423      return SCROLL_LOCKER.acquire(referenceElement);
2424    }, [enabled, referenceElement]);
2425  }
2426  
2427  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2428  var React19 = __toESM(require_react(), 1);
2429  
2430  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/event.mjs
2431  function stopEvent(event) {
2432    event.preventDefault();
2433    event.stopPropagation();
2434  }
2435  function isReactEvent(event) {
2436    return "nativeEvent" in event;
2437  }
2438  function isVirtualClick(event) {
2439    if (event.pointerType === "" && event.isTrusted) {
2440      return true;
2441    }
2442    if (parts_exports.os.android && event.pointerType) {
2443      return event.type === "click" && event.buttons === 1;
2444    }
2445    return event.detail === 0 && !event.pointerType;
2446  }
2447  function isVirtualPointerEvent(event) {
2448    if (parts_exports.env.jsdom) {
2449      return false;
2450    }
2451    return !parts_exports.os.android && event.width === 0 && event.height === 0 || // Chrome synthesizes a screen reader press (TalkBack, VoiceOver, NVDA) as a 1x1 mouse
2452    // `pointerdown` with no pressure. TalkBack can report a pressed button, while desktop
2453    // mouse presses can report no pressure, so only require no pressed button off Android.
2454    event.type === "pointerdown" && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse" && (parts_exports.os.android || event.buttons === 0) || // iOS VoiceOver returns 0.333• for width/height.
2455    event.width < 1 && event.height < 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "touch";
2456  }
2457  function isMouseLikePointerType(pointerType, strict) {
2458    const values = ["mouse", "pen"];
2459    if (!strict) {
2460      values.push("", void 0);
2461    }
2462    return values.includes(pointerType);
2463  }
2464  function isClickLikeEvent(event) {
2465    const type = event.type;
2466    return type === "click" || type === "mousedown" || type === "keydown" || type === "keyup";
2467  }
2468  
2469  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/shadowDom.mjs
2470  function activeElement(doc) {
2471    let element = doc.activeElement;
2472    while (element?.shadowRoot?.activeElement != null) {
2473      element = element.shadowRoot.activeElement;
2474    }
2475    return element;
2476  }
2477  function contains(parent, child) {
2478    if (!parent || !child) {
2479      return false;
2480    }
2481    const rootNode = child.getRootNode?.();
2482    if (parent.contains(child)) {
2483      return true;
2484    }
2485    if (rootNode && isShadowRoot(rootNode)) {
2486      let next = child;
2487      while (next) {
2488        if (parent === next) {
2489          return true;
2490        }
2491        next = next.parentNode || next.host;
2492      }
2493    }
2494    return false;
2495  }
2496  function closest(node, selector) {
2497    let current = node;
2498    while (current) {
2499      if (isElement(current) && current.matches(selector)) {
2500        return current;
2501      }
2502      current = current.assignedSlot ?? current.parentNode ?? (isShadowRoot(current) ? current.host : null);
2503    }
2504    return null;
2505  }
2506  function getTarget(event) {
2507    if ("composedPath" in event) {
2508      return event.composedPath()[0] ?? event.target;
2509    }
2510    return event.target;
2511  }
2512  
2513  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/constants.mjs
2514  var FOCUSABLE_ATTRIBUTE = "data-base-ui-focusable";
2515  var TYPEABLE_SELECTOR = "input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";
2516  var ARROW_LEFT = "ArrowLeft";
2517  var ARROW_RIGHT = "ArrowRight";
2518  var ARROW_UP = "ArrowUp";
2519  var ARROW_DOWN = "ArrowDown";
2520  
2521  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupDataAttributes.mjs
2522  var open = "data-open";
2523  var closed = "data-closed";
2524  var anchorHidden = "data-anchor-hidden";
2525  
2526  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonTriggerDataAttributes.mjs
2527  var CommonTriggerDataAttributes_exports = {};
2528  __export(CommonTriggerDataAttributes_exports, {
2529    popupOpen: () => popupOpen,
2530    pressed: () => pressed
2531  });
2532  var popupOpen = "data-popup-open";
2533  var pressed = "data-pressed";
2534  
2535  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popupStateMapping.mjs
2536  var TRIGGER_HOOK = {
2537    [popupOpen]: ""
2538  };
2539  var PRESSABLE_TRIGGER_HOOK = {
2540    [popupOpen]: "",
2541    [pressed]: ""
2542  };
2543  var POPUP_OPEN_HOOK = {
2544    [open]: ""
2545  };
2546  var POPUP_CLOSED_HOOK = {
2547    [closed]: ""
2548  };
2549  var ANCHOR_HIDDEN_HOOK = {
2550    [anchorHidden]: ""
2551  };
2552  var triggerOpenStateMapping = {
2553    open(value) {
2554      if (value) {
2555        return TRIGGER_HOOK;
2556      }
2557      return null;
2558    }
2559  };
2560  var pressableTriggerOpenStateMapping = {
2561    open(value) {
2562      if (value) {
2563        return PRESSABLE_TRIGGER_HOOK;
2564      }
2565      return null;
2566    }
2567  };
2568  var popupStateMapping = {
2569    open(value) {
2570      if (value) {
2571        return POPUP_OPEN_HOOK;
2572      }
2573      return POPUP_CLOSED_HOOK;
2574    },
2575    anchorHidden(value) {
2576      if (value) {
2577        return ANCHOR_HIDDEN_HOOK;
2578      }
2579      return null;
2580    }
2581  };
2582  var popupTransitionStateMapping = {
2583    ...popupStateMapping,
2584    ...transitionStatusMapping
2585  };
2586  
2587  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTriggerDataAttributes.mjs
2588  var popupOpen2 = CommonTriggerDataAttributes_exports.popupOpen;
2589  var triggerDisabled = "data-trigger-disabled";
2590  
2591  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/element.mjs
2592  function isTargetInsideEnabledTrigger(target, triggerElements) {
2593    if (!isElement(target)) {
2594      return false;
2595    }
2596    const targetElement = target;
2597    if (triggerElements.hasElement(targetElement)) {
2598      return !targetElement.hasAttribute(triggerDisabled);
2599    }
2600    for (const [, trigger] of triggerElements.entries()) {
2601      if (contains(trigger, targetElement)) {
2602        return !trigger.hasAttribute(triggerDisabled);
2603      }
2604    }
2605    return false;
2606  }
2607  function isEventTargetWithin(event, node) {
2608    if (node == null) {
2609      return false;
2610    }
2611    if ("composedPath" in event) {
2612      return event.composedPath().includes(node);
2613    }
2614    const eventAgain = event;
2615    return eventAgain.target != null && node.contains(eventAgain.target);
2616  }
2617  function isRootElement(element) {
2618    return element.matches("html,body");
2619  }
2620  function isTypeableElement(element) {
2621    return isHTMLElement(element) && element.matches(TYPEABLE_SELECTOR);
2622  }
2623  function isInteractiveElement(element) {
2624    return closest(element, `button,a[href],[role="button"],select,[tabindex]:not([tabindex="-1"]),$TYPEABLE_SELECTOR}`) != null;
2625  }
2626  function isTypeableCombobox(element) {
2627    if (!element) {
2628      return false;
2629    }
2630    return element.getAttribute("role") === "combobox" && isTypeableElement(element);
2631  }
2632  function matchesFocusVisible(element) {
2633    if (!element || parts_exports.env.jsdom) {
2634      return true;
2635    }
2636    try {
2637      return element.matches(":focus-visible");
2638    } catch (_e) {
2639      return true;
2640    }
2641  }
2642  function getFloatingFocusElement(floatingElement) {
2643    if (!floatingElement) {
2644      return null;
2645    }
2646    return floatingElement.hasAttribute(FOCUSABLE_ATTRIBUTE) ? floatingElement : floatingElement.querySelector(`[$FOCUSABLE_ATTRIBUTE}]`) || floatingElement;
2647  }
2648  
2649  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverShared.mjs
2650  function resolveValue(value, pointerType) {
2651    if (pointerType != null && !isMouseLikePointerType(pointerType)) {
2652      return 0;
2653    }
2654    if (typeof value === "function") {
2655      return value();
2656    }
2657    return value;
2658  }
2659  function getDelay(value, prop, pointerType) {
2660    const result = resolveValue(value, pointerType);
2661    if (typeof result === "number") {
2662      return result;
2663    }
2664    return result?.[prop];
2665  }
2666  function getRestMs(value) {
2667    if (typeof value === "function") {
2668      return value();
2669    }
2670    return value;
2671  }
2672  function isClickLikeOpenEvent(openEventType, interactedInside) {
2673    return interactedInside || openEventType === "click" || openEventType === "mousedown";
2674  }
2675  function isHoverOpenEvent(openEventType) {
2676    return openEventType?.includes("mouse") && openEventType !== "mousedown";
2677  }
2678  
2679  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingDelayGroup.mjs
2680  var import_jsx_runtime3 = __toESM(require_jsx_runtime(), 1);
2681  var FloatingDelayGroupContext = /* @__PURE__ */ React19.createContext({
2682    hasProvider: false,
2683    timeoutMs: 0,
2684    delayRef: {
2685      current: 0
2686    },
2687    initialDelayRef: {
2688      current: 0
2689    },
2690    timeout: new Timeout(),
2691    currentIdRef: {
2692      current: null
2693    },
2694    currentContextRef: {
2695      current: null
2696    }
2697  });
2698  if (true) FloatingDelayGroupContext.displayName = "FloatingDelayGroupContext";
2699  function resetDelayRef(delayRef, initialDelayRef) {
2700    delayRef.current = initialDelayRef.current;
2701  }
2702  function FloatingDelayGroup(props) {
2703    const {
2704      children,
2705      delay,
2706      timeoutMs = 0
2707    } = props;
2708    const delayRef = React19.useRef(delay);
2709    const initialDelayRef = React19.useRef(delay);
2710    const currentIdRef = React19.useRef(null);
2711    const currentContextRef = React19.useRef(null);
2712    const timeout = useTimeout();
2713    useIsoLayoutEffect(() => {
2714      initialDelayRef.current = delay;
2715      if (!currentIdRef.current) {
2716        delayRef.current = delay;
2717        return;
2718      }
2719      delayRef.current = {
2720        open: getDelay(delayRef.current, "open"),
2721        close: getDelay(delay, "close")
2722      };
2723    }, [delay, currentIdRef, delayRef, initialDelayRef]);
2724    return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(FloatingDelayGroupContext.Provider, {
2725      value: React19.useMemo(() => ({
2726        hasProvider: true,
2727        delayRef,
2728        initialDelayRef,
2729        currentIdRef,
2730        timeoutMs,
2731        currentContextRef,
2732        timeout
2733      }), [timeoutMs, timeout]),
2734      children
2735    });
2736  }
2737  function useDelayGroup(store, options = {
2738    open: false
2739  }) {
2740    const {
2741      open: open2
2742    } = options;
2743    const floatingId = store.useState("floatingId");
2744    const groupContext = React19.useContext(FloatingDelayGroupContext);
2745    const {
2746      currentIdRef,
2747      delayRef,
2748      timeoutMs,
2749      initialDelayRef,
2750      currentContextRef,
2751      hasProvider,
2752      timeout
2753    } = groupContext;
2754    const [isInstantPhase, setIsInstantPhase] = React19.useState(false);
2755    const openRef = React19.useRef(open2);
2756    useIsoLayoutEffect(() => {
2757      openRef.current = open2;
2758    }, [open2]);
2759    useIsoLayoutEffect(() => {
2760      function unset() {
2761        currentContextRef.current?.setIsInstantPhase(false);
2762        currentIdRef.current = null;
2763        currentContextRef.current = null;
2764        delayRef.current = initialDelayRef.current;
2765        timeout.clear();
2766      }
2767      if (!currentIdRef.current) {
2768        return void 0;
2769      }
2770      if (!open2 && currentIdRef.current === floatingId) {
2771        setIsInstantPhase(false);
2772        if (timeoutMs) {
2773          const closingId = floatingId;
2774          timeout.start(timeoutMs, () => {
2775            if (store.select("open") || currentIdRef.current && currentIdRef.current !== closingId) {
2776              return;
2777            }
2778            unset();
2779          });
2780          return () => {
2781            if (openRef.current || currentIdRef.current !== closingId) {
2782              timeout.clear();
2783            }
2784          };
2785        }
2786        unset();
2787      }
2788      return void 0;
2789    }, [open2, floatingId, currentIdRef, delayRef, timeoutMs, initialDelayRef, currentContextRef, timeout, store]);
2790    useIsoLayoutEffect(() => {
2791      if (!open2) {
2792        return;
2793      }
2794      const prevContext = currentContextRef.current;
2795      const prevId = currentIdRef.current;
2796      timeout.clear();
2797      currentContextRef.current = {
2798        onOpenChange: store.setOpen,
2799        setIsInstantPhase
2800      };
2801      currentIdRef.current = floatingId;
2802      delayRef.current = {
2803        open: 0,
2804        close: getDelay(initialDelayRef.current, "close")
2805      };
2806      if (prevId !== null && prevId !== floatingId) {
2807        setIsInstantPhase(true);
2808        prevContext?.setIsInstantPhase(true);
2809        prevContext?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.none));
2810      } else {
2811        setIsInstantPhase(false);
2812        prevContext?.setIsInstantPhase(false);
2813      }
2814    }, [open2, floatingId, store, currentIdRef, delayRef, initialDelayRef, currentContextRef, timeout]);
2815    useIsoLayoutEffect(() => {
2816      return () => {
2817        if (currentIdRef.current === floatingId) {
2818          currentContextRef.current = null;
2819          if (!openRef.current) {
2820            return;
2821          }
2822          currentIdRef.current = null;
2823          resetDelayRef(delayRef, initialDelayRef);
2824          timeout.clear();
2825        }
2826      };
2827    }, [currentContextRef, currentIdRef, delayRef, floatingId, initialDelayRef, timeout]);
2828    return React19.useMemo(() => ({
2829      activeIdRef: currentIdRef,
2830      hasProvider,
2831      delayRef,
2832      isInstantPhase
2833    }), [currentIdRef, hasProvider, delayRef, isInstantPhase]);
2834  }
2835  
2836  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
2837  var React23 = __toESM(require_react(), 1);
2838  
2839  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/mergeCleanups.mjs
2840  function mergeCleanups(...cleanups) {
2841    return () => {
2842      for (let i = 0; i < cleanups.length; i += 1) {
2843        const cleanup = cleanups[i];
2844        if (cleanup) {
2845          cleanup();
2846        }
2847      }
2848    };
2849  }
2850  
2851  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2852  var React20 = __toESM(require_react(), 1);
2853  
2854  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/visuallyHidden.mjs
2855  var visuallyHiddenBase = {
2856    clipPath: "inset(50%)",
2857    overflow: "hidden",
2858    whiteSpace: "nowrap",
2859    border: 0,
2860    padding: 0,
2861    width: 1,
2862    height: 1,
2863    margin: -1
2864  };
2865  var visuallyHidden = {
2866    ...visuallyHiddenBase,
2867    position: "fixed",
2868    margin: 0,
2869    top: 0,
2870    left: 0
2871  };
2872  var visuallyHiddenInput = {
2873    ...visuallyHiddenBase,
2874    position: "absolute"
2875  };
2876  
2877  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FocusGuard.mjs
2878  var import_jsx_runtime4 = __toESM(require_jsx_runtime(), 1);
2879  var FocusGuard = /* @__PURE__ */ React20.forwardRef(function FocusGuard2(props, ref) {
2880    const [role, setRole] = React20.useState();
2881    useIsoLayoutEffect(() => {
2882      if (parts_exports.screenReader.voiceOver && parts_exports.engine.webkit) {
2883        setRole("button");
2884      }
2885    }, []);
2886    const restProps = {
2887      tabIndex: 0,
2888      // Role is only for VoiceOver
2889      role
2890    };
2891    return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", {
2892      ...props,
2893      ref,
2894      style: visuallyHidden,
2895      "aria-hidden": role ? void 0 : true,
2896      ...restProps,
2897      "data-base-ui-focus-guard": ""
2898    });
2899  });
2900  if (true) FocusGuard.displayName = "FocusGuard";
2901  
2902  // node_modules/.store/@floating-ui/utils@0.2.12-gOxTzMf36nCrbeHpEew-rw/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
2903  var min = Math.min;
2904  var max = Math.max;
2905  var round = Math.round;
2906  var floor = Math.floor;
2907  var createCoords = (v) => ({
2908    x: v,
2909    y: v
2910  });
2911  var oppositeSideMap = {
2912    left: "right",
2913    right: "left",
2914    bottom: "top",
2915    top: "bottom"
2916  };
2917  function clamp(start, value, end) {
2918    return max(start, min(value, end));
2919  }
2920  function evaluate(value, param) {
2921    return typeof value === "function" ? value(param) : value;
2922  }
2923  function getSide(placement) {
2924    return placement.split("-")[0];
2925  }
2926  function getAlignment(placement) {
2927    return placement.split("-")[1];
2928  }
2929  function getOppositeAxis(axis) {
2930    return axis === "x" ? "y" : "x";
2931  }
2932  function getAxisLength(axis) {
2933    return axis === "y" ? "height" : "width";
2934  }
2935  function getSideAxis(placement) {
2936    const firstChar = placement[0];
2937    return firstChar === "t" || firstChar === "b" ? "y" : "x";
2938  }
2939  function getAlignmentAxis(placement) {
2940    return getOppositeAxis(getSideAxis(placement));
2941  }
2942  function getAlignmentSides(placement, rects, rtl) {
2943    if (rtl === void 0) {
2944      rtl = false;
2945    }
2946    const alignment = getAlignment(placement);
2947    const alignmentAxis = getAlignmentAxis(placement);
2948    const length = getAxisLength(alignmentAxis);
2949    let mainAlignmentSide = alignmentAxis === "x" ? alignment === (rtl ? "end" : "start") ? "right" : "left" : alignment === "start" ? "bottom" : "top";
2950    if (rects.reference[length] > rects.floating[length]) {
2951      mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
2952    }
2953    return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];
2954  }
2955  function getExpandedPlacements(placement) {
2956    const oppositePlacement = getOppositePlacement(placement);
2957    return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
2958  }
2959  function getOppositeAlignmentPlacement(placement) {
2960    return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
2961  }
2962  var lrPlacement = ["left", "right"];
2963  var rlPlacement = ["right", "left"];
2964  var tbPlacement = ["top", "bottom"];
2965  var btPlacement = ["bottom", "top"];
2966  function getSideList(side, isStart, rtl) {
2967    switch (side) {
2968      case "top":
2969      case "bottom":
2970        if (rtl) return isStart ? rlPlacement : lrPlacement;
2971        return isStart ? lrPlacement : rlPlacement;
2972      case "left":
2973      case "right":
2974        return isStart ? tbPlacement : btPlacement;
2975      default:
2976        return [];
2977    }
2978  }
2979  function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
2980    const alignment = getAlignment(placement);
2981    let list = getSideList(getSide(placement), direction === "start", rtl);
2982    if (alignment) {
2983      list = list.map((side) => side + "-" + alignment);
2984      if (flipAlignment) {
2985        list = list.concat(list.map(getOppositeAlignmentPlacement));
2986      }
2987    }
2988    return list;
2989  }
2990  function getOppositePlacement(placement) {
2991    const side = getSide(placement);
2992    return oppositeSideMap[side] + placement.slice(side.length);
2993  }
2994  function expandPaddingObject(padding) {
2995    var _padding$top, _padding$right, _padding$bottom, _padding$left;
2996    return {
2997      top: (_padding$top = padding.top) != null ? _padding$top : 0,
2998      right: (_padding$right = padding.right) != null ? _padding$right : 0,
2999      bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
3000      left: (_padding$left = padding.left) != null ? _padding$left : 0
3001    };
3002  }
3003  function getPaddingObject(padding) {
3004    return typeof padding !== "number" ? expandPaddingObject(padding) : {
3005      top: padding,
3006      right: padding,
3007      bottom: padding,
3008      left: padding
3009    };
3010  }
3011  function rectToClientRect(rect) {
3012    const {
3013      x,
3014      y,
3015      width,
3016      height
3017    } = rect;
3018    return {
3019      width,
3020      height,
3021      top: y,
3022      left: x,
3023      right: x + width,
3024      bottom: y + height,
3025      x,
3026      y
3027    };
3028  }
3029  
3030  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/composite.mjs
3031  function isDifferentGridRow(index2, cols, prevRow) {
3032    return Math.floor(index2 / cols) !== prevRow;
3033  }
3034  function isIndexOutOfListBounds(list, index2) {
3035    return index2 < 0 || index2 >= list.length;
3036  }
3037  function getMinListIndex(listRef, disabledIndices) {
3038    return findNonDisabledListIndex(listRef.current, {
3039      disabledIndices
3040    });
3041  }
3042  function getMaxListIndex(listRef, disabledIndices) {
3043    return findNonDisabledListIndex(listRef.current, {
3044      decrement: true,
3045      startingIndex: listRef.current.length,
3046      disabledIndices
3047    });
3048  }
3049  function getNextListIndex(list, currentIndex, options) {
3050    const {
3051      decrement,
3052      loopFocus,
3053      allowEscape,
3054      disabledIndices,
3055      minIndex,
3056      maxIndex
3057    } = options;
3058    const step = () => findNonDisabledListIndex(list, {
3059      startingIndex: currentIndex,
3060      decrement,
3061      disabledIndices
3062    });
3063    let index2;
3064    let wrapped = false;
3065    if (!loopFocus) {
3066      index2 = decrement ? Math.max(minIndex, step()) : Math.min(maxIndex, step());
3067    } else if (decrement ? currentIndex <= minIndex : currentIndex >= maxIndex) {
3068      const outside = decrement ? -1 : list.length;
3069      if (allowEscape && currentIndex !== outside) {
3070        index2 = -1;
3071      } else {
3072        index2 = decrement ? maxIndex : minIndex;
3073        wrapped = true;
3074      }
3075    } else {
3076      index2 = step();
3077    }
3078    return {
3079      index: isIndexOutOfListBounds(list, index2) ? -1 : index2,
3080      wrapped
3081    };
3082  }
3083  function findNonDisabledListIndex(list, {
3084    startingIndex = -1,
3085    decrement = false,
3086    disabledIndices,
3087    amount = 1
3088  } = {}) {
3089    let index2 = startingIndex;
3090    do {
3091      index2 += decrement ? -amount : amount;
3092    } while (index2 >= 0 && index2 <= list.length - 1 && isListIndexDisabled(list, index2, disabledIndices));
3093    return index2;
3094  }
3095  function getGridNavigatedIndex(list, {
3096    event,
3097    orientation,
3098    loopFocus,
3099    onLoop,
3100    rtl,
3101    cols,
3102    disabledIndices,
3103    minIndex,
3104    maxIndex,
3105    prevIndex,
3106    stopEvent: stop = false
3107  }) {
3108    let nextIndex = prevIndex;
3109    let verticalDirection;
3110    if (event.key === ARROW_UP) {
3111      verticalDirection = "up";
3112    } else if (event.key === ARROW_DOWN) {
3113      verticalDirection = "down";
3114    }
3115    if (verticalDirection) {
3116      const rows = [];
3117      const rowIndexMap = [];
3118      let hasRoleRow = false;
3119      let visibleItemCount = 0;
3120      {
3121        let currentRowEl = null;
3122        let currentRowIndex = -1;
3123        list.forEach((el, idx) => {
3124          if (el == null) {
3125            return;
3126          }
3127          visibleItemCount += 1;
3128          const rowEl = closest(el, '[role="row"]');
3129          if (rowEl) {
3130            hasRoleRow = true;
3131          }
3132          if (rowEl !== currentRowEl || currentRowIndex === -1) {
3133            currentRowEl = rowEl;
3134            currentRowIndex += 1;
3135            rows[currentRowIndex] = [];
3136          }
3137          rows[currentRowIndex].push(idx);
3138          rowIndexMap[idx] = currentRowIndex;
3139        });
3140      }
3141      let hasDomRows = false;
3142      let inferredDomCols = 0;
3143      if (hasRoleRow) {
3144        for (const row of rows) {
3145          const rowLength = row.length;
3146          if (rowLength > inferredDomCols) {
3147            inferredDomCols = rowLength;
3148          }
3149          if (rowLength !== cols) {
3150            hasDomRows = true;
3151          }
3152        }
3153      }
3154      const hasVirtualizedGaps = hasDomRows && visibleItemCount < list.length;
3155      const verticalCols = inferredDomCols || cols;
3156      const navigateVertically = (direction) => {
3157        if (!hasDomRows || prevIndex === -1) {
3158          return void 0;
3159        }
3160        const currentRow = rowIndexMap[prevIndex];
3161        if (currentRow == null) {
3162          return void 0;
3163        }
3164        const colInRow = rows[currentRow].indexOf(prevIndex);
3165        const step = direction === "up" ? -1 : 1;
3166        for (let nextRow = currentRow + step, i = 0; i < rows.length; i += 1, nextRow += step) {
3167          if (nextRow < 0 || nextRow >= rows.length) {
3168            if (!loopFocus || hasVirtualizedGaps) {
3169              return void 0;
3170            }
3171            nextRow = nextRow < 0 ? rows.length - 1 : 0;
3172            if (onLoop) {
3173              const clampedCol = Math.min(colInRow, rows[nextRow].length - 1);
3174              const targetItemIndex = rows[nextRow][clampedCol] ?? rows[nextRow][0];
3175              const returnedItemIndex = onLoop(event, prevIndex, targetItemIndex);
3176              nextRow = rowIndexMap[returnedItemIndex] ?? nextRow;
3177            }
3178          }
3179          const targetRow = rows[nextRow];
3180          for (let col = Math.min(colInRow, targetRow.length - 1); col >= 0; col -= 1) {
3181            const candidate = targetRow[col];
3182            if (!isListIndexDisabled(list, candidate, disabledIndices)) {
3183              return candidate;
3184            }
3185          }
3186        }
3187        return void 0;
3188      };
3189      const navigateVerticallyWithInferredRows = (direction) => {
3190        if (!hasVirtualizedGaps || prevIndex === -1) {
3191          return void 0;
3192        }
3193        const colInRow = prevIndex % verticalCols;
3194        const rowStep = direction === "up" ? -verticalCols : verticalCols;
3195        const lastRowStart = maxIndex - maxIndex % verticalCols;
3196        const rowCount = floor(maxIndex / verticalCols) + 1;
3197        for (let rowStart = prevIndex - colInRow + rowStep, i = 0; i < rowCount; i += 1, rowStart += rowStep) {
3198          if (rowStart < 0 || rowStart > maxIndex) {
3199            if (!loopFocus) {
3200              return void 0;
3201            }
3202            rowStart = rowStart < 0 ? lastRowStart : 0;
3203          }
3204          const rowEnd = Math.min(rowStart + verticalCols - 1, maxIndex);
3205          for (let candidate = Math.min(rowStart + colInRow, rowEnd); candidate >= rowStart; candidate -= 1) {
3206            if (!isListIndexDisabled(list, candidate, disabledIndices)) {
3207              return candidate;
3208            }
3209          }
3210        }
3211        return void 0;
3212      };
3213      if (stop) {
3214        stopEvent(event);
3215      }
3216      const verticalCandidate = navigateVertically(verticalDirection) ?? navigateVerticallyWithInferredRows(verticalDirection);
3217      if (verticalCandidate !== void 0) {
3218        nextIndex = verticalCandidate;
3219      } else if (prevIndex === -1) {
3220        nextIndex = verticalDirection === "up" ? maxIndex : minIndex;
3221      } else {
3222        nextIndex = findNonDisabledListIndex(list, {
3223          startingIndex: prevIndex,
3224          amount: verticalCols,
3225          decrement: verticalDirection === "up",
3226          disabledIndices
3227        });
3228        if (loopFocus) {
3229          if (verticalDirection === "up" && (prevIndex - verticalCols < minIndex || nextIndex < 0)) {
3230            const col = prevIndex % verticalCols;
3231            const maxCol = maxIndex % verticalCols;
3232            const offset4 = maxIndex - (maxCol - col);
3233            if (maxCol === col) {
3234              nextIndex = maxIndex;
3235            } else {
3236              nextIndex = maxCol > col ? offset4 : offset4 - verticalCols;
3237            }
3238            if (onLoop) {
3239              nextIndex = onLoop(event, prevIndex, nextIndex);
3240            }
3241          }
3242          if (verticalDirection === "down" && prevIndex + verticalCols > maxIndex) {
3243            nextIndex = findNonDisabledListIndex(list, {
3244              startingIndex: prevIndex % verticalCols - verticalCols,
3245              amount: verticalCols,
3246              disabledIndices
3247            });
3248            if (onLoop) {
3249              nextIndex = onLoop(event, prevIndex, nextIndex);
3250            }
3251          }
3252        }
3253      }
3254      if (isIndexOutOfListBounds(list, nextIndex)) {
3255        nextIndex = prevIndex;
3256      }
3257    }
3258    if (orientation === "both") {
3259      const prevRow = floor(prevIndex / cols);
3260      if (event.key === (rtl ? ARROW_LEFT : ARROW_RIGHT)) {
3261        if (stop) {
3262          stopEvent(event);
3263        }
3264        if (prevIndex % cols !== cols - 1) {
3265          nextIndex = findNonDisabledListIndex(list, {
3266            startingIndex: prevIndex,
3267            disabledIndices
3268          });
3269          if (loopFocus && isDifferentGridRow(nextIndex, cols, prevRow)) {
3270            nextIndex = findNonDisabledListIndex(list, {
3271              startingIndex: prevIndex - prevIndex % cols - 1,
3272              disabledIndices
3273            });
3274            if (onLoop) {
3275              nextIndex = onLoop(event, prevIndex, nextIndex);
3276            }
3277          }
3278        } else if (loopFocus) {
3279          nextIndex = findNonDisabledListIndex(list, {
3280            startingIndex: prevIndex - prevIndex % cols - 1,
3281            disabledIndices
3282          });
3283          if (onLoop) {
3284            nextIndex = onLoop(event, prevIndex, nextIndex);
3285          }
3286        }
3287        if (isDifferentGridRow(nextIndex, cols, prevRow)) {
3288          nextIndex = prevIndex;
3289        }
3290      }
3291      if (event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT)) {
3292        if (stop) {
3293          stopEvent(event);
3294        }
3295        if (prevIndex % cols !== 0) {
3296          nextIndex = findNonDisabledListIndex(list, {
3297            startingIndex: prevIndex,
3298            decrement: true,
3299            disabledIndices
3300          });
3301          if (loopFocus && isDifferentGridRow(nextIndex, cols, prevRow)) {
3302            nextIndex = findNonDisabledListIndex(list, {
3303              startingIndex: prevIndex + (cols - prevIndex % cols),
3304              decrement: true,
3305              disabledIndices
3306            });
3307            if (onLoop) {
3308              nextIndex = onLoop(event, prevIndex, nextIndex);
3309            }
3310          }
3311        } else if (loopFocus) {
3312          nextIndex = findNonDisabledListIndex(list, {
3313            startingIndex: prevIndex + (cols - prevIndex % cols),
3314            decrement: true,
3315            disabledIndices
3316          });
3317          if (onLoop) {
3318            nextIndex = onLoop(event, prevIndex, nextIndex);
3319          }
3320        }
3321        if (isDifferentGridRow(nextIndex, cols, prevRow)) {
3322          nextIndex = prevIndex;
3323        }
3324      }
3325      const lastRow = floor(maxIndex / cols) === prevRow;
3326      if (isIndexOutOfListBounds(list, nextIndex)) {
3327        if (loopFocus && lastRow) {
3328          nextIndex = event.key === (rtl ? ARROW_RIGHT : ARROW_LEFT) ? maxIndex : findNonDisabledListIndex(list, {
3329            startingIndex: prevIndex - prevIndex % cols - 1,
3330            disabledIndices
3331          });
3332          if (onLoop) {
3333            nextIndex = onLoop(event, prevIndex, nextIndex);
3334          }
3335        } else {
3336          nextIndex = prevIndex;
3337        }
3338      }
3339    }
3340    return nextIndex;
3341  }
3342  function isListIndexDisabled(list, index2, disabledIndices) {
3343    const isExplicitlyDisabled = typeof disabledIndices === "function" ? disabledIndices(index2) : disabledIndices?.includes(index2) ?? false;
3344    if (isExplicitlyDisabled) {
3345      return true;
3346    }
3347    const element = list[index2];
3348    if (!element) {
3349      return false;
3350    }
3351    if (!isElementVisible(element)) {
3352      return true;
3353    }
3354    if (element.matches(":disabled")) {
3355      return true;
3356    }
3357    return !disabledIndices && (element.hasAttribute("disabled") || element.getAttribute("aria-disabled") === "true");
3358  }
3359  function isHiddenByStyles(styles) {
3360    return styles.visibility === "hidden" || styles.visibility === "collapse";
3361  }
3362  function isElementVisible(element, styles = element ? getComputedStyle2(element) : null) {
3363    if (!element || !element.isConnected || !styles || isHiddenByStyles(styles)) {
3364      return false;
3365    }
3366    if (typeof element.checkVisibility === "function") {
3367      return element.checkVisibility();
3368    }
3369    return styles.display !== "none" && styles.display !== "contents";
3370  }
3371  
3372  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/tabbable.mjs
3373  var CANDIDATE_SELECTOR = 'a[href],button,input,select,textarea,summary,details,iframe,object,embed,[tabindex],[contenteditable]:not([contenteditable="false"]),audio[controls],video[controls]';
3374  function getParentElement(element) {
3375    const assignedSlot = element.assignedSlot;
3376    if (assignedSlot) {
3377      return assignedSlot;
3378    }
3379    if (element.parentElement) {
3380      return element.parentElement;
3381    }
3382    const rootNode = element.getRootNode();
3383    return isShadowRoot(rootNode) ? rootNode.host : null;
3384  }
3385  function getDetailsSummary(details) {
3386    for (const child of Array.from(details.children)) {
3387      if (getNodeName(child) === "summary") {
3388        return child;
3389      }
3390    }
3391    return null;
3392  }
3393  function isWithinOpenDetailsSummary(element, details) {
3394    const summary = getDetailsSummary(details);
3395    return !!summary && (element === summary || contains(summary, element));
3396  }
3397  function isFocusableCandidate(element) {
3398    const nodeName = element ? getNodeName(element) : "";
3399    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");
3400  }
3401  function isFocusableElement(element) {
3402    if (!isFocusableCandidate(element) || !element.isConnected || element.matches(":disabled")) {
3403      return false;
3404    }
3405    for (let current = element; current; current = getParentElement(current)) {
3406      const isAncestor = current !== element;
3407      const isSlot = getNodeName(current) === "slot";
3408      if (current.hasAttribute("inert")) {
3409        return false;
3410      }
3411      if (isAncestor && getNodeName(current) === "details" && !current.open && !isWithinOpenDetailsSummary(element, current) || current.hasAttribute("hidden") || !isSlot && !isVisibleInTabbableTree(current, isAncestor)) {
3412        return false;
3413      }
3414    }
3415    return true;
3416  }
3417  function isVisibleInTabbableTree(element, isAncestor) {
3418    const styles = getComputedStyle2(element);
3419    if (!isAncestor) {
3420      return isElementVisible(element, styles);
3421    }
3422    return styles.display !== "none";
3423  }
3424  function getTabIndex(element) {
3425    const tabIndex = element.tabIndex;
3426    if (tabIndex < 0) {
3427      const nodeName = getNodeName(element);
3428      if (nodeName === "details" || nodeName === "audio" || nodeName === "video" || isHTMLElement(element) && element.isContentEditable) {
3429        return 0;
3430      }
3431    }
3432    return tabIndex;
3433  }
3434  function getNamedRadioInput(element) {
3435    if (getNodeName(element) !== "input") {
3436      return null;
3437    }
3438    const input = element;
3439    return input.type === "radio" && input.name !== "" ? input : null;
3440  }
3441  function isTabbableRadio(element, candidates) {
3442    const input = getNamedRadioInput(element);
3443    if (!input) {
3444      return true;
3445    }
3446    const checkedRadio = candidates.find((candidate) => {
3447      const radio = getNamedRadioInput(candidate);
3448      return radio?.name === input.name && radio.form === input.form && radio.checked;
3449    });
3450    if (checkedRadio) {
3451      return checkedRadio === input;
3452    }
3453    return candidates.find((candidate) => {
3454      const radio = getNamedRadioInput(candidate);
3455      return radio?.name === input.name && radio.form === input.form;
3456    }) === input;
3457  }
3458  function getComposedChildren(container) {
3459    if (isHTMLElement(container) && getNodeName(container) === "slot") {
3460      const assignedElements = container.assignedElements({
3461        flatten: true
3462      });
3463      if (assignedElements.length > 0) {
3464        return assignedElements;
3465      }
3466    }
3467    if (isHTMLElement(container) && container.shadowRoot) {
3468      return Array.from(container.shadowRoot.children);
3469    }
3470    return Array.from(container.children);
3471  }
3472  function appendCandidates(container, list) {
3473    getComposedChildren(container).forEach((child) => {
3474      if (isFocusableCandidate(child)) {
3475        list.push(child);
3476      }
3477      appendCandidates(child, list);
3478    });
3479  }
3480  function appendMatchingElements(container, selector, list) {
3481    getComposedChildren(container).forEach((child) => {
3482      if (isHTMLElement(child) && child.matches(selector)) {
3483        list.push(child);
3484      }
3485      appendMatchingElements(child, selector, list);
3486    });
3487  }
3488  function isTabbable(element) {
3489    return isFocusableElement(element) && getTabIndex(element) >= 0;
3490  }
3491  function focusable(container) {
3492    const candidates = [];
3493    appendCandidates(container, candidates);
3494    return candidates.filter(isFocusableElement);
3495  }
3496  function tabbable(container) {
3497    const candidates = focusable(container);
3498    return candidates.filter((element) => getTabIndex(element) >= 0 && isTabbableRadio(element, candidates));
3499  }
3500  function getTabbableIn(container, dir) {
3501    const list = tabbable(container);
3502    const len = list.length;
3503    if (len === 0) {
3504      return void 0;
3505    }
3506    const active = activeElement(ownerDocument(container));
3507    const index2 = list.indexOf(active);
3508    const nextIndex = index2 === -1 ? dir === 1 ? 0 : len - 1 : index2 + dir;
3509    return list[nextIndex];
3510  }
3511  function getNextTabbable(referenceElement) {
3512    return getTabbableIn(ownerDocument(referenceElement).body, 1) || referenceElement;
3513  }
3514  function getPreviousTabbable(referenceElement) {
3515    return getTabbableIn(ownerDocument(referenceElement).body, -1) || referenceElement;
3516  }
3517  function isOutsideEvent(event, container) {
3518    const containerElement = container || event.currentTarget;
3519    const relatedTarget = event.relatedTarget;
3520    return !relatedTarget || !contains(containerElement, relatedTarget);
3521  }
3522  function disableFocusInside(container) {
3523    const tabbableElements = tabbable(container);
3524    tabbableElements.forEach((element) => {
3525      element.dataset.tabindex = element.getAttribute("tabindex") || "";
3526      element.setAttribute("tabindex", "-1");
3527    });
3528  }
3529  function enableFocusInside(container) {
3530    const elements = [];
3531    appendMatchingElements(container, "[data-tabindex]", elements);
3532    elements.forEach((element) => {
3533      const tabindex = element.dataset.tabindex;
3534      delete element.dataset.tabindex;
3535      if (tabindex) {
3536        element.setAttribute("tabindex", tabindex);
3537      } else {
3538        element.removeAttribute("tabindex");
3539      }
3540    });
3541  }
3542  
3543  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/nodes.mjs
3544  function getNodeChildren(nodes, id, onlyOpenChildren = true) {
3545    const directChildren = nodes.filter((node) => node.parentId === id);
3546    return directChildren.flatMap((child) => [...!onlyOpenChildren || child.context?.open ? [child] : [], ...getNodeChildren(nodes, child.id, onlyOpenChildren)]);
3547  }
3548  function getNodeAncestors(nodes, id) {
3549    let allAncestors = [];
3550    let currentParentId = nodes.find((node) => node.id === id)?.parentId;
3551    while (currentParentId) {
3552      const currentNode = nodes.find((node) => node.id === currentParentId);
3553      currentParentId = currentNode?.parentId;
3554      if (currentNode) {
3555        allAncestors = allAncestors.concat(currentNode);
3556      }
3557    }
3558    return allAncestors;
3559  }
3560  
3561  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createAttribute.mjs
3562  function createAttribute(name) {
3563    return `data-base-ui-$name}`;
3564  }
3565  
3566  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/enqueueFocus.mjs
3567  var rafId = 0;
3568  function enqueueFocus(el, options = {}) {
3569    const {
3570      preventScroll = false,
3571      sync = false,
3572      shouldFocus
3573    } = options;
3574    cancelAnimationFrame(rafId);
3575    function exec() {
3576      if (shouldFocus && !shouldFocus()) {
3577        return;
3578      }
3579      el?.focus({
3580        preventScroll
3581      });
3582    }
3583    if (sync) {
3584      exec();
3585      return NOOP;
3586    }
3587    const currentRafId = requestAnimationFrame(exec);
3588    rafId = currentRafId;
3589    return () => {
3590      if (rafId === currentRafId) {
3591        cancelAnimationFrame(currentRafId);
3592        rafId = 0;
3593      }
3594    };
3595  }
3596  
3597  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/markOthers.mjs
3598  var markerName = "data-base-ui-inert";
3599  var ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3600  var uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3601  var markerCounterMap = /* @__PURE__ */ new WeakMap();
3602  var lockCount = 0;
3603  function unwrapHost(node) {
3604    if (!node) {
3605      return null;
3606    }
3607    return isShadowRoot(node) ? node.host : unwrapHost(node.parentNode);
3608  }
3609  var correctElements = (parent, targets) => targets.map((target) => {
3610    if (parent.contains(target)) {
3611      return target;
3612    }
3613    const correctedTarget = unwrapHost(target);
3614    if (parent.contains(correctedTarget)) {
3615      return correctedTarget;
3616    }
3617    return null;
3618  }).filter((x) => x != null);
3619  var buildKeepSet = (targets) => {
3620    const keep = /* @__PURE__ */ new Set();
3621    targets.forEach((target) => {
3622      let node = target;
3623      while (node && !keep.has(node)) {
3624        keep.add(node);
3625        node = node.parentNode;
3626      }
3627    });
3628    return keep;
3629  };
3630  var collectOutsideElements = (root2, keepElements, stopElements) => {
3631    const outside = [];
3632    const walk = (parent) => {
3633      if (!parent || stopElements.has(parent)) {
3634        return;
3635      }
3636      Array.from(parent.children).forEach((node) => {
3637        if (getNodeName(node) === "script") {
3638          return;
3639        }
3640        if (keepElements.has(node)) {
3641          walk(node);
3642        } else {
3643          outside.push(node);
3644        }
3645      });
3646    };
3647    walk(root2);
3648    return outside;
3649  };
3650  function applyAttributeToOthers(uncorrectedAvoidElements, body, ariaHidden, {
3651    mark = true
3652  }) {
3653    const avoidElements = correctElements(body, uncorrectedAvoidElements);
3654    const markerTargets = mark ? collectOutsideElements(body, buildKeepSet(avoidElements), new Set(avoidElements)) : [];
3655    const hiddenElements = [];
3656    const markedElements = [];
3657    if (ariaHidden) {
3658      const ariaLiveElements = correctElements(body, Array.from(body.querySelectorAll("[aria-live]")));
3659      const controlElements = avoidElements.concat(ariaLiveElements);
3660      const controlTargets = collectOutsideElements(body, buildKeepSet(controlElements), new Set(controlElements));
3661      controlTargets.forEach((node) => {
3662        const attr2 = node.getAttribute("aria-hidden");
3663        const alreadyHidden = attr2 !== null && attr2 !== "false";
3664        const counterValue = (ariaHiddenCounterMap.get(node) || 0) + 1;
3665        ariaHiddenCounterMap.set(node, counterValue);
3666        hiddenElements.push(node);
3667        if (counterValue === 1 && alreadyHidden) {
3668          uncontrolledElementsSet.add(node);
3669        }
3670        if (!alreadyHidden) {
3671          node.setAttribute("aria-hidden", "true");
3672        }
3673      });
3674    }
3675    if (mark) {
3676      markerTargets.forEach((node) => {
3677        const markerValue = (markerCounterMap.get(node) || 0) + 1;
3678        markerCounterMap.set(node, markerValue);
3679        markedElements.push(node);
3680        if (markerValue === 1) {
3681          node.setAttribute(markerName, "");
3682        }
3683      });
3684    }
3685    lockCount += 1;
3686    return () => {
3687      hiddenElements.forEach((element) => {
3688        const counterValue = (ariaHiddenCounterMap.get(element) || 0) - 1;
3689        ariaHiddenCounterMap.set(element, counterValue);
3690        if (!counterValue) {
3691          if (!uncontrolledElementsSet.has(element)) {
3692            element.removeAttribute("aria-hidden");
3693          }
3694          uncontrolledElementsSet.delete(element);
3695        }
3696      });
3697      if (mark) {
3698        markedElements.forEach((element) => {
3699          const markerValue = (markerCounterMap.get(element) || 0) - 1;
3700          markerCounterMap.set(element, markerValue);
3701          if (!markerValue) {
3702            element.removeAttribute(markerName);
3703          }
3704        });
3705      }
3706      lockCount -= 1;
3707      if (!lockCount) {
3708        ariaHiddenCounterMap = /* @__PURE__ */ new WeakMap();
3709        uncontrolledElementsSet = /* @__PURE__ */ new WeakSet();
3710        markerCounterMap = /* @__PURE__ */ new WeakMap();
3711      }
3712    };
3713  }
3714  function markOthers(avoidElements, options = {}) {
3715    const {
3716      ariaHidden = false,
3717      mark = true
3718    } = options;
3719    const body = ownerDocument(avoidElements[0]).body;
3720    return applyAttributeToOthers(avoidElements, body, ariaHidden, {
3721      mark
3722    });
3723  }
3724  
3725  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3726  var React21 = __toESM(require_react(), 1);
3727  var ReactDOM2 = __toESM(require_react_dom(), 1);
3728  
3729  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/constants.mjs
3730  var DISABLED_TRANSITIONS_STYLE = {
3731    style: {
3732      transition: "none"
3733    }
3734  };
3735  var CLICK_TRIGGER_IDENTIFIER = "data-base-ui-click-trigger";
3736  var BASE_UI_SWIPE_IGNORE_ATTRIBUTE = "data-base-ui-swipe-ignore";
3737  var LEGACY_SWIPE_IGNORE_ATTRIBUTE = "data-swipe-ignore";
3738  var BASE_UI_SWIPE_IGNORE_SELECTOR = `[$BASE_UI_SWIPE_IGNORE_ATTRIBUTE}]`;
3739  var LEGACY_SWIPE_IGNORE_SELECTOR = `[$LEGACY_SWIPE_IGNORE_ATTRIBUTE}]`;
3740  var DROPDOWN_COLLISION_AVOIDANCE = {
3741    fallbackAxisSide: "none"
3742  };
3743  var POPUP_COLLISION_AVOIDANCE = {
3744    fallbackAxisSide: "end"
3745  };
3746  var ownerVisuallyHidden = {
3747    clipPath: "inset(50%)",
3748    position: "fixed",
3749    top: 0,
3750    left: 0
3751  };
3752  
3753  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingPortal.mjs
3754  var import_jsx_runtime5 = __toESM(require_jsx_runtime(), 1);
3755  var PortalContext = /* @__PURE__ */ React21.createContext(null);
3756  if (true) PortalContext.displayName = "PortalContext";
3757  var usePortalContext = () => React21.useContext(PortalContext);
3758  var attr = createAttribute("portal");
3759  function useFloatingPortalNode(props = {}) {
3760    const {
3761      ref,
3762      container: containerProp,
3763      componentProps = EMPTY_OBJECT,
3764      elementProps
3765    } = props;
3766    const uniqueId = useId();
3767    const portalContext = usePortalContext();
3768    const parentPortalNode = portalContext?.portalNode;
3769    const [containerElement, setContainerElement] = React21.useState(null);
3770    const [portalNode, setPortalNode] = React21.useState(null);
3771    const setPortalNodeRef = useStableCallback((node) => {
3772      if (node !== null) {
3773        setPortalNode(node);
3774      }
3775    });
3776    const containerRef = React21.useRef(null);
3777    useIsoLayoutEffect(() => {
3778      if (containerProp === null) {
3779        if (containerRef.current) {
3780          containerRef.current = null;
3781          setPortalNode(null);
3782          setContainerElement(null);
3783        }
3784        return;
3785      }
3786      const resolvedContainer = (containerProp && (isNode(containerProp) ? containerProp : containerProp.current)) ?? parentPortalNode ?? document.body;
3787      if (resolvedContainer == null) {
3788        if (containerRef.current) {
3789          containerRef.current = null;
3790          setPortalNode(null);
3791          setContainerElement(null);
3792        }
3793        return;
3794      }
3795      if (containerRef.current !== resolvedContainer) {
3796        containerRef.current = resolvedContainer;
3797        setPortalNode(null);
3798        setContainerElement(resolvedContainer);
3799      }
3800    }, [containerProp, parentPortalNode]);
3801    const portalElement = useRenderElement("div", componentProps, {
3802      ref: [ref, setPortalNodeRef],
3803      props: [{
3804        id: uniqueId,
3805        [attr]: ""
3806      }, elementProps]
3807    });
3808    const portalSubtree = containerElement && portalElement ? /* @__PURE__ */ ReactDOM2.createPortal(portalElement, containerElement) : null;
3809    return {
3810      node: portalNode,
3811      // `id` and `render` props can override or remove the generated ID. Use the exact
3812      // rendered value so `aria-owns` never points at an ID absent from the DOM.
3813      nodeId: /* @__PURE__ */ React21.isValidElement(portalElement) ? portalElement.props.id : void 0,
3814      subtree: portalSubtree
3815    };
3816  }
3817  var FloatingPortal = /* @__PURE__ */ React21.forwardRef(function FloatingPortal2(componentProps, forwardedRef) {
3818    const {
3819      render,
3820      className,
3821      style,
3822      children,
3823      container,
3824      portalOwnerRole,
3825      ...elementProps
3826    } = componentProps;
3827    const {
3828      node: portalNode,
3829      nodeId: portalNodeId,
3830      subtree: portalSubtree
3831    } = useFloatingPortalNode({
3832      container,
3833      ref: forwardedRef,
3834      componentProps,
3835      elementProps
3836    });
3837    const beforeOutsideRef = React21.useRef(null);
3838    const afterOutsideRef = React21.useRef(null);
3839    const beforeInsideRef = React21.useRef(null);
3840    const afterInsideRef = React21.useRef(null);
3841    const [focusManagerState, setFocusManagerState] = React21.useState(null);
3842    const focusInsideDisabledRef = React21.useRef(false);
3843    const modal = focusManagerState?.modal;
3844    const open2 = focusManagerState?.open;
3845    const shouldRenderGuards = !!focusManagerState && !focusManagerState.modal && focusManagerState.open && !!portalNode;
3846    React21.useEffect(() => {
3847      if (!portalNode || modal) {
3848        return void 0;
3849      }
3850      function onFocus(event) {
3851        if (portalNode && event.relatedTarget && isOutsideEvent(event)) {
3852          if (event.type === "focusin") {
3853            if (focusInsideDisabledRef.current) {
3854              enableFocusInside(portalNode);
3855              focusInsideDisabledRef.current = false;
3856            }
3857          } else {
3858            disableFocusInside(portalNode);
3859            focusInsideDisabledRef.current = true;
3860          }
3861        }
3862      }
3863      return mergeCleanups(addEventListener(portalNode, "focusin", onFocus, true), addEventListener(portalNode, "focusout", onFocus, true));
3864    }, [portalNode, modal]);
3865    useIsoLayoutEffect(() => {
3866      if (!portalNode || open2 !== true || !focusInsideDisabledRef.current) {
3867        return;
3868      }
3869      enableFocusInside(portalNode);
3870      focusInsideDisabledRef.current = false;
3871    }, [open2, portalNode]);
3872    const portalContextValue = React21.useMemo(() => ({
3873      beforeOutsideRef,
3874      afterOutsideRef,
3875      beforeInsideRef,
3876      afterInsideRef,
3877      portalNode,
3878      setFocusManagerState
3879    }), [portalNode]);
3880    return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(React21.Fragment, {
3881      children: [portalSubtree, /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(PortalContext.Provider, {
3882        value: portalContextValue,
3883        children: [shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FocusGuard, {
3884          "data-type": "outside",
3885          ref: beforeOutsideRef,
3886          onFocus: (event) => {
3887            if (isOutsideEvent(event, portalNode)) {
3888              beforeInsideRef.current?.focus();
3889            } else {
3890              const domReference = focusManagerState ? focusManagerState.domReference : null;
3891              const prevTabbable = getPreviousTabbable(domReference);
3892              prevTabbable?.focus();
3893            }
3894          }
3895        }), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("span", {
3896          role: portalOwnerRole,
3897          "aria-owns": portalNodeId,
3898          style: ownerVisuallyHidden
3899        }), portalNode && /* @__PURE__ */ ReactDOM2.createPortal(children, portalNode), shouldRenderGuards && portalNode && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(FocusGuard, {
3900          "data-type": "outside",
3901          ref: afterOutsideRef,
3902          onFocus: (event) => {
3903            if (isOutsideEvent(event, portalNode)) {
3904              afterInsideRef.current?.focus();
3905            } else {
3906              const domReference = focusManagerState ? focusManagerState.domReference : null;
3907              const nextTabbable = getNextTabbable(domReference);
3908              nextTabbable?.focus();
3909              if (focusManagerState?.closeOnFocusOut) {
3910                focusManagerState?.onOpenChange(false, createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent));
3911              }
3912            }
3913          }
3914        })]
3915      })]
3916    });
3917  });
3918  if (true) FloatingPortal.displayName = "FloatingPortal";
3919  
3920  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3921  var React22 = __toESM(require_react(), 1);
3922  
3923  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/utils/createEventEmitter.mjs
3924  function createEventEmitter() {
3925    const map = /* @__PURE__ */ new Map();
3926    return {
3927      emit(event, data) {
3928        map.get(event)?.forEach((listener) => listener(data));
3929      },
3930      on(event, listener) {
3931        if (!map.has(event)) {
3932          map.set(event, /* @__PURE__ */ new Set());
3933        }
3934        map.get(event).add(listener);
3935      },
3936      off(event, listener) {
3937        map.get(event)?.delete(listener);
3938      }
3939    };
3940  }
3941  
3942  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingTree.mjs
3943  var import_jsx_runtime6 = __toESM(require_jsx_runtime(), 1);
3944  var FloatingNodeContext = /* @__PURE__ */ React22.createContext(null);
3945  if (true) FloatingNodeContext.displayName = "FloatingNodeContext";
3946  var FloatingTreeContext = /* @__PURE__ */ React22.createContext(null);
3947  if (true) FloatingTreeContext.displayName = "FloatingTreeContext";
3948  var useFloatingParentNodeId = () => React22.useContext(FloatingNodeContext)?.id || null;
3949  var useFloatingTree = (externalTree) => {
3950    const contextTree = React22.useContext(FloatingTreeContext);
3951    return externalTree ?? contextTree;
3952  };
3953  
3954  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingFocusManager.mjs
3955  var import_jsx_runtime7 = __toESM(require_jsx_runtime(), 1);
3956  function getEventType(event, lastInteractionType) {
3957    const win = getWindow(getTarget(event));
3958    if (event instanceof win.KeyboardEvent) {
3959      return "keyboard";
3960    }
3961    if (event instanceof win.FocusEvent) {
3962      return lastInteractionType || "keyboard";
3963    }
3964    if ("pointerType" in event) {
3965      return event.pointerType || (isVirtualClick(event) ? "keyboard" : lastInteractionType || "mouse");
3966    }
3967    if ("touches" in event) {
3968      return "touch";
3969    }
3970    if (event instanceof win.MouseEvent) {
3971      return lastInteractionType || (event.detail === 0 ? "keyboard" : "mouse");
3972    }
3973    return "";
3974  }
3975  var LIST_LIMIT = 20;
3976  var previouslyFocusedElements = [];
3977  function clearDisconnectedPreviouslyFocusedElements() {
3978    previouslyFocusedElements = previouslyFocusedElements.filter((entry) => {
3979      return entry.deref()?.isConnected;
3980    });
3981  }
3982  function addPreviouslyFocusedElement(element) {
3983    clearDisconnectedPreviouslyFocusedElements();
3984    if (element && getNodeName(element) !== "body") {
3985      previouslyFocusedElements.push(new WeakRef(element));
3986      if (previouslyFocusedElements.length > LIST_LIMIT) {
3987        previouslyFocusedElements = previouslyFocusedElements.slice(-LIST_LIMIT);
3988      }
3989    }
3990  }
3991  function getPreviouslyFocusedElement() {
3992    clearDisconnectedPreviouslyFocusedElements();
3993    return previouslyFocusedElements[previouslyFocusedElements.length - 1]?.deref();
3994  }
3995  function getFirstTabbableElement(container) {
3996    if (!container) {
3997      return null;
3998    }
3999    if (isTabbable(container)) {
4000      return container;
4001    }
4002    return tabbable(container)[0] || container;
4003  }
4004  function handleTabIndex(floatingFocusElement) {
4005    if (floatingFocusElement.hasAttribute("tabindex") && !floatingFocusElement.hasAttribute("data-tabindex")) {
4006      return;
4007    }
4008    if (!floatingFocusElement.getAttribute("role")?.includes("dialog")) {
4009      return;
4010    }
4011    const focusableElements = focusable(floatingFocusElement);
4012    const tabbableContent = focusableElements.filter((element) => {
4013      const dataTabIndex = element.getAttribute("data-tabindex") || "";
4014      return isTabbable(element) || element.hasAttribute("data-tabindex") && !dataTabIndex.startsWith("-");
4015    });
4016    const tabIndex = floatingFocusElement.getAttribute("tabindex");
4017    if (tabbableContent.length === 0) {
4018      if (tabIndex !== "0") {
4019        floatingFocusElement.setAttribute("tabindex", "0");
4020        floatingFocusElement.setAttribute("data-tabindex", "0");
4021      }
4022    } else if (tabIndex !== "-1" || floatingFocusElement.hasAttribute("data-tabindex") && floatingFocusElement.getAttribute("data-tabindex") !== "-1") {
4023      floatingFocusElement.setAttribute("tabindex", "-1");
4024      floatingFocusElement.setAttribute("data-tabindex", "-1");
4025    }
4026  }
4027  function FloatingFocusManager(props) {
4028    const {
4029      context: store,
4030      children,
4031      disabled: disabled2 = false,
4032      initialFocus = true,
4033      returnFocus = true,
4034      explicitReturnFocus,
4035      restoreFocus = false,
4036      modal = true,
4037      closeOnFocusOut = true,
4038      openInteractionType = "",
4039      nextFocusableElement,
4040      previousFocusableElement,
4041      beforeContentFocusGuardRef,
4042      externalTree,
4043      getInsideElements
4044    } = props;
4045    const open2 = store.useState("open");
4046    const domReference = store.useState("domReferenceElement");
4047    const floating = store.useState("floatingElement");
4048    const {
4049      events,
4050      dataRef
4051    } = store.context;
4052    const getNodeId = useStableCallback(() => dataRef.current.floatingContext?.nodeId);
4053    const ignoreInitialFocus = initialFocus === false;
4054    const isUntrappedTypeableCombobox = isTypeableCombobox(domReference) && ignoreInitialFocus;
4055    const initialFocusRef = useValueAsRef(initialFocus);
4056    const returnFocusRef = useValueAsRef(returnFocus);
4057    const explicitReturnFocusRef = useValueAsRef(explicitReturnFocus);
4058    const openInteractionTypeRef = useValueAsRef(openInteractionType);
4059    const openRef = useValueAsRef(open2);
4060    const tree = useFloatingTree(externalTree);
4061    const portalContext = usePortalContext();
4062    const preventReturnFocusRef = React23.useRef(false);
4063    const isPointerDownRef = React23.useRef(false);
4064    const pointerDownOutsideRef = React23.useRef(false);
4065    const lastFocusedTabbableRef = React23.useRef(null);
4066    const closeTypeRef = React23.useRef("");
4067    const lastInteractionTypeRef = React23.useRef("");
4068    const beforeGuardRef = React23.useRef(null);
4069    const afterGuardRef = React23.useRef(null);
4070    const mergedBeforeGuardRef = useMergedRefs(beforeGuardRef, beforeContentFocusGuardRef, portalContext?.beforeInsideRef);
4071    const mergedAfterGuardRef = useMergedRefs(afterGuardRef, portalContext?.afterInsideRef);
4072    const blurTimeout = useTimeout();
4073    const pointerDownTimeout = useTimeout();
4074    const restoreFocusFrame = useAnimationFrame();
4075    const isInsidePortal = portalContext != null;
4076    const floatingFocusElement = getFloatingFocusElement(floating);
4077    const getTabbableContent = useStableCallback((container = floatingFocusElement) => {
4078      return container ? tabbable(container) : [];
4079    });
4080    const getResolvedInsideElements = useStableCallback(() => getInsideElements?.().filter((element) => element != null) ?? []);
4081    React23.useEffect(() => {
4082      if (disabled2 || !modal) {
4083        return void 0;
4084      }
4085      function onKeyDown(event) {
4086        if (event.key === "Tab") {
4087          if (contains(floatingFocusElement, activeElement(ownerDocument(floatingFocusElement))) && getTabbableContent().length === 0 && !isUntrappedTypeableCombobox) {
4088            stopEvent(event);
4089          }
4090        }
4091      }
4092      const doc = ownerDocument(floatingFocusElement);
4093      return addEventListener(doc, "keydown", onKeyDown);
4094    }, [disabled2, floatingFocusElement, modal, isUntrappedTypeableCombobox, getTabbableContent]);
4095    React23.useEffect(() => {
4096      if (disabled2 || !open2) {
4097        return void 0;
4098      }
4099      const doc = ownerDocument(floatingFocusElement);
4100      function clearPointerDownOutside() {
4101        pointerDownOutsideRef.current = false;
4102      }
4103      function onPointerDown(event) {
4104        const target = getTarget(event);
4105        const insideElements = getResolvedInsideElements();
4106        const pointerTargetInside = contains(floating, target) || contains(domReference, target) || contains(portalContext?.portalNode, target) || insideElements.some((element) => element === target || contains(element, target));
4107        pointerDownOutsideRef.current = !pointerTargetInside;
4108        lastInteractionTypeRef.current = event.pointerType || "keyboard";
4109        if (closest(target, `[$CLICK_TRIGGER_IDENTIFIER}]`)) {
4110          isPointerDownRef.current = true;
4111          pointerDownTimeout.start(0, () => {
4112            isPointerDownRef.current = false;
4113          });
4114        }
4115      }
4116      function onKeyDown() {
4117        lastInteractionTypeRef.current = "keyboard";
4118      }
4119      return mergeCleanups(
4120        addEventListener(doc, "pointerdown", onPointerDown, true),
4121        addEventListener(doc, "pointerup", clearPointerDownOutside, true),
4122        addEventListener(doc, "pointercancel", clearPointerDownOutside, true),
4123        addEventListener(doc, "keydown", onKeyDown, true),
4124        // Avoid a stale `true` leaking into the next open (e.g. keep-mounted popups)
4125        // if the popup dismissed between pointerdown and pointerup.
4126        clearPointerDownOutside
4127      );
4128    }, [disabled2, floating, domReference, floatingFocusElement, open2, portalContext, pointerDownTimeout, getResolvedInsideElements]);
4129    React23.useEffect(() => {
4130      if (disabled2 || !closeOnFocusOut) {
4131        return void 0;
4132      }
4133      const doc = ownerDocument(floatingFocusElement);
4134      function handlePointerDown() {
4135        isPointerDownRef.current = true;
4136        pointerDownTimeout.start(0, () => {
4137          isPointerDownRef.current = false;
4138        });
4139      }
4140      function handleFocusIn(event) {
4141        const target = getTarget(event);
4142        if (isTabbable(target)) {
4143          lastFocusedTabbableRef.current = target;
4144        }
4145      }
4146      function handleFocusOutside(event) {
4147        const relatedTarget = event.relatedTarget;
4148        const currentTarget = event.currentTarget;
4149        const target = getTarget(event);
4150        if (modal && relatedTarget == null && target != null && contains(floating, target)) {
4151          addPreviouslyFocusedElement(target);
4152        }
4153        queueMicrotask(() => {
4154          const nodeId = getNodeId();
4155          const triggers = store.context.triggerElements;
4156          const insideElements = getResolvedInsideElements();
4157          const isRelatedFocusGuard = relatedTarget?.hasAttribute(createAttribute("focus-guard")) && [beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeInsideRef.current, portalContext?.afterInsideRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement)].includes(relatedTarget);
4158          const movedToUnrelatedNode = !(contains(domReference, relatedTarget) || contains(floating, relatedTarget) || contains(relatedTarget, floating) || contains(portalContext?.portalNode, relatedTarget) || insideElements.some((element) => element === relatedTarget || contains(element, relatedTarget)) || triggers.hasMatchingElement((trigger) => contains(trigger, relatedTarget)) || isRelatedFocusGuard || tree && (getNodeChildren(tree.nodesRef.current, nodeId).find((node) => contains(node.context?.elements.floating, relatedTarget) || contains(node.context?.elements.domReference, relatedTarget)) || getNodeAncestors(tree.nodesRef.current, nodeId).find((node) => [node.context?.elements.floating, getFloatingFocusElement(node.context?.elements.floating)].includes(relatedTarget) || node.context?.elements.domReference === relatedTarget)));
4159          if (currentTarget === domReference && floatingFocusElement) {
4160            handleTabIndex(floatingFocusElement);
4161          }
4162          if (restoreFocus && currentTarget !== domReference && !isElementVisible(target) && activeElement(doc) === doc.body) {
4163            if (isHTMLElement(floatingFocusElement)) {
4164              floatingFocusElement.focus();
4165              if (restoreFocus === "popup") {
4166                restoreFocusFrame.request(() => {
4167                  floatingFocusElement.focus();
4168                });
4169                return;
4170              }
4171            }
4172            const tabbableContent = getTabbableContent();
4173            const prevTabbable = lastFocusedTabbableRef.current;
4174            const nodeToFocus = (prevTabbable && tabbableContent.includes(prevTabbable) ? prevTabbable : null) || tabbableContent[tabbableContent.length - 1] || floatingFocusElement;
4175            if (isHTMLElement(nodeToFocus)) {
4176              nodeToFocus.focus();
4177            }
4178          }
4179          if (dataRef.current.insideReactTree) {
4180            dataRef.current.insideReactTree = false;
4181            return;
4182          }
4183          if ((isUntrappedTypeableCombobox ? true : !modal) && relatedTarget && movedToUnrelatedNode && !isPointerDownRef.current && // Fix React 18 Strict Mode returnFocus due to double rendering.
4184          // For an "untrapped" typeable combobox (input role=combobox with
4185          // initialFocus=false), re-opening the popup and tabbing out should still close it even
4186          // when the previously focused element (e.g. the next tabbable outside the popup) is
4187          // focused again. Otherwise, the popup remains open on the second Tab sequence:
4188          // click input -> Tab (closes) -> click input -> Tab.
4189          // Allow closing when `isUntrappedTypeableCombobox` regardless of the previously focused element.
4190          (isUntrappedTypeableCombobox || relatedTarget !== getPreviouslyFocusedElement())) {
4191            preventReturnFocusRef.current = true;
4192            store.setOpen(false, createChangeEventDetails(reason_parts_exports.focusOut, event));
4193          }
4194        });
4195      }
4196      function markInsideReactTree() {
4197        if (pointerDownOutsideRef.current) {
4198          return;
4199        }
4200        dataRef.current.insideReactTree = true;
4201        blurTimeout.start(0, () => {
4202          dataRef.current.insideReactTree = false;
4203        });
4204      }
4205      const domReferenceElement = isHTMLElement(domReference) ? domReference : null;
4206      if (!floating && !domReferenceElement) {
4207        return void 0;
4208      }
4209      return mergeCleanups(domReferenceElement && addEventListener(domReferenceElement, "focusout", handleFocusOutside), domReferenceElement && addEventListener(domReferenceElement, "pointerdown", handlePointerDown), floating && addEventListener(floating, "focusin", handleFocusIn), floating && addEventListener(floating, "focusout", handleFocusOutside), floating && portalContext && addEventListener(floating, "focusout", markInsideReactTree, true));
4210    }, [disabled2, domReference, floating, floatingFocusElement, modal, tree, portalContext, store, closeOnFocusOut, restoreFocus, getTabbableContent, isUntrappedTypeableCombobox, getNodeId, dataRef, blurTimeout, pointerDownTimeout, restoreFocusFrame, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4211    React23.useEffect(() => {
4212      if (disabled2 || !floating || !open2) {
4213        return void 0;
4214      }
4215      const portalNodes = Array.from(portalContext?.portalNode?.querySelectorAll(`[$createAttribute("portal")}]`) || []);
4216      const ancestors = tree ? getNodeAncestors(tree.nodesRef.current, getNodeId()) : [];
4217      const rootAncestorComboboxDomReference = ancestors.find((node) => isTypeableCombobox(node.context?.elements.domReference || null))?.context?.elements.domReference;
4218      const controlInsideElements = [floating, ...portalNodes, beforeGuardRef.current, afterGuardRef.current, portalContext?.beforeOutsideRef.current, portalContext?.afterOutsideRef.current, ...getResolvedInsideElements()];
4219      const insideElements = [...controlInsideElements, rootAncestorComboboxDomReference, resolveRef(previousFocusableElement), resolveRef(nextFocusableElement), isUntrappedTypeableCombobox ? domReference : null].filter((x) => x != null);
4220      const ariaHiddenCleanup = markOthers(insideElements, {
4221        ariaHidden: modal || isUntrappedTypeableCombobox,
4222        mark: false
4223      });
4224      const markerInsideElements = [floating, ...portalNodes].filter((x) => x != null);
4225      const markerCleanup = markOthers(markerInsideElements);
4226      return () => {
4227        markerCleanup();
4228        ariaHiddenCleanup();
4229      };
4230    }, [open2, disabled2, domReference, floating, modal, portalContext, isUntrappedTypeableCombobox, tree, getNodeId, nextFocusableElement, previousFocusableElement, getResolvedInsideElements]);
4231    useIsoLayoutEffect(() => {
4232      if (!open2 || disabled2 || !isHTMLElement(floatingFocusElement)) {
4233        return;
4234      }
4235      closeTypeRef.current = "";
4236      lastInteractionTypeRef.current = "";
4237      const doc = ownerDocument(floatingFocusElement);
4238      const previouslyFocusedElement = activeElement(doc);
4239      queueMicrotask(() => {
4240        const initialFocusValueOrFn = initialFocusRef.current;
4241        const resolvedInitialFocus = typeof initialFocusValueOrFn === "function" ? initialFocusValueOrFn(openInteractionTypeRef.current || "") : initialFocusValueOrFn;
4242        if (resolvedInitialFocus === void 0 || resolvedInitialFocus === false) {
4243          return;
4244        }
4245        const focusAlreadyInsideFloatingEl = contains(floatingFocusElement, previouslyFocusedElement);
4246        if (focusAlreadyInsideFloatingEl) {
4247          return;
4248        }
4249        let focusableElements = null;
4250        const getDefaultFocusElement = () => {
4251          if (focusableElements == null) {
4252            focusableElements = getTabbableContent(floatingFocusElement);
4253          }
4254          return focusableElements[0] || floatingFocusElement;
4255        };
4256        let elToFocus;
4257        if (resolvedInitialFocus === true || resolvedInitialFocus === null) {
4258          elToFocus = getDefaultFocusElement();
4259        } else {
4260          elToFocus = resolveRef(resolvedInitialFocus);
4261        }
4262        elToFocus = elToFocus || getDefaultFocusElement();
4263        const hadFocusInside = contains(floatingFocusElement, activeElement(doc));
4264        const openEvent = dataRef.current.openEvent;
4265        const openedByVirtualPress = openEvent?.type === "mousedown" && isVirtualClick(openEvent);
4266        void enqueueFocus(elToFocus, {
4267          sync: openedByVirtualPress,
4268          preventScroll: elToFocus === floatingFocusElement,
4269          shouldFocus() {
4270            if (!openRef.current) {
4271              return false;
4272            }
4273            if (hadFocusInside) {
4274              return true;
4275            }
4276            const currentActiveElement = activeElement(doc);
4277            const focusMovedInside = currentActiveElement !== elToFocus && contains(floatingFocusElement, currentActiveElement);
4278            return !focusMovedInside;
4279          }
4280        });
4281      });
4282    }, [disabled2, open2, floatingFocusElement, getTabbableContent, initialFocusRef, openInteractionTypeRef, openRef, dataRef]);
4283    const pendingReturnFocusRef = React23.useRef(null);
4284    useIsoLayoutEffect(() => {
4285      if (disabled2 || !floatingFocusElement) {
4286        pendingReturnFocusRef.current = null;
4287        return void 0;
4288      }
4289      if (pendingReturnFocusRef.current) {
4290        pendingReturnFocusRef.current.cancelled = true;
4291        pendingReturnFocusRef.current = null;
4292      }
4293      const doc = ownerDocument(floatingFocusElement);
4294      const elementFocusedBeforeOpen = activeElement(doc);
4295      const preferPreviousFocus = openInteractionTypeRef.current == null;
4296      addPreviouslyFocusedElement(elementFocusedBeforeOpen);
4297      function onOpenChangeLocal(details) {
4298        if (!details.open) {
4299          closeTypeRef.current = getEventType(details.nativeEvent, lastInteractionTypeRef.current);
4300        }
4301        if (details.reason === reason_parts_exports.focusOut && details.triggerElement?.hasAttribute(createAttribute("focus-guard")) || details.reason === reason_parts_exports.triggerHover && details.nativeEvent.type === "mouseleave") {
4302          preventReturnFocusRef.current = true;
4303        }
4304        if (details.reason !== reason_parts_exports.outsidePress) {
4305          return;
4306        }
4307        if (details.nested) {
4308          preventReturnFocusRef.current = false;
4309        } else if (isVirtualClick(details.nativeEvent) || isVirtualPointerEvent(details.nativeEvent)) {
4310          preventReturnFocusRef.current = false;
4311        } else {
4312          let isPreventScrollSupported = false;
4313          ownerDocument(floatingFocusElement).createElement("div").focus({
4314            get preventScroll() {
4315              isPreventScrollSupported = true;
4316              return false;
4317            }
4318          });
4319          if (isPreventScrollSupported) {
4320            preventReturnFocusRef.current = false;
4321          } else {
4322            preventReturnFocusRef.current = true;
4323          }
4324        }
4325      }
4326      events.on("openchange", onOpenChangeLocal);
4327      function getReturnElement(closeType) {
4328        const returnFocusValueOrFn = returnFocusRef.current;
4329        let resolvedReturnFocusValue = typeof returnFocusValueOrFn === "function" ? returnFocusValueOrFn(closeType) : returnFocusValueOrFn;
4330        if (resolvedReturnFocusValue === void 0 || resolvedReturnFocusValue === false) {
4331          return null;
4332        }
4333        if (resolvedReturnFocusValue === null) {
4334          resolvedReturnFocusValue = true;
4335        }
4336        const referenceReturnElement = domReference?.isConnected ? domReference : null;
4337        const previousReturnElement = elementFocusedBeforeOpen?.isConnected && getNodeName(elementFocusedBeforeOpen) !== "body" ? elementFocusedBeforeOpen : null;
4338        let defaultReturnElement = preferPreviousFocus ? previousReturnElement || referenceReturnElement : referenceReturnElement || previousReturnElement;
4339        if (!defaultReturnElement) {
4340          defaultReturnElement = getPreviouslyFocusedElement() || null;
4341        }
4342        if (typeof resolvedReturnFocusValue === "boolean") {
4343          return defaultReturnElement;
4344        }
4345        return resolveRef(resolvedReturnFocusValue) || defaultReturnElement || null;
4346      }
4347      return () => {
4348        events.off("openchange", onOpenChangeLocal);
4349        const activeEl = activeElement(doc);
4350        const insideElements = getResolvedInsideElements();
4351        const isFocusInsideFloatingTree = contains(floating, activeEl) || insideElements.some((element) => element === activeEl || contains(element, activeEl)) || tree && getNodeChildren(tree.nodesRef.current, getNodeId(), false).some((node) => contains(node.context?.elements.floating, activeEl));
4352        const returnFocusValueOrFn = returnFocusRef.current;
4353        const closeType = closeTypeRef.current;
4354        const returnElement = getReturnElement(closeType);
4355        const job = {
4356          cancelled: false
4357        };
4358        pendingReturnFocusRef.current = job;
4359        queueMicrotask(() => {
4360          if (pendingReturnFocusRef.current === job) {
4361            pendingReturnFocusRef.current = null;
4362          }
4363          const tabbableReturnElement = getFirstTabbableElement(returnElement);
4364          const hasExplicitReturnFocus = (
4365            // eslint-disable-next-line react-hooks/exhaustive-deps
4366            explicitReturnFocusRef.current ?? typeof returnFocusValueOrFn !== "boolean"
4367          );
4368          if (!job.cancelled && returnFocusValueOrFn && !preventReturnFocusRef.current && isHTMLElement(tabbableReturnElement) && // If the focus moved somewhere else after mount, avoid returning focus
4369          // since it likely entered a different element which should be
4370          // respected: https://github.com/floating-ui/floating-ui/issues/2607
4371          (!hasExplicitReturnFocus && tabbableReturnElement !== activeEl && activeEl !== doc.body ? isFocusInsideFloatingTree : true)) {
4372            const focusOptions = {
4373              preventScroll: true
4374            };
4375            if (closeType === "keyboard") {
4376              focusOptions.focusVisible = true;
4377            }
4378            tabbableReturnElement.focus(focusOptions);
4379          }
4380          preventReturnFocusRef.current = false;
4381        });
4382      };
4383    }, [disabled2, floating, floatingFocusElement, returnFocusRef, explicitReturnFocusRef, openInteractionTypeRef, events, tree, domReference, getNodeId, getResolvedInsideElements]);
4384    useIsoLayoutEffect(() => {
4385      if (!parts_exports.engine.webkit || open2 || !floating) {
4386        return;
4387      }
4388      const activeEl = activeElement(ownerDocument(floating));
4389      if (!isHTMLElement(activeEl) || !isTypeableElement(activeEl)) {
4390        return;
4391      }
4392      if (contains(floating, activeEl)) {
4393        activeEl.blur();
4394      }
4395    }, [open2, floating]);
4396    useIsoLayoutEffect(() => {
4397      if (disabled2 || !portalContext) {
4398        return void 0;
4399      }
4400      portalContext.setFocusManagerState({
4401        modal,
4402        closeOnFocusOut,
4403        open: open2,
4404        onOpenChange: store.setOpen,
4405        domReference
4406      });
4407      return () => {
4408        portalContext.setFocusManagerState(null);
4409      };
4410    }, [disabled2, portalContext, modal, open2, store, closeOnFocusOut, domReference]);
4411    useIsoLayoutEffect(() => {
4412      if (disabled2 || !floatingFocusElement) {
4413        return void 0;
4414      }
4415      handleTabIndex(floatingFocusElement);
4416      return () => {
4417        queueMicrotask(clearDisconnectedPreviouslyFocusedElements);
4418      };
4419    }, [disabled2, floatingFocusElement]);
4420    const shouldRenderGuards = !disabled2 && (modal ? !isUntrappedTypeableCombobox : true) && (isInsidePortal || modal);
4421    return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(React23.Fragment, {
4422      children: [shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FocusGuard, {
4423        "data-type": "inside",
4424        ref: mergedBeforeGuardRef,
4425        onFocus: (event) => {
4426          if (modal) {
4427            const els = getTabbableContent();
4428            void enqueueFocus(els[els.length - 1]);
4429          } else if (portalContext?.portalNode) {
4430            preventReturnFocusRef.current = false;
4431            if (isOutsideEvent(event, portalContext.portalNode)) {
4432              const nextTabbable = getNextTabbable(domReference);
4433              nextTabbable?.focus();
4434            } else {
4435              resolveRef(previousFocusableElement ?? portalContext.beforeOutsideRef)?.focus();
4436            }
4437          }
4438        }
4439      }), children, shouldRenderGuards && /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(FocusGuard, {
4440        "data-type": "inside",
4441        ref: mergedAfterGuardRef,
4442        onFocus: (event) => {
4443          if (modal) {
4444            void enqueueFocus(getTabbableContent()[0]);
4445          } else if (portalContext?.portalNode) {
4446            if (closeOnFocusOut) {
4447              preventReturnFocusRef.current = true;
4448            }
4449            if (isOutsideEvent(event, portalContext.portalNode)) {
4450              const prevTabbable = getPreviousTabbable(domReference);
4451              prevTabbable?.focus();
4452            } else {
4453              resolveRef(nextFocusableElement ?? portalContext.afterOutsideRef)?.focus();
4454            }
4455          }
4456        }
4457      })]
4458    });
4459  }
4460  
4461  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClick.mjs
4462  var React24 = __toESM(require_react(), 1);
4463  function useClick(store, props = {}) {
4464    const {
4465      enabled = true,
4466      event: eventOption = "click",
4467      toggle = true,
4468      ignoreMouse = false,
4469      stickIfOpen = true,
4470      touchOpenDelay = 0,
4471      reason = reason_parts_exports.triggerPress
4472    } = props;
4473    const dataRef = store.context.dataRef;
4474    const pointerTypeRef = React24.useRef(void 0);
4475    const frame = useAnimationFrame();
4476    const touchOpenTimeout = useTimeout();
4477    const reference = React24.useMemo(() => {
4478      function setOpenWithTouchDelay(nextOpen, nativeEvent, target, pointerType) {
4479        const details = createChangeEventDetails(reason, nativeEvent, target);
4480        if (nextOpen && pointerType === "touch" && touchOpenDelay > 0) {
4481          touchOpenTimeout.start(touchOpenDelay, () => {
4482            store.setOpen(true, details);
4483          });
4484        } else {
4485          store.setOpen(nextOpen, details);
4486        }
4487      }
4488      function getNextOpen(open2, currentTarget, isClickLikeOpenEvent2) {
4489        const openEvent = dataRef.current.openEvent;
4490        const hasClickedOnInactiveTrigger = store.select("domReferenceElement") !== currentTarget;
4491        if (open2 && hasClickedOnInactiveTrigger) {
4492          return true;
4493        }
4494        if (!open2) {
4495          return true;
4496        }
4497        if (!toggle) {
4498          return true;
4499        }
4500        if (openEvent && (typeof stickIfOpen === "function" ? stickIfOpen() : stickIfOpen)) {
4501          return !isClickLikeOpenEvent2(openEvent.type);
4502        }
4503        return false;
4504      }
4505      return {
4506        onPointerDown(event) {
4507          pointerTypeRef.current = isMouseLikePointerType(event.pointerType, true) && isVirtualPointerEvent(event.nativeEvent) ? "virtual" : event.pointerType;
4508        },
4509        onMouseDown(event) {
4510          const pointerType = pointerTypeRef.current;
4511          const nativeEvent = event.nativeEvent;
4512          const open2 = store.select("open");
4513          if (event.button !== 0 || eventOption === "click" || isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4514            return;
4515          }
4516          const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown");
4517          const target = getTarget(nativeEvent);
4518          const isTypeable = isTypeableElement(target);
4519          if (isTypeable || pointerType === "virtual") {
4520            setOpenWithTouchDelay(nextOpen, nativeEvent, isTypeable ? target : event.currentTarget, pointerType);
4521            return;
4522          }
4523          const eventCurrentTarget = event.currentTarget;
4524          frame.request(() => {
4525            setOpenWithTouchDelay(nextOpen, nativeEvent, eventCurrentTarget, pointerType);
4526          });
4527        },
4528        onClick(event) {
4529          if (eventOption === "mousedown-only") {
4530            return;
4531          }
4532          const pointerType = pointerTypeRef.current;
4533          if (eventOption === "mousedown" && pointerType) {
4534            pointerTypeRef.current = void 0;
4535            return;
4536          }
4537          if (isMouseLikePointerType(pointerType, true) && ignoreMouse) {
4538            return;
4539          }
4540          const open2 = store.select("open");
4541          const nextOpen = getNextOpen(open2, event.currentTarget, (openEventType) => openEventType === "click" || openEventType === "mousedown" || openEventType === "keydown" || openEventType === "keyup");
4542          setOpenWithTouchDelay(nextOpen, event.nativeEvent, event.currentTarget, pointerType);
4543        },
4544        onKeyDown() {
4545          pointerTypeRef.current = void 0;
4546        }
4547      };
4548    }, [dataRef, eventOption, ignoreMouse, reason, store, stickIfOpen, toggle, frame, touchOpenTimeout, touchOpenDelay]);
4549    return React24.useMemo(() => enabled ? {
4550      reference
4551    } : EMPTY_OBJECT, [enabled, reference]);
4552  }
4553  
4554  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useClientPoint.mjs
4555  var React25 = __toESM(require_react(), 1);
4556  function createVirtualElement(domElement, data) {
4557    let offsetX = null;
4558    let offsetY = null;
4559    let isAutoUpdateEvent = false;
4560    return {
4561      contextElement: domElement || void 0,
4562      getBoundingClientRect() {
4563        const domRect = domElement?.getBoundingClientRect() || {
4564          width: 0,
4565          height: 0,
4566          x: 0,
4567          y: 0
4568        };
4569        const isXAxis = data.axis === "x" || data.axis === "both";
4570        const isYAxis = data.axis === "y" || data.axis === "both";
4571        const canTrackCursorOnAutoUpdate = ["mouseenter", "mousemove"].includes(data.dataRef.current.openEvent?.type || "") && data.pointerType !== "touch";
4572        const width = data.axis === "y" ? domRect.width : 0;
4573        const height = data.axis === "x" ? domRect.height : 0;
4574        let x = domRect.x;
4575        let y = domRect.y;
4576        if (offsetX == null && data.x && isXAxis) {
4577          offsetX = domRect.x - data.x;
4578        }
4579        if (offsetY == null && data.y && isYAxis) {
4580          offsetY = domRect.y - data.y;
4581        }
4582        x -= offsetX || 0;
4583        y -= offsetY || 0;
4584        if (!isAutoUpdateEvent || canTrackCursorOnAutoUpdate) {
4585          x = isXAxis && data.x != null ? data.x : x;
4586          y = isYAxis && data.y != null ? data.y : y;
4587        }
4588        isAutoUpdateEvent = true;
4589        return {
4590          width,
4591          height,
4592          x,
4593          y,
4594          top: y,
4595          right: x + width,
4596          bottom: y + height,
4597          left: x
4598        };
4599      }
4600    };
4601  }
4602  function isMouseBasedEvent(event) {
4603    return event != null && event.clientX != null;
4604  }
4605  function useClientPoint(store, props = {}) {
4606    const {
4607      enabled = true,
4608      axis = "both"
4609    } = props;
4610    const open2 = store.useState("open");
4611    const floating = store.useState("floatingElement");
4612    const domReference = store.useState("domReferenceElement");
4613    const dataRef = store.context.dataRef;
4614    const initialRef = React25.useRef(false);
4615    const cleanupListenerRef = React25.useRef(null);
4616    const [pointerType, setPointerType] = React25.useState();
4617    const [reactive, setReactive] = React25.useState([]);
4618    const resetReference = useStableCallback((reference2) => {
4619      store.set("positionReference", reference2);
4620    });
4621    const setReference = useStableCallback((newX, newY, referenceElement) => {
4622      if (initialRef.current) {
4623        return;
4624      }
4625      if (dataRef.current.openEvent && !isMouseBasedEvent(dataRef.current.openEvent)) {
4626        return;
4627      }
4628      store.set("positionReference", createVirtualElement(referenceElement ?? domReference, {
4629        x: newX,
4630        y: newY,
4631        axis,
4632        dataRef,
4633        pointerType
4634      }));
4635    });
4636    const handleReferenceEnterOrMove = useStableCallback((event) => {
4637      if (!open2) {
4638        setReference(event.clientX, event.clientY, event.currentTarget);
4639      } else if (!cleanupListenerRef.current) {
4640        setReference(event.clientX, event.clientY, event.currentTarget);
4641        setReactive([]);
4642      }
4643    });
4644    const openCheck = isMouseLikePointerType(pointerType) ? floating : open2;
4645    React25.useEffect(() => {
4646      if (!enabled) {
4647        resetReference(domReference);
4648        return void 0;
4649      }
4650      if (!openCheck) {
4651        return void 0;
4652      }
4653      function cleanupListener() {
4654        cleanupListenerRef.current?.();
4655        cleanupListenerRef.current = null;
4656      }
4657      const win = getWindow(floating);
4658      function handleMouseMove(event) {
4659        const target = getTarget(event);
4660        if (!contains(floating, target)) {
4661          setReference(event.clientX, event.clientY);
4662        } else {
4663          cleanupListener();
4664        }
4665      }
4666      if (!dataRef.current.openEvent || isMouseBasedEvent(dataRef.current.openEvent)) {
4667        cleanupListenerRef.current = addEventListener(win, "mousemove", handleMouseMove);
4668      } else {
4669        resetReference(domReference);
4670      }
4671      return cleanupListener;
4672    }, [openCheck, enabled, floating, dataRef, domReference, store, setReference, resetReference, reactive]);
4673    React25.useEffect(() => () => {
4674      store.set("positionReference", null);
4675    }, [store]);
4676    React25.useEffect(() => {
4677      if (enabled && !floating) {
4678        initialRef.current = false;
4679      }
4680    }, [enabled, floating]);
4681    React25.useEffect(() => {
4682      if (!enabled && open2) {
4683        initialRef.current = true;
4684      }
4685    }, [enabled, open2]);
4686    const reference = React25.useMemo(() => {
4687      function setPointerTypeRef(event) {
4688        setPointerType(event.pointerType);
4689      }
4690      return {
4691        onPointerDown: setPointerTypeRef,
4692        onPointerEnter: setPointerTypeRef,
4693        onMouseMove: handleReferenceEnterOrMove,
4694        onMouseEnter: handleReferenceEnterOrMove
4695      };
4696    }, [handleReferenceEnterOrMove]);
4697    return React25.useMemo(() => enabled ? {
4698      reference,
4699      trigger: reference
4700    } : {}, [enabled, reference]);
4701  }
4702  
4703  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useDismiss.mjs
4704  var React26 = __toESM(require_react(), 1);
4705  function alwaysFalse() {
4706    return false;
4707  }
4708  function normalizeProp(normalizable) {
4709    return {
4710      escapeKey: typeof normalizable === "boolean" ? normalizable : normalizable?.escapeKey ?? false,
4711      outsidePress: typeof normalizable === "boolean" ? normalizable : normalizable?.outsidePress ?? true
4712    };
4713  }
4714  function useDismiss(store, props = {}) {
4715    const {
4716      enabled = true,
4717      escapeKey: escapeKey2 = true,
4718      outsidePress: outsidePressProp = true,
4719      outsidePressEvent = "sloppy",
4720      referencePress = alwaysFalse,
4721      bubbles,
4722      externalTree
4723    } = props;
4724    const open2 = store.useState("open");
4725    const floatingElement = store.useState("floatingElement");
4726    const {
4727      dataRef,
4728      events
4729    } = store.context;
4730    const tree = useFloatingTree(externalTree);
4731    const outsidePressFn = useStableCallback(typeof outsidePressProp === "function" ? outsidePressProp : () => false);
4732    const outsidePress2 = typeof outsidePressProp === "function" ? outsidePressFn : outsidePressProp;
4733    const outsidePressEnabled = outsidePress2 !== false;
4734    const getOutsidePressEventProp = useStableCallback(() => outsidePressEvent);
4735    const {
4736      escapeKey: escapeKeyBubbles,
4737      outsidePress: outsidePressBubbles
4738    } = normalizeProp(bubbles);
4739    const pressStartedInsideRef = React26.useRef(false);
4740    const pressStartPreventedRef = React26.useRef(false);
4741    const suppressNextOutsideClickRef = React26.useRef(false);
4742    const sawPressWhileOpenRef = React26.useRef(false);
4743    const isComposingRef = React26.useRef(false);
4744    const currentPointerTypeRef = React26.useRef("");
4745    const touchStateRef = React26.useRef(null);
4746    const cancelDismissOnEndTimeout = useTimeout();
4747    const clearInsideReactTreeTimeout = useTimeout();
4748    const compositionTimeout = useTimeout();
4749    const clearInsideReactTree = useStableCallback(() => {
4750      clearInsideReactTreeTimeout.clear();
4751      dataRef.current.insideReactTree = false;
4752    });
4753    const hasBlockingChild = useStableCallback((bubbleKey) => {
4754      const nodeId = dataRef.current.floatingContext?.nodeId;
4755      const children = tree ? getNodeChildren(tree.nodesRef.current, nodeId) : [];
4756      return children.some((child) => child.context?.open && !child.context.dataRef.current[bubbleKey]);
4757    });
4758    const isEventWithinOwnElements = useStableCallback((event) => {
4759      return isEventTargetWithin(event, store.select("floatingElement")) || isEventTargetWithin(event, store.select("domReferenceElement"));
4760    });
4761    const closeOnReferencePress = useStableCallback((event) => {
4762      if (!referencePress()) {
4763        return;
4764      }
4765      store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerPress, event.nativeEvent));
4766    });
4767    const closeOnEscapeKeyDown = useStableCallback((event) => {
4768      if (!open2 || !enabled || !escapeKey2 || event.key !== "Escape") {
4769        return;
4770      }
4771      const native = isReactEvent(event) ? event.nativeEvent : event;
4772      if (isComposingRef.current || native.isComposing) {
4773        return;
4774      }
4775      if (!escapeKeyBubbles && hasBlockingChild("__escapeKeyBubbles")) {
4776        return;
4777      }
4778      const eventDetails = createChangeEventDetails(reason_parts_exports.escapeKey, native);
4779      store.setOpen(false, eventDetails);
4780      if (!eventDetails.isCanceled) {
4781        event.preventDefault();
4782      }
4783      if (!escapeKeyBubbles && !eventDetails.isPropagationAllowed) {
4784        event.stopPropagation();
4785      }
4786    });
4787    const markInsideReactTree = useStableCallback(() => {
4788      dataRef.current.insideReactTree = true;
4789      clearInsideReactTreeTimeout.start(0, clearInsideReactTree);
4790    });
4791    const markPressStartedInsideReactTree = useStableCallback((event) => {
4792      if (!open2 || !enabled || event.button !== 0) {
4793        return;
4794      }
4795      const target = getTarget(event.nativeEvent);
4796      if (!contains(store.select("floatingElement"), target)) {
4797        return;
4798      }
4799      if (!pressStartedInsideRef.current) {
4800        pressStartedInsideRef.current = true;
4801        pressStartPreventedRef.current = false;
4802      }
4803    });
4804    const markInsidePressStartPrevented = useStableCallback((event) => {
4805      if (!open2 || !enabled) {
4806        return;
4807      }
4808      if (!(event.defaultPrevented || event.nativeEvent.defaultPrevented)) {
4809        return;
4810      }
4811      if (pressStartedInsideRef.current) {
4812        pressStartPreventedRef.current = true;
4813      }
4814    });
4815    React26.useEffect(() => {
4816      function handleOpenChange(details) {
4817        if (!details.open) {
4818          sawPressWhileOpenRef.current = false;
4819        }
4820      }
4821      events.on("openchange", handleOpenChange);
4822      return () => {
4823        events.off("openchange", handleOpenChange);
4824      };
4825    }, [events]);
4826    React26.useEffect(() => clearInsideReactTree, [clearInsideReactTree]);
4827    React26.useEffect(() => {
4828      if (!open2 || !enabled) {
4829        if (!open2) {
4830          sawPressWhileOpenRef.current = false;
4831          isComposingRef.current = false;
4832          currentPointerTypeRef.current = "";
4833          touchStateRef.current = null;
4834        }
4835        return clearInsideReactTree;
4836      }
4837      dataRef.current.__escapeKeyBubbles = escapeKeyBubbles;
4838      dataRef.current.__outsidePressBubbles = outsidePressBubbles;
4839      const preventedPressSuppressionTimeout = new Timeout();
4840      const doc = ownerDocument(floatingElement);
4841      function handleCompositionStart() {
4842        compositionTimeout.clear();
4843        isComposingRef.current = true;
4844      }
4845      function handleCompositionEnd() {
4846        isComposingRef.current = true;
4847        compositionTimeout.start(
4848          // 0ms or 1ms don't work in Safari. 5ms appears to consistently work.
4849          // Only apply to WebKit for the test to remain 0ms.
4850          parts_exports.engine.webkit ? 5 : 0,
4851          () => {
4852            isComposingRef.current = false;
4853          }
4854        );
4855      }
4856      function suppressImmediateOutsideClickAfterPreventedStart() {
4857        suppressNextOutsideClickRef.current = true;
4858        preventedPressSuppressionTimeout.start(0, () => {
4859          suppressNextOutsideClickRef.current = false;
4860        });
4861      }
4862      function resetPressStartState() {
4863        pressStartedInsideRef.current = false;
4864        pressStartPreventedRef.current = false;
4865      }
4866      function getOutsidePressEvent() {
4867        const type = currentPointerTypeRef.current;
4868        const computedType = type === "pen" || !type ? "mouse" : type;
4869        const outsidePressEventValue = getOutsidePressEventProp();
4870        const resolved = typeof outsidePressEventValue === "function" ? outsidePressEventValue() : outsidePressEventValue;
4871        if (typeof resolved === "string") {
4872          return resolved;
4873        }
4874        return resolved[computedType];
4875      }
4876      function shouldIgnoreEvent(event) {
4877        const computedOutsidePressEvent = getOutsidePressEvent();
4878        return computedOutsidePressEvent === "intentional" && event.type !== "click" || computedOutsidePressEvent === "sloppy" && event.type === "click";
4879      }
4880      function isEventWithinFloatingTree(event) {
4881        const nodeId = dataRef.current.floatingContext?.nodeId;
4882        const targetIsInsideChildren = tree && getNodeChildren(tree.nodesRef.current, nodeId).some((node) => isEventTargetWithin(event, node.context?.elements.floating));
4883        return isEventWithinOwnElements(event) || targetIsInsideChildren;
4884      }
4885      function closeOnPressOutside(event) {
4886        if (shouldIgnoreEvent(event)) {
4887          if (event.type !== "click" && !isEventWithinOwnElements(event)) {
4888            preventedPressSuppressionTimeout.clear();
4889            suppressNextOutsideClickRef.current = false;
4890          }
4891          clearInsideReactTree();
4892          return;
4893        }
4894        if (dataRef.current.insideReactTree) {
4895          clearInsideReactTree();
4896          return;
4897        }
4898        const target = getTarget(event);
4899        const inertSelector = `[$createAttribute("inert")}]`;
4900        const targetRoot = isElement(target) ? target.getRootNode() : null;
4901        const markers = Array.from((isShadowRoot(targetRoot) ? targetRoot : ownerDocument(store.select("floatingElement"))).querySelectorAll(inertSelector));
4902        const triggers = store.context.triggerElements;
4903        if (target && (triggers.hasElement(target) || triggers.hasMatchingElement((trigger) => contains(trigger, target)))) {
4904          return;
4905        }
4906        let targetRootAncestor = isElement(target) ? target : null;
4907        while (targetRootAncestor && !isLastTraversableNode(targetRootAncestor)) {
4908          const nextParent = getParentNode(targetRootAncestor);
4909          if (isLastTraversableNode(nextParent) || !isElement(nextParent)) {
4910            break;
4911          }
4912          targetRootAncestor = nextParent;
4913        }
4914        if (markers.length && isElement(target) && !isRootElement(target) && // Clicked on a direct ancestor (e.g. FloatingOverlay).
4915        !contains(target, store.select("floatingElement")) && // If the target root element contains none of the markers, then the
4916        // element was injected after the floating element rendered.
4917        markers.every((marker) => !contains(targetRootAncestor, marker))) {
4918          return;
4919        }
4920        if (isHTMLElement(target) && !("touches" in event)) {
4921          const lastTraversableNode = isLastTraversableNode(target);
4922          const style = getComputedStyle2(target);
4923          const scrollRe = /auto|scroll/;
4924          const isScrollableX = lastTraversableNode || scrollRe.test(style.overflowX);
4925          const isScrollableY2 = lastTraversableNode || scrollRe.test(style.overflowY);
4926          const canScrollX = isScrollableX && target.clientWidth > 0 && target.scrollWidth > target.clientWidth;
4927          const canScrollY = isScrollableY2 && target.clientHeight > 0 && target.scrollHeight > target.clientHeight;
4928          const isRTL4 = style.direction === "rtl";
4929          const pressedVerticalScrollbar = canScrollY && (isRTL4 ? event.offsetX <= target.offsetWidth - target.clientWidth : event.offsetX > target.clientWidth);
4930          const pressedHorizontalScrollbar = canScrollX && event.offsetY > target.clientHeight;
4931          if (pressedVerticalScrollbar || pressedHorizontalScrollbar) {
4932            return;
4933          }
4934        }
4935        if (isEventWithinFloatingTree(event)) {
4936          return;
4937        }
4938        if (getOutsidePressEvent() === "intentional") {
4939          if (event.detail !== 0 && !isVirtualClick(event) && !sawPressWhileOpenRef.current) {
4940            return;
4941          }
4942          if (suppressNextOutsideClickRef.current) {
4943            preventedPressSuppressionTimeout.clear();
4944            suppressNextOutsideClickRef.current = false;
4945            return;
4946          }
4947        }
4948        if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
4949          return;
4950        }
4951        if (hasBlockingChild("__outsidePressBubbles")) {
4952          return;
4953        }
4954        store.setOpen(false, createChangeEventDetails(reason_parts_exports.outsidePress, event));
4955        clearInsideReactTree();
4956      }
4957      function handlePointerDown(event) {
4958        if (getOutsidePressEvent() !== "sloppy" || event.pointerType === "touch" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4959          return;
4960        }
4961        closeOnPressOutside(event);
4962      }
4963      function handleTouchStart(event) {
4964        if (getOutsidePressEvent() !== "sloppy" || !store.select("open") || !enabled || isEventWithinOwnElements(event)) {
4965          return;
4966        }
4967        const touch = event.touches[0];
4968        if (touch) {
4969          touchStateRef.current = {
4970            startTime: Date.now(),
4971            startX: touch.clientX,
4972            startY: touch.clientY,
4973            dismissOnTouchEnd: false,
4974            dismissOnMouseDown: true
4975          };
4976          cancelDismissOnEndTimeout.start(1e3, () => {
4977            if (touchStateRef.current) {
4978              touchStateRef.current.dismissOnTouchEnd = false;
4979              touchStateRef.current.dismissOnMouseDown = false;
4980            }
4981          });
4982        }
4983      }
4984      function addTargetEventListenerOnce(event, listener) {
4985        const target = getTarget(event);
4986        if (!target) {
4987          return;
4988        }
4989        const unsubscribe2 = addEventListener(target, event.type, () => {
4990          listener(event);
4991          unsubscribe2();
4992        });
4993      }
4994      function handleTouchStartCapture(event) {
4995        currentPointerTypeRef.current = "touch";
4996        addTargetEventListenerOnce(event, handleTouchStart);
4997      }
4998      function closeOnPressOutsideCapture(event) {
4999        cancelDismissOnEndTimeout.clear();
5000        if (event.type === "pointerdown") {
5001          if (event.button === 0) {
5002            sawPressWhileOpenRef.current = true;
5003          }
5004          currentPointerTypeRef.current = event.pointerType;
5005        }
5006        if (event.type === "mousedown" && touchStateRef.current && !touchStateRef.current.dismissOnMouseDown) {
5007          return;
5008        }
5009        addTargetEventListenerOnce(event, (targetEvent) => {
5010          if (targetEvent.type === "pointerdown") {
5011            handlePointerDown(targetEvent);
5012          } else {
5013            closeOnPressOutside(targetEvent);
5014          }
5015        });
5016      }
5017      function handlePressEndCapture(event) {
5018        if (event.type === "pointercancel") {
5019          sawPressWhileOpenRef.current = false;
5020        }
5021        if (!pressStartedInsideRef.current) {
5022          return;
5023        }
5024        const pressStartedInsideDefaultPrevented = pressStartPreventedRef.current;
5025        resetPressStartState();
5026        if (getOutsidePressEvent() !== "intentional") {
5027          return;
5028        }
5029        if (event.type === "pointercancel") {
5030          if (pressStartedInsideDefaultPrevented) {
5031            suppressImmediateOutsideClickAfterPreventedStart();
5032          }
5033          return;
5034        }
5035        if (isEventWithinFloatingTree(event)) {
5036          return;
5037        }
5038        if (pressStartedInsideDefaultPrevented) {
5039          suppressImmediateOutsideClickAfterPreventedStart();
5040          return;
5041        }
5042        if (typeof outsidePress2 === "function" && !outsidePress2(event)) {
5043          return;
5044        }
5045        preventedPressSuppressionTimeout.clear();
5046        suppressNextOutsideClickRef.current = true;
5047        clearInsideReactTree();
5048      }
5049      function handleTouchMove(event) {
5050        if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
5051          return;
5052        }
5053        const touch = event.touches[0];
5054        if (!touch) {
5055          return;
5056        }
5057        const deltaX = Math.abs(touch.clientX - touchStateRef.current.startX);
5058        const deltaY = Math.abs(touch.clientY - touchStateRef.current.startY);
5059        const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
5060        if (distance > 5) {
5061          touchStateRef.current.dismissOnTouchEnd = true;
5062        }
5063        if (distance > 10) {
5064          closeOnPressOutside(event);
5065          cancelDismissOnEndTimeout.clear();
5066          touchStateRef.current = null;
5067        }
5068      }
5069      function handleTouchMoveCapture(event) {
5070        addTargetEventListenerOnce(event, handleTouchMove);
5071      }
5072      function handleTouchEnd(event) {
5073        if (getOutsidePressEvent() !== "sloppy" || !touchStateRef.current || isEventWithinOwnElements(event)) {
5074          return;
5075        }
5076        if (touchStateRef.current.dismissOnTouchEnd) {
5077          closeOnPressOutside(event);
5078        }
5079        cancelDismissOnEndTimeout.clear();
5080        touchStateRef.current = null;
5081      }
5082      function handleTouchEndCapture(event) {
5083        addTargetEventListenerOnce(event, handleTouchEnd);
5084      }
5085      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, {
5086        capture: true,
5087        passive: true
5088      }), addEventListener(doc, "touchmove", handleTouchMoveCapture, {
5089        capture: true,
5090        passive: true
5091      }), addEventListener(doc, "touchend", handleTouchEndCapture, {
5092        capture: true,
5093        passive: true
5094      })));
5095      return () => {
5096        unsubscribe();
5097        preventedPressSuppressionTimeout.clear();
5098        resetPressStartState();
5099        suppressNextOutsideClickRef.current = false;
5100      };
5101    }, [dataRef, floatingElement, escapeKey2, outsidePressEnabled, outsidePress2, open2, enabled, escapeKeyBubbles, outsidePressBubbles, closeOnEscapeKeyDown, clearInsideReactTree, getOutsidePressEventProp, hasBlockingChild, isEventWithinOwnElements, tree, store, cancelDismissOnEndTimeout, compositionTimeout]);
5102    const reference = React26.useMemo(() => ({
5103      onKeyDown: closeOnEscapeKeyDown,
5104      onPointerDown: closeOnReferencePress,
5105      onClick: closeOnReferencePress
5106    }), [closeOnEscapeKeyDown, closeOnReferencePress]);
5107    const floating = React26.useMemo(() => ({
5108      onKeyDown: closeOnEscapeKeyDown,
5109      // `onMouseDown` may be blocked if `event.preventDefault()` is called in
5110      // `onPointerDown`, such as with <NumberField.ScrubArea>.
5111      // See https://github.com/mui/base-ui/pull/3379
5112      onPointerDown: markInsidePressStartPrevented,
5113      onMouseDown: markInsidePressStartPrevented,
5114      onClickCapture: markInsideReactTree,
5115      onMouseDownCapture(event) {
5116        markInsideReactTree();
5117        markPressStartedInsideReactTree(event);
5118      },
5119      onPointerDownCapture(event) {
5120        markInsideReactTree();
5121        markPressStartedInsideReactTree(event);
5122      },
5123      onMouseUpCapture: markInsideReactTree,
5124      onTouchEndCapture: markInsideReactTree,
5125      onTouchMoveCapture: markInsideReactTree
5126    }), [closeOnEscapeKeyDown, markInsideReactTree, markPressStartedInsideReactTree, markInsidePressStartPrevented]);
5127    return React26.useMemo(() => enabled ? {
5128      reference,
5129      floating,
5130      trigger: reference
5131    } : {}, [enabled, reference, floating]);
5132  }
5133  
5134  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupHandle.mjs
5135  var BasePopupHandle = class {
5136    /**
5137     * Stores of every root currently using this handle, in attach order. A handle is meant to be used
5138     * by a single mounted root, but roots can transiently overlap (e.g. during an animated route
5139     * transition), so this stack lets `attachStore`'s cleanup restore the previous root instead of
5140     * leaving a still-mounted root uncontrollable when a newer overlapping root detaches first.
5141     */
5142    attachedStores = [];
5143    /**
5144     * Store of the root that currently controls the handle: the most recently attached one still
5145     * mounted, or `null` when no root is attached. Imperative methods are no-ops while this is `null`.
5146     */
5147    attachedStoreValue = null;
5148    /**
5149     * Listeners notified when `attachedStore` changes, so detached triggers can follow the store pointer.
5150     */
5151    storeListeners = /* @__PURE__ */ new Set();
5152    /**
5153     * Creates a handle backed by the store used while no root is attached.
5154     *
5155     * @param fallbackStore Inert, closed store handed to detached triggers while no root is attached,
5156     * so they can render and register without a mounted root. Triggers register into whichever store
5157     * `store` currently resolves to, so while detached they live in this store's trigger map and
5158     * migrate themselves to the root's store (and back) as it attaches/detaches.
5159     * @param componentName Component name used to prefix dev warnings, e.g. `'Menu'` produces
5160     * `MenuHandle.open()` in warning text.
5161     * @param throwOnMissingTrigger Whether `open(triggerId)` throws when no trigger with that id is
5162     * registered. Anchored popups (Menu, Popover, Tooltip, PreviewCard) need a trigger to anchor to,
5163     * so they throw; Dialog is not anchored and instead opens unassociated with a dev warning.
5164     */
5165    constructor(fallbackStore, componentName, throwOnMissingTrigger = true) {
5166      this.fallbackStore = fallbackStore;
5167      this.componentName = componentName;
5168      this.throwOnMissingTrigger = throwOnMissingTrigger;
5169    }
5170    get attachedStore() {
5171      return this.attachedStoreValue;
5172    }
5173    /**
5174     * Store that detached triggers read from: the attached root's store, or an inert fallback store
5175     * used while no root is attached.
5176     * @internal
5177     */
5178    get store() {
5179      return this.attachedStoreValue ?? this.fallbackStore;
5180    }
5181    /**
5182     * Stable fallback store used for server rendering and hydration. Root stores cannot be recorded on
5183     * the handle during render because a handle can be shared by concurrent server-rendered requests.
5184     * @internal
5185     */
5186    get serverStore() {
5187      return this.fallbackStore;
5188    }
5189    /**
5190     * Subscribes to changes of the attached store pointer so detached triggers re-render and re-bind
5191     * when a root attaches or detaches. Returns a function that removes the listener.
5192     * @internal
5193     */
5194    subscribeStore(listener) {
5195      this.storeListeners.add(listener);
5196      return () => {
5197        this.storeListeners.delete(listener);
5198      };
5199    }
5200    /**
5201     * Points the handle at a root's store and notifies subscribers so detached triggers re-render and
5202     * re-register into it (their registration effect migrates them when the store pointer changes).
5203     * Returns a cleanup function that detaches the store again.
5204     * @internal
5205     */
5206    attachStore(newStore) {
5207      this.attachedStores.push(newStore);
5208      this.setActiveStore(newStore);
5209      if (true) {
5210        if (this.attachedStores.length > 1) {
5211          const dev = this;
5212          (dev.overlapWarningFrame ??= AnimationFrame.create()).request(() => {
5213            if (this.attachedStores.length > 1) {
5214              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.");
5215            }
5216          });
5217        }
5218      }
5219      return () => {
5220        const index2 = this.attachedStores.lastIndexOf(newStore);
5221        if (index2 !== -1) {
5222          this.attachedStores.splice(index2, 1);
5223        }
5224        this.setActiveStore(this.attachedStores[this.attachedStores.length - 1] ?? null);
5225      };
5226    }
5227    /**
5228     * Sets the store that currently controls the handle and notifies subscribers when it changes, so
5229     * detached triggers re-render and migrate their registration to the new store.
5230     */
5231    setActiveStore(store) {
5232      if (this.attachedStoreValue !== store) {
5233        this.attachedStoreValue = store;
5234        this.storeListeners.forEach((listener) => {
5235          listener();
5236        });
5237      }
5238    }
5239    /**
5240     * Opens the attached root's store and associates it with the trigger with the given id, or a
5241     * no-op (with a dev warning) while no root is attached. Shared by every concrete handle's public
5242     * `open()` method, which only narrows the parameter type.
5243     *
5244     * When a trigger id is given but no matching trigger is registered, anchored popups throw (see
5245     * `throwOnMissingTrigger`); Dialog opens unassociated with a dev warning instead.
5246     *
5247     * This method should only be called in an event handler or an effect (not during rendering).
5248     *
5249     * @param triggerId ID of the trigger to associate with the popup, or `null`/`undefined` to open
5250     * without associating any trigger.
5251     */
5252    openByTrigger(triggerId) {
5253      const attachedStore = this.attachedStore;
5254      if (attachedStore === null) {
5255        if (true) {
5256          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.`);
5257        }
5258        return;
5259      }
5260      let triggerElement;
5261      if (triggerId) {
5262        for (let i = this.attachedStores.length - 1; i >= 0 && !triggerElement; i -= 1) {
5263          triggerElement = this.attachedStores[i].context.triggerElements.getById(triggerId);
5264        }
5265        triggerElement ??= this.fallbackStore.context.triggerElements.getById(triggerId);
5266      }
5267      if (triggerId && !triggerElement) {
5268        if (this.throwOnMissingTrigger) {
5269          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));
5270        }
5271        if (true) {
5272          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.`);
5273        }
5274      }
5275      attachedStore.setOpen(true, createChangeEventDetails(reason_parts_exports.imperativeAction, void 0, triggerElement));
5276    }
5277    /**
5278     * Closes the popup by setting the attached root's store to closed, or a no-op (with a dev warning)
5279     * while no root is attached. Shared by every concrete handle's public `close()` method.
5280     *
5281     * This method should only be called in an event handler or an effect (not during rendering).
5282     */
5283    closePopup() {
5284      const attachedStore = this.attachedStore;
5285      if (attachedStore === null) {
5286        if (true) {
5287          console.warn(`Base UI: $this.componentName}Handle.close() was called while no root using this handle is mounted. The call was ignored.`);
5288        }
5289        return;
5290      }
5291      attachedStore.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction));
5292    }
5293  };
5294  
5295  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
5296  var React28 = __toESM(require_react(), 1);
5297  var ReactDOM3 = __toESM(require_react_dom(), 1);
5298  
5299  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useSyncedFloatingRootContext.mjs
5300  function useSyncedFloatingRootContext(options) {
5301    const {
5302      popupStore,
5303      treatPopupAsFloatingElement = false,
5304      floatingRootContext: store,
5305      floatingId,
5306      nested,
5307      onOpenChange
5308    } = options;
5309    const open2 = popupStore.useState("open");
5310    const referenceElement = popupStore.useState("activeTriggerElement");
5311    const floatingElement = popupStore.useState(treatPopupAsFloatingElement ? "popupElement" : "positionerElement");
5312    const handleOpenChange = onOpenChange;
5313    popupStore.useSyncedValue("floatingId", floatingId);
5314    useIsoLayoutEffect(() => {
5315      const valuesToSync = {
5316        open: open2,
5317        floatingId,
5318        referenceElement,
5319        floatingElement
5320      };
5321      if (isElement(referenceElement)) {
5322        valuesToSync.domReferenceElement = referenceElement;
5323      }
5324      if (store.state.positionReference === store.state.referenceElement) {
5325        valuesToSync.positionReference = referenceElement;
5326      }
5327      store.update(valuesToSync);
5328    }, [open2, floatingId, referenceElement, floatingElement, store]);
5329    store.context.onOpenChange = handleOpenChange;
5330    store.context.nested = nested;
5331    return store;
5332  }
5333  
5334  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useUnmountAfterClose.mjs
5335  var React27 = __toESM(require_react(), 1);
5336  function useUnmountAfterClose(parameters) {
5337    const {
5338      open: open2,
5339      ref,
5340      preventUnmountOnClose,
5341      setPreventUnmountOnClose: setPreventUnmountOnCloseParam,
5342      onUnmount,
5343      animateInitialOpen
5344    } = parameters;
5345    const setPreventUnmountOnClose = useStableCallback(setPreventUnmountOnCloseParam);
5346    const {
5347      mounted,
5348      setMounted,
5349      transitionStatus
5350    } = useTransitionStatus(open2, false, false, animateInitialOpen);
5351    const preventUnmountingOnClose = open2 ? false : preventUnmountOnClose;
5352    useIsoLayoutEffect(() => {
5353      if (open2) {
5354        setPreventUnmountOnClose(false);
5355      }
5356    }, [open2, setPreventUnmountOnClose]);
5357    const mountedRef = React27.useRef(mounted);
5358    const pendingUnmountRef = React27.useRef(false);
5359    const rerender = useForcedRerendering();
5360    const unmount = () => {
5361      mountedRef.current = false;
5362      setMounted(false);
5363      onUnmount();
5364    };
5365    useIsoLayoutEffect(() => {
5366      mountedRef.current = mounted;
5367      if (pendingUnmountRef.current) {
5368        pendingUnmountRef.current = false;
5369        if (!open2 && mounted) {
5370          unmount();
5371        }
5372      }
5373    });
5374    const forceUnmount = useStableCallback(() => {
5375      if (!mountedRef.current) {
5376        return;
5377      }
5378      if (open2) {
5379        pendingUnmountRef.current = true;
5380        rerender();
5381        return;
5382      }
5383      unmount();
5384    });
5385    useOpenChangeComplete({
5386      enabled: mounted && !open2 && !preventUnmountingOnClose,
5387      open: open2,
5388      ref,
5389      onComplete() {
5390        if (!open2) {
5391          forceUnmount();
5392        }
5393      }
5394    });
5395    return {
5396      mounted,
5397      transitionStatus,
5398      preventUnmountingOnClose,
5399      forceUnmount
5400    };
5401  }
5402  
5403  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupStoreUtils.mjs
5404  var FOCUSABLE_POPUP_PROPS = {
5405    tabIndex: -1,
5406    [FOCUSABLE_ATTRIBUTE]: ""
5407  };
5408  function usePopupRootStore(createStore, treatPopupAsFloatingElement = false) {
5409    const floatingId = useId();
5410    const nested = useFloatingParentNodeId() != null;
5411    const store = useRefWithInit(() => createStore(floatingId, nested)).current;
5412    useSyncedFloatingRootContext({
5413      popupStore: store,
5414      treatPopupAsFloatingElement,
5415      floatingRootContext: store.state.floatingRootContext,
5416      floatingId,
5417      nested,
5418      onOpenChange: store.setOpen
5419    });
5420    return store;
5421  }
5422  function PopupHandleAttachment({
5423    handle,
5424    store
5425  }) {
5426    useIsoLayoutEffect(() => {
5427      return handle.attachStore(store);
5428    }, [handle, store]);
5429    return null;
5430  }
5431  function syncTriggerCount(store) {
5432    const triggerCount = store.context.triggerElements.size;
5433    if (store.select("open") && store.state.triggerCount !== triggerCount) {
5434      store.set("triggerCount", triggerCount);
5435    }
5436  }
5437  function useTriggerRegistration(id, store) {
5438    const registrationRef = React28.useRef(null);
5439    return useStableCallback((element) => {
5440      const registration = registrationRef.current;
5441      if (registration !== null) {
5442        if (registration.element === element && registration.store === store && registration.id === id) {
5443          return;
5444        }
5445        registrationRef.current = null;
5446        const registeredStore = registration.store;
5447        if (registeredStore.context.triggerElements.getById(registration.id) === registration.element) {
5448          registeredStore.context.triggerElements.delete(registration.id);
5449          syncTriggerCount(registeredStore);
5450        }
5451      }
5452      if (element !== null && id !== void 0) {
5453        registrationRef.current = {
5454          store,
5455          id,
5456          element
5457        };
5458        store.context.triggerElements.add(id, element);
5459        syncTriggerCount(store);
5460      }
5461    });
5462  }
5463  function createPopupOpenState(state, open2, trigger, preventUnmountOnClose = false) {
5464    let preventUnmountingOnClose = state.preventUnmountingOnClose;
5465    if (open2) {
5466      preventUnmountingOnClose = false;
5467    } else if (preventUnmountOnClose) {
5468      preventUnmountingOnClose = true;
5469    }
5470    const triggerId = trigger?.id ?? null;
5471    let activeTriggerId = state.activeTriggerId;
5472    let activeTriggerElement = state.activeTriggerElement;
5473    if (triggerId || open2) {
5474      activeTriggerId = triggerId;
5475      activeTriggerElement = trigger ?? null;
5476    }
5477    return {
5478      open: open2,
5479      preventUnmountingOnClose,
5480      activeTriggerId,
5481      activeTriggerElement,
5482      // An open request without a trigger (a handle's `open(null)` or `openWithPayload()`) must not
5483      // be reassociated with a lone registered trigger later on. Controlled and default opens never
5484      // pass through here, so they keep claiming a lone trigger. A close request keeps the flag: a
5485      // controlled root may decline it and stay open, so the Root clears the flag only once the
5486      // popup is effectively closed.
5487      openedWithoutTrigger: open2 ? trigger == null : state.openedWithoutTrigger
5488    };
5489  }
5490  function attachPreventUnmountOnClose(eventDetails) {
5491    let preventUnmountOnClose = false;
5492    eventDetails.preventUnmountOnClose = () => {
5493      preventUnmountOnClose = true;
5494    };
5495    return () => preventUnmountOnClose;
5496  }
5497  function applyPopupOpenChange(store, nextOpen, eventDetails, options = {}) {
5498    const reason = eventDetails.reason;
5499    const isHover = reason === reason_parts_exports.triggerHover;
5500    const isFocusOpen = nextOpen && reason === reason_parts_exports.triggerFocus;
5501    const isDismissClose = !nextOpen && (reason === reason_parts_exports.triggerPress || reason === reason_parts_exports.escapeKey);
5502    const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(eventDetails);
5503    store.context.onOpenChange?.(nextOpen, eventDetails);
5504    if (eventDetails.isCanceled) {
5505      return;
5506    }
5507    options.onBeforeDispatch?.();
5508    store.state.floatingRootContext.dispatchOpenChange(nextOpen, eventDetails);
5509    const changeState = () => {
5510      const popupOpenState = createPopupOpenState(store.state, nextOpen, eventDetails.trigger, shouldPreventUnmountOnClose());
5511      const updatedState = {
5512        ...options.extraState,
5513        ...popupOpenState
5514      };
5515      if (isFocusOpen) {
5516        updatedState.instantType = "focus";
5517      } else if (isDismissClose) {
5518        updatedState.instantType = "dismiss";
5519      } else if (isHover) {
5520        updatedState.instantType = void 0;
5521      }
5522      store.update(updatedState);
5523    };
5524    if (isHover) {
5525      ReactDOM3.flushSync(changeState);
5526    } else {
5527      changeState();
5528    }
5529  }
5530  function useTriggerDataForwarding(triggerId, triggerElementRef, store, stateUpdates) {
5531    const isMountedByThisTrigger = store.useState("isMountedByTrigger", triggerId);
5532    const baseRegisterTrigger = useTriggerRegistration(triggerId, store);
5533    const applyTriggerData = useStableCallback((element) => {
5534      const open2 = store.select("open");
5535      const activeTriggerId = store.select("activeTriggerId");
5536      if (activeTriggerId === triggerId) {
5537        const changes = {
5538          activeTriggerElement: element,
5539          ...open2 ? stateUpdates : null
5540        };
5541        store.update(changes);
5542        return;
5543      }
5544      if (activeTriggerId == null && open2 && !store.state.openedWithoutTrigger) {
5545        const changes = {
5546          activeTriggerId: triggerId ?? null,
5547          activeTriggerElement: element,
5548          ...stateUpdates
5549        };
5550        store.update(changes);
5551      }
5552    });
5553    const registerTrigger = useStableCallback((element) => {
5554      baseRegisterTrigger(element);
5555      if (element) {
5556        applyTriggerData(element);
5557      }
5558    });
5559    useIsoLayoutEffect(() => {
5560      registerTrigger(triggerElementRef.current);
5561      return () => registerTrigger(null);
5562    }, [registerTrigger, triggerElementRef, store, triggerId]);
5563    useIsoLayoutEffect(() => {
5564      if (isMountedByThisTrigger) {
5565        const changes = {
5566          activeTriggerElement: triggerElementRef.current,
5567          ...stateUpdates
5568        };
5569        store.update(changes);
5570      }
5571    }, [isMountedByThisTrigger, store, triggerElementRef, ...Object.values(stateUpdates)]);
5572    return {
5573      registerTrigger,
5574      isMountedByThisTrigger
5575    };
5576  }
5577  function useImplicitActiveTrigger(store, options = {}) {
5578    const {
5579      closeOnActiveTriggerUnmount = false
5580    } = options;
5581    const resolvedActiveTriggerIdRef = React28.useRef(null);
5582    const open2 = store.useState("open");
5583    const reactiveTriggerCount = store.useState("triggerCount");
5584    const activeTriggerId = store.useState("activeTriggerId");
5585    const reactiveActiveTriggerElement = store.useState("activeTriggerElement");
5586    useIsoLayoutEffect(() => {
5587      if (!open2) {
5588        resolvedActiveTriggerIdRef.current = null;
5589        if (store.state.triggerCount !== 0) {
5590          store.set("triggerCount", 0);
5591        }
5592        if (store.state.openedWithoutTrigger) {
5593          store.set("openedWithoutTrigger", false);
5594        }
5595        return;
5596      }
5597      const triggerCount = store.context.triggerElements.size;
5598      const stateUpdates = {};
5599      if (store.state.triggerCount !== triggerCount) {
5600        stateUpdates.triggerCount = triggerCount;
5601      }
5602      const currentActiveTriggerId = store.select("activeTriggerId");
5603      let lostActiveTriggerId = null;
5604      if (currentActiveTriggerId) {
5605        const activeTriggerElement = store.context.triggerElements.getById(currentActiveTriggerId);
5606        if (!activeTriggerElement) {
5607          for (const [triggerId, triggerElement] of store.context.triggerElements.entries()) {
5608            if (triggerElement === store.state.activeTriggerElement) {
5609              stateUpdates.activeTriggerId = triggerId;
5610              stateUpdates.activeTriggerElement = triggerElement;
5611              resolvedActiveTriggerIdRef.current = triggerId;
5612              break;
5613            }
5614          }
5615          if (stateUpdates.activeTriggerId === void 0) {
5616            if (resolvedActiveTriggerIdRef.current === currentActiveTriggerId) {
5617              lostActiveTriggerId = currentActiveTriggerId;
5618            } else {
5619              resolvedActiveTriggerIdRef.current = null;
5620            }
5621          }
5622        } else {
5623          resolvedActiveTriggerIdRef.current = currentActiveTriggerId;
5624          if (activeTriggerElement !== store.state.activeTriggerElement) {
5625            stateUpdates.activeTriggerElement = activeTriggerElement;
5626          }
5627        }
5628      } else {
5629        resolvedActiveTriggerIdRef.current = null;
5630      }
5631      if (!lostActiveTriggerId && !currentActiveTriggerId && !store.state.openedWithoutTrigger && triggerCount === 1) {
5632        const iteratorResult = store.context.triggerElements.entries().next();
5633        if (!iteratorResult.done) {
5634          const [implicitTriggerId, implicitTriggerElement] = iteratorResult.value;
5635          stateUpdates.activeTriggerId = implicitTriggerId;
5636          stateUpdates.activeTriggerElement = implicitTriggerElement;
5637          resolvedActiveTriggerIdRef.current = implicitTriggerId;
5638        }
5639      }
5640      if (stateUpdates.triggerCount !== void 0 || stateUpdates.activeTriggerId !== void 0 || stateUpdates.activeTriggerElement !== void 0) {
5641        store.update(stateUpdates);
5642      }
5643      if (lostActiveTriggerId) {
5644        if (closeOnActiveTriggerUnmount) {
5645          queueMicrotask(() => {
5646            if (store.select("open") && store.select("activeTriggerId") === lostActiveTriggerId && !store.context.triggerElements.getById(lostActiveTriggerId)) {
5647              const eventDetails = createChangeEventDetails(reason_parts_exports.none);
5648              store.setOpen(false, eventDetails);
5649              if (!eventDetails.isCanceled) {
5650                store.update({
5651                  activeTriggerId: null,
5652                  activeTriggerElement: null
5653                });
5654              }
5655            }
5656          });
5657        }
5658      }
5659    }, [open2, store, reactiveTriggerCount, activeTriggerId, reactiveActiveTriggerElement, closeOnActiveTriggerUnmount]);
5660  }
5661  function useOpenStateTransitions(open2, store, onUnmount, animateInitialOpen) {
5662    const {
5663      mounted,
5664      transitionStatus,
5665      forceUnmount
5666    } = useUnmountAfterClose({
5667      open: open2,
5668      ref: store.context.popupRef,
5669      preventUnmountOnClose: store.useState("preventUnmountingOnClose"),
5670      setPreventUnmountOnClose: (preventUnmountOnClose) => store.set("preventUnmountingOnClose", preventUnmountOnClose),
5671      animateInitialOpen,
5672      onUnmount() {
5673        store.update({
5674          activeTriggerId: null,
5675          activeTriggerElement: null,
5676          mounted: false,
5677          preventUnmountingOnClose: false
5678        });
5679        onUnmount?.();
5680        store.context.onOpenChangeComplete?.(false);
5681      }
5682    });
5683    useRefWithInit(() => {
5684      store.set("mounted", mounted);
5685      return null;
5686    });
5687    store.useSyncedValues({
5688      mounted,
5689      transitionStatus
5690    });
5691    return {
5692      forceUnmount,
5693      transitionStatus
5694    };
5695  }
5696  function usePopupInteractionProps(store, statePart) {
5697    store.useSyncedValues(statePart);
5698    useIsoLayoutEffect(() => () => {
5699      store.update({
5700        activeTriggerProps: EMPTY_OBJECT,
5701        inactiveTriggerProps: EMPTY_OBJECT,
5702        popupProps: EMPTY_OBJECT
5703      });
5704    }, [store]);
5705  }
5706  
5707  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/popupTriggerMap.mjs
5708  var devElementIdsByMap;
5709  function getDevElementIds(map) {
5710    devElementIdsByMap ??= /* @__PURE__ */ new WeakMap();
5711    let elementIds = devElementIdsByMap.get(map);
5712    if (!elementIds) {
5713      elementIds = /* @__PURE__ */ new WeakMap();
5714      devElementIdsByMap.set(map, elementIds);
5715    }
5716    return elementIds;
5717  }
5718  var PopupTriggerMap = class {
5719    idMap = /* @__PURE__ */ new Map();
5720    /**
5721     * Adds a trigger element with the given ID.
5722     *
5723     * Note: The provided element is assumed to not be registered under multiple IDs.
5724     */
5725    add(id, element) {
5726      if (true) {
5727        const elementIds = getDevElementIds(this);
5728        const existingId = elementIds.get(element);
5729        if (existingId !== void 0 && existingId !== id) {
5730          throw new Error("Base UI: A trigger element cannot be registered under multiple IDs in PopupTriggerMap.");
5731        }
5732        const previousElement = this.idMap.get(id);
5733        if (previousElement !== void 0 && previousElement !== element) {
5734          elementIds.delete(previousElement);
5735        }
5736        elementIds.set(element, id);
5737      }
5738      this.idMap.set(id, element);
5739    }
5740    /**
5741     * Removes the trigger element with the given ID.
5742     */
5743    delete(id) {
5744      if (true) {
5745        const element = this.idMap.get(id);
5746        if (element !== void 0) {
5747          devElementIdsByMap?.get(this)?.delete(element);
5748        }
5749      }
5750      this.idMap.delete(id);
5751    }
5752    /**
5753     * Whether the given element is registered as a trigger.
5754     */
5755    hasElement(element) {
5756      for (const registered of this.idMap.values()) {
5757        if (registered === element) {
5758          return true;
5759        }
5760      }
5761      return false;
5762    }
5763    /**
5764     * Whether there is a registered trigger element matching the given predicate.
5765     */
5766    hasMatchingElement(predicate) {
5767      for (const element of this.idMap.values()) {
5768        if (predicate(element)) {
5769          return true;
5770        }
5771      }
5772      return false;
5773    }
5774    /**
5775     * Returns the trigger element associated with the given ID, or undefined if no such element exists.
5776     */
5777    getById(id) {
5778      return this.idMap.get(id);
5779    }
5780    /**
5781     * Returns an iterable of all registered trigger entries, where each entry is a tuple of [id, element].
5782     */
5783    entries() {
5784      return this.idMap.entries();
5785    }
5786    /**
5787     * Returns an iterable of all registered trigger elements.
5788     */
5789    elements() {
5790      return this.idMap.values();
5791    }
5792    /**
5793     * Returns the number of registered trigger elements.
5794     */
5795    get size() {
5796      return this.idMap.size;
5797    }
5798  };
5799  
5800  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
5801  var React30 = __toESM(require_react(), 1);
5802  var import_shim = __toESM(require_shim(), 1);
5803  var import_with_selector = __toESM(require_with_selector(), 1);
5804  
5805  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/fastHooks.mjs
5806  var React29 = __toESM(require_react(), 1);
5807  var hooks = [];
5808  var currentInstance = void 0;
5809  function getInstance() {
5810    return currentInstance;
5811  }
5812  function register(hook) {
5813    hooks.push(hook);
5814  }
5815  function fastComponent(fn) {
5816    const FastComponent = (props, forwardedRef) => {
5817      const instance = useRefWithInit(createInstance).current;
5818      let result;
5819      try {
5820        currentInstance = instance;
5821        for (const hook of hooks) {
5822          hook.before(instance);
5823        }
5824        result = fn(props, forwardedRef);
5825        for (const hook of hooks) {
5826          hook.after(instance);
5827        }
5828        instance.didInitialize = true;
5829      } finally {
5830        currentInstance = void 0;
5831      }
5832      return result;
5833    };
5834    FastComponent.displayName = fn.displayName || fn.name;
5835    return FastComponent;
5836  }
5837  function fastComponentRef(fn) {
5838    return /* @__PURE__ */ React29.forwardRef(fastComponent(fn));
5839  }
5840  function createInstance() {
5841    return {
5842      didInitialize: false
5843    };
5844  }
5845  
5846  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/useStore.mjs
5847  var canUseRawUseSyncExternalStore = isReactVersionAtLeast(19);
5848  var useStoreImplementation = canUseRawUseSyncExternalStore ? useStoreFast : useStoreLegacy;
5849  function useStore(store, selector, a1, a2, a3) {
5850    return useStoreImplementation(store, selector, a1, a2, a3);
5851  }
5852  function useStoreR19(store, selector, a1, a2, a3) {
5853    const getSelection = React30.useCallback(() => selector(store.getSnapshot(), a1, a2, a3), [store, selector, a1, a2, a3]);
5854    return (0, import_shim.useSyncExternalStore)(store.subscribe, getSelection, getSelection);
5855  }
5856  register({
5857    before(instance) {
5858      instance.syncIndex = 0;
5859      if (!instance.didInitialize) {
5860        instance.syncTick = 1;
5861        instance.syncHooks = [];
5862        instance.didChangeStore = true;
5863        instance.getSnapshot = () => {
5864          let didChange2 = false;
5865          for (let i = 0; i < instance.syncHooks.length; i += 1) {
5866            const hook = instance.syncHooks[i];
5867            const value = hook.selector(hook.store.state, hook.a1, hook.a2, hook.a3);
5868            if (!Object.is(hook.value, value)) {
5869              didChange2 = true;
5870              hook.value = value;
5871            }
5872          }
5873          if (didChange2) {
5874            instance.syncTick += 1;
5875          }
5876          return instance.syncTick;
5877        };
5878      }
5879    },
5880    after(instance) {
5881      if (instance.syncHooks.length > 0) {
5882        if (instance.didChangeStore) {
5883          instance.didChangeStore = false;
5884          instance.subscribe = (onStoreChange) => {
5885            const stores = /* @__PURE__ */ new Set();
5886            for (const hook of instance.syncHooks) {
5887              stores.add(hook.store);
5888            }
5889            const unsubscribes = [];
5890            for (const store of stores) {
5891              unsubscribes.push(store.subscribe(onStoreChange));
5892            }
5893            return () => {
5894              for (const unsubscribe of unsubscribes) {
5895                unsubscribe();
5896              }
5897            };
5898          };
5899        }
5900        (0, import_shim.useSyncExternalStore)(instance.subscribe, instance.getSnapshot, instance.getSnapshot);
5901      }
5902    }
5903  });
5904  function useStoreFast(store, selector, a1, a2, a3) {
5905    const instance = getInstance();
5906    if (!instance) {
5907      return useStoreR19(store, selector, a1, a2, a3);
5908    }
5909    const index2 = instance.syncIndex;
5910    instance.syncIndex += 1;
5911    let hook;
5912    if (!instance.didInitialize) {
5913      hook = {
5914        store,
5915        selector,
5916        a1,
5917        a2,
5918        a3,
5919        value: selector(store.getSnapshot(), a1, a2, a3)
5920      };
5921      instance.syncHooks.push(hook);
5922    } else {
5923      hook = instance.syncHooks[index2];
5924      if (hook.store !== store || hook.selector !== selector || !Object.is(hook.a1, a1) || !Object.is(hook.a2, a2) || !Object.is(hook.a3, a3)) {
5925        if (hook.store !== store) {
5926          instance.didChangeStore = true;
5927        }
5928        hook.store = store;
5929        hook.selector = selector;
5930        hook.a1 = a1;
5931        hook.a2 = a2;
5932        hook.a3 = a3;
5933        hook.value = selector(store.getSnapshot(), a1, a2, a3);
5934      }
5935    }
5936    return hook.value;
5937  }
5938  function useStoreLegacy(store, selector, a1, a2, a3) {
5939    return (0, import_with_selector.useSyncExternalStoreWithSelector)(store.subscribe, store.getSnapshot, store.getSnapshot, (state) => selector(state, a1, a2, a3));
5940  }
5941  
5942  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/Store.mjs
5943  var Store = class {
5944    /**
5945     * Creates a store with the given initial state, constructing the class it is called on.
5946     * Calling it on a generic base class (e.g. `ReactStore.create(...)`) constructs that
5947     * class but degrades the inferred instance type to `Store`; use `new` there instead.
5948     */
5949    static create(state) {
5950      return new this(state);
5951    }
5952    /**
5953     * The current state of the store.
5954     * This property is updated immediately when the state changes as a result of calling {@link setState}, {@link update}, or {@link set}.
5955     * 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).
5956     * The values can be used directly (to avoid subscribing to the store) in effects or event handlers.
5957     *
5958     * Do not modify properties in state directly. Instead, use the provided methods to ensure proper state management and listener notification.
5959     */
5960    // Internal state to handle recursive `setState()` calls
5961    constructor(state) {
5962      this.state = state;
5963      this.listeners = /* @__PURE__ */ new Set();
5964      this.updateTick = 0;
5965    }
5966    /**
5967     * Registers a listener that will be called whenever the store's state changes.
5968     *
5969     * @param fn The listener function to be called on state changes.
5970     * @returns A function to unsubscribe the listener.
5971     */
5972    subscribe = (fn) => {
5973      this.listeners.add(fn);
5974      return () => {
5975        this.listeners.delete(fn);
5976      };
5977    };
5978    /**
5979     * Returns the current state of the store.
5980     */
5981    getSnapshot = () => {
5982      return this.state;
5983    };
5984    /**
5985     * Updates the entire store's state and notifies all registered listeners.
5986     *
5987     * @param newState The new state to set for the store.
5988     */
5989    setState(newState) {
5990      if (this.state === newState) {
5991        return;
5992      }
5993      this.state = newState;
5994      this.updateTick += 1;
5995      const currentTick = this.updateTick;
5996      for (const listener of this.listeners) {
5997        if (currentTick !== this.updateTick) {
5998          return;
5999        }
6000        listener(newState);
6001      }
6002    }
6003    /**
6004     * Merges the provided changes into the current state and notifies listeners if there are changes.
6005     * Each value must match its state key. Pass an exact known subset rather than a broad
6006     * `Partial<State>`, which may contain `undefined` for required state fields.
6007     *
6008     * @param changes An object containing the changes to apply to the current state.
6009     */
6010    update(changes) {
6011      for (const key in changes) {
6012        if (!Object.is(this.state[key], changes[key])) {
6013          this.setState({
6014            ...this.state,
6015            ...changes
6016          });
6017          return;
6018        }
6019      }
6020    }
6021    /**
6022     * Sets a specific key in the store's state to a new value and notifies listeners if the value has changed.
6023     *
6024     * @param key The key in the store's state to update.
6025     * @param value The new value to set for the specified key.
6026     */
6027    set(key, value) {
6028      if (!Object.is(this.state[key], value)) {
6029        this.setState({
6030          ...this.state,
6031          [key]: value
6032        });
6033      }
6034    }
6035    /**
6036     * Gives the state a new reference and updates all registered listeners.
6037     */
6038    notifyAll() {
6039      const newState = {
6040        ...this.state
6041      };
6042      this.setState(newState);
6043    }
6044    use(selector, a1, a2, a3) {
6045      return useStore(this, selector, a1, a2, a3);
6046    }
6047  };
6048  
6049  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/store/ReactStore.mjs
6050  var React31 = __toESM(require_react(), 1);
6051  var ReactStore = class extends Store {
6052    /**
6053     * Creates a new ReactStore instance.
6054     *
6055     * @param state Initial state of the store.
6056     * @param context Non-reactive context values.
6057     * @param selectors Optional selectors for use with `useState`.
6058     */
6059    constructor(state, context = {}, selectors4) {
6060      super(state);
6061      this.context = context;
6062      this.selectors = selectors4;
6063    }
6064    /**
6065     * Non-reactive values such as refs, callbacks, etc.
6066     */
6067    /**
6068     * Synchronizes a single external value into the store.
6069     *
6070     * Note that the while the value in `state` is updated immediately, the value returned
6071     * by `useState` is updated before the next render (similarly to React's `useState`).
6072     */
6073    useSyncedValue(key, value) {
6074      React31.useDebugValue(key);
6075      const store = this;
6076      useIsoLayoutEffect(() => {
6077        if (store.state[key] !== value) {
6078          store.set(key, value);
6079        }
6080      }, [store, key, value]);
6081    }
6082    /**
6083     * Synchronizes a single external value into the store and
6084     * cleans it up (sets to `undefined`) on unmount.
6085     *
6086     * Note that the while the value in `state` is updated immediately, the value returned
6087     * by `useState` is updated before the next render (similarly to React's `useState`).
6088     */
6089    useSyncedValueWithCleanup(key, value) {
6090      const store = this;
6091      useIsoLayoutEffect(() => {
6092        if (store.state[key] !== value) {
6093          store.set(key, value);
6094        }
6095        return () => {
6096          store.set(key, void 0);
6097        };
6098      }, [store, key, value]);
6099    }
6100    /**
6101     * Synchronizes multiple external values into the store.
6102     * Each value must match its state key. Pass an exact known subset rather than a broad
6103     * `Partial<State>`, which may contain `undefined` for required state fields.
6104     *
6105     * Note that the while the values in `state` are updated immediately, the values returned
6106     * by `useState` are updated before the next render (similarly to React's `useState`).
6107     *
6108     * @param statePart An exact subset of state fields to synchronize. Unknown keys are not accepted.
6109     */
6110    useSyncedValues(statePart) {
6111      const store = this;
6112      if (true) {
6113        React31.useDebugValue(statePart, (p) => Object.keys(p));
6114        const keys = React31.useRef(Object.keys(statePart)).current;
6115        const nextKeys = Object.keys(statePart);
6116        if (keys.length !== nextKeys.length || keys.some((key, index2) => key !== nextKeys[index2])) {
6117          console.error("ReactStore.useSyncedValues expects the same prop keys on every render. Keys should be stable.");
6118        }
6119      }
6120      const dependencies = Object.values(statePart);
6121      useIsoLayoutEffect(() => {
6122        store.update(statePart);
6123      }, [store, ...dependencies]);
6124    }
6125    /**
6126     * Registers a controllable prop pair (`controlled`, `defaultValue`) for a specific key. If `controlled`
6127     * is non-undefined, the store's state at `key` is updated to match `controlled`.
6128     */
6129    useControlledProp(key, controlled) {
6130      React31.useDebugValue(key);
6131      const store = this;
6132      const isControlled = controlled !== void 0;
6133      useIsoLayoutEffect(() => {
6134        if (isControlled && !Object.is(store.state[key], controlled)) {
6135          store.setState({
6136            ...store.state,
6137            [key]: controlled
6138          });
6139        }
6140      }, [store, key, controlled, isControlled]);
6141      if (true) {
6142        const cache = this.controlledValues ??= /* @__PURE__ */ new Map();
6143        if (!cache.has(key)) {
6144          cache.set(key, isControlled);
6145        }
6146        const previouslyControlled = cache.get(key);
6147        if (previouslyControlled !== void 0 && previouslyControlled !== isControlled) {
6148          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).`);
6149        }
6150      }
6151    }
6152    /** Gets the current value from the store using a selector with the provided key.
6153     *
6154     * @param key Key of the selector to use.
6155     */
6156    select(key, a1, a2, a3) {
6157      const selector = this.selectors[key];
6158      return selector(this.state, a1, a2, a3);
6159    }
6160    /**
6161     * Returns a value from the store's state using a selector function.
6162     * Used to subscribe to specific parts of the state.
6163     * This methods causes a rerender whenever the selected state changes.
6164     *
6165     * @param key Key of the selector to use.
6166     */
6167    useState(key, a1, a2, a3) {
6168      React31.useDebugValue(key);
6169      return useStore(this, this.selectors[key], a1, a2, a3);
6170    }
6171    /**
6172     * Wraps a function with `useStableCallback` to ensure it has a stable reference
6173     * and assigns it to the context.
6174     *
6175     * @param key Key of the event callback. Must be a function in the context.
6176     * @param fn Function to assign.
6177     */
6178    useContextCallback(key, fn) {
6179      React31.useDebugValue(key);
6180      const stableFunction = useStableCallback(fn ?? NOOP);
6181      this.context[key] = stableFunction;
6182    }
6183    /**
6184     * Returns a stable setter function for a specific key in the store's state.
6185     * It's commonly used to pass as a ref callback to React elements.
6186     *
6187     * @param key Key of the state to set.
6188     */
6189    useStateSetter(key) {
6190      const ref = React31.useRef(void 0);
6191      if (ref.current === void 0) {
6192        ref.current = (value) => {
6193          this.set(key, value);
6194        };
6195      }
6196      return ref.current;
6197    }
6198    /**
6199     * Observes changes derived from the store's selectors and calls the listener when the selected value changes.
6200     *
6201     * @param key Key of the selector to observe.
6202     * @param listener Listener function called when the selector result changes.
6203     */
6204    observe(selector, listener) {
6205      let selectFn;
6206      if (typeof selector === "function") {
6207        selectFn = selector;
6208      } else {
6209        selectFn = this.selectors[selector];
6210      }
6211      let prevValue = selectFn(this.state);
6212      listener(prevValue, prevValue, this);
6213      return this.subscribe((nextState) => {
6214        const nextValue = selectFn(nextState);
6215        if (!Object.is(prevValue, nextValue)) {
6216          const oldValue = prevValue;
6217          prevValue = nextValue;
6218          listener(nextValue, oldValue, this);
6219        }
6220      });
6221    }
6222  };
6223  
6224  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/components/FloatingRootStore.mjs
6225  var selectors = {
6226    open: (state) => state.open,
6227    transitionStatus: (state) => state.transitionStatus,
6228    domReferenceElement: (state) => state.domReferenceElement,
6229    referenceElement: (state) => state.positionReference ?? state.referenceElement,
6230    floatingElement: (state) => state.floatingElement,
6231    floatingId: (state) => state.floatingId
6232  };
6233  var FloatingRootStore = class extends ReactStore {
6234    constructor(options) {
6235      const {
6236        syncOnly,
6237        nested,
6238        onOpenChange,
6239        triggerElements,
6240        ...initialState
6241      } = options;
6242      super({
6243        ...initialState,
6244        positionReference: initialState.referenceElement,
6245        domReferenceElement: initialState.referenceElement
6246      }, {
6247        onOpenChange,
6248        dataRef: {
6249          current: {}
6250        },
6251        events: createEventEmitter(),
6252        nested,
6253        triggerElements
6254      }, selectors);
6255      this.syncOnly = syncOnly;
6256    }
6257    /**
6258     * Syncs the event used by hover logic to distinguish hover-open from click-like interaction.
6259     */
6260    syncOpenEvent = (newOpen, event) => {
6261      if (!newOpen || !this.state.open || // Prevent a pending hover-open from overwriting a click-open event, while allowing
6262      // click events to upgrade a hover-open.
6263      event != null && isClickLikeEvent(event)) {
6264        this.context.dataRef.current.openEvent = newOpen ? event : void 0;
6265      }
6266    };
6267    /**
6268     * Runs the root-owned side effects for an open state change.
6269     */
6270    dispatchOpenChange = (newOpen, eventDetails) => {
6271      this.syncOpenEvent(newOpen, eventDetails.event);
6272      const details = {
6273        open: newOpen,
6274        reason: eventDetails.reason,
6275        nativeEvent: eventDetails.event,
6276        nested: this.context.nested,
6277        triggerElement: eventDetails.trigger
6278      };
6279      this.context.events.emit("openchange", details);
6280    };
6281    /**
6282     * Emits the `openchange` event through the internal event emitter and calls the `onOpenChange` handler with the provided arguments.
6283     *
6284     * @param newOpen The new open state.
6285     * @param eventDetails Details about the event that triggered the open state change.
6286     */
6287    setOpen = (newOpen, eventDetails) => {
6288      if (this.syncOnly) {
6289        this.context.onOpenChange?.(newOpen, eventDetails);
6290        return;
6291      }
6292      this.dispatchOpenChange(newOpen, eventDetails);
6293      this.context.onOpenChange?.(newOpen, eventDetails);
6294    };
6295  };
6296  
6297  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/store.mjs
6298  function createInitialPopupStoreState(triggerElements, floatingId, nested = false) {
6299    return {
6300      open: false,
6301      openProp: void 0,
6302      mounted: false,
6303      transitionStatus: void 0,
6304      floatingRootContext: new FloatingRootStore({
6305        open: false,
6306        transitionStatus: void 0,
6307        floatingElement: null,
6308        referenceElement: null,
6309        triggerElements,
6310        floatingId,
6311        syncOnly: true,
6312        nested,
6313        onOpenChange: void 0
6314      }),
6315      floatingId,
6316      triggerCount: 0,
6317      preventUnmountingOnClose: false,
6318      payload: void 0,
6319      activeTriggerId: null,
6320      activeTriggerElement: null,
6321      openedWithoutTrigger: false,
6322      triggerIdProp: void 0,
6323      popupElement: null,
6324      positionerElement: null,
6325      activeTriggerProps: EMPTY_OBJECT,
6326      inactiveTriggerProps: EMPTY_OBJECT,
6327      popupProps: EMPTY_OBJECT
6328    };
6329  }
6330  var activeTriggerIdSelector = (state) => state.triggerIdProp ?? state.activeTriggerId;
6331  var openSelector = (state) => state.openProp ?? state.open;
6332  var popupIdSelector = (state) => {
6333    const popupId = state.popupElement?.id ?? state.floatingId;
6334    return popupId || void 0;
6335  };
6336  function triggerOwnsOpenPopup(state, triggerId) {
6337    return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) === triggerId;
6338  }
6339  function triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) {
6340    if (triggerOwnsOpenPopup(state, triggerId)) {
6341      return true;
6342    }
6343    return triggerId !== void 0 && openSelector(state) && activeTriggerIdSelector(state) == null && !state.openedWithoutTrigger && state.triggerCount === 1;
6344  }
6345  var popupStoreSelectors = {
6346    open: openSelector,
6347    mounted: (state) => state.mounted,
6348    // `open` is written synchronously on an open change; `mounted`/`transitionStatus` sync in a
6349    // layout effect. Match useTransitionStatus so a retained popup does not miss its starting phase.
6350    transitionStatus: (state) => openSelector(state) && !state.mounted ? "starting" : state.transitionStatus,
6351    floatingRootContext: (state) => state.floatingRootContext,
6352    triggerCount: (state) => state.triggerCount,
6353    preventUnmountingOnClose: (state) => state.preventUnmountingOnClose,
6354    payload: (state) => state.payload,
6355    activeTriggerId: activeTriggerIdSelector,
6356    activeTriggerElement: (state) => state.mounted ? state.activeTriggerElement : null,
6357    popupId: popupIdSelector,
6358    /**
6359     * Whether the trigger with the given ID was used to open the popup.
6360     */
6361    isTriggerActive: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId,
6362    /**
6363     * Whether the popup is open and was activated by a trigger with the given ID.
6364     */
6365    isOpenedByTrigger: (state, triggerId) => triggerOwnsOpenPopup(state, triggerId),
6366    /**
6367     * Whether the popup is mounted and was activated by a trigger with the given ID.
6368     */
6369    isMountedByTrigger: (state, triggerId) => triggerId !== void 0 && activeTriggerIdSelector(state) === triggerId && state.mounted,
6370    triggerProps: (state, isActive) => isActive ? state.activeTriggerProps : state.inactiveTriggerProps,
6371    /**
6372     * Popup id for the trigger that currently owns the open popup.
6373     */
6374    triggerPopupId: (state, triggerId) => triggerOwnsOpenPopupOrIsOnlyTrigger(state, triggerId) ? popupIdSelector(state) : void 0,
6375    popupProps: (state) => state.popupProps,
6376    popupElement: (state) => state.popupElement,
6377    positionerElement: (state) => state.positionerElement
6378  };
6379  
6380  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/popups/usePopupHandleStore.mjs
6381  var React32 = __toESM(require_react(), 1);
6382  var import_shim2 = __toESM(require_shim(), 1);
6383  function usePopupHandleStore(handle) {
6384    const subscribe = React32.useCallback((listener) => {
6385      if (handle === void 0) {
6386        return NOOP;
6387      }
6388      return handle.subscribeStore(listener);
6389    }, [handle]);
6390    const getSnapshot = React32.useCallback(() => {
6391      return handle === void 0 ? void 0 : handle.store;
6392    }, [handle]);
6393    return (0, import_shim2.useSyncExternalStore)(subscribe, getSnapshot, () => handle?.serverStore);
6394  }
6395  
6396  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloatingRootContext.mjs
6397  function useFloatingRootContext(options) {
6398    const {
6399      open: open2 = false,
6400      onOpenChange,
6401      elements = {}
6402    } = options;
6403    const floatingId = useId();
6404    const nested = useFloatingParentNodeId() != null;
6405    if (true) {
6406      const optionDomReference = elements.reference;
6407      if (optionDomReference && !isElement(optionDomReference)) {
6408        console.error("Cannot pass a virtual element to the `elements.reference` option,", "as it must be a real DOM element. Use `context.setPositionReference()`", "instead.");
6409      }
6410    }
6411    const store = useRefWithInit(() => new FloatingRootStore({
6412      open: open2,
6413      transitionStatus: void 0,
6414      onOpenChange,
6415      referenceElement: elements.reference ?? null,
6416      floatingElement: elements.floating ?? null,
6417      triggerElements: new PopupTriggerMap(),
6418      floatingId,
6419      syncOnly: false,
6420      nested
6421    })).current;
6422    useIsoLayoutEffect(() => {
6423      const valuesToSync = {
6424        open: open2,
6425        floatingId
6426      };
6427      if (elements.reference !== void 0) {
6428        valuesToSync.referenceElement = elements.reference;
6429        valuesToSync.domReferenceElement = isElement(elements.reference) ? elements.reference : null;
6430      }
6431      if (elements.floating !== void 0) {
6432        valuesToSync.floatingElement = elements.floating;
6433      }
6434      store.update(valuesToSync);
6435    }, [open2, floatingId, elements.reference, elements.floating, store]);
6436    store.context.onOpenChange = onOpenChange;
6437    store.context.nested = nested;
6438    return store;
6439  }
6440  
6441  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFocus.mjs
6442  var React33 = __toESM(require_react(), 1);
6443  var isMacSafari = parts_exports.os.mac && parts_exports.engine.webkit;
6444  function useFocus(store, props = {}) {
6445    const {
6446      enabled = true,
6447      delay
6448    } = props;
6449    const {
6450      events,
6451      dataRef
6452    } = store.context;
6453    const blockFocusRef = React33.useRef(false);
6454    const blockedReferenceRef = React33.useRef(null);
6455    const keyboardModalityRef = React33.useRef(true);
6456    const timeout = useTimeout();
6457    React33.useEffect(() => {
6458      const domReference = store.select("domReferenceElement");
6459      if (!enabled) {
6460        return void 0;
6461      }
6462      const win = getWindow(domReference);
6463      function onBlur() {
6464        const currentDomReference = store.select("domReferenceElement");
6465        if (!store.select("open") && isHTMLElement(currentDomReference) && currentDomReference === activeElement(ownerDocument(currentDomReference))) {
6466          blockFocusRef.current = true;
6467          blockedReferenceRef.current = currentDomReference;
6468        }
6469      }
6470      function onKeyDown() {
6471        keyboardModalityRef.current = true;
6472      }
6473      function onPointerDown() {
6474        keyboardModalityRef.current = false;
6475      }
6476      return mergeCleanups(addEventListener(win, "blur", onBlur), isMacSafari && addEventListener(win, "keydown", onKeyDown, true), isMacSafari && addEventListener(win, "pointerdown", onPointerDown, true));
6477    }, [store, enabled]);
6478    React33.useEffect(() => {
6479      if (!enabled) {
6480        return void 0;
6481      }
6482      function onOpenChangeLocal(details) {
6483        if (details.reason === reason_parts_exports.triggerPress || details.reason === reason_parts_exports.escapeKey) {
6484          const referenceElement = store.select("domReferenceElement");
6485          if (isElement(referenceElement)) {
6486            blockedReferenceRef.current = referenceElement;
6487            blockFocusRef.current = true;
6488          }
6489        }
6490      }
6491      events.on("openchange", onOpenChangeLocal);
6492      return () => {
6493        events.off("openchange", onOpenChangeLocal);
6494      };
6495    }, [events, enabled, store]);
6496    const reference = React33.useMemo(() => {
6497      function resetBlockedFocus() {
6498        blockFocusRef.current = false;
6499        blockedReferenceRef.current = null;
6500      }
6501      return {
6502        onMouseLeave() {
6503          resetBlockedFocus();
6504        },
6505        onFocus(event) {
6506          const focusTarget = event.currentTarget;
6507          if (blockFocusRef.current) {
6508            if (blockedReferenceRef.current === focusTarget) {
6509              return;
6510            }
6511            resetBlockedFocus();
6512          }
6513          const target = getTarget(event.nativeEvent);
6514          if (isElement(target)) {
6515            if (isMacSafari && !event.relatedTarget) {
6516              if (!keyboardModalityRef.current && !isTypeableElement(target)) {
6517                return;
6518              }
6519            } else if (!matchesFocusVisible(target)) {
6520              return;
6521            }
6522          }
6523          const movedFromOtherEnabledTrigger = isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements);
6524          const {
6525            nativeEvent,
6526            currentTarget
6527          } = event;
6528          if (store.select("open") && movedFromOtherEnabledTrigger || !delay) {
6529            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
6530            return;
6531          }
6532          timeout.start(delay, () => {
6533            if (blockFocusRef.current) {
6534              return;
6535            }
6536            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent, currentTarget));
6537          });
6538        },
6539        onBlur(event) {
6540          resetBlockedFocus();
6541          const relatedTarget = event.relatedTarget;
6542          const nativeEvent = event.nativeEvent;
6543          const movedToFocusGuard = isElement(relatedTarget) && relatedTarget.hasAttribute(createAttribute("focus-guard")) && relatedTarget.getAttribute("data-type") === "outside";
6544          timeout.start(0, () => {
6545            const domReference = store.select("domReferenceElement");
6546            const activeEl = activeElement(ownerDocument(domReference));
6547            if (!relatedTarget && activeEl === domReference) {
6548              return;
6549            }
6550            if (contains(dataRef.current.floatingContext?.refs.floating.current, activeEl) || contains(domReference, activeEl) || movedToFocusGuard) {
6551              return;
6552            }
6553            const nextFocusedElement = relatedTarget ?? activeEl;
6554            if (isTargetInsideEnabledTrigger(nextFocusedElement, store.context.triggerElements)) {
6555              return;
6556            }
6557            store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerFocus, nativeEvent));
6558          });
6559        }
6560      };
6561    }, [dataRef, delay, store, timeout]);
6562    return React33.useMemo(() => enabled ? {
6563      reference,
6564      trigger: reference
6565    } : {}, [enabled, reference]);
6566  }
6567  
6568  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
6569  var React34 = __toESM(require_react(), 1);
6570  
6571  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverInteractionSharedState.mjs
6572  var HoverInteraction = class _HoverInteraction {
6573    pointerType = void 0;
6574    interactedInside = false;
6575    handler = void 0;
6576    blockMouseMove = true;
6577    performedPointerEventsMutation = false;
6578    pointerEventsScopeElement = null;
6579    pointerEventsReferenceElement = null;
6580    pointerEventsFloatingElement = null;
6581    restTimeoutPending = false;
6582    openChangeTimeout = new Timeout();
6583    restTimeout = new Timeout();
6584    handleCloseOptions = void 0;
6585    static create() {
6586      return new _HoverInteraction();
6587    }
6588    dispose = () => {
6589      this.openChangeTimeout.clear();
6590      this.restTimeout.clear();
6591    };
6592    disposeEffect = () => {
6593      return this.dispose;
6594    };
6595  };
6596  var pointerEventsMutationOwnerByScopeElement = /* @__PURE__ */ new WeakMap();
6597  function clearSafePolygonPointerEventsMutation(instance) {
6598    if (!instance.performedPointerEventsMutation) {
6599      return;
6600    }
6601    const scopeElement = instance.pointerEventsScopeElement;
6602    if (scopeElement && pointerEventsMutationOwnerByScopeElement.get(scopeElement) === instance) {
6603      instance.pointerEventsScopeElement?.style.removeProperty("pointer-events");
6604      instance.pointerEventsReferenceElement?.style.removeProperty("pointer-events");
6605      instance.pointerEventsFloatingElement?.style.removeProperty("pointer-events");
6606      pointerEventsMutationOwnerByScopeElement.delete(scopeElement);
6607    }
6608    instance.performedPointerEventsMutation = false;
6609    instance.pointerEventsScopeElement = null;
6610    instance.pointerEventsReferenceElement = null;
6611    instance.pointerEventsFloatingElement = null;
6612  }
6613  function applySafePolygonPointerEventsMutation(instance, options) {
6614    const {
6615      scopeElement,
6616      referenceElement,
6617      floatingElement
6618    } = options;
6619    const existingOwner = pointerEventsMutationOwnerByScopeElement.get(scopeElement);
6620    if (existingOwner && existingOwner !== instance) {
6621      clearSafePolygonPointerEventsMutation(existingOwner);
6622    }
6623    clearSafePolygonPointerEventsMutation(instance);
6624    instance.performedPointerEventsMutation = true;
6625    instance.pointerEventsScopeElement = scopeElement;
6626    instance.pointerEventsReferenceElement = referenceElement;
6627    instance.pointerEventsFloatingElement = floatingElement;
6628    pointerEventsMutationOwnerByScopeElement.set(scopeElement, instance);
6629    scopeElement.style.pointerEvents = "none";
6630    referenceElement.style.pointerEvents = "auto";
6631    floatingElement.style.pointerEvents = "auto";
6632  }
6633  function useHoverInteractionSharedState(store) {
6634    const data = store.context.dataRef.current;
6635    const instance = useRefWithInit(() => data.hoverInteractionState ?? HoverInteraction.create()).current;
6636    if (!data.hoverInteractionState) {
6637      data.hoverInteractionState = instance;
6638    }
6639    useOnMount(data.hoverInteractionState.disposeEffect);
6640    return data.hoverInteractionState;
6641  }
6642  
6643  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverFloatingInteraction.mjs
6644  function useHoverFloatingInteraction(store, parameters = {}) {
6645    const {
6646      enabled = true,
6647      closeDelay: closeDelayProp = 0,
6648      nodeId: nodeIdProp
6649    } = parameters;
6650    const open2 = store.useState("open");
6651    const floatingElement = store.useState("floatingElement");
6652    const domReferenceElement = store.useState("domReferenceElement");
6653    const {
6654      dataRef
6655    } = store.context;
6656    const tree = useFloatingTree();
6657    const parentId = useFloatingParentNodeId();
6658    const instance = useHoverInteractionSharedState(store);
6659    const childClosedTimeout = useTimeout();
6660    const isClickLikeOpenEvent2 = useStableCallback(() => {
6661      return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
6662    });
6663    const isHoverOpen = useStableCallback(() => {
6664      return isHoverOpenEvent(dataRef.current.openEvent?.type);
6665    });
6666    const clearPointerEvents = useStableCallback(() => {
6667      clearSafePolygonPointerEventsMutation(instance);
6668    });
6669    useIsoLayoutEffect(() => {
6670      if (!open2) {
6671        instance.pointerType = void 0;
6672        instance.restTimeoutPending = false;
6673        instance.interactedInside = false;
6674        clearPointerEvents();
6675      }
6676    }, [open2, instance, clearPointerEvents]);
6677    React34.useEffect(() => {
6678      return clearPointerEvents;
6679    }, [clearPointerEvents]);
6680    useIsoLayoutEffect(() => {
6681      if (!enabled) {
6682        return void 0;
6683      }
6684      if (open2 && instance.handleCloseOptions?.blockPointerEvents && isHoverOpen() && isElement(domReferenceElement) && floatingElement) {
6685        const ref = domReferenceElement;
6686        const floatingEl = floatingElement;
6687        const doc = ownerDocument(floatingElement);
6688        const parentFloating = tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.elements.floating;
6689        if (parentFloating) {
6690          parentFloating.style.pointerEvents = "";
6691        }
6692        const cachedScopeElement = instance.pointerEventsScopeElement !== floatingEl ? instance.pointerEventsScopeElement : null;
6693        const parentScopeElement = parentFloating !== floatingEl ? parentFloating : null;
6694        const scopeElement = instance.handleCloseOptions?.getScope?.() ?? cachedScopeElement ?? parentScopeElement ?? closest(ref, "[data-rootownerid]") ?? doc.body;
6695        applySafePolygonPointerEventsMutation(instance, {
6696          scopeElement,
6697          referenceElement: ref,
6698          floatingElement: floatingEl
6699        });
6700        return () => {
6701          clearPointerEvents();
6702        };
6703      }
6704      return void 0;
6705    }, [enabled, open2, domReferenceElement, floatingElement, instance, isHoverOpen, tree, parentId, clearPointerEvents]);
6706    React34.useEffect(() => {
6707      if (!enabled) {
6708        return void 0;
6709      }
6710      function hasParentChildren() {
6711        return !!(tree && parentId && getNodeChildren(tree.nodesRef.current, parentId).length > 0);
6712      }
6713      function closeWithDelay(event) {
6714        const closeDelay = getDelay(closeDelayProp, "close", instance.pointerType);
6715        const close = () => {
6716          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6717          tree?.events.emit("floating.closed", event);
6718        };
6719        if (closeDelay) {
6720          instance.openChangeTimeout.start(closeDelay, close);
6721        } else {
6722          instance.openChangeTimeout.clear();
6723          close();
6724        }
6725      }
6726      function handleInteractInside(event) {
6727        const target = getTarget(event);
6728        if (!isInteractiveElement(target)) {
6729          instance.interactedInside = false;
6730          return;
6731        }
6732        instance.interactedInside = closest(target, "[aria-haspopup]") != null;
6733      }
6734      function onFloatingMouseEnter() {
6735        instance.openChangeTimeout.clear();
6736        childClosedTimeout.clear();
6737        tree?.events.off("floating.closed", onNodeClosed);
6738        clearPointerEvents();
6739      }
6740      function onFloatingMouseLeave(event) {
6741        if (hasParentChildren() && tree) {
6742          tree.events.on("floating.closed", onNodeClosed);
6743          return;
6744        }
6745        if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {
6746          return;
6747        }
6748        const currentNodeId = dataRef.current.floatingContext?.nodeId ?? nodeIdProp;
6749        const relatedTarget = event.relatedTarget;
6750        const isMovingIntoDescendantFloating = tree && currentNodeId && isElement(relatedTarget) && getNodeChildren(tree.nodesRef.current, currentNodeId, false).some((node) => contains(node.context?.elements.floating, relatedTarget));
6751        if (isMovingIntoDescendantFloating) {
6752          return;
6753        }
6754        if (instance.handler) {
6755          instance.handler(event);
6756          return;
6757        }
6758        clearPointerEvents();
6759        if (isHoverOpen() && !isClickLikeOpenEvent2()) {
6760          closeWithDelay(event);
6761        }
6762      }
6763      function onNodeClosed(event) {
6764        if (!tree || !parentId || hasParentChildren()) {
6765          return;
6766        }
6767        childClosedTimeout.start(0, () => {
6768          tree.events.off("floating.closed", onNodeClosed);
6769          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6770          tree.events.emit("floating.closed", event);
6771        });
6772      }
6773      const floating = floatingElement;
6774      return mergeCleanups(floating && addEventListener(floating, "mouseenter", onFloatingMouseEnter), floating && addEventListener(floating, "mouseleave", onFloatingMouseLeave), floating && addEventListener(floating, "pointerdown", handleInteractInside, true), () => {
6775        tree?.events.off("floating.closed", onNodeClosed);
6776      });
6777    }, [enabled, floatingElement, store, dataRef, closeDelayProp, nodeIdProp, isHoverOpen, isClickLikeOpenEvent2, clearPointerEvents, instance, tree, parentId, childClosedTimeout]);
6778  }
6779  
6780  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useHoverReferenceInteraction.mjs
6781  var React35 = __toESM(require_react(), 1);
6782  var ReactDOM4 = __toESM(require_react_dom(), 1);
6783  var EMPTY_REF = {
6784    current: null
6785  };
6786  function useHoverReferenceInteraction(store, props = {}) {
6787    const {
6788      enabled = true,
6789      delay = 0,
6790      handleClose = null,
6791      mouseOnly = false,
6792      restMs = 0,
6793      move = true,
6794      triggerElementRef = EMPTY_REF,
6795      externalTree,
6796      isActiveTrigger = true,
6797      getHandleCloseContext,
6798      isClosing,
6799      shouldOpen: shouldOpenProp,
6800      guardStaleOpen = false
6801    } = props;
6802    const {
6803      dataRef,
6804      events
6805    } = store.context;
6806    const tree = useFloatingTree(externalTree);
6807    const instance = useHoverInteractionSharedState(store);
6808    const isHoverCloseActiveRef = React35.useRef(false);
6809    const handleCloseRef = useValueAsRef(handleClose);
6810    const delayRef = useValueAsRef(delay);
6811    const restMsRef = useValueAsRef(restMs);
6812    const enabledRef = useValueAsRef(enabled);
6813    const shouldOpenRef = useValueAsRef(shouldOpenProp);
6814    const isClosingRef = useValueAsRef(isClosing);
6815    const isClickLikeOpenEvent2 = useStableCallback(() => {
6816      return isClickLikeOpenEvent(dataRef.current.openEvent?.type, instance.interactedInside);
6817    });
6818    const checkShouldOpen = useStableCallback(() => {
6819      return shouldOpenRef.current?.() !== false;
6820    });
6821    const isOverInactiveTrigger = useStableCallback((currentDomReference, currentTarget, target) => {
6822      const allTriggers = store.context.triggerElements;
6823      if (allTriggers.hasElement(currentTarget)) {
6824        return !currentDomReference || !contains(currentDomReference, currentTarget);
6825      }
6826      if (!isElement(target)) {
6827        return false;
6828      }
6829      const targetElement = target;
6830      return allTriggers.hasMatchingElement((trigger) => contains(trigger, targetElement)) && (!currentDomReference || !contains(currentDomReference, targetElement));
6831    });
6832    const cleanupMouseMoveHandler = useStableCallback(() => {
6833      if (!instance.handler) {
6834        return;
6835      }
6836      const doc = ownerDocument(store.select("domReferenceElement"));
6837      doc.removeEventListener("mousemove", instance.handler);
6838      instance.handler = void 0;
6839    });
6840    const clearPointerEvents = useStableCallback(() => {
6841      clearSafePolygonPointerEventsMutation(instance);
6842    });
6843    if (isActiveTrigger) {
6844      instance.handleCloseOptions = handleClose?.__options;
6845    }
6846    React35.useEffect(() => cleanupMouseMoveHandler, [cleanupMouseMoveHandler]);
6847    React35.useEffect(() => {
6848      if (!enabled) {
6849        return void 0;
6850      }
6851      function onOpenChangeLocal(details) {
6852        if (!details.open) {
6853          isHoverCloseActiveRef.current = details.reason === reason_parts_exports.triggerHover;
6854          cleanupMouseMoveHandler();
6855          instance.openChangeTimeout.clear();
6856          instance.restTimeout.clear();
6857          instance.blockMouseMove = true;
6858          instance.restTimeoutPending = false;
6859        } else {
6860          isHoverCloseActiveRef.current = false;
6861        }
6862      }
6863      events.on("openchange", onOpenChangeLocal);
6864      return () => {
6865        events.off("openchange", onOpenChangeLocal);
6866      };
6867    }, [enabled, events, instance, cleanupMouseMoveHandler]);
6868    React35.useEffect(() => {
6869      if (!enabled) {
6870        return void 0;
6871      }
6872      function closeWithDelay(event, runElseBranch = true) {
6873        const closeDelay = getDelay(delayRef.current, "close", instance.pointerType);
6874        if (closeDelay) {
6875          instance.openChangeTimeout.start(closeDelay, () => {
6876            store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6877            tree?.events.emit("floating.closed", event);
6878          });
6879        } else if (runElseBranch) {
6880          instance.openChangeTimeout.clear();
6881          store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
6882          tree?.events.emit("floating.closed", event);
6883        }
6884      }
6885      const trigger = triggerElementRef.current ?? (isActiveTrigger ? store.select("domReferenceElement") : null);
6886      if (!isElement(trigger)) {
6887        return void 0;
6888      }
6889      function onMouseEnter(event) {
6890        instance.openChangeTimeout.clear();
6891        instance.blockMouseMove = false;
6892        if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
6893          return;
6894        }
6895        const restMsValue = getRestMs(restMsRef.current);
6896        const openDelay = getDelay(delayRef.current, "open", instance.pointerType);
6897        const eventTarget = getTarget(event);
6898        const currentTarget = event.currentTarget ?? null;
6899        const currentDomReference = store.select("domReferenceElement");
6900        let triggerNode = currentTarget;
6901        if (isElement(eventTarget) && !store.context.triggerElements.hasElement(eventTarget)) {
6902          for (const triggerElement of store.context.triggerElements.elements()) {
6903            if (contains(triggerElement, eventTarget)) {
6904              triggerNode = triggerElement;
6905              break;
6906            }
6907          }
6908        }
6909        if (isElement(currentTarget) && isElement(currentDomReference) && !store.context.triggerElements.hasElement(currentTarget) && contains(currentTarget, currentDomReference)) {
6910          triggerNode = currentDomReference;
6911        }
6912        const isOverInactive = triggerNode == null ? false : isOverInactiveTrigger(currentDomReference, triggerNode, eventTarget);
6913        const isOpen = store.select("open");
6914        const isInClosingTransition = isClosingRef.current?.() ?? store.select("transitionStatus") === "ending";
6915        const isHoverCloseTransition = !isOpen && isInClosingTransition && isHoverCloseActiveRef.current;
6916        const isReenteringSameTriggerDuringCloseTransition = !isOverInactive && isElement(triggerNode) && isElement(currentDomReference) && contains(currentDomReference, triggerNode) && isHoverCloseTransition;
6917        const isRestOnlyDelay = restMsValue > 0 && !openDelay;
6918        const shouldOpenImmediately = isOverInactive && (isOpen || isHoverCloseTransition) || isReenteringSameTriggerDuringCloseTransition;
6919        const shouldOpen = !isOpen || isOverInactive;
6920        if (shouldOpenImmediately) {
6921          if (checkShouldOpen()) {
6922            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6923          }
6924          return;
6925        }
6926        if (isRestOnlyDelay) {
6927          return;
6928        }
6929        if (openDelay) {
6930          instance.openChangeTimeout.start(openDelay, () => {
6931            if (shouldOpen && checkShouldOpen()) {
6932              store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6933            }
6934          });
6935        } else if (shouldOpen) {
6936          if (checkShouldOpen()) {
6937            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerNode));
6938          }
6939        }
6940      }
6941      function onMouseLeave(event) {
6942        if (isClickLikeOpenEvent2()) {
6943          clearPointerEvents();
6944          return;
6945        }
6946        cleanupMouseMoveHandler();
6947        const domReferenceElement = store.select("domReferenceElement");
6948        const doc = ownerDocument(domReferenceElement);
6949        instance.restTimeout.clear();
6950        instance.restTimeoutPending = false;
6951        const handleCloseContextBase = dataRef.current.floatingContext ?? getHandleCloseContext?.();
6952        if (isTargetInsideEnabledTrigger(event.relatedTarget, store.context.triggerElements)) {
6953          return;
6954        }
6955        if (handleCloseRef.current && handleCloseContextBase) {
6956          if (!store.select("open")) {
6957            instance.openChangeTimeout.clear();
6958          }
6959          const currentTrigger = triggerElementRef.current;
6960          instance.handler = handleCloseRef.current({
6961            ...handleCloseContextBase,
6962            tree,
6963            x: event.clientX,
6964            y: event.clientY,
6965            onClose() {
6966              clearPointerEvents();
6967              cleanupMouseMoveHandler();
6968              if (enabledRef.current && !isClickLikeOpenEvent2() && currentTrigger === store.select("domReferenceElement")) {
6969                closeWithDelay(event, true);
6970              }
6971            }
6972          });
6973          doc.addEventListener("mousemove", instance.handler);
6974          instance.handler(event);
6975          return;
6976        }
6977        const shouldClose = instance.pointerType === "touch" ? !contains(store.select("floatingElement"), event.relatedTarget) : true;
6978        if (shouldClose) {
6979          closeWithDelay(event);
6980        }
6981      }
6982      function onMouseOut(event) {
6983        if (contains(trigger, event.relatedTarget)) {
6984          return;
6985        }
6986        instance.openChangeTimeout.clear();
6987        instance.restTimeout.clear();
6988        instance.restTimeoutPending = false;
6989      }
6990      const staleOpenGuard = guardStaleOpen ? addEventListener(trigger, "mouseout", onMouseOut) : void 0;
6991      if (move) {
6992        return mergeCleanups(addEventListener(trigger, "mousemove", onMouseEnter, {
6993          once: true
6994        }), addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
6995      }
6996      return mergeCleanups(addEventListener(trigger, "mouseenter", onMouseEnter), addEventListener(trigger, "mouseleave", onMouseLeave), staleOpenGuard);
6997    }, [cleanupMouseMoveHandler, clearPointerEvents, dataRef, delayRef, store, enabled, handleCloseRef, instance, isActiveTrigger, isOverInactiveTrigger, isClickLikeOpenEvent2, mouseOnly, move, restMsRef, triggerElementRef, tree, enabledRef, getHandleCloseContext, isClosingRef, checkShouldOpen, guardStaleOpen]);
6998    return React35.useMemo(() => {
6999      if (!enabled) {
7000        return void 0;
7001      }
7002      function setPointerRef(event) {
7003        instance.pointerType = event.pointerType;
7004      }
7005      return {
7006        onPointerDown: setPointerRef,
7007        onPointerEnter: setPointerRef,
7008        onMouseMove(event) {
7009          const {
7010            nativeEvent
7011          } = event;
7012          const trigger = event.currentTarget;
7013          const currentDomReference = store.select("domReferenceElement");
7014          const currentOpen = store.select("open");
7015          const isOverInactive = isOverInactiveTrigger(currentDomReference, trigger, event.target);
7016          if (mouseOnly && !isMouseLikePointerType(instance.pointerType)) {
7017            return;
7018          }
7019          if (currentOpen && isOverInactive && instance.handleCloseOptions?.blockPointerEvents) {
7020            const floatingElement = store.select("floatingElement");
7021            if (floatingElement) {
7022              const scopeElement = instance.handleCloseOptions?.getScope?.() ?? trigger.ownerDocument.body;
7023              applySafePolygonPointerEventsMutation(instance, {
7024                scopeElement,
7025                referenceElement: trigger,
7026                floatingElement
7027              });
7028            }
7029          }
7030          const restMsValue = getRestMs(restMsRef.current);
7031          if (currentOpen && !isOverInactive || restMsValue === 0) {
7032            return;
7033          }
7034          if (!isOverInactive && instance.restTimeoutPending && event.movementX ** 2 + event.movementY ** 2 < 2) {
7035            return;
7036          }
7037          instance.restTimeout.clear();
7038          function handleMouseMove() {
7039            instance.restTimeoutPending = false;
7040            if (isClickLikeOpenEvent2()) {
7041              return;
7042            }
7043            const latestOpen = store.select("open");
7044            if (!instance.blockMouseMove && (!latestOpen || isOverInactive) && checkShouldOpen()) {
7045              store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, nativeEvent, trigger));
7046            }
7047          }
7048          if (instance.pointerType === "touch") {
7049            ReactDOM4.flushSync(() => {
7050              handleMouseMove();
7051            });
7052          } else if (isOverInactive && currentOpen) {
7053            handleMouseMove();
7054          } else {
7055            instance.restTimeoutPending = true;
7056            instance.restTimeout.start(restMsValue, handleMouseMove);
7057          }
7058        }
7059      };
7060    }, [enabled, instance, isClickLikeOpenEvent2, isOverInactiveTrigger, mouseOnly, store, restMsRef, checkShouldOpen]);
7061  }
7062  
7063  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useListNavigation.mjs
7064  var React36 = __toESM(require_react(), 1);
7065  function isStationaryWebKitPointer(event) {
7066    return parts_exports.engine.webkit && event.movementX === 0 && event.movementY === 0;
7067  }
7068  function doSwitch(orientation, vertical, horizontal) {
7069    switch (orientation) {
7070      case "vertical":
7071        return vertical;
7072      case "horizontal":
7073        return horizontal;
7074      default:
7075        return vertical || horizontal;
7076    }
7077  }
7078  function isMainOrientationKey(key, orientation) {
7079    const vertical = key === ARROW_UP || key === ARROW_DOWN;
7080    const horizontal = key === ARROW_LEFT || key === ARROW_RIGHT;
7081    return doSwitch(orientation, vertical, horizontal);
7082  }
7083  function isMainOrientationToEndKey(key, orientation, rtl) {
7084    const vertical = key === ARROW_DOWN;
7085    const horizontal = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
7086    return doSwitch(orientation, vertical, horizontal) || key === "Enter" || key === " " || key === "";
7087  }
7088  function isCrossOrientationOpenKey(key, orientation, rtl) {
7089    const vertical = rtl ? key === ARROW_LEFT : key === ARROW_RIGHT;
7090    const horizontal = key === ARROW_DOWN;
7091    return doSwitch(orientation, vertical, horizontal);
7092  }
7093  function isCrossOrientationCloseKey(key, orientation, rtl, grid) {
7094    const vertical = rtl ? key === ARROW_RIGHT : key === ARROW_LEFT;
7095    const horizontal = key === ARROW_UP;
7096    if (orientation === "both" || orientation === "horizontal" && grid) {
7097      return key === "Escape";
7098    }
7099    return doSwitch(orientation, vertical, horizontal);
7100  }
7101  function useListNavigation(store, props) {
7102    const {
7103      listRef,
7104      activeIndex,
7105      onNavigate: onNavigateProp = () => {
7106      },
7107      enabled = true,
7108      selectedIndex = null,
7109      allowEscape = false,
7110      loopFocus = false,
7111      nested = false,
7112      rtl = false,
7113      virtual = false,
7114      focusItemOnOpen = "auto",
7115      focusItemOnHover = true,
7116      openOnArrowKeyDown = true,
7117      disabledIndices = void 0,
7118      orientation = "vertical",
7119      triggerOrientation = orientation,
7120      parentOrientation,
7121      id,
7122      resetOnPointerLeave = true,
7123      externalTree,
7124      nestedReturnFocusRef,
7125      grid: navigateGrid
7126    } = props;
7127    const isGrid = navigateGrid != null;
7128    if (true) {
7129      if (allowEscape) {
7130        if (!loopFocus) {
7131          console.warn("`useListNavigation` looping must be enabled to allow escaping.");
7132        }
7133        if (!virtual) {
7134          console.warn("`useListNavigation` must be virtual to allow escaping.");
7135        }
7136      }
7137      if (orientation === "vertical" && isGrid) {
7138        console.warn("In grid list navigation mode, the `orientation` should", 'be either "horizontal" or "both".');
7139      }
7140    }
7141    const open2 = store.useState("open");
7142    const floatingElement = store.useState("floatingElement");
7143    const domReferenceElement = store.useState("domReferenceElement");
7144    const dataRef = store.context.dataRef;
7145    const floatingFocusElement = getFloatingFocusElement(floatingElement);
7146    const typeableComboboxReference = isTypeableCombobox(domReferenceElement);
7147    const floatingFocusElementRef = useValueAsRef(floatingFocusElement);
7148    const parentId = useFloatingParentNodeId();
7149    const tree = useFloatingTree(externalTree);
7150    const focusItemOnOpenRef = React36.useRef(focusItemOnOpen);
7151    const indexRef = React36.useRef(selectedIndex ?? -1);
7152    const keyRef = React36.useRef(null);
7153    const isPointerModalityRef = React36.useRef(true);
7154    const onNavigate = useStableCallback((event) => {
7155      onNavigateProp(indexRef.current === -1 ? null : indexRef.current, event);
7156    });
7157    const previousMountedRef = React36.useRef(!!floatingElement);
7158    const previousOpenRef = React36.useRef(open2);
7159    const forceSyncFocusRef = React36.useRef(false);
7160    const forceScrollIntoViewRef = React36.useRef(false);
7161    const cancelQueuedFocusRef = React36.useRef(null);
7162    const disabledIndicesRef = useValueAsRef(disabledIndices);
7163    const latestOpenRef = useValueAsRef(open2);
7164    const selectedIndexRef = useValueAsRef(selectedIndex);
7165    const resetOnPointerLeaveRef = useValueAsRef(resetOnPointerLeave);
7166    const focusFrame = useAnimationFrame();
7167    const waitForListPopulatedFrame = useAnimationFrame();
7168    const focusItem = useStableCallback(() => {
7169      focusFrame.cancel();
7170      function runFocus(item2) {
7171        if (!virtual) {
7172          cancelQueuedFocusRef.current = enqueueFocus(item2, {
7173            sync: forceSyncFocusRef.current,
7174            preventScroll: true
7175          });
7176        }
7177      }
7178      const initialItem = listRef.current[indexRef.current];
7179      const forceScrollIntoView = forceScrollIntoViewRef.current;
7180      if (initialItem) {
7181        runFocus(initialItem);
7182      }
7183      const scheduler2 = forceSyncFocusRef.current ? (callback) => callback() : (callback) => focusFrame.request(callback);
7184      scheduler2(() => {
7185        const waitedItem = listRef.current[indexRef.current] || initialItem;
7186        if (!waitedItem) {
7187          return;
7188        }
7189        if (!initialItem) {
7190          runFocus(waitedItem);
7191        }
7192        const shouldScrollIntoView = (
7193          // eslint-disable-next-line @typescript-eslint/no-use-before-define
7194          item && (forceScrollIntoView || !isPointerModalityRef.current)
7195        );
7196        if (shouldScrollIntoView) {
7197          waitedItem.scrollIntoView?.({
7198            block: "nearest",
7199            inline: "nearest"
7200          });
7201        }
7202      });
7203    });
7204    useIsoLayoutEffect(() => {
7205      dataRef.current.orientation = orientation;
7206    }, [dataRef, orientation]);
7207    useIsoLayoutEffect(() => {
7208      if (!open2) {
7209        keyRef.current = null;
7210      }
7211      if (!open2 || focusItemOnOpen !== "auto") {
7212        focusItemOnOpenRef.current = focusItemOnOpen;
7213      }
7214    }, [open2, focusItemOnOpen]);
7215    useIsoLayoutEffect(() => {
7216      if (!enabled) {
7217        return;
7218      }
7219      if (open2 && floatingElement) {
7220        indexRef.current = selectedIndex ?? -1;
7221        if (focusItemOnOpenRef.current && selectedIndex != null) {
7222          forceScrollIntoViewRef.current = true;
7223          onNavigate();
7224        }
7225      } else if (previousMountedRef.current) {
7226        indexRef.current = -1;
7227        onNavigate();
7228      }
7229    }, [enabled, open2, floatingElement, selectedIndex, onNavigate]);
7230    useIsoLayoutEffect(() => {
7231      if (!enabled) {
7232        return;
7233      }
7234      if (!open2) {
7235        forceSyncFocusRef.current = false;
7236        return;
7237      }
7238      if (!floatingElement) {
7239        return;
7240      }
7241      if (activeIndex == null) {
7242        forceSyncFocusRef.current = false;
7243        if (selectedIndexRef.current != null) {
7244          return;
7245        }
7246        if (previousMountedRef.current) {
7247          indexRef.current = -1;
7248          focusItem();
7249        }
7250        if ((!previousOpenRef.current || !previousMountedRef.current) && focusItemOnOpenRef.current && (keyRef.current != null || focusItemOnOpenRef.current === true && keyRef.current == null)) {
7251          let runs = 0;
7252          const waitForListPopulated = () => {
7253            if (listRef.current[0] == null) {
7254              if (runs < 2) {
7255                const scheduler2 = runs ? (callback) => waitForListPopulatedFrame.request(callback) : queueMicrotask;
7256                scheduler2(waitForListPopulated);
7257              }
7258              runs += 1;
7259            } else {
7260              indexRef.current = keyRef.current == null || isMainOrientationToEndKey(keyRef.current, triggerOrientation, rtl) || nested ? getMinListIndex(listRef) : getMaxListIndex(listRef);
7261              keyRef.current = null;
7262              onNavigate();
7263            }
7264          };
7265          waitForListPopulated();
7266        }
7267      } else if (!isIndexOutOfListBounds(listRef.current, activeIndex)) {
7268        indexRef.current = activeIndex;
7269        focusItem();
7270        forceScrollIntoViewRef.current = false;
7271      }
7272    }, [enabled, open2, floatingElement, activeIndex, selectedIndexRef, nested, listRef, triggerOrientation, rtl, onNavigate, focusItem, waitForListPopulatedFrame]);
7273    useIsoLayoutEffect(() => {
7274      if (!enabled || floatingElement || !tree || virtual || !previousMountedRef.current) {
7275        return;
7276      }
7277      const nodes = tree.nodesRef.current;
7278      const parent = nodes.find((node) => node.id === parentId)?.context?.elements.floating;
7279      const activeEl = activeElement(ownerDocument(domReferenceElement ?? parent ?? null));
7280      const treeContainsActiveEl = nodes.some((node) => node.context && contains(node.context.elements.floating, activeEl));
7281      if (parent && !treeContainsActiveEl && isPointerModalityRef.current) {
7282        parent.focus({
7283          preventScroll: true
7284        });
7285      }
7286    }, [enabled, floatingElement, domReferenceElement, tree, parentId, virtual]);
7287    useIsoLayoutEffect(() => {
7288      previousOpenRef.current = open2;
7289      previousMountedRef.current = !!floatingElement;
7290    });
7291    const hasActiveIndex = activeIndex != null;
7292    const syncCurrentTarget = useStableCallback((event) => {
7293      if (!latestOpenRef.current) {
7294        return;
7295      }
7296      const index2 = listRef.current.indexOf(event.currentTarget);
7297      if (index2 !== -1 && (indexRef.current !== index2 || activeIndex !== index2)) {
7298        indexRef.current = index2;
7299        onNavigate(event);
7300      }
7301    });
7302    const getParentOrientation = useStableCallback(() => {
7303      return parentOrientation ?? tree?.nodesRef.current.find((node) => node.id === parentId)?.context?.dataRef?.current.orientation;
7304    });
7305    const getMinEnabledIndex = useStableCallback(() => {
7306      return getMinListIndex(listRef, disabledIndicesRef.current);
7307    });
7308    const commonOnKeyDown = useStableCallback((event) => {
7309      isPointerModalityRef.current = false;
7310      forceSyncFocusRef.current = true;
7311      if (event.which === 229) {
7312        return;
7313      }
7314      if (!latestOpenRef.current && event.currentTarget === floatingFocusElementRef.current) {
7315        return;
7316      }
7317      if (nested && isCrossOrientationCloseKey(event.key, orientation, rtl, isGrid)) {
7318        if (!isMainOrientationKey(event.key, getParentOrientation())) {
7319          stopEvent(event);
7320        }
7321        store.setOpen(false, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
7322        const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
7323        if (isHTMLElement(returnElement)) {
7324          returnElement.focus();
7325        }
7326        return;
7327      }
7328      if (activeIndex != null && activeIndex !== indexRef.current && !isIndexOutOfListBounds(listRef.current, activeIndex)) {
7329        indexRef.current = activeIndex;
7330      }
7331      const currentIndex = indexRef.current;
7332      const minIndex = getMinListIndex(listRef, disabledIndices);
7333      const maxIndex = getMaxListIndex(listRef, disabledIndices);
7334      if (!typeableComboboxReference) {
7335        if (event.key === "Home") {
7336          stopEvent(event);
7337          indexRef.current = minIndex;
7338          onNavigate(event);
7339        }
7340        if (event.key === "End") {
7341          stopEvent(event);
7342          indexRef.current = maxIndex;
7343          onNavigate(event);
7344        }
7345      }
7346      if (navigateGrid != null) {
7347        const index2 = navigateGrid(event, indexRef.current, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex);
7348        if (index2 != null && index2 !== indexRef.current) {
7349          indexRef.current = index2;
7350          onNavigate(event);
7351        }
7352        if (orientation === "both") {
7353          return;
7354        }
7355      }
7356      if (isMainOrientationKey(event.key, orientation)) {
7357        stopEvent(event);
7358        const focusedElement = activeElement(event.currentTarget.ownerDocument);
7359        if (open2 && !virtual && contains(event.currentTarget, focusedElement) && !listRef.current.some((item2) => item2 != null && contains(item2, focusedElement))) {
7360          indexRef.current = isMainOrientationToEndKey(event.key, orientation, rtl) ? minIndex : maxIndex;
7361          onNavigate(event);
7362          if (activeIndex === indexRef.current) {
7363            focusItem();
7364          }
7365          return;
7366        }
7367        const {
7368          index: index2,
7369          wrapped
7370        } = getNextListIndex(listRef.current, currentIndex, {
7371          decrement: !isMainOrientationToEndKey(event.key, orientation, rtl),
7372          loopFocus,
7373          allowEscape,
7374          disabledIndices,
7375          minIndex,
7376          maxIndex
7377        });
7378        if (wrapped) {
7379          forceSyncFocusRef.current = false;
7380        }
7381        indexRef.current = index2;
7382        onNavigate(event);
7383      }
7384    });
7385    const item = React36.useMemo(() => {
7386      const itemProps = {
7387        onFocus(event) {
7388          forceSyncFocusRef.current = true;
7389          syncCurrentTarget(event);
7390        },
7391        onClick({
7392          currentTarget
7393        }) {
7394          if (!virtual) {
7395            currentTarget.focus({
7396              preventScroll: true
7397            });
7398          }
7399        },
7400        onMouseMove(event) {
7401          if (isStationaryWebKitPointer(event)) {
7402            return;
7403          }
7404          forceSyncFocusRef.current = true;
7405          forceScrollIntoViewRef.current = false;
7406          if (focusItemOnHover) {
7407            syncCurrentTarget(event);
7408          }
7409        },
7410        onPointerLeave(event) {
7411          if (!latestOpenRef.current || !isPointerModalityRef.current || event.pointerType === "touch") {
7412            return;
7413          }
7414          forceSyncFocusRef.current = true;
7415          const relatedTarget = event.relatedTarget;
7416          if (!focusItemOnHover || listRef.current.includes(relatedTarget)) {
7417            return;
7418          }
7419          if (!resetOnPointerLeaveRef.current) {
7420            return;
7421          }
7422          cancelQueuedFocusRef.current?.();
7423          cancelQueuedFocusRef.current = null;
7424          indexRef.current = -1;
7425          onNavigate(event);
7426          if (!virtual) {
7427            const floatingFocusEl = floatingFocusElementRef.current;
7428            const activeEl = activeElement(ownerDocument(floatingFocusEl));
7429            if (floatingFocusEl && contains(floatingFocusEl, activeEl)) {
7430              floatingFocusEl.focus({
7431                preventScroll: true
7432              });
7433            }
7434          }
7435        }
7436      };
7437      return itemProps;
7438    }, [syncCurrentTarget, latestOpenRef, floatingFocusElementRef, focusItemOnHover, listRef, onNavigate, resetOnPointerLeaveRef, virtual]);
7439    const ariaActiveDescendantProp = React36.useMemo(() => {
7440      return virtual && open2 && hasActiveIndex && {
7441        "aria-activedescendant": `$id}-$activeIndex}`
7442      };
7443    }, [virtual, open2, hasActiveIndex, id, activeIndex]);
7444    const floating = React36.useMemo(() => {
7445      return {
7446        ...!typeableComboboxReference ? ariaActiveDescendantProp : {},
7447        onKeyDown(event) {
7448          if (event.key === "Tab" && event.shiftKey && open2 && !virtual) {
7449            const target = getTarget(event.nativeEvent);
7450            if (target && !contains(floatingFocusElementRef.current, target)) {
7451              return;
7452            }
7453            stopEvent(event);
7454            const details = createChangeEventDetails(reason_parts_exports.focusOut, event.nativeEvent);
7455            store.setOpen(false, details);
7456            const returnElement = nestedReturnFocusRef?.current ?? domReferenceElement;
7457            if (!details.isCanceled && isHTMLElement(returnElement)) {
7458              returnElement.focus();
7459            }
7460            return;
7461          }
7462          commonOnKeyDown(event);
7463        },
7464        onPointerMove(event) {
7465          if (isStationaryWebKitPointer(event)) {
7466            return;
7467          }
7468          isPointerModalityRef.current = true;
7469        }
7470      };
7471    }, [ariaActiveDescendantProp, commonOnKeyDown, floatingFocusElementRef, typeableComboboxReference, store, open2, virtual, domReferenceElement, nestedReturnFocusRef]);
7472    const trigger = React36.useMemo(() => {
7473      function openOnNavigationKeyDown(event) {
7474        store.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent, event.currentTarget));
7475      }
7476      function checkVirtualMouse(event) {
7477        if (focusItemOnOpen === "auto" && isVirtualClick(event.nativeEvent)) {
7478          focusItemOnOpenRef.current = !virtual;
7479        }
7480      }
7481      function checkVirtualPointer(event) {
7482        focusItemOnOpenRef.current = focusItemOnOpen;
7483        if (focusItemOnOpen === "auto" && isVirtualPointerEvent(event.nativeEvent)) {
7484          focusItemOnOpenRef.current = true;
7485        }
7486      }
7487      return {
7488        onKeyDown(event) {
7489          const currentOpen = store.select("open");
7490          isPointerModalityRef.current = false;
7491          const isArrowKey = event.key.startsWith("Arrow");
7492          const isParentCrossOpenKey = isCrossOrientationOpenKey(event.key, getParentOrientation(), rtl);
7493          const isMainKey = isMainOrientationKey(event.key, currentOpen ? orientation : triggerOrientation);
7494          const isNavigationKey = (nested ? isParentCrossOpenKey : isMainKey) || event.key === "Enter" || event.key.trim() === "";
7495          if (virtual && currentOpen && (!nested || isTypeableElement(event.currentTarget))) {
7496            return commonOnKeyDown(event);
7497          }
7498          if (!currentOpen && !openOnArrowKeyDown && isArrowKey) {
7499            return void 0;
7500          }
7501          if (isNavigationKey) {
7502            const isParentMainKey = isMainOrientationKey(event.key, getParentOrientation());
7503            keyRef.current = nested && isParentMainKey ? null : event.key;
7504          }
7505          if (nested) {
7506            if (isParentCrossOpenKey) {
7507              stopEvent(event);
7508              if (currentOpen) {
7509                indexRef.current = getMinEnabledIndex();
7510                onNavigate(event);
7511                if (virtual) {
7512                  floatingFocusElementRef.current?.focus();
7513                }
7514              } else {
7515                openOnNavigationKeyDown(event);
7516              }
7517            }
7518            return void 0;
7519          }
7520          if (isMainKey) {
7521            if (selectedIndexRef.current != null) {
7522              indexRef.current = selectedIndexRef.current;
7523            }
7524            stopEvent(event);
7525            if (!currentOpen && openOnArrowKeyDown) {
7526              openOnNavigationKeyDown(event);
7527            } else {
7528              commonOnKeyDown(event);
7529            }
7530            if (currentOpen) {
7531              onNavigate(event);
7532            }
7533          }
7534          return void 0;
7535        },
7536        onFocus(event) {
7537          if (event.target !== event.currentTarget) {
7538            return;
7539          }
7540          if (store.select("open") && !virtual) {
7541            indexRef.current = -1;
7542            onNavigate(event);
7543          }
7544        },
7545        onPointerDown: checkVirtualPointer,
7546        onPointerEnter: checkVirtualPointer,
7547        onMouseDown: checkVirtualMouse,
7548        onClick: checkVirtualMouse
7549      };
7550    }, [commonOnKeyDown, focusItemOnOpen, getMinEnabledIndex, nested, onNavigate, store, openOnArrowKeyDown, orientation, triggerOrientation, getParentOrientation, rtl, selectedIndexRef, virtual, floatingFocusElementRef]);
7551    const reference = React36.useMemo(() => {
7552      return {
7553        ...ariaActiveDescendantProp,
7554        ...trigger
7555      };
7556    }, [ariaActiveDescendantProp, trigger]);
7557    return React36.useMemo(() => enabled ? {
7558      reference,
7559      floating,
7560      item,
7561      trigger
7562    } : {}, [enabled, reference, floating, trigger, item]);
7563  }
7564  
7565  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useTypeahead.mjs
7566  var React37 = __toESM(require_react(), 1);
7567  function useTypeahead(store, props) {
7568    const {
7569      listRef,
7570      elementsRef,
7571      activeIndex,
7572      onMatch: onMatchProp,
7573      disabledIndices,
7574      onTyping: onTypingProp,
7575      enabled = true,
7576      resetMs = 750,
7577      selectedIndex = null
7578    } = props;
7579    const onTyping = useStableCallback(onTypingProp);
7580    const open2 = store.useState("open");
7581    const timeout = useTimeout();
7582    const stringRef = React37.useRef("");
7583    const prevIndexRef = React37.useRef(selectedIndex ?? activeIndex ?? -1);
7584    const matchIndexRef = React37.useRef(null);
7585    const onKeyDown = useStableCallback((event) => {
7586      function getElement(index3) {
7587        return elementsRef?.current[index3];
7588      }
7589      function isItemAvailable(index3) {
7590        const element = getElement(index3);
7591        if (element && !isElementVisible(element) || element?.matches(":disabled")) {
7592          return false;
7593        }
7594        return disabledIndices == null || !isListIndexDisabled(EMPTY_ARRAY, index3, disabledIndices);
7595      }
7596      function getMatchingIndex(list, string, startIndex2 = 0) {
7597        if (list.length === 0) {
7598          return -1;
7599        }
7600        const normalizedStartIndex = (startIndex2 % list.length + list.length) % list.length;
7601        const lowerString = string.toLowerCase();
7602        for (let offset4 = 0; offset4 < list.length; offset4 += 1) {
7603          const index3 = (normalizedStartIndex + offset4) % list.length;
7604          const text = list[index3];
7605          if (!text?.toLowerCase().startsWith(lowerString) || !isItemAvailable(index3)) {
7606            continue;
7607          }
7608          return index3;
7609        }
7610        return -1;
7611      }
7612      const listContent = listRef.current;
7613      if (stringRef.current.length > 0 && event.key === " ") {
7614        stopEvent(event);
7615        onTyping?.(true);
7616      }
7617      if (stringRef.current.length > 0 && stringRef.current[0] !== " ") {
7618        if (getMatchingIndex(listContent, stringRef.current) === -1 && event.key !== " ") {
7619          onTyping?.(false);
7620        }
7621      }
7622      if (listContent == null || // Character key.
7623      event.key.length !== 1 || // Modifier key.
7624      event.ctrlKey || event.metaKey || event.altKey) {
7625        return;
7626      }
7627      if (open2 && event.key !== " ") {
7628        stopEvent(event);
7629        onTyping?.(true);
7630      }
7631      const isNewSession = stringRef.current === "";
7632      if (isNewSession) {
7633        prevIndexRef.current = selectedIndex ?? activeIndex ?? -1;
7634      }
7635      const allowRapidSuccessionOfFirstLetter = listContent.every((text, index3) => text && isItemAvailable(index3) ? text[0]?.toLowerCase() !== text[1]?.toLowerCase() : true);
7636      if (allowRapidSuccessionOfFirstLetter && stringRef.current === event.key) {
7637        stringRef.current = "";
7638        prevIndexRef.current = matchIndexRef.current;
7639      }
7640      stringRef.current += event.key;
7641      timeout.start(resetMs, () => {
7642        stringRef.current = "";
7643        prevIndexRef.current = matchIndexRef.current;
7644        onTyping?.(false);
7645      });
7646      const prevIndex = isNewSession ? selectedIndex ?? activeIndex ?? -1 : prevIndexRef.current;
7647      const startIndex = (prevIndex ?? 0) + 1;
7648      const index2 = getMatchingIndex(listContent, stringRef.current, startIndex);
7649      if (index2 !== -1) {
7650        onMatchProp?.(index2, event);
7651        matchIndexRef.current = index2;
7652      } else if (event.key !== " ") {
7653        stringRef.current = "";
7654        onTyping?.(false);
7655      }
7656    });
7657    const onBlur = useStableCallback((event) => {
7658      const next = event.relatedTarget;
7659      const currentDomReferenceElement = store.select("domReferenceElement");
7660      const currentFloatingElement = store.select("floatingElement");
7661      const withinComposite = contains(currentDomReferenceElement, next) || contains(currentFloatingElement, next);
7662      if (withinComposite) {
7663        return;
7664      }
7665      timeout.clear();
7666      stringRef.current = "";
7667      prevIndexRef.current = matchIndexRef.current;
7668      onTyping?.(false);
7669    });
7670    useIsoLayoutEffect(() => {
7671      if (!open2 && selectedIndex !== null) {
7672        return;
7673      }
7674      timeout.clear();
7675      matchIndexRef.current = null;
7676      if (stringRef.current !== "") {
7677        stringRef.current = "";
7678        onTyping?.(false);
7679      }
7680    }, [open2, selectedIndex, timeout, onTyping]);
7681    const sharedProps = React37.useMemo(() => ({
7682      onKeyDown,
7683      onBlur
7684    }), [onKeyDown, onBlur]);
7685    return React37.useMemo(() => enabled ? {
7686      reference: sharedProps,
7687      floating: sharedProps
7688    } : {}, [enabled, sharedProps]);
7689  }
7690  
7691  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/safePolygon.mjs
7692  var CURSOR_SPEED_THRESHOLD = 0.1;
7693  var CURSOR_SPEED_THRESHOLD_SQUARED = CURSOR_SPEED_THRESHOLD * CURSOR_SPEED_THRESHOLD;
7694  var POLYGON_BUFFER = 0.5;
7695  function hasIntersectingEdge(pointX, pointY, xi, yi, xj, yj) {
7696    return yi >= pointY !== yj >= pointY && pointX <= (xj - xi) * (pointY - yi) / (yj - yi) + xi;
7697  }
7698  function isPointInQuadrilateral(pointX, pointY, x1, y1, x2, y2, x3, y3, x4, y4) {
7699    let isInsideValue = false;
7700    if (hasIntersectingEdge(pointX, pointY, x1, y1, x2, y2)) {
7701      isInsideValue = !isInsideValue;
7702    }
7703    if (hasIntersectingEdge(pointX, pointY, x2, y2, x3, y3)) {
7704      isInsideValue = !isInsideValue;
7705    }
7706    if (hasIntersectingEdge(pointX, pointY, x3, y3, x4, y4)) {
7707      isInsideValue = !isInsideValue;
7708    }
7709    if (hasIntersectingEdge(pointX, pointY, x4, y4, x1, y1)) {
7710      isInsideValue = !isInsideValue;
7711    }
7712    return isInsideValue;
7713  }
7714  function isInsideRect(pointX, pointY, rect) {
7715    return pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y && pointY <= rect.y + rect.height;
7716  }
7717  function isInsideAxisAlignedRect(pointX, pointY, x1, y1, x2, y2) {
7718    const minX = Math.min(x1, x2);
7719    const maxX = Math.max(x1, x2);
7720    const minY = Math.min(y1, y2);
7721    const maxY = Math.max(y1, y2);
7722    return pointX >= minX && pointX <= maxX && pointY >= minY && pointY <= maxY;
7723  }
7724  function safePolygon(options = {}) {
7725    const {
7726      blockPointerEvents = false
7727    } = options;
7728    const timeout = new Timeout();
7729    const fn = ({
7730      x,
7731      y,
7732      placement,
7733      elements,
7734      onClose,
7735      nodeId,
7736      tree
7737    }) => {
7738      const side = placement?.split("-")[0];
7739      let hasLanded = false;
7740      let lastX = null;
7741      let lastY = null;
7742      let lastCursorTime = typeof performance !== "undefined" ? performance.now() : 0;
7743      function isCursorMovingSlowly(nextX, nextY) {
7744        const currentTime = performance.now();
7745        const elapsedTime = currentTime - lastCursorTime;
7746        if (lastX === null || lastY === null || elapsedTime === 0) {
7747          lastX = nextX;
7748          lastY = nextY;
7749          lastCursorTime = currentTime;
7750          return false;
7751        }
7752        const deltaX = nextX - lastX;
7753        const deltaY = nextY - lastY;
7754        const distanceSquared = deltaX * deltaX + deltaY * deltaY;
7755        const thresholdSquared = elapsedTime * elapsedTime * CURSOR_SPEED_THRESHOLD_SQUARED;
7756        lastX = nextX;
7757        lastY = nextY;
7758        lastCursorTime = currentTime;
7759        return distanceSquared < thresholdSquared;
7760      }
7761      function close() {
7762        timeout.clear();
7763        onClose();
7764      }
7765      return function onMouseMove(event) {
7766        timeout.clear();
7767        const domReference = elements.domReference;
7768        const floating = elements.floating;
7769        if (!domReference || !floating || side == null || x == null || y == null) {
7770          return void 0;
7771        }
7772        const {
7773          clientX,
7774          clientY
7775        } = event;
7776        const target = getTarget(event);
7777        const isLeave = event.type === "mouseleave";
7778        const isOverFloatingEl = contains(floating, target);
7779        const isOverReferenceEl = contains(domReference, target);
7780        if (isOverFloatingEl) {
7781          hasLanded = true;
7782          if (!isLeave) {
7783            return void 0;
7784          }
7785        }
7786        if (isOverReferenceEl) {
7787          hasLanded = false;
7788          if (!isLeave) {
7789            hasLanded = true;
7790            return void 0;
7791          }
7792        }
7793        if (isLeave && isElement(event.relatedTarget) && contains(floating, event.relatedTarget)) {
7794          return void 0;
7795        }
7796        function hasOpenChildNode() {
7797          return Boolean(tree && getNodeChildren(tree.nodesRef.current, nodeId).length > 0);
7798        }
7799        function closeIfNoOpenChild() {
7800          if (!hasOpenChildNode()) {
7801            close();
7802          }
7803        }
7804        if (hasOpenChildNode()) {
7805          return void 0;
7806        }
7807        const refRect = domReference.getBoundingClientRect();
7808        const rect = floating.getBoundingClientRect();
7809        const cursorLeaveFromRight = x > rect.right - rect.width / 2;
7810        const cursorLeaveFromBottom = y > rect.bottom - rect.height / 2;
7811        const isFloatingWider = rect.width > refRect.width;
7812        const isFloatingTaller = rect.height > refRect.height;
7813        const left = (isFloatingWider ? refRect : rect).left;
7814        const right = (isFloatingWider ? refRect : rect).right;
7815        const top = (isFloatingTaller ? refRect : rect).top;
7816        const bottom = (isFloatingTaller ? refRect : rect).bottom;
7817        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) {
7818          closeIfNoOpenChild();
7819          return void 0;
7820        }
7821        let isInsideTroughRect = false;
7822        switch (side) {
7823          case "top":
7824            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, refRect.top + 1, right, rect.bottom - 1);
7825            break;
7826          case "bottom":
7827            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, left, rect.top + 1, right, refRect.bottom - 1);
7828            break;
7829          case "left":
7830            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, rect.right - 1, bottom, refRect.left + 1, top);
7831            break;
7832          case "right":
7833            isInsideTroughRect = isInsideAxisAlignedRect(clientX, clientY, refRect.right - 1, bottom, rect.left + 1, top);
7834            break;
7835          default:
7836        }
7837        if (isInsideTroughRect) {
7838          return void 0;
7839        }
7840        if (hasLanded && !isInsideRect(clientX, clientY, refRect)) {
7841          closeIfNoOpenChild();
7842          return void 0;
7843        }
7844        if (!isLeave && isCursorMovingSlowly(clientX, clientY)) {
7845          closeIfNoOpenChild();
7846          return void 0;
7847        }
7848        let isInsidePolygon = false;
7849        switch (side) {
7850          case "top": {
7851            const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7852            const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
7853            const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
7854            const cursorPointY = y + POLYGON_BUFFER + 1;
7855            const commonYLeft = cursorLeaveFromRight ? rect.bottom - POLYGON_BUFFER : isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top;
7856            const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.bottom - POLYGON_BUFFER : rect.top : rect.bottom - POLYGON_BUFFER;
7857            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
7858            break;
7859          }
7860          case "bottom": {
7861            const cursorXOffset = isFloatingWider ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7862            const cursorPointOneX = isFloatingWider ? x + cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
7863            const cursorPointTwoX = isFloatingWider ? x - cursorXOffset : cursorLeaveFromRight ? x + cursorXOffset : x - cursorXOffset;
7864            const cursorPointY = y - POLYGON_BUFFER;
7865            const commonYLeft = cursorLeaveFromRight ? rect.top + POLYGON_BUFFER : isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom;
7866            const commonYRight = cursorLeaveFromRight ? isFloatingWider ? rect.top + POLYGON_BUFFER : rect.bottom : rect.top + POLYGON_BUFFER;
7867            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointOneX, cursorPointY, cursorPointTwoX, cursorPointY, rect.left, commonYLeft, rect.right, commonYRight);
7868            break;
7869          }
7870          case "left": {
7871            const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7872            const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
7873            const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
7874            const cursorPointX = x + POLYGON_BUFFER + 1;
7875            const commonXTop = cursorLeaveFromBottom ? rect.right - POLYGON_BUFFER : isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left;
7876            const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.right - POLYGON_BUFFER : rect.left : rect.right - POLYGON_BUFFER;
7877            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, commonXTop, rect.top, commonXBottom, rect.bottom, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY);
7878            break;
7879          }
7880          case "right": {
7881            const cursorYOffset = isFloatingTaller ? POLYGON_BUFFER / 2 : POLYGON_BUFFER * 4;
7882            const cursorPointOneY = isFloatingTaller ? y + cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
7883            const cursorPointTwoY = isFloatingTaller ? y - cursorYOffset : cursorLeaveFromBottom ? y + cursorYOffset : y - cursorYOffset;
7884            const cursorPointX = x - POLYGON_BUFFER;
7885            const commonXTop = cursorLeaveFromBottom ? rect.left + POLYGON_BUFFER : isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right;
7886            const commonXBottom = cursorLeaveFromBottom ? isFloatingTaller ? rect.left + POLYGON_BUFFER : rect.right : rect.left + POLYGON_BUFFER;
7887            isInsidePolygon = isPointInQuadrilateral(clientX, clientY, cursorPointX, cursorPointOneY, cursorPointX, cursorPointTwoY, commonXTop, rect.top, commonXBottom, rect.bottom);
7888            break;
7889          }
7890          default:
7891        }
7892        if (!isInsidePolygon) {
7893          closeIfNoOpenChild();
7894        } else if (!hasLanded) {
7895          timeout.start(40, closeIfNoOpenChild);
7896        }
7897        return void 0;
7898      };
7899    };
7900    fn.__options = {
7901      ...options,
7902      blockPointerEvents
7903    };
7904    return fn;
7905  }
7906  
7907  // node_modules/.store/@floating-ui/core@1.8.0-3V8aS7jJHHGcsCINjP9-5A/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
7908  function computeCoordsFromPlacement(_ref, placement, rtl) {
7909    let {
7910      reference,
7911      floating
7912    } = _ref;
7913    const sideAxis = getSideAxis(placement);
7914    const alignmentAxis = getAlignmentAxis(placement);
7915    const alignLength = getAxisLength(alignmentAxis);
7916    const side = getSide(placement);
7917    const isVertical = sideAxis === "y";
7918    const commonX = reference.x + reference.width / 2 - floating.width / 2;
7919    const commonY = reference.y + reference.height / 2 - floating.height / 2;
7920    const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;
7921    let coords;
7922    switch (side) {
7923      case "top":
7924        coords = {
7925          x: commonX,
7926          y: reference.y - floating.height
7927        };
7928        break;
7929      case "bottom":
7930        coords = {
7931          x: commonX,
7932          y: reference.y + reference.height
7933        };
7934        break;
7935      case "right":
7936        coords = {
7937          x: reference.x + reference.width,
7938          y: commonY
7939        };
7940        break;
7941      case "left":
7942        coords = {
7943          x: reference.x - floating.width,
7944          y: commonY
7945        };
7946        break;
7947      default:
7948        coords = {
7949          x: reference.x,
7950          y: reference.y
7951        };
7952    }
7953    const alignment = getAlignment(placement);
7954    if (alignment) {
7955      coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
7956    }
7957    return coords;
7958  }
7959  async function detectOverflow(state, options) {
7960    var _await$platform$isEle;
7961    if (options === void 0) {
7962      options = {};
7963    }
7964    const {
7965      x,
7966      y,
7967      platform: platform3,
7968      rects,
7969      elements,
7970      strategy
7971    } = state;
7972    const {
7973      boundary = "clippingAncestors",
7974      rootBoundary = "viewport",
7975      elementContext = "floating",
7976      altBoundary = false,
7977      padding = 0
7978    } = evaluate(options, state);
7979    const paddingObject = getPaddingObject(padding);
7980    const altContext = elementContext === "floating" ? "reference" : "floating";
7981    const element = elements[altBoundary ? altContext : elementContext];
7982    const clippingClientRect = rectToClientRect(await platform3.getClippingRect({
7983      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)),
7984      boundary,
7985      rootBoundary,
7986      strategy
7987    }));
7988    const rect = elementContext === "floating" ? {
7989      x,
7990      y,
7991      width: rects.floating.width,
7992      height: rects.floating.height
7993    } : rects.reference;
7994    const offsetParent = await (platform3.getOffsetParent == null ? void 0 : platform3.getOffsetParent(elements.floating));
7995    const offsetScale = await (platform3.isElement == null ? void 0 : platform3.isElement(offsetParent)) && await (platform3.getScale == null ? void 0 : platform3.getScale(offsetParent)) || {
7996      x: 1,
7997      y: 1
7998    };
7999    const elementClientRect = rectToClientRect(platform3.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform3.convertOffsetParentRelativeRectToViewportRelativeRect({
8000      elements,
8001      rect,
8002      offsetParent,
8003      strategy
8004    }) : rect);
8005    return {
8006      top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
8007      bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
8008      left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
8009      right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
8010    };
8011  }
8012  var MAX_RESET_COUNT = 50;
8013  var computePosition = async (reference, floating, config) => {
8014    const {
8015      placement = "bottom",
8016      strategy = "absolute",
8017      middleware = [],
8018      platform: platform3
8019    } = config;
8020    const platformWithDetectOverflow = platform3.detectOverflow ? platform3 : {
8021      ...platform3,
8022      detectOverflow
8023    };
8024    const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(floating));
8025    let rects = await platform3.getElementRects({
8026      reference,
8027      floating,
8028      strategy
8029    });
8030    let {
8031      x,
8032      y
8033    } = computeCoordsFromPlacement(rects, placement, rtl);
8034    let statefulPlacement = placement;
8035    let resetCount = 0;
8036    const middlewareData = {};
8037    for (let i = 0; i < middleware.length; i++) {
8038      const currentMiddleware = middleware[i];
8039      if (!currentMiddleware) {
8040        continue;
8041      }
8042      const {
8043        name,
8044        fn
8045      } = currentMiddleware;
8046      const {
8047        x: nextX,
8048        y: nextY,
8049        data,
8050        reset
8051      } = await fn({
8052        x,
8053        y,
8054        initialPlacement: placement,
8055        placement: statefulPlacement,
8056        strategy,
8057        middlewareData,
8058        rects,
8059        platform: platformWithDetectOverflow,
8060        elements: {
8061          reference,
8062          floating
8063        }
8064      });
8065      x = nextX != null ? nextX : x;
8066      y = nextY != null ? nextY : y;
8067      middlewareData[name] = {
8068        ...middlewareData[name],
8069        ...data
8070      };
8071      if (reset && resetCount < MAX_RESET_COUNT) {
8072        resetCount++;
8073        if (typeof reset === "object") {
8074          if (reset.placement) {
8075            statefulPlacement = reset.placement;
8076          }
8077          if (reset.rects) {
8078            rects = reset.rects === true ? await platform3.getElementRects({
8079              reference,
8080              floating,
8081              strategy
8082            }) : reset.rects;
8083          }
8084          ({
8085            x,
8086            y
8087          } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
8088        }
8089        i = -1;
8090      }
8091    }
8092    return {
8093      x,
8094      y,
8095      placement: statefulPlacement,
8096      strategy,
8097      middlewareData
8098    };
8099  };
8100  var flip = function(options) {
8101    if (options === void 0) {
8102      options = {};
8103    }
8104    return {
8105      name: "flip",
8106      options,
8107      async fn(state) {
8108        var _middlewareData$arrow, _middlewareData$flip;
8109        const {
8110          placement,
8111          middlewareData,
8112          rects,
8113          initialPlacement,
8114          platform: platform3,
8115          elements
8116        } = state;
8117        const {
8118          mainAxis: checkMainAxis = true,
8119          crossAxis: checkCrossAxis = true,
8120          fallbackPlacements: specifiedFallbackPlacements,
8121          fallbackStrategy = "bestFit",
8122          fallbackAxisSideDirection = "none",
8123          flipAlignment = true,
8124          ...detectOverflowOptions
8125        } = evaluate(options, state);
8126        if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
8127          return {};
8128        }
8129        const side = getSide(placement);
8130        const initialSideAxis = getSideAxis(initialPlacement);
8131        const isBasePlacement = getSide(initialPlacement) === initialPlacement;
8132        const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
8133        const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
8134        const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
8135        if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
8136          fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
8137        }
8138        const placements2 = [initialPlacement, ...fallbackPlacements];
8139        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8140        const overflows = [];
8141        let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
8142        if (checkMainAxis) {
8143          overflows.push(overflow[side]);
8144        }
8145        if (checkCrossAxis) {
8146          const sides2 = getAlignmentSides(placement, rects, rtl);
8147          overflows.push(overflow[sides2[0]], overflow[sides2[1]]);
8148        }
8149        overflowsData = [...overflowsData, {
8150          placement,
8151          overflows
8152        }];
8153        if (!overflows.every((side2) => side2 <= 0)) {
8154          var _middlewareData$flip2, _overflowsData$filter;
8155          const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
8156          const nextPlacement = placements2[nextIndex];
8157          if (nextPlacement) {
8158            const ignoreCrossAxisOverflow = checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false;
8159            if (!ignoreCrossAxisOverflow || // We leave the current main axis only if every placement on that axis
8160            // overflows the main axis.
8161            overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
8162              return {
8163                data: {
8164                  index: nextIndex,
8165                  overflows: overflowsData
8166                },
8167                reset: {
8168                  placement: nextPlacement
8169                }
8170              };
8171            }
8172          }
8173          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;
8174          if (!resetPlacement) {
8175            switch (fallbackStrategy) {
8176              case "bestFit": {
8177                var _overflowsData$filter2;
8178                const placement2 = (_overflowsData$filter2 = overflowsData.filter((d) => {
8179                  if (hasFallbackAxisSideDirection) {
8180                    const currentSideAxis = getSideAxis(d.placement);
8181                    return currentSideAxis === initialSideAxis || // Create a bias to the `y` side axis due to horizontal
8182                    // reading directions favoring greater width.
8183                    currentSideAxis === "y";
8184                  }
8185                  return true;
8186                }).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];
8187                if (placement2) {
8188                  resetPlacement = placement2;
8189                }
8190                break;
8191              }
8192              case "initialPlacement":
8193                resetPlacement = initialPlacement;
8194                break;
8195            }
8196          }
8197          if (placement !== resetPlacement) {
8198            return {
8199              reset: {
8200                placement: resetPlacement
8201              }
8202            };
8203          }
8204        }
8205        return {};
8206      }
8207    };
8208  };
8209  var originSides = /* @__PURE__ */ new Set(["left", "top"]);
8210  async function convertValueToCoords(state, options) {
8211    const {
8212      placement,
8213      platform: platform3,
8214      elements
8215    } = state;
8216    const rtl = await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating));
8217    const side = getSide(placement);
8218    const alignment = getAlignment(placement);
8219    const isVertical = getSideAxis(placement) === "y";
8220    const mainAxisMulti = originSides.has(side) ? -1 : 1;
8221    const crossAxisMulti = rtl && isVertical ? -1 : 1;
8222    const rawValue = evaluate(options, state);
8223    let {
8224      mainAxis,
8225      crossAxis,
8226      alignmentAxis
8227    } = typeof rawValue === "number" ? {
8228      mainAxis: rawValue,
8229      crossAxis: 0,
8230      alignmentAxis: null
8231    } : {
8232      mainAxis: rawValue.mainAxis || 0,
8233      crossAxis: rawValue.crossAxis || 0,
8234      alignmentAxis: rawValue.alignmentAxis
8235    };
8236    if (alignment && typeof alignmentAxis === "number") {
8237      crossAxis = alignment === "end" ? alignmentAxis * -1 : alignmentAxis;
8238    }
8239    return isVertical ? {
8240      x: crossAxis * crossAxisMulti,
8241      y: mainAxis * mainAxisMulti
8242    } : {
8243      x: mainAxis * mainAxisMulti,
8244      y: crossAxis * crossAxisMulti
8245    };
8246  }
8247  var offset = function(options) {
8248    if (options === void 0) {
8249      options = 0;
8250    }
8251    return {
8252      name: "offset",
8253      options,
8254      async fn(state) {
8255        var _middlewareData$offse, _middlewareData$arrow;
8256        const {
8257          x,
8258          y,
8259          placement,
8260          middlewareData
8261        } = state;
8262        const diffCoords = await convertValueToCoords(state, options);
8263        if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
8264          return {};
8265        }
8266        return {
8267          x: x + diffCoords.x,
8268          y: y + diffCoords.y,
8269          data: {
8270            ...diffCoords,
8271            placement
8272          }
8273        };
8274      }
8275    };
8276  };
8277  var shift = function(options) {
8278    if (options === void 0) {
8279      options = {};
8280    }
8281    return {
8282      name: "shift",
8283      options,
8284      async fn(state) {
8285        const {
8286          x,
8287          y,
8288          placement,
8289          platform: platform3
8290        } = state;
8291        const {
8292          mainAxis: checkMainAxis = true,
8293          crossAxis: checkCrossAxis = false,
8294          limiter = {
8295            fn: (_ref) => {
8296              let {
8297                x: x2,
8298                y: y2
8299              } = _ref;
8300              return {
8301                x: x2,
8302                y: y2
8303              };
8304            }
8305          },
8306          ...detectOverflowOptions
8307        } = evaluate(options, state);
8308        const coords = {
8309          x,
8310          y
8311        };
8312        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8313        const crossAxis = getSideAxis(placement);
8314        const mainAxis = getOppositeAxis(crossAxis);
8315        let mainAxisCoord = coords[mainAxis];
8316        let crossAxisCoord = coords[crossAxis];
8317        const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
8318        if (checkMainAxis) {
8319          mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
8320        }
8321        if (checkCrossAxis) {
8322          crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
8323        }
8324        const limitedCoords = limiter.fn({
8325          ...state,
8326          [mainAxis]: mainAxisCoord,
8327          [crossAxis]: crossAxisCoord
8328        });
8329        return {
8330          ...limitedCoords,
8331          data: {
8332            x: limitedCoords.x - x,
8333            y: limitedCoords.y - y,
8334            enabled: {
8335              [mainAxis]: checkMainAxis,
8336              [crossAxis]: checkCrossAxis
8337            }
8338          }
8339        };
8340      }
8341    };
8342  };
8343  var limitShift = function(options) {
8344    if (options === void 0) {
8345      options = {};
8346    }
8347    return {
8348      options,
8349      fn(state) {
8350        var _rawOffset$mainAxis, _rawOffset$crossAxis;
8351        const {
8352          x,
8353          y,
8354          placement,
8355          rects,
8356          middlewareData
8357        } = state;
8358        const {
8359          offset: offset4 = 0,
8360          mainAxis: checkMainAxis = true,
8361          crossAxis: checkCrossAxis = true
8362        } = evaluate(options, state);
8363        const coords = {
8364          x,
8365          y
8366        };
8367        const crossAxis = getSideAxis(placement);
8368        const mainAxis = getOppositeAxis(crossAxis);
8369        let mainAxisCoord = coords[mainAxis];
8370        let crossAxisCoord = coords[crossAxis];
8371        const rawOffset = evaluate(offset4, state);
8372        const computedOffset = typeof rawOffset === "number" ? {
8373          mainAxis: rawOffset,
8374          crossAxis: 0
8375        } : {
8376          mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
8377          crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
8378        };
8379        if (checkMainAxis) {
8380          const len = mainAxis === "y" ? "height" : "width";
8381          const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
8382          const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
8383          if (mainAxisCoord < limitMin) {
8384            mainAxisCoord = limitMin;
8385          } else if (mainAxisCoord > limitMax) {
8386            mainAxisCoord = limitMax;
8387          }
8388        }
8389        if (checkCrossAxis) {
8390          var _middlewareData$offse, _middlewareData$offse2;
8391          const len = mainAxis === "y" ? "width" : "height";
8392          const isOriginSide = originSides.has(getSide(placement));
8393          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);
8394          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);
8395          if (crossAxisCoord < limitMin) {
8396            crossAxisCoord = limitMin;
8397          } else if (crossAxisCoord > limitMax) {
8398            crossAxisCoord = limitMax;
8399          }
8400        }
8401        return {
8402          [mainAxis]: mainAxisCoord,
8403          [crossAxis]: crossAxisCoord
8404        };
8405      }
8406    };
8407  };
8408  var size = function(options) {
8409    if (options === void 0) {
8410      options = {};
8411    }
8412    return {
8413      name: "size",
8414      options,
8415      async fn(state) {
8416        const {
8417          placement,
8418          rects,
8419          platform: platform3,
8420          elements
8421        } = state;
8422        const {
8423          apply = () => {
8424          },
8425          ...detectOverflowOptions
8426        } = evaluate(options, state);
8427        const overflow = await platform3.detectOverflow(state, detectOverflowOptions);
8428        const side = getSide(placement);
8429        const alignment = getAlignment(placement);
8430        const isYAxis = getSideAxis(placement) === "y";
8431        const {
8432          width,
8433          height
8434        } = rects.floating;
8435        let heightSide;
8436        let widthSide;
8437        if (side === "top" || side === "bottom") {
8438          heightSide = side;
8439          widthSide = alignment === (await (platform3.isRTL == null ? void 0 : platform3.isRTL(elements.floating)) ? "start" : "end") ? "left" : "right";
8440        } else {
8441          widthSide = side;
8442          heightSide = alignment === "end" ? "top" : "bottom";
8443        }
8444        const maximumClippingHeight = height - overflow.top - overflow.bottom;
8445        const maximumClippingWidth = width - overflow.left - overflow.right;
8446        const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
8447        const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
8448        const shiftData = state.middlewareData.shift;
8449        const noShift = !shiftData;
8450        let availableHeight2 = overflowAvailableHeight;
8451        let availableWidth2 = overflowAvailableWidth;
8452        if (shiftData != null && shiftData.enabled.x) {
8453          availableWidth2 = maximumClippingWidth;
8454        }
8455        if (shiftData != null && shiftData.enabled.y) {
8456          availableHeight2 = maximumClippingHeight;
8457        }
8458        if (noShift && !alignment) {
8459          if (isYAxis) {
8460            availableWidth2 = width - 2 * max(overflow.left, overflow.right);
8461          } else {
8462            availableHeight2 = height - 2 * max(overflow.top, overflow.bottom);
8463          }
8464        }
8465        await apply({
8466          ...state,
8467          availableWidth: availableWidth2,
8468          availableHeight: availableHeight2
8469        });
8470        const nextDimensions = await platform3.getDimensions(elements.floating);
8471        if (width !== nextDimensions.width || height !== nextDimensions.height) {
8472          return {
8473            reset: {
8474              rects: true
8475            }
8476          };
8477        }
8478        return {};
8479      }
8480    };
8481  };
8482  
8483  // node_modules/.store/@floating-ui/dom@1.8.0-vHXcr4FgWneV0cgwFw-d7A/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
8484  function getCssDimensions(element) {
8485    const css = getComputedStyle2(element);
8486    let width = parseFloat(css.width) || 0;
8487    let height = parseFloat(css.height) || 0;
8488    const hasOffset = isHTMLElement(element);
8489    const offsetWidth = hasOffset ? element.offsetWidth : width;
8490    const offsetHeight = hasOffset ? element.offsetHeight : height;
8491    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
8492    if (shouldFallback) {
8493      width = offsetWidth;
8494      height = offsetHeight;
8495    }
8496    return {
8497      width,
8498      height,
8499      $: shouldFallback
8500    };
8501  }
8502  function unwrapElement(element) {
8503    return !isElement(element) ? element.contextElement : element;
8504  }
8505  function getScale(element) {
8506    const domElement = unwrapElement(element);
8507    if (!isHTMLElement(domElement)) {
8508      return createCoords(1);
8509    }
8510    const rect = domElement.getBoundingClientRect();
8511    const {
8512      width,
8513      height,
8514      $
8515    } = getCssDimensions(domElement);
8516    let x = ($ ? round(rect.width) : rect.width) / width;
8517    let y = ($ ? round(rect.height) : rect.height) / height;
8518    if (!x || !Number.isFinite(x)) {
8519      x = 1;
8520    }
8521    if (!y || !Number.isFinite(y)) {
8522      y = 1;
8523    }
8524    return {
8525      x,
8526      y
8527    };
8528  }
8529  var noOffsets = /* @__PURE__ */ createCoords(0);
8530  function getVisualOffsets(element) {
8531    const win = getWindow(element);
8532    if (!isWebKit() || !win.visualViewport) {
8533      return noOffsets;
8534    }
8535    return {
8536      x: win.visualViewport.offsetLeft,
8537      y: win.visualViewport.offsetTop
8538    };
8539  }
8540  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
8541    if (isFixed === void 0) {
8542      isFixed = false;
8543    }
8544    return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
8545  }
8546  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
8547    if (includeScale === void 0) {
8548      includeScale = false;
8549    }
8550    if (isFixedStrategy === void 0) {
8551      isFixedStrategy = false;
8552    }
8553    const clientRect = element.getBoundingClientRect();
8554    const domElement = unwrapElement(element);
8555    let scale = createCoords(1);
8556    if (includeScale) {
8557      if (offsetParent) {
8558        if (isElement(offsetParent)) {
8559          scale = getScale(offsetParent);
8560        }
8561      } else {
8562        scale = getScale(element);
8563      }
8564    }
8565    const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
8566    let x = (clientRect.left + visualOffsets.x) / scale.x;
8567    let y = (clientRect.top + visualOffsets.y) / scale.y;
8568    let width = clientRect.width / scale.x;
8569    let height = clientRect.height / scale.y;
8570    if (domElement && offsetParent) {
8571      const win = getWindow(domElement);
8572      const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
8573      let currentWin = win;
8574      let currentIFrame = getFrameElement(currentWin);
8575      while (currentIFrame && offsetWin !== currentWin) {
8576        const iframeScale = getScale(currentIFrame);
8577        const iframeRect = currentIFrame.getBoundingClientRect();
8578        const css = getComputedStyle2(currentIFrame);
8579        const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
8580        const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
8581        x *= iframeScale.x;
8582        y *= iframeScale.y;
8583        width *= iframeScale.x;
8584        height *= iframeScale.y;
8585        x += left;
8586        y += top;
8587        currentWin = getWindow(currentIFrame);
8588        currentIFrame = getFrameElement(currentWin);
8589      }
8590    }
8591    return rectToClientRect({
8592      width,
8593      height,
8594      x,
8595      y
8596    });
8597  }
8598  function getWindowScrollBarX(element, rect) {
8599    const leftScroll = getNodeScroll(element).scrollLeft;
8600    if (!rect) {
8601      return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
8602    }
8603    return rect.left + leftScroll;
8604  }
8605  function getHTMLOffset(documentElement, scroll) {
8606    const htmlRect = documentElement.getBoundingClientRect();
8607    const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
8608    const y = htmlRect.top + scroll.scrollTop;
8609    return {
8610      x,
8611      y
8612    };
8613  }
8614  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
8615    let {
8616      elements,
8617      rect,
8618      offsetParent,
8619      strategy
8620    } = _ref;
8621    const isFixed = strategy === "fixed";
8622    const documentElement = getDocumentElement(offsetParent);
8623    const topLayer = elements ? isTopLayer(elements.floating) : false;
8624    if (offsetParent === documentElement || topLayer && isFixed) {
8625      return rect;
8626    }
8627    let scroll = {
8628      scrollLeft: 0,
8629      scrollTop: 0
8630    };
8631    let scale = createCoords(1);
8632    const offsets = createCoords(0);
8633    const isOffsetParentAnElement = isHTMLElement(offsetParent);
8634    if (isOffsetParentAnElement || !isFixed) {
8635      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
8636        scroll = getNodeScroll(offsetParent);
8637      }
8638      if (isOffsetParentAnElement) {
8639        const offsetRect = getBoundingClientRect(offsetParent);
8640        scale = getScale(offsetParent);
8641        offsets.x = offsetRect.x + offsetParent.clientLeft;
8642        offsets.y = offsetRect.y + offsetParent.clientTop;
8643      }
8644    }
8645    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
8646    return {
8647      width: rect.width * scale.x,
8648      height: rect.height * scale.y,
8649      x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
8650      y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
8651    };
8652  }
8653  function getClientRects(element) {
8654    return element.getClientRects ? Array.from(element.getClientRects()) : [];
8655  }
8656  function getDocumentRect(html) {
8657    const scroll = getNodeScroll(html);
8658    const body = html.ownerDocument.body;
8659    const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
8660    const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
8661    let x = -scroll.scrollLeft + getWindowScrollBarX(html);
8662    const y = -scroll.scrollTop;
8663    if (getComputedStyle2(body).direction === "rtl") {
8664      x += max(html.clientWidth, body.clientWidth) - width;
8665    }
8666    return {
8667      width,
8668      height,
8669      x,
8670      y
8671    };
8672  }
8673  var SCROLLBAR_MAX = 25;
8674  function getViewportRect(element, strategy, rootBoundary) {
8675    if (rootBoundary === void 0) {
8676      rootBoundary = "viewport";
8677    }
8678    const isLayoutViewport = rootBoundary === "layoutViewport";
8679    const win = getWindow(element);
8680    const html = getDocumentElement(element);
8681    const visualViewport = win.visualViewport;
8682    let width = html.clientWidth;
8683    let height = html.clientHeight;
8684    let x = 0;
8685    let y = 0;
8686    if (visualViewport) {
8687      const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
8688      if (isLayoutViewport) {
8689        if (!layoutRelativeClientCoords) {
8690          x = -visualViewport.offsetLeft;
8691          y = -visualViewport.offsetTop;
8692        }
8693      } else {
8694        width = visualViewport.width;
8695        height = visualViewport.height;
8696        if (layoutRelativeClientCoords) {
8697          x = visualViewport.offsetLeft;
8698          y = visualViewport.offsetTop;
8699        }
8700      }
8701    }
8702    const windowScrollbarX = getWindowScrollBarX(html);
8703    if (windowScrollbarX <= 0) {
8704      const doc = html.ownerDocument;
8705      const body = doc.body;
8706      const bodyStyles = getComputedStyle(body);
8707      const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
8708      const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
8709      const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
8710      if (gutter <= SCROLLBAR_MAX) {
8711        width -= gutter;
8712      }
8713    }
8714    return {
8715      width,
8716      height,
8717      x,
8718      y
8719    };
8720  }
8721  function getInnerBoundingClientRect(element, strategy) {
8722    const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
8723    const top = clientRect.top + element.clientTop;
8724    const left = clientRect.left + element.clientLeft;
8725    const scale = getScale(element);
8726    const width = element.clientWidth * scale.x;
8727    const height = element.clientHeight * scale.y;
8728    const x = left * scale.x;
8729    const y = top * scale.y;
8730    return {
8731      width,
8732      height,
8733      x,
8734      y
8735    };
8736  }
8737  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
8738    let rect;
8739    if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") {
8740      rect = getViewportRect(element, strategy, clippingAncestor);
8741    } else if (clippingAncestor === "document") {
8742      rect = getDocumentRect(getDocumentElement(element));
8743    } else if (isElement(clippingAncestor)) {
8744      rect = getInnerBoundingClientRect(clippingAncestor, strategy);
8745    } else {
8746      const visualOffsets = getVisualOffsets(element);
8747      rect = {
8748        x: clippingAncestor.x - visualOffsets.x,
8749        y: clippingAncestor.y - visualOffsets.y,
8750        width: clippingAncestor.width,
8751        height: clippingAncestor.height
8752      };
8753    }
8754    return rectToClientRect(rect);
8755  }
8756  function getClippingElementAncestors(element, cache) {
8757    const cachedResult = cache.get(element);
8758    if (cachedResult) {
8759      return cachedResult;
8760    }
8761    let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
8762    let lastKeptComputedStyle = null;
8763    const elementIsFixed = getComputedStyle2(element).position === "fixed";
8764    let currentNode = elementIsFixed ? getParentNode(element) : element;
8765    while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
8766      const computedStyle = getComputedStyle2(currentNode);
8767      const currentNodeIsContaining = isContainingBlock(currentNode);
8768      const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
8769      const shouldDropCurrentNode = !currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static");
8770      if (shouldDropCurrentNode) {
8771        result = result.filter((ancestor) => ancestor !== currentNode);
8772      } else {
8773        lastKeptComputedStyle = computedStyle;
8774      }
8775      currentNode = getParentNode(currentNode);
8776    }
8777    cache.set(element, result);
8778    return result;
8779  }
8780  function getClippingRect(_ref) {
8781    let {
8782      element,
8783      boundary,
8784      rootBoundary,
8785      strategy
8786    } = _ref;
8787    const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
8788    const clippingAncestors = [...elementClippingAncestors, rootBoundary];
8789    const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
8790    let top = firstRect.top;
8791    let right = firstRect.right;
8792    let bottom = firstRect.bottom;
8793    let left = firstRect.left;
8794    for (let i = 1; i < clippingAncestors.length; i++) {
8795      const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
8796      top = max(rect.top, top);
8797      right = min(rect.right, right);
8798      bottom = min(rect.bottom, bottom);
8799      left = max(rect.left, left);
8800    }
8801    return {
8802      width: right - left,
8803      height: bottom - top,
8804      x: left,
8805      y: top
8806    };
8807  }
8808  function getDimensions(element) {
8809    const {
8810      width,
8811      height
8812    } = getCssDimensions(element);
8813    return {
8814      width,
8815      height
8816    };
8817  }
8818  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
8819    const isOffsetParentAnElement = isHTMLElement(offsetParent);
8820    const documentElement = getDocumentElement(offsetParent);
8821    const isFixed = strategy === "fixed";
8822    const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
8823    let scroll = {
8824      scrollLeft: 0,
8825      scrollTop: 0
8826    };
8827    const offsets = createCoords(0);
8828    if (isOffsetParentAnElement || !isFixed) {
8829      if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
8830        scroll = getNodeScroll(offsetParent);
8831      }
8832      if (isOffsetParentAnElement) {
8833        const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
8834        offsets.x = offsetRect.x + offsetParent.clientLeft;
8835        offsets.y = offsetRect.y + offsetParent.clientTop;
8836      }
8837    }
8838    if (!isOffsetParentAnElement && documentElement) {
8839      offsets.x = getWindowScrollBarX(documentElement);
8840    }
8841    const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
8842    const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
8843    const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
8844    return {
8845      x,
8846      y,
8847      width: rect.width,
8848      height: rect.height
8849    };
8850  }
8851  function isStaticPositioned(element) {
8852    return getComputedStyle2(element).position === "static";
8853  }
8854  function getTrueOffsetParent(element, polyfill) {
8855    if (!isHTMLElement(element) || getComputedStyle2(element).position === "fixed") {
8856      return null;
8857    }
8858    if (polyfill) {
8859      return polyfill(element);
8860    }
8861    let rawOffsetParent = element.offsetParent;
8862    if (getDocumentElement(element) === rawOffsetParent) {
8863      rawOffsetParent = rawOffsetParent.ownerDocument.body;
8864    }
8865    return rawOffsetParent;
8866  }
8867  function getOffsetParent(element, polyfill) {
8868    const win = getWindow(element);
8869    if (isTopLayer(element)) {
8870      return win;
8871    }
8872    if (!isHTMLElement(element)) {
8873      let svgOffsetParent = getParentNode(element);
8874      while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
8875        if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
8876          return svgOffsetParent;
8877        }
8878        svgOffsetParent = getParentNode(svgOffsetParent);
8879      }
8880      return win;
8881    }
8882    let offsetParent = getTrueOffsetParent(element, polyfill);
8883    while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
8884      offsetParent = getTrueOffsetParent(offsetParent, polyfill);
8885    }
8886    if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
8887      return win;
8888    }
8889    return offsetParent || getContainingBlock(element) || win;
8890  }
8891  var getElementRects = async function(data) {
8892    const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
8893    const getDimensionsFn = this.getDimensions;
8894    const floatingDimensions = await getDimensionsFn(data.floating);
8895    return {
8896      reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
8897      floating: {
8898        x: 0,
8899        y: 0,
8900        width: floatingDimensions.width,
8901        height: floatingDimensions.height
8902      }
8903    };
8904  };
8905  function isRTL(element) {
8906    return getComputedStyle2(element).direction === "rtl";
8907  }
8908  var platform2 = {
8909    convertOffsetParentRelativeRectToViewportRelativeRect,
8910    getDocumentElement,
8911    getClippingRect,
8912    getOffsetParent,
8913    getElementRects,
8914    getClientRects,
8915    getDimensions,
8916    getScale,
8917    isElement,
8918    isRTL
8919  };
8920  function rectsAreEqual(a, b) {
8921    return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
8922  }
8923  function observeMove(element, onMove, ancestorResize) {
8924    let io = null;
8925    let timeoutId;
8926    const root2 = getDocumentElement(element);
8927    function cleanup() {
8928      var _io;
8929      clearTimeout(timeoutId);
8930      (_io = io) == null || _io.disconnect();
8931      io = null;
8932    }
8933    function refresh(skip, threshold) {
8934      if (skip === void 0) {
8935        skip = false;
8936      }
8937      if (threshold === void 0) {
8938        threshold = 1;
8939      }
8940      cleanup();
8941      const elementRectForRootMargin = element.getBoundingClientRect();
8942      const {
8943        left,
8944        top,
8945        width,
8946        height
8947      } = elementRectForRootMargin;
8948      if (!skip) {
8949        onMove();
8950      }
8951      if (!width || !height) {
8952        return;
8953      }
8954      const insetTop = floor(top);
8955      const insetRight = floor(root2.clientWidth - (left + width));
8956      const insetBottom = floor(root2.clientHeight - (top + height));
8957      const insetLeft = floor(left);
8958      const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
8959      const options = {
8960        rootMargin,
8961        threshold: max(0, min(1, threshold)) || 1
8962      };
8963      let isFirstUpdate = true;
8964      function handleObserve(entries) {
8965        const ratio = entries[0].intersectionRatio;
8966        if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
8967          return refresh();
8968        }
8969        if (ratio !== threshold) {
8970          if (!isFirstUpdate) {
8971            return refresh();
8972          }
8973          if (!ratio) {
8974            timeoutId = setTimeout(() => {
8975              refresh(false, 1e-7);
8976            }, 1e3);
8977          } else {
8978            refresh(false, ratio);
8979          }
8980        }
8981        isFirstUpdate = false;
8982      }
8983      try {
8984        io = new IntersectionObserver(handleObserve, {
8985          ...options,
8986          // Handle <iframe>s
8987          root: root2.ownerDocument
8988        });
8989      } catch (_e) {
8990        io = new IntersectionObserver(handleObserve, options);
8991      }
8992      io.observe(element);
8993    }
8994    const win = getWindow(element);
8995    const handleResize = () => refresh(ancestorResize);
8996    win.addEventListener("resize", handleResize);
8997    refresh(true);
8998    return () => {
8999      win.removeEventListener("resize", handleResize);
9000      cleanup();
9001    };
9002  }
9003  function autoUpdate(reference, floating, update2, options) {
9004    if (options === void 0) {
9005      options = {};
9006    }
9007    const {
9008      ancestorScroll = true,
9009      ancestorResize = true,
9010      elementResize = typeof ResizeObserver === "function",
9011      layoutShift = typeof IntersectionObserver === "function",
9012      animationFrame = false
9013    } = options;
9014    const referenceEl = unwrapElement(reference);
9015    const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
9016    ancestors.forEach((ancestor) => {
9017      ancestorScroll && ancestor.addEventListener("scroll", update2);
9018      ancestorResize && ancestor.addEventListener("resize", update2);
9019    });
9020    const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update2, ancestorResize) : null;
9021    let reobserveFrame = -1;
9022    let resizeObserver = null;
9023    if (elementResize) {
9024      resizeObserver = new ResizeObserver((_ref) => {
9025        let [firstEntry] = _ref;
9026        if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
9027          resizeObserver.unobserve(floating);
9028          cancelAnimationFrame(reobserveFrame);
9029          reobserveFrame = requestAnimationFrame(() => {
9030            var _resizeObserver;
9031            (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
9032          });
9033        }
9034        update2();
9035      });
9036      if (referenceEl && !animationFrame) {
9037        resizeObserver.observe(referenceEl);
9038      }
9039      if (floating) {
9040        resizeObserver.observe(floating);
9041      }
9042    }
9043    let frameId;
9044    let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
9045    if (animationFrame) {
9046      frameLoop();
9047    }
9048    function frameLoop() {
9049      const nextRefRect = getBoundingClientRect(reference);
9050      if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
9051        update2();
9052      }
9053      prevRefRect = nextRefRect;
9054      frameId = requestAnimationFrame(frameLoop);
9055    }
9056    update2();
9057    return () => {
9058      var _resizeObserver2;
9059      ancestors.forEach((ancestor) => {
9060        ancestorScroll && ancestor.removeEventListener("scroll", update2);
9061        ancestorResize && ancestor.removeEventListener("resize", update2);
9062      });
9063      cleanupIo == null || cleanupIo();
9064      (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
9065      resizeObserver = null;
9066      if (animationFrame) {
9067        cancelAnimationFrame(frameId);
9068      }
9069    };
9070  }
9071  var offset2 = offset;
9072  var shift2 = shift;
9073  var flip2 = flip;
9074  var size2 = size;
9075  var limitShift2 = limitShift;
9076  var computePosition2 = (reference, floating, options) => {
9077    const cache = /* @__PURE__ */ new Map();
9078    const mergedOptions = options != null ? options : {};
9079    const platformWithCache = {
9080      ...platform2,
9081      ...mergedOptions.platform,
9082      _c: cache
9083    };
9084    return computePosition(reference, floating, {
9085      ...mergedOptions,
9086      platform: platformWithCache
9087    });
9088  };
9089  
9090  // node_modules/.store/@floating-ui/react-dom@2.1.9-AxWcAwqlMfOrAFOinFKSVg/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs
9091  var React38 = __toESM(require_react(), 1);
9092  var import_react2 = __toESM(require_react(), 1);
9093  var ReactDOM5 = __toESM(require_react_dom(), 1);
9094  var isClient = typeof document !== "undefined";
9095  var noop2 = function noop3() {
9096  };
9097  var index = isClient ? import_react2.useLayoutEffect : noop2;
9098  function deepEqual(a, b) {
9099    if (a === b) {
9100      return true;
9101    }
9102    if (typeof a !== typeof b) {
9103      return false;
9104    }
9105    if (typeof a === "function" && a.toString() === b.toString()) {
9106      return true;
9107    }
9108    let length;
9109    let i;
9110    let keys;
9111    if (a && b && typeof a === "object") {
9112      if (Array.isArray(a)) {
9113        length = a.length;
9114        if (length !== b.length) return false;
9115        for (i = length; i-- !== 0; ) {
9116          if (!deepEqual(a[i], b[i])) {
9117            return false;
9118          }
9119        }
9120        return true;
9121      }
9122      keys = Object.keys(a);
9123      length = keys.length;
9124      if (length !== Object.keys(b).length) {
9125        return false;
9126      }
9127      for (i = length; i-- !== 0; ) {
9128        if (!{}.hasOwnProperty.call(b, keys[i])) {
9129          return false;
9130        }
9131      }
9132      for (i = length; i-- !== 0; ) {
9133        const key = keys[i];
9134        if (key === "_owner" && a.$$typeof) {
9135          continue;
9136        }
9137        if (!deepEqual(a[key], b[key])) {
9138          return false;
9139        }
9140      }
9141      return true;
9142    }
9143    return a !== a && b !== b;
9144  }
9145  function getDPR(element) {
9146    if (typeof window === "undefined") {
9147      return 1;
9148    }
9149    const win = element.ownerDocument.defaultView || window;
9150    return win.devicePixelRatio || 1;
9151  }
9152  function roundByDPR(element, value) {
9153    const dpr = getDPR(element);
9154    return Math.round(value * dpr) / dpr;
9155  }
9156  function useLatestRef(value) {
9157    const ref = React38.useRef(value);
9158    index(() => {
9159      ref.current = value;
9160    });
9161    return ref;
9162  }
9163  function useFloating(options) {
9164    if (options === void 0) {
9165      options = {};
9166    }
9167    const {
9168      placement = "bottom",
9169      strategy = "absolute",
9170      middleware = [],
9171      platform: platform3,
9172      elements: {
9173        reference: externalReference,
9174        floating: externalFloating
9175      } = {},
9176      transform = true,
9177      whileElementsMounted,
9178      open: open2
9179    } = options;
9180    const [data, setData] = React38.useState({
9181      x: 0,
9182      y: 0,
9183      strategy,
9184      placement,
9185      middlewareData: {},
9186      isPositioned: false
9187    });
9188    const [latestMiddleware, setLatestMiddleware] = React38.useState(middleware);
9189    if (!deepEqual(latestMiddleware, middleware)) {
9190      setLatestMiddleware(middleware);
9191    }
9192    const [_reference, _setReference] = React38.useState(null);
9193    const [_floating, _setFloating] = React38.useState(null);
9194    const setReference = React38.useCallback((node) => {
9195      if (node !== referenceRef.current) {
9196        referenceRef.current = node;
9197        _setReference(node);
9198      }
9199    }, []);
9200    const setFloating = React38.useCallback((node) => {
9201      if (node !== floatingRef.current) {
9202        floatingRef.current = node;
9203        _setFloating(node);
9204      }
9205    }, []);
9206    const referenceEl = externalReference || _reference;
9207    const floatingEl = externalFloating || _floating;
9208    const referenceRef = React38.useRef(null);
9209    const floatingRef = React38.useRef(null);
9210    const dataRef = React38.useRef(data);
9211    const hasWhileElementsMounted = whileElementsMounted != null;
9212    const whileElementsMountedRef = useLatestRef(whileElementsMounted);
9213    const platformRef = useLatestRef(platform3);
9214    const openRef = useLatestRef(open2);
9215    const update2 = React38.useCallback(() => {
9216      if (!referenceRef.current || !floatingRef.current) {
9217        return;
9218      }
9219      const config = {
9220        placement,
9221        strategy,
9222        middleware: latestMiddleware
9223      };
9224      if (platformRef.current) {
9225        config.platform = platformRef.current;
9226      }
9227      computePosition2(referenceRef.current, floatingRef.current, config).then((data2) => {
9228        const fullData = {
9229          ...data2,
9230          // The floating element's position may be recomputed while it's closed
9231          // but still mounted (such as when transitioning out). To ensure
9232          // `isPositioned` will be `false` initially on the next open, avoid
9233          // setting it to `true` when `open === false` (must be specified).
9234          isPositioned: openRef.current !== false
9235        };
9236        if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {
9237          dataRef.current = fullData;
9238          ReactDOM5.flushSync(() => {
9239            setData(fullData);
9240          });
9241        }
9242      });
9243    }, [latestMiddleware, placement, strategy, platformRef, openRef]);
9244    index(() => {
9245      if (open2 === false && dataRef.current.isPositioned) {
9246        dataRef.current.isPositioned = false;
9247        setData((data2) => ({
9248          ...data2,
9249          isPositioned: false
9250        }));
9251      }
9252    }, [open2]);
9253    const isMountedRef = React38.useRef(false);
9254    index(() => {
9255      isMountedRef.current = true;
9256      return () => {
9257        isMountedRef.current = false;
9258      };
9259    }, []);
9260    index(() => {
9261      if (referenceEl) referenceRef.current = referenceEl;
9262      if (floatingEl) floatingRef.current = floatingEl;
9263      if (referenceEl && floatingEl) {
9264        if (whileElementsMountedRef.current) {
9265          return whileElementsMountedRef.current(referenceEl, floatingEl, update2);
9266        }
9267        update2();
9268      }
9269    }, [referenceEl, floatingEl, update2, whileElementsMountedRef, hasWhileElementsMounted]);
9270    const refs = React38.useMemo(() => ({
9271      reference: referenceRef,
9272      floating: floatingRef,
9273      setReference,
9274      setFloating
9275    }), [setReference, setFloating]);
9276    const elements = React38.useMemo(() => ({
9277      reference: referenceEl,
9278      floating: floatingEl
9279    }), [referenceEl, floatingEl]);
9280    const floatingStyles = React38.useMemo(() => {
9281      const initialStyles = {
9282        position: strategy,
9283        left: 0,
9284        top: 0
9285      };
9286      if (!elements.floating) {
9287        return initialStyles;
9288      }
9289      const x = roundByDPR(elements.floating, data.x);
9290      const y = roundByDPR(elements.floating, data.y);
9291      if (transform) {
9292        return {
9293          ...initialStyles,
9294          transform: "translate(" + x + "px, " + y + "px)",
9295          ...getDPR(elements.floating) >= 1.5 && {
9296            willChange: "transform"
9297          }
9298        };
9299      }
9300      return {
9301        position: strategy,
9302        left: x,
9303        top: y
9304      };
9305    }, [strategy, transform, elements.floating, data.x, data.y]);
9306    return React38.useMemo(() => ({
9307      ...data,
9308      update: update2,
9309      refs,
9310      elements,
9311      floatingStyles
9312    }), [data, update2, refs, elements, floatingStyles]);
9313  }
9314  var offset3 = (options, deps) => {
9315    const result = offset2(options);
9316    return {
9317      name: result.name,
9318      fn: result.fn,
9319      options: [options, deps]
9320    };
9321  };
9322  var shift3 = (options, deps) => {
9323    const result = shift2(options);
9324    return {
9325      name: result.name,
9326      fn: result.fn,
9327      options: [options, deps]
9328    };
9329  };
9330  var limitShift3 = (options, deps) => {
9331    const result = limitShift2(options);
9332    return {
9333      fn: result.fn,
9334      options: [options, deps]
9335    };
9336  };
9337  var flip3 = (options, deps) => {
9338    const result = flip2(options);
9339    return {
9340      name: result.name,
9341      fn: result.fn,
9342      options: [options, deps]
9343    };
9344  };
9345  var size3 = (options, deps) => {
9346    const result = size2(options);
9347    return {
9348      name: result.name,
9349      fn: result.fn,
9350      options: [options, deps]
9351    };
9352  };
9353  
9354  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/NullStore.mjs
9355  var NullStore = class extends ReactStore {
9356    // `update`/`set`/`notifyAll` funnel through `setState` in the base `Store`, so overriding
9357    // `setState` alone would neutralize them today. They are overridden explicitly so the store stays
9358    // inert even if a future base-class change stops routing a mutator through `setState`.
9359    setState(_newState) {
9360    }
9361    update(_changes) {
9362    }
9363    set(_key, _value) {
9364    }
9365    notifyAll() {
9366    }
9367  };
9368  
9369  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/inertValue.mjs
9370  function inertValue(value) {
9371    if (isReactVersionAtLeast(19)) {
9372      return value;
9373    }
9374    return value ? "true" : void 0;
9375  }
9376  
9377  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/InternalBackdrop.mjs
9378  var React39 = __toESM(require_react(), 1);
9379  var import_jsx_runtime8 = __toESM(require_jsx_runtime(), 1);
9380  var InternalBackdrop = /* @__PURE__ */ React39.forwardRef(function InternalBackdrop2(props, ref) {
9381    const {
9382      cutout,
9383      ...otherProps
9384    } = props;
9385    let clipPath;
9386    if (cutout) {
9387      const rect = cutout.getBoundingClientRect();
9388      clipPath = `polygon(0% 0%,100% 0%,100% 100%,0% 100%,0% 0%,$rect.left}px $rect.top}px,$rect.left}px $rect.bottom}px,$rect.right}px $rect.bottom}px,$rect.right}px $rect.top}px,$rect.left}px $rect.top}px)`;
9389    }
9390    return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", {
9391      ref,
9392      role: "presentation",
9393      "data-base-ui-inert": "",
9394      ...otherProps,
9395      style: {
9396        position: "fixed",
9397        inset: 0,
9398        userSelect: "none",
9399        WebkitUserSelect: "none",
9400        clipPath
9401      }
9402    });
9403  });
9404  if (true) InternalBackdrop.displayName = "InternalBackdrop";
9405  
9406  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
9407  var React42 = __toESM(require_react(), 1);
9408  
9409  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useEnhancedClickHandler.mjs
9410  var React40 = __toESM(require_react(), 1);
9411  function useEnhancedClickHandler(handler) {
9412    const lastClickInteractionTypeRef = React40.useRef("");
9413    const handlePointerDown = React40.useCallback((event) => {
9414      if (event.defaultPrevented) {
9415        return;
9416      }
9417      lastClickInteractionTypeRef.current = event.pointerType;
9418      handler(event, event.pointerType);
9419    }, [handler]);
9420    const handleClick = React40.useCallback((event) => {
9421      if (event.detail === 0) {
9422        handler(event, "keyboard");
9423        return;
9424      }
9425      if ("pointerType" in event) {
9426        handler(event, event.pointerType);
9427      } else {
9428        handler(event, lastClickInteractionTypeRef.current);
9429      }
9430      lastClickInteractionTypeRef.current = "";
9431    }, [handler]);
9432    return {
9433      onClick: handleClick,
9434      onPointerDown: handlePointerDown
9435    };
9436  }
9437  
9438  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useValueChanged.mjs
9439  var React41 = __toESM(require_react(), 1);
9440  function useValueChanged(value, onChange) {
9441    const valueRef = React41.useRef(value);
9442    const onChangeCallback = useStableCallback(onChange);
9443    useIsoLayoutEffect(() => {
9444      if (valueRef.current !== value) {
9445        onChangeCallback(valueRef.current);
9446      }
9447      valueRef.current = value;
9448    }, [value, onChangeCallback]);
9449  }
9450  
9451  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useOpenInteractionType.mjs
9452  function useOpenMethodTriggerProps(open2, setOpenMethod) {
9453    const handleTriggerClick = useStableCallback((_, interactionType) => {
9454      const isOpen = typeof open2 === "function" ? open2() : open2;
9455      if (!isOpen) {
9456        setOpenMethod(interactionType || // On iOS Safari, the hitslop around touch targets means tapping outside an element's
9457        // bounds does not fire `pointerdown` but does fire `mousedown`. The `interactionType`
9458        // will be "" in that case.
9459        (parts_exports.os.ios ? "touch" : ""));
9460      }
9461    });
9462    const {
9463      onClick,
9464      onPointerDown
9465    } = useEnhancedClickHandler(handleTriggerClick);
9466    return React42.useMemo(() => ({
9467      onClick,
9468      onPointerDown
9469    }), [onClick, onPointerDown]);
9470  }
9471  function useOpenInteractionType(open2) {
9472    const [openMethod, setOpenMethod] = React42.useState(null);
9473    const triggerProps = useOpenMethodTriggerProps(open2, setOpenMethod);
9474    useValueChanged(open2, (previousOpen) => {
9475      if (previousOpen && !open2) {
9476        setOpenMethod(null);
9477      }
9478    });
9479    return React42.useMemo(() => ({
9480      openMethod,
9481      triggerProps
9482    }), [openMethod, triggerProps]);
9483  }
9484  
9485  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/index.parts.mjs
9486  var index_parts_exports = {};
9487  __export(index_parts_exports, {
9488    Arrow: () => ComboboxArrow,
9489    Backdrop: () => ComboboxBackdrop,
9490    Clear: () => ComboboxClear,
9491    Collection: () => ComboboxCollection,
9492    Empty: () => ComboboxEmpty,
9493    Group: () => ComboboxGroup,
9494    GroupLabel: () => ComboboxGroupLabel,
9495    Icon: () => ComboboxIcon,
9496    Input: () => ComboboxInput,
9497    InputGroup: () => AutocompleteInputGroup,
9498    Item: () => AutocompleteItem,
9499    List: () => ComboboxList,
9500    Popup: () => ComboboxPopup,
9501    Portal: () => ComboboxPortal,
9502    Positioner: () => ComboboxPositioner,
9503    Root: () => AutocompleteRoot,
9504    Row: () => ComboboxRow,
9505    Separator: () => AutocompleteSeparator,
9506    Status: () => ComboboxStatus,
9507    Trigger: () => AutocompleteTrigger,
9508    Value: () => AutocompleteValue,
9509    useFilter: () => useCoreFilter,
9510    useFilteredItems: () => useFilteredItems
9511  });
9512  
9513  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/root/AutocompleteRoot.mjs
9514  var React53 = __toESM(require_react(), 1);
9515  
9516  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/AriaCombobox.mjs
9517  var React52 = __toESM(require_react(), 1);
9518  
9519  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/useOnFirstRender.mjs
9520  var React43 = __toESM(require_react(), 1);
9521  function useOnFirstRender(fn) {
9522    const ref = React43.useRef(true);
9523    if (ref.current) {
9524      ref.current = false;
9525      fn();
9526    }
9527  }
9528  
9529  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/gridNavigation.mjs
9530  function gridNavigation(event, prevIndex, listRef, orientation, loopFocus, rtl, disabledIndices, minIndex, maxIndex, cols = 2) {
9531    const nextIndex = getGridNavigatedIndex(listRef.current, {
9532      event,
9533      orientation,
9534      loopFocus,
9535      rtl,
9536      cols,
9537      disabledIndices,
9538      minIndex,
9539      maxIndex,
9540      // An out-of-range previous index falls back to the first enabled item.
9541      prevIndex: prevIndex > maxIndex ? minIndex : prevIndex,
9542      stopEvent: true
9543    });
9544    return isIndexOutOfListBounds(listRef.current, nextIndex) ? void 0 : nextIndex;
9545  }
9546  
9547  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getHighlightReason.mjs
9548  function getHighlightReason(event) {
9549    if (event == null) {
9550      return reason_parts_exports.none;
9551    }
9552    if (event.type.startsWith("key")) {
9553      return reason_parts_exports.keyboard;
9554    }
9555    if (event.type.startsWith("mouse") || event.type.startsWith("pointer")) {
9556      return reason_parts_exports.pointer;
9557    }
9558    return reason_parts_exports.none;
9559  }
9560  
9561  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/ComboboxRootContext.mjs
9562  var React44 = __toESM(require_react(), 1);
9563  var ComboboxRootContext = /* @__PURE__ */ React44.createContext(void 0);
9564  if (true) ComboboxRootContext.displayName = "ComboboxRootContext";
9565  var ComboboxFloatingContext = /* @__PURE__ */ React44.createContext(void 0);
9566  if (true) ComboboxFloatingContext.displayName = "ComboboxFloatingContext";
9567  var ComboboxDerivedItemsContext = /* @__PURE__ */ React44.createContext(void 0);
9568  if (true) ComboboxDerivedItemsContext.displayName = "ComboboxDerivedItemsContext";
9569  var ComboboxHasItemsContext = /* @__PURE__ */ React44.createContext(false);
9570  if (true) ComboboxHasItemsContext.displayName = "ComboboxHasItemsContext";
9571  var ComboboxInputValueContext = /* @__PURE__ */ React44.createContext("");
9572  if (true) ComboboxInputValueContext.displayName = "ComboboxInputValueContext";
9573  function useComboboxRootContext() {
9574    const context = React44.useContext(ComboboxRootContext);
9575    if (!context) {
9576      throw new Error(true ? "Base UI: ComboboxRootContext is missing. Combobox parts must be placed within <Combobox.Root>." : formatErrorMessage_default(22));
9577    }
9578    return context;
9579  }
9580  function useComboboxFloatingContext() {
9581    const context = React44.useContext(ComboboxFloatingContext);
9582    if (!context) {
9583      throw new Error(true ? "Base UI: ComboboxFloatingContext is missing. Combobox parts must be placed within <Combobox.Root>." : formatErrorMessage_default(23));
9584    }
9585    return context;
9586  }
9587  function useComboboxDerivedItemsContext() {
9588    const context = React44.useContext(ComboboxDerivedItemsContext);
9589    if (!context) {
9590      throw new Error(true ? "Base UI: ComboboxItemsContext is missing. Combobox parts must be placed within <Combobox.Root>." : formatErrorMessage_default(24));
9591    }
9592    return context;
9593  }
9594  function useComboboxInputValueContext() {
9595    return React44.useContext(ComboboxInputValueContext);
9596  }
9597  function useComboboxHasItemsContext() {
9598    return React44.useContext(ComboboxHasItemsContext);
9599  }
9600  
9601  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/areArraysEqual.mjs
9602  function areArraysEqual(array1, array2, itemComparer = Object.is) {
9603    const {
9604      length
9605    } = array1;
9606    if (length !== array2.length) {
9607      return false;
9608    }
9609    for (let i = 0; i < length; i += 1) {
9610      if (!itemComparer(array1[i], array2[i])) {
9611        return false;
9612      }
9613    }
9614    return true;
9615  }
9616  
9617  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/itemEquality.mjs
9618  var defaultItemEquality = (itemValue, selectedValue) => Object.is(itemValue, selectedValue);
9619  function compareItemEquality(itemValue, selectedValue, comparer) {
9620    if (itemValue == null || selectedValue == null) {
9621      return Object.is(itemValue, selectedValue);
9622    }
9623    return comparer(itemValue, selectedValue);
9624  }
9625  function isSelectedValueDirty(currentValue, initialValue, comparer) {
9626    if (Array.isArray(currentValue) && Array.isArray(initialValue)) {
9627      return !areArraysEqual(currentValue, initialValue, (itemValue, initialItemValue) => compareItemEquality(itemValue, initialItemValue, comparer));
9628    }
9629    return currentValue !== initialValue;
9630  }
9631  function selectedValueIncludes(selectedValues, itemValue, comparer) {
9632    if (!selectedValues) {
9633      return false;
9634    }
9635    return selectedValues.some((selectedValue) => {
9636      if (selectedValue === void 0) {
9637        return false;
9638      }
9639      return compareItemEquality(itemValue, selectedValue, comparer);
9640    });
9641  }
9642  function findItemIndex(itemValues, selectedValue, comparer) {
9643    if (!itemValues) {
9644      return -1;
9645    }
9646    return itemValues.findIndex((itemValue) => {
9647      if (itemValue === void 0) {
9648        return false;
9649      }
9650      return compareItemEquality(itemValue, selectedValue, comparer);
9651    });
9652  }
9653  function createSelectionMatcher(selectedValues, comparer) {
9654    if (comparer !== defaultItemEquality) {
9655      return (itemValue) => selectedValueIncludes(selectedValues, itemValue, comparer);
9656    }
9657    const index2 = new Set(selectedValues);
9658    index2.delete(void 0);
9659    return (itemValue) => index2.has(itemValue) && (itemValue !== 0 || selectedValues.some((v) => Object.is(itemValue, v)));
9660  }
9661  function findSelectionIndex(itemValues, selectedValue, comparer, multiple) {
9662    const index2 = multiple && Array.isArray(selectedValue) ? (
9663      // Anchor to the first selected item in rendered order so the index does not depend
9664      // on the order in which the values were added to the array.
9665      itemValues.findIndex(createSelectionMatcher(selectedValue, comparer))
9666    ) : findItemIndex(itemValues, selectedValue, comparer);
9667    return index2 === -1 ? null : index2;
9668  }
9669  function resolveSelectedIndex(index2, itemValue, registry, selectedValues, comparer, currentIndex) {
9670    if (selectedValueIncludes(selectedValues, itemValue, comparer)) {
9671      return currentIndex != null && index2 > currentIndex && selectedValueIncludes(selectedValues, registry[currentIndex], comparer) ? currentIndex : index2;
9672    }
9673    return index2 === currentIndex ? findSelectionIndex(registry, selectedValues, comparer, true) : currentIndex;
9674  }
9675  function removeItem(selectedValues, itemValue, comparer) {
9676    return selectedValues.filter((selectedValue) => !compareItemEquality(itemValue, selectedValue, comparer));
9677  }
9678  
9679  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
9680  var React45 = __toESM(require_react(), 1);
9681  
9682  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/serializeValue.mjs
9683  function serializeValue(value) {
9684    if (value == null) {
9685      return "";
9686    }
9687    if (typeof value === "string") {
9688      return value;
9689    }
9690    try {
9691      return JSON.stringify(value);
9692    } catch {
9693      return String(value);
9694    }
9695  }
9696  
9697  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/resolveValueLabel.mjs
9698  var import_jsx_runtime9 = __toESM(require_jsx_runtime(), 1);
9699  function isGroup(item) {
9700    return typeof item === "object" && item != null && Array.isArray(item.items);
9701  }
9702  function isGroupedItems(items) {
9703    return isGroup(items?.[0]);
9704  }
9705  function flattenLeafItems(items) {
9706    return isGroupedItems(items) ? items.flatMap((group) => group.items) : items;
9707  }
9708  function hasNullItemLabel(items) {
9709    if (!Array.isArray(items)) {
9710      return items != null && "null" in items;
9711    }
9712    const arrayItems = items;
9713    if (isGroupedItems(arrayItems)) {
9714      for (const group of arrayItems) {
9715        for (const item of group.items) {
9716          if (item && item.value == null && item.label != null) {
9717            return true;
9718          }
9719        }
9720      }
9721      return false;
9722    }
9723    for (const item of arrayItems) {
9724      if (item && item.value == null && item.label != null) {
9725        return true;
9726      }
9727    }
9728    return false;
9729  }
9730  function stringifyAsLabel(item, itemToStringLabel) {
9731    if (itemToStringLabel && item != null) {
9732      return itemToStringLabel(item) ?? "";
9733    }
9734    if (item && typeof item === "object") {
9735      if ("label" in item && item.label != null) {
9736        return String(item.label);
9737      }
9738      if ("value" in item) {
9739        return String(item.value);
9740      }
9741    }
9742    return serializeValue(item);
9743  }
9744  function stringifyAsValue(item, itemToStringValue) {
9745    if (itemToStringValue && item != null) {
9746      return itemToStringValue(item) ?? "";
9747    }
9748    if (item && typeof item === "object" && "value" in item && "label" in item) {
9749      return serializeValue(item.value);
9750    }
9751    return serializeValue(item);
9752  }
9753  
9754  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/store.mjs
9755  var selectors2 = {
9756    id: (state) => state.id,
9757    labelId: (state) => state.labelId,
9758    items: (state) => state.items,
9759    selectedValue: (state) => state.selectedValue,
9760    hasSelectionChips: (state) => {
9761      const selectedValue = state.selectedValue;
9762      return Array.isArray(selectedValue) && selectedValue.length > 0;
9763    },
9764    hasSelectedValue: (state) => {
9765      const {
9766        selectedValue,
9767        selectionMode
9768      } = state;
9769      if (selectedValue == null) {
9770        return false;
9771      }
9772      if (selectionMode === "multiple" && Array.isArray(selectedValue)) {
9773        return selectedValue.length > 0;
9774      }
9775      return true;
9776    },
9777    hasNullItemLabel: (state, enabled) => {
9778      return enabled ? hasNullItemLabel(state.items) : false;
9779    },
9780    open: (state) => state.open,
9781    mounted: (state) => state.mounted,
9782    forceMounted: (state) => state.forceMounted,
9783    inline: (state) => state.inline,
9784    activeIndex: (state) => state.activeIndex,
9785    selectedIndex: (state) => state.selectedIndex,
9786    isActive: (state, index2) => state.activeIndex === index2,
9787    isSelected: (state, itemValue) => {
9788      const comparer = state.isItemEqualToValue;
9789      const selectedValue = state.selectedValue;
9790      if (Array.isArray(selectedValue)) {
9791        return selectedValue.some((selectedItem) => compareItemEquality(itemValue, selectedItem, comparer));
9792      }
9793      return compareItemEquality(itemValue, selectedValue, comparer);
9794    },
9795    transitionStatus: (state) => state.transitionStatus,
9796    popupProps: (state) => state.popupProps,
9797    listProps: (state) => state.listProps,
9798    inputProps: (state) => state.inputProps,
9799    triggerProps: (state) => state.triggerProps,
9800    itemRoot: (state) => state.itemRoot,
9801    positionerElement: (state) => state.positionerElement,
9802    listElement: (state) => state.listElement,
9803    popupId: (state) => state.popupId,
9804    triggerElement: (state) => state.triggerElement,
9805    inputElement: (state) => state.inputElement,
9806    inputGroupElement: (state) => state.inputGroupElement,
9807    popupSide: (state) => state.popupSide,
9808    openMethod: (state) => state.openMethod,
9809    inputInsidePopup: (state) => state.inputInsidePopup,
9810    inputOwnsFormValue: (state) => state.inputOwnsFormValue,
9811    selectionMode: (state) => state.selectionMode,
9812    name: (state) => state.name,
9813    form: (state) => state.form,
9814    disabled: (state) => state.disabled,
9815    readOnly: (state) => state.readOnly,
9816    required: (state) => state.required,
9817    grid: (state) => state.grid,
9818    virtualized: (state) => state.virtualized,
9819    itemToStringLabel: (state) => state.itemToStringLabel,
9820    isItemEqualToValue: (state) => state.isItemEqualToValue,
9821    modal: (state) => state.modal,
9822    autoHighlight: (state) => state.autoHighlight
9823  };
9824  
9825  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
9826  var React46 = __toESM(require_react(), 1);
9827  
9828  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControlDataAttributes.mjs
9829  var valid = "data-valid";
9830  var invalid = "data-invalid";
9831  
9832  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-constants/constants.mjs
9833  var DEFAULT_VALIDITY_STATE = {
9834    badInput: false,
9835    customError: false,
9836    patternMismatch: false,
9837    rangeOverflow: false,
9838    rangeUnderflow: false,
9839    stepMismatch: false,
9840    tooLong: false,
9841    tooShort: false,
9842    typeMismatch: false,
9843    valid: null,
9844    valueMissing: false
9845  };
9846  var DEFAULT_FIELD_STATE_ATTRIBUTES = {
9847    valid: null,
9848    touched: false,
9849    dirty: false,
9850    filled: false,
9851    focused: false
9852  };
9853  var DEFAULT_FIELD_ROOT_STATE = {
9854    disabled: false,
9855    ...DEFAULT_FIELD_STATE_ATTRIBUTES
9856  };
9857  var fieldValidityMapping = {
9858    valid(value) {
9859      if (value === null) {
9860        return null;
9861      }
9862      if (value) {
9863        return {
9864          [valid]: ""
9865        };
9866      }
9867      return {
9868        [invalid]: ""
9869      };
9870    }
9871  };
9872  
9873  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/FieldRootContext.mjs
9874  var DEFAULT_FIELD_ROOT_CONTEXT = {
9875    invalid: void 0,
9876    name: void 0,
9877    validityData: {
9878      state: DEFAULT_VALIDITY_STATE,
9879      errors: [],
9880      error: "",
9881      value: "",
9882      initialValue: null
9883    },
9884    setValidityData: NOOP,
9885    disabled: void 0,
9886    setTouched: NOOP,
9887    setDirty: NOOP,
9888    setFilled: NOOP,
9889    setFocused: NOOP,
9890    focusOwnerRef: {
9891      current: void 0
9892    },
9893    validationMode: "onSubmit",
9894    shouldValidateOnChange: () => false,
9895    state: DEFAULT_FIELD_ROOT_STATE,
9896    registerFieldControl: NOOP,
9897    validation: {
9898      getValidationProps: (_disabled, props = EMPTY_OBJECT) => props,
9899      inputRef: {
9900        current: null
9901      },
9902      registeredInputs: /* @__PURE__ */ new Map(),
9903      registerInput: NOOP,
9904      getInputControl: () => null,
9905      commit: async () => {
9906      },
9907      change: NOOP
9908    }
9909  };
9910  var FieldRootContext = /* @__PURE__ */ React46.createContext(DEFAULT_FIELD_ROOT_CONTEXT);
9911  if (true) FieldRootContext.displayName = "FieldRootContext";
9912  function useFieldRootContext(optional = true) {
9913    const context = React46.useContext(FieldRootContext);
9914    if (context.setValidityData === NOOP && !optional) {
9915      throw new Error(true ? "Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>." : formatErrorMessage_default(28));
9916    }
9917    return context;
9918  }
9919  
9920  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useRegisterFieldControl.mjs
9921  function useRegisterFieldControl(controlRef, id, value, getFormValueOverride, enabled = true, name) {
9922    const {
9923      registerFieldControl
9924    } = useFieldRootContext();
9925    const sourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
9926    useIsoLayoutEffect(() => {
9927      const source = sourceRef.current;
9928      if (!enabled) {
9929        registerFieldControl(source, void 0);
9930        return;
9931      }
9932      const registration = {
9933        controlRef,
9934        getValue: getFormValueOverride,
9935        id,
9936        name,
9937        value
9938      };
9939      registerFieldControl(source, registration);
9940    }, [controlRef, enabled, getFormValueOverride, id, name, registerFieldControl, sourceRef, value]);
9941    useIsoLayoutEffect(() => {
9942      const source = sourceRef.current;
9943      return () => {
9944        registerFieldControl(source, void 0);
9945      };
9946    }, [registerFieldControl, sourceRef]);
9947  }
9948  
9949  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/form-context/FormContext.mjs
9950  var React47 = __toESM(require_react(), 1);
9951  var FormContext = /* @__PURE__ */ React47.createContext({
9952    elementRef: {
9953      current: null
9954    },
9955    formRef: {
9956      current: {
9957        fields: /* @__PURE__ */ new Map()
9958      }
9959    },
9960    errors: {},
9961    clearErrors: NOOP,
9962    validationMode: "onSubmit",
9963    submitCountRef: {
9964      current: 0
9965    }
9966  });
9967  if (true) FormContext.displayName = "FormContext";
9968  function useFormContext() {
9969    return React47.useContext(FormContext);
9970  }
9971  
9972  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
9973  var React49 = __toESM(require_react(), 1);
9974  
9975  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableContext.mjs
9976  var React48 = __toESM(require_react(), 1);
9977  var LabelableContext = /* @__PURE__ */ React48.createContext({
9978    controlId: void 0,
9979    registerControlId: NOOP,
9980    resetControlId: NOOP,
9981    labelId: void 0,
9982    setLabelId: NOOP,
9983    messageIds: [],
9984    setMessageIds: NOOP,
9985    getDescriptionProps: (externalProps) => externalProps
9986  });
9987  if (true) LabelableContext.displayName = "LabelableContext";
9988  function useLabelableContext() {
9989    return React48.useContext(LabelableContext);
9990  }
9991  
9992  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabelableId.mjs
9993  function useLabelableId(params = {}) {
9994    const {
9995      id,
9996      enabled = true
9997    } = params;
9998    const {
9999      controlId,
10000      registerControlId,
10001      resetControlId
10002    } = useLabelableContext();
10003    const defaultId = useBaseUiId();
10004    const controlSourceRef = useRefWithInit(() => /* @__PURE__ */ Symbol());
10005    const hasRegisteredRef = React49.useRef(false);
10006    const hadExplicitIdRef = React49.useRef(false);
10007    const unregisterControlId = useStableCallback(() => {
10008      if (!hasRegisteredRef.current || registerControlId === NOOP) {
10009        return;
10010      }
10011      hasRegisteredRef.current = false;
10012      registerControlId(controlSourceRef.current, void 0);
10013    });
10014    useIsoLayoutEffect(() => {
10015      if (!enabled || registerControlId === NOOP) {
10016        unregisterControlId();
10017        return void 0;
10018      }
10019      let nextId;
10020      if (id !== void 0) {
10021        hadExplicitIdRef.current = true;
10022        nextId = id;
10023      } else if (hadExplicitIdRef.current) {
10024        nextId = defaultId;
10025      } else {
10026        resetControlId();
10027        return void 0;
10028      }
10029      if (nextId === void 0) {
10030        unregisterControlId();
10031        return void 0;
10032      }
10033      hasRegisteredRef.current = true;
10034      registerControlId(controlSourceRef.current, nextId);
10035      return void 0;
10036    }, [id, enabled, registerControlId, resetControlId, defaultId, controlSourceRef, unregisterControlId]);
10037    useIsoLayoutEffect(() => {
10038      return unregisterControlId;
10039    }, [unregisterControlId]);
10040    return (enabled ? controlId : void 0) ?? id ?? defaultId;
10041  }
10042  
10043  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/utils/index.mjs
10044  function getComboboxPopupId(rootId) {
10045    return rootId == null ? void 0 : `$rootId}-popup`;
10046  }
10047  function createCollatorItemFilter(collatorFilter, itemToStringLabel) {
10048    return (item, query) => {
10049      if (item == null) {
10050        return false;
10051      }
10052      return collatorFilter.contains(item, query, itemToStringLabel);
10053    };
10054  }
10055  
10056  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/utils/useFilter.mjs
10057  var React50 = __toESM(require_react(), 1);
10058  
10059  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/stringifyLocale.mjs
10060  function stringifyLocale(locale) {
10061    if (Array.isArray(locale)) {
10062      return locale.map((value) => stringifyLocale(value)).join(",");
10063    }
10064    if (locale == null) {
10065      return "";
10066    }
10067    return String(locale);
10068  }
10069  
10070  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/filter.mjs
10071  var filterCache = /* @__PURE__ */ new Map();
10072  function getFilter(options = {}) {
10073    const {
10074      locale,
10075      ...restOptions
10076    } = options;
10077    const collatorOptions = {
10078      usage: "search",
10079      sensitivity: "base",
10080      ignorePunctuation: true,
10081      ...restOptions
10082    };
10083    const cacheKey = `$stringifyLocale(locale)}|$JSON.stringify(collatorOptions)}`;
10084    const cachedFilter = filterCache.get(cacheKey);
10085    if (cachedFilter) {
10086      return cachedFilter;
10087    }
10088    const collator = new Intl.Collator(locale, collatorOptions);
10089    const filter = {
10090      contains(item, query, itemToString) {
10091        if (!query) {
10092          return true;
10093        }
10094        const itemString = stringifyAsLabel(item, itemToString);
10095        for (let i = 0; i <= itemString.length - query.length; i += 1) {
10096          if (collator.compare(itemString.slice(i, i + query.length), query) === 0) {
10097            return true;
10098          }
10099        }
10100        return false;
10101      },
10102      startsWith(item, query, itemToString) {
10103        if (!query) {
10104          return true;
10105        }
10106        const itemString = stringifyAsLabel(item, itemToString);
10107        return collator.compare(itemString.slice(0, query.length), query) === 0;
10108      },
10109      endsWith(item, query, itemToString) {
10110        if (!query) {
10111          return true;
10112        }
10113        const itemString = stringifyAsLabel(item, itemToString);
10114        const queryLength = query.length;
10115        return itemString.length >= queryLength && collator.compare(itemString.slice(itemString.length - queryLength), query) === 0;
10116      }
10117    };
10118    filterCache.set(cacheKey, filter);
10119    return filter;
10120  }
10121  
10122  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/utils/useFilter.mjs
10123  var useCoreFilter = getFilter;
10124  
10125  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/scrollable.mjs
10126  function isScrollableY(element, allowOverflowIntent = false) {
10127    const {
10128      overflowY
10129    } = getComputedStyle2(element);
10130    if (overflowY !== "auto" && overflowY !== "scroll") {
10131      return false;
10132    }
10133    return allowOverflowIntent ? element.clientHeight > 0 : element.scrollHeight > element.clientHeight;
10134  }
10135  
10136  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/utils/constants.mjs
10137  var NO_ACTIVE_VALUE = /* @__PURE__ */ Symbol("none");
10138  var INITIAL_LAST_HIGHLIGHT = {
10139    value: NO_ACTIVE_VALUE,
10140    index: -1
10141  };
10142  
10143  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/direction-context/DirectionContext.mjs
10144  var React51 = __toESM(require_react(), 1);
10145  var DirectionContext = /* @__PURE__ */ React51.createContext(void 0);
10146  if (true) DirectionContext.displayName = "DirectionContext";
10147  function useDirection() {
10148    const context = React51.useContext(DirectionContext);
10149    return context?.direction ?? "ltr";
10150  }
10151  
10152  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/items/itemCollection.mjs
10153  function findCollectionItem(valueToItem, itemValue, isEqual) {
10154    const exactItem = valueToItem.get(itemValue);
10155    if (exactItem !== void 0 || isEqual === defaultItemEquality) {
10156      return exactItem;
10157    }
10158    for (const [derivedValue, item] of valueToItem) {
10159      if (compareItemEquality(derivedValue, itemValue, isEqual)) {
10160        return item;
10161      }
10162    }
10163    return void 0;
10164  }
10165  
10166  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/AriaCombobox.mjs
10167  var import_jsx_runtime10 = __toESM(require_jsx_runtime(), 1);
10168  function AriaCombobox(props) {
10169    const {
10170      id: idProp,
10171      onOpenChangeComplete: onOpenChangeCompleteProp,
10172      defaultSelectedValue = null,
10173      selectedValue: selectedValueProp,
10174      onSelectedValueChange,
10175      defaultInputValue,
10176      inputValue: inputValueProp,
10177      open: openProp,
10178      defaultOpen = false,
10179      selectionMode,
10180      onItemHighlighted: onItemHighlightedProp,
10181      name: nameProp,
10182      form,
10183      disabled: disabledProp = false,
10184      readOnly = false,
10185      required = false,
10186      inputRef: inputRefProp,
10187      grid = false,
10188      items: itemsProp,
10189      filteredItems: filteredItemsProp,
10190      filter: filterProp,
10191      filterQuery: filterQueryProp,
10192      openOnInputClick = true,
10193      autoHighlight = false,
10194      keepHighlight = false,
10195      highlightItemOnHover = true,
10196      loopFocus = true,
10197      itemToStringLabel: itemToStringLabelProp,
10198      itemToStringValue,
10199      isItemEqualToValue = defaultItemEquality,
10200      virtualized = false,
10201      inline: inlineProp = false,
10202      fillInputOnItemPress = true,
10203      modal = false,
10204      limit = -1,
10205      autoComplete = "list",
10206      formAutoComplete,
10207      locale,
10208      submitOnItemClick = false
10209    } = props;
10210    const {
10211      clearErrors
10212    } = useFormContext();
10213    const {
10214      setDirty,
10215      validityData,
10216      setFilled,
10217      name: fieldName,
10218      disabled: fieldDisabled,
10219      setTouched,
10220      setFocused,
10221      validationMode,
10222      validation
10223    } = useFieldRootContext();
10224    const direction = useDirection();
10225    const id = useLabelableId({
10226      id: idProp
10227    });
10228    const collatorFilter = useCoreFilter({
10229      locale
10230    });
10231    const collection = Array.isArray(itemsProp) ? null : itemsProp;
10232    if (collection && typeof collection.label !== "function") {
10233      throw new Error(true ? "Base UI: the `items` prop received an object that is not a collection, so its items cannot be read. Pass an array of items, an array of groups with items, or the result of `createItems()`. See https://base-ui.com/react/components/combobox#createitems" : formatErrorMessage_default(100));
10234    }
10235    const items = collection ? collection.data : itemsProp;
10236    const itemToValue = collection?.value;
10237    const storeItems = itemToValue ? void 0 : items;
10238    const externalWindow = React52.useMemo(() => {
10239      if (!filteredItemsProp || !itemToValue) {
10240        return void 0;
10241      }
10242      const flat = flattenLeafItems(filteredItemsProp);
10243      const values = flat.map(itemToValue);
10244      let valueToItem;
10245      return {
10246        values,
10247        findItem(itemValue, isEqual) {
10248          if (!valueToItem) {
10249            valueToItem = /* @__PURE__ */ new Map();
10250            for (let i = 0; i < values.length; i += 1) {
10251              if (!valueToItem.has(values[i])) {
10252                valueToItem.set(values[i], flat[i]);
10253              }
10254            }
10255          }
10256          return findCollectionItem(valueToItem, itemValue, isEqual);
10257        }
10258      };
10259    }, [filteredItemsProp, itemToValue]);
10260    const itemToStringLabel = React52.useMemo(() => {
10261      if (!collection) {
10262        return itemToStringLabelProp;
10263      }
10264      return (itemValue) => {
10265        return collection.label(itemValue, isItemEqualToValue, (unresolvedValue) => {
10266          const externalItem = externalWindow?.findItem(unresolvedValue, isItemEqualToValue);
10267          if (externalItem != null) {
10268            return collection.itemLabel(externalItem);
10269          }
10270          return stringifyAsLabel(unresolvedValue, itemToStringLabelProp);
10271        });
10272      };
10273    }, [collection, itemToStringLabelProp, externalWindow, isItemEqualToValue]);
10274    const filterItemToString = React52.useMemo(() => {
10275      if (!collection) {
10276        return itemToStringLabelProp;
10277      }
10278      return Object.assign((item) => collection.itemLabel(item), {
10279        selected: (value) => stringifyAsLabel(value, itemToStringLabel)
10280      });
10281    }, [collection, itemToStringLabel, itemToStringLabelProp]);
10282    function stringifyValueLabel(item) {
10283      return stringifyAsLabel(item, itemToStringLabel);
10284    }
10285    const [queryChangedAfterOpen, setQueryChangedAfterOpen] = React52.useState(false);
10286    const [closeQuery, setCloseQuery] = React52.useState(null);
10287    const previousCloseQueryRef = React52.useRef(closeQuery);
10288    const listRef = React52.useRef([]);
10289    const labelsRef = React52.useRef([]);
10290    const popupRef = React52.useRef(null);
10291    const inputRef = React52.useRef(null);
10292    const startDismissRef = React52.useRef(null);
10293    const endDismissRef = React52.useRef(null);
10294    const emptyRef = React52.useRef(null);
10295    const hadInputClearRef = React52.useRef(false);
10296    const chipsContainerRef = React52.useRef(null);
10297    const clearRef = React52.useRef(null);
10298    const selectionEventRef = React52.useRef(null);
10299    const lastHighlightRef = React52.useRef(INITIAL_LAST_HIGHLIGHT);
10300    const pendingQueryHighlightRef = React52.useRef(null);
10301    const valuesRef = React52.useRef([]);
10302    const pointerDownItemRef = React52.useRef(null);
10303    const disabled2 = fieldDisabled || disabledProp;
10304    const name = fieldName ?? nameProp;
10305    const multiple = selectionMode === "multiple";
10306    const single = selectionMode === "single";
10307    const hasInputValue = inputValueProp !== void 0 || defaultInputValue !== void 0;
10308    const hasItems = items !== void 0;
10309    const hasFilteredItemsProp = filteredItemsProp !== void 0;
10310    let autoHighlightMode;
10311    if (autoHighlight === "always") {
10312      autoHighlightMode = "always";
10313    } else {
10314      autoHighlightMode = autoHighlight ? "input-change" : false;
10315    }
10316    const [selectedValue, setSelectedValueUnwrapped] = useControlled({
10317      controlled: selectedValueProp,
10318      default: multiple ? defaultSelectedValue ?? EMPTY_ARRAY : defaultSelectedValue,
10319      name: "Combobox",
10320      state: "selectedValue"
10321    });
10322    const filter = React52.useMemo(() => {
10323      if (filterProp === null) {
10324        return () => true;
10325      }
10326      if (filterProp !== void 0) {
10327        return filterProp;
10328      }
10329      return createCollatorItemFilter(collatorFilter, filterItemToString);
10330    }, [filterProp, collatorFilter, filterItemToString]);
10331    const initialDefaultInputValue = useRefWithInit(() => {
10332      if (hasInputValue) {
10333        return defaultInputValue ?? "";
10334      }
10335      if (single) {
10336        return stringifyValueLabel(selectedValue);
10337      }
10338      return "";
10339    }).current;
10340    const [inputValue, setInputValueUnwrapped] = useControlled({
10341      controlled: inputValueProp,
10342      default: initialDefaultInputValue,
10343      name: "Combobox",
10344      state: "inputValue"
10345    });
10346    const [open2, setOpenUnwrapped] = useControlled({
10347      controlled: openProp,
10348      default: defaultOpen,
10349      name: "Combobox",
10350      state: "open"
10351    });
10352    const isGrouped = isGroupedItems(items);
10353    const query = !open2 && closeQuery !== null ? closeQuery : String(inputValue).trim();
10354    const selectedLabelString = single ? stringifyValueLabel(selectedValue) : "";
10355    const shouldBypassFiltering = single && !queryChangedAfterOpen && query !== "" && selectedLabelString.length === query.length && collatorFilter.contains(selectedLabelString, query);
10356    const filterQuery = shouldBypassFiltering ? "" : filterQueryProp ?? query;
10357    const shouldIgnoreExternalFiltering = hasItems && hasFilteredItemsProp && shouldBypassFiltering && (!collection || collection.hasValue(selectedValue, isItemEqualToValue));
10358    const flatItems = React52.useMemo(() => items ? flattenLeafItems(items) : EMPTY_ARRAY, [items]);
10359    const filteredItems = React52.useMemo(() => {
10360      if (filteredItemsProp && !shouldIgnoreExternalFiltering) {
10361        return filteredItemsProp;
10362      }
10363      if (!items) {
10364        return EMPTY_ARRAY;
10365      }
10366      if (isGrouped) {
10367        const groupedItems = items;
10368        const resultingGroups = [];
10369        let currentCount = 0;
10370        for (const group of groupedItems) {
10371          if (limit > -1 && currentCount >= limit) {
10372            break;
10373          }
10374          const remainingLimit = limit > -1 ? limit - currentCount : Infinity;
10375          const itemsToTake = filterQuery === "" ? group.items.slice(0, remainingLimit) : [];
10376          if (filterQuery !== "") {
10377            for (const item of group.items) {
10378              if (itemsToTake.length >= remainingLimit) {
10379                break;
10380              }
10381              if (filter(item, filterQuery, filterItemToString)) {
10382                itemsToTake.push(item);
10383              }
10384            }
10385          }
10386          if (itemsToTake.length > 0) {
10387            const newGroup = {
10388              ...group,
10389              items: itemsToTake
10390            };
10391            resultingGroups.push(newGroup);
10392            currentCount += itemsToTake.length;
10393          }
10394        }
10395        return resultingGroups;
10396      }
10397      if (filterQuery === "") {
10398        return limit > -1 ? flatItems.slice(0, limit) : (
10399          // The cast here is done as `flatItems` is readonly.
10400          // valuesRef.current, a mutable ref, can be set to `flatFilteredValues`, which may
10401          // reference this exact readonly value, creating a mutation risk.
10402          // However, <Combobox.Item> can never mutate this value as the mutating effect
10403          // bails early when `items` is provided, and this is only ever returned
10404          // when `items` is provided due to the early return at the top of this hook.
10405          flatItems
10406        );
10407      }
10408      const limitedItems = [];
10409      for (const item of flatItems) {
10410        if (limit > -1 && limitedItems.length >= limit) {
10411          break;
10412        }
10413        if (filter(item, filterQuery, filterItemToString)) {
10414          limitedItems.push(item);
10415        }
10416      }
10417      return limitedItems;
10418    }, [filteredItemsProp, shouldIgnoreExternalFiltering, items, isGrouped, filterQuery, limit, filter, filterItemToString, flatItems]);
10419    const flatFilteredValues = React52.useMemo(() => {
10420      if (externalWindow && filteredItems === filteredItemsProp) {
10421        return externalWindow.values;
10422      }
10423      const flat = flattenLeafItems(filteredItems);
10424      return itemToValue ? flat.map((item) => itemToValue(item)) : flat;
10425    }, [filteredItems, filteredItemsProp, externalWindow, itemToValue]);
10426    const store = useRefWithInit(() => {
10427      let initialSelectedIndex = null;
10428      if (inlineProp && open2 && hasItems && selectionMode !== "none") {
10429        initialSelectedIndex = findSelectionIndex(flatFilteredValues, selectedValue, isItemEqualToValue, multiple);
10430      }
10431      return new ReactStore({
10432        id,
10433        labelId: void 0,
10434        selectedValue,
10435        open: open2,
10436        items: storeItems,
10437        selectionMode,
10438        name,
10439        form,
10440        disabled: disabled2,
10441        readOnly,
10442        required,
10443        grid,
10444        virtualized,
10445        openOnInputClick,
10446        itemToStringLabel,
10447        isItemEqualToValue,
10448        modal,
10449        autoHighlight: autoHighlightMode,
10450        submitOnItemClick,
10451        hasInputValue,
10452        mounted: false,
10453        forceMounted: false,
10454        transitionStatus: "idle",
10455        inline: inlineProp,
10456        activeIndex: null,
10457        selectedIndex: initialSelectedIndex,
10458        popupProps: {},
10459        listProps: {},
10460        inputProps: {},
10461        triggerProps: {},
10462        itemRoot: {
10463          props: EMPTY_OBJECT,
10464          id,
10465          selectionMode,
10466          disabled: disabled2,
10467          readOnly,
10468          isItemEqualToValue
10469        },
10470        positionerElement: null,
10471        listElement: null,
10472        popupId: void 0,
10473        triggerElement: null,
10474        inputElement: null,
10475        inputGroupElement: null,
10476        popupSide: null,
10477        openMethod: null,
10478        inputInsidePopup: true,
10479        // Avoid duplicate names in the server HTML. Popup inputs aren't rendered
10480        // until after hydration, so the hidden input takes over then if needed.
10481        inputOwnsFormValue: selectionMode === "none"
10482      }, {
10483        // Placeholder callbacks replaced on first render
10484        onOpenChangeComplete: NOOP,
10485        setOpen: NOOP,
10486        setInputValue: NOOP,
10487        setSelectedValue: NOOP,
10488        setIndices: NOOP,
10489        handleSelection: NOOP,
10490        forceMount: NOOP,
10491        requestSubmit: NOOP,
10492        listRef,
10493        labelsRef,
10494        popupRef,
10495        emptyRef,
10496        inputRef,
10497        startDismissRef,
10498        endDismissRef,
10499        chipsContainerRef,
10500        clearRef,
10501        valuesRef,
10502        pointerDownItemRef,
10503        selectionEventRef
10504      }, selectors2);
10505    }).current;
10506    const fieldRawValue = selectionMode === "none" ? inputValue : selectedValue;
10507    const fieldStringValue = React52.useMemo(() => {
10508      if (selectionMode === "none") {
10509        return fieldRawValue;
10510      }
10511      if (Array.isArray(selectedValue)) {
10512        return selectedValue.map((value) => stringifyAsValue(value, itemToStringValue));
10513      }
10514      return stringifyAsValue(selectedValue, itemToStringValue);
10515    }, [fieldRawValue, itemToStringValue, selectionMode, selectedValue]);
10516    const onItemHighlighted = useStableCallback(onItemHighlightedProp);
10517    const onOpenChangeComplete = useStableCallback(onOpenChangeCompleteProp);
10518    const activeIndex = store.useState("activeIndex");
10519    const selectedIndex = store.useState("selectedIndex");
10520    const positionerElement = store.useState("positionerElement");
10521    const listElement = store.useState("listElement");
10522    const triggerElement = store.useState("triggerElement");
10523    const inputElement = store.useState("inputElement");
10524    const inputGroupElement = store.useState("inputGroupElement");
10525    const inline4 = store.useState("inline");
10526    const inputInsidePopup = store.useState("inputInsidePopup");
10527    const inputOwnsFormValue = store.useState("inputOwnsFormValue");
10528    const inputMatchesSelectedValue = single && !inputInsidePopup && inputValue === selectedLabelString;
10529    const triggerRef = useValueAsRef(triggerElement);
10530    const {
10531      openMethod,
10532      triggerProps
10533    } = useOpenInteractionType(open2);
10534    const getStringifiedValueForForm = useStableCallback(() => fieldStringValue);
10535    useRegisterFieldControl(inputInsidePopup ? triggerRef : inputRef, id, fieldRawValue, getStringifiedValueForForm, !disabled2, nameProp);
10536    const forceMount = useStableCallback(() => {
10537      if (items) {
10538        labelsRef.current = flatFilteredValues.map(stringifyValueLabel);
10539      } else {
10540        store.set("forceMounted", true);
10541      }
10542    });
10543    const emitHighlight = useStableCallback((value, index2, type, event) => {
10544      if (index2 === -1) {
10545        if (lastHighlightRef.current === INITIAL_LAST_HIGHLIGHT) {
10546          return;
10547        }
10548        lastHighlightRef.current = INITIAL_LAST_HIGHLIGHT;
10549      } else {
10550        lastHighlightRef.current = {
10551          value,
10552          index: index2
10553        };
10554      }
10555      onItemHighlighted(value, createGenericEventDetails(type, event, {
10556        index: index2
10557      }));
10558    });
10559    const setIndices = useStableCallback((options) => {
10560      const update2 = {};
10561      if (options.activeIndex !== void 0) {
10562        update2.activeIndex = options.activeIndex;
10563      }
10564      if (options.selectedIndex !== void 0) {
10565        update2.selectedIndex = options.selectedIndex;
10566      }
10567      store.update(update2);
10568      const activeIndexOption = options.activeIndex;
10569      if (activeIndexOption === void 0) {
10570        return;
10571      }
10572      const type = options.type || reason_parts_exports.none;
10573      if (activeIndexOption === null) {
10574        emitHighlight(void 0, -1, type, options.event);
10575      } else {
10576        emitHighlight(valuesRef.current[activeIndexOption], activeIndexOption, type, options.event);
10577      }
10578    });
10579    const setInputValue = useStableCallback((next, eventDetails) => {
10580      props.onInputValueChange?.(next, eventDetails);
10581      if (eventDetails.isCanceled) {
10582        return;
10583      }
10584      hadInputClearRef.current = eventDetails.reason === reason_parts_exports.inputClear;
10585      if (eventDetails.reason === reason_parts_exports.inputChange) {
10586        if (open2 && closeQuery !== null) {
10587          setCloseQuery(null);
10588        }
10589        const event = eventDetails.event;
10590        const inputType = event.inputType;
10591        const isTypedInput = event.type === "compositionend" || inputType != null && inputType !== "" && inputType !== "insertReplacementText";
10592        if (isTypedInput) {
10593          const hasQuery = next.trim() !== "";
10594          if (hasQuery) {
10595            setQueryChangedAfterOpen(true);
10596          }
10597          pendingQueryHighlightRef.current = {
10598            hasQuery
10599          };
10600          const list = store.state.listElement;
10601          if (!store.state.virtualized && list) {
10602            const popup = popupRef.current;
10603            for (const ancestor of getOverflowAncestors(list.firstElementChild ?? list)) {
10604              if (!isHTMLElement(ancestor) || (popup ? !contains(popup, ancestor) : ancestor.getAttribute("role") === "dialog")) {
10605                break;
10606              }
10607              if (isScrollableY(ancestor)) {
10608                ancestor.scrollTop = 0;
10609                break;
10610              }
10611            }
10612          }
10613          if (hasQuery && autoHighlightMode && store.state.activeIndex == null && (open2 || inline4)) {
10614            store.set("activeIndex", 0);
10615          }
10616        }
10617      } else if (eventDetails.reason === reason_parts_exports.inputClear && next === "" && store.state.inputInsidePopup) {
10618        pendingQueryHighlightRef.current = {
10619          hasQuery: false,
10620          selection: true
10621        };
10622      }
10623      setInputValueUnwrapped(next);
10624    });
10625    const handleInterruptedReopen = useStableCallback((isInputChange) => {
10626      const clearsPendingInput = !isInputChange && inputInsidePopup && !inline4 && inputValue !== "" && (String(inputValue).trim() === closeQuery || inputValue === selectedLabelString);
10627      if (!isInputChange && (clearsPendingInput || inputValue === "" || inputMatchesSelectedValue)) {
10628        setQueryChangedAfterOpen(false);
10629      }
10630      setCloseQuery(null);
10631      if (clearsPendingInput) {
10632        setInputValue("", createChangeEventDetails(reason_parts_exports.inputClear));
10633      }
10634    });
10635    const [preventUnmountOnClose, setPreventUnmountOnClose] = React52.useState(false);
10636    const setOpen = useStableCallback((nextOpen, eventDetails) => {
10637      if (open2 === nextOpen) {
10638        return;
10639      }
10640      if (eventDetails.reason === reason_parts_exports.escapeKey && hasItems && flatFilteredValues.length === 0 && !emptyRef.current) {
10641        eventDetails.allowPropagation();
10642      }
10643      const openEventDetails = eventDetails;
10644      const shouldPreventUnmountOnClose = attachPreventUnmountOnClose(openEventDetails);
10645      props.onOpenChange?.(nextOpen, openEventDetails);
10646      if (pendingQueryHighlightRef.current?.hasQuery && eventDetails.reason === reason_parts_exports.inputChange === eventDetails.isCanceled) {
10647        pendingQueryHighlightRef.current = null;
10648      }
10649      if (eventDetails.isCanceled) {
10650        return;
10651      }
10652      if (nextOpen && closeQuery !== null) {
10653        handleInterruptedReopen(eventDetails.reason === reason_parts_exports.inputChange);
10654      }
10655      if (!nextOpen && queryChangedAfterOpen) {
10656        if (single) {
10657          if (!inline4) {
10658            setCloseQuery(query);
10659          }
10660          if (query === "") {
10661            setQueryChangedAfterOpen(false);
10662          }
10663        } else if (multiple) {
10664          if (!inline4) {
10665            setCloseQuery(query);
10666          }
10667          if (inputInsidePopup) {
10668            setIndices({
10669              activeIndex: null
10670            });
10671          }
10672          if (!inputInsidePopup || inline4) {
10673            setInputValue("", createChangeEventDetails(reason_parts_exports.inputClear, eventDetails.event, void 0, {
10674              isItemPress: eventDetails.reason === reason_parts_exports.itemPress
10675            }));
10676          }
10677        }
10678      }
10679      if (!nextOpen) {
10680        setPreventUnmountOnClose(shouldPreventUnmountOnClose());
10681      }
10682      setOpenUnwrapped(nextOpen);
10683      if (!nextOpen && inputInsidePopup && (eventDetails.reason === reason_parts_exports.focusOut || eventDetails.reason === reason_parts_exports.outsidePress)) {
10684        setTouched(true);
10685        setFocused(false);
10686        if (validationMode === "onBlur") {
10687          const valueToValidate = selectionMode === "none" ? inputValue : selectedValue;
10688          validation.commit(valueToValidate);
10689        }
10690      }
10691    });
10692    const setSelectedValue = useStableCallback((nextValue, eventDetails) => {
10693      onSelectedValueChange?.(nextValue, eventDetails);
10694      if (eventDetails.isCanceled) {
10695        return;
10696      }
10697      setSelectedValueUnwrapped(nextValue);
10698      const shouldFillInput = selectionMode === "none" && popupRef.current && fillInputOnItemPress || single && !store.state.inputInsidePopup;
10699      if (shouldFillInput) {
10700        setInputValue(stringifyValueLabel(nextValue), createChangeEventDetails(eventDetails.reason, eventDetails.event));
10701      }
10702    });
10703    const handleSelection = useStableCallback((event, itemValue) => {
10704      const targetEl = getTarget(event);
10705      const overrideEvent = selectionEventRef.current ?? event;
10706      selectionEventRef.current = null;
10707      const eventDetails = createChangeEventDetails(reason_parts_exports.itemPress, overrideEvent);
10708      const href = closest(targetEl, "a")?.getAttribute("href");
10709      if (href) {
10710        if (href.startsWith("#")) {
10711          setOpen(false, eventDetails);
10712        }
10713        return;
10714      }
10715      if (multiple) {
10716        const currentSelectedValue = Array.isArray(selectedValue) ? selectedValue : [];
10717        const isCurrentlySelected = selectedValueIncludes(currentSelectedValue, itemValue, isItemEqualToValue);
10718        const nextValue = isCurrentlySelected ? removeItem(currentSelectedValue, itemValue, isItemEqualToValue) : [...currentSelectedValue, itemValue];
10719        setSelectedValue(nextValue, eventDetails);
10720        if (eventDetails.isCanceled) {
10721          return;
10722        }
10723        const wasFiltering = inputRef.current ? inputRef.current.value.trim() !== "" : false;
10724        if (!wasFiltering) {
10725          return;
10726        }
10727        if (store.state.inputInsidePopup) {
10728          setInputValue("", createChangeEventDetails(reason_parts_exports.inputClear, eventDetails.event, void 0, {
10729            isItemPress: true
10730          }));
10731          const pendingHighlight = pendingQueryHighlightRef.current;
10732          if (pendingHighlight && !isCurrentlySelected) {
10733            pendingHighlight.toggledValue = itemValue;
10734          }
10735        } else {
10736          setOpen(false, eventDetails);
10737        }
10738      } else {
10739        setSelectedValue(itemValue, eventDetails);
10740        if (eventDetails.isCanceled) {
10741          return;
10742        }
10743        setOpen(false, eventDetails);
10744      }
10745    });
10746    const requestSubmit = useStableCallback(() => {
10747      const formElement = validation.inputRef.current?.form ?? store.state.inputElement?.form;
10748      if (formElement && typeof formElement.requestSubmit === "function") {
10749        formElement.requestSubmit();
10750      }
10751    });
10752    const handleUnmountCleanup = useStableCallback(() => {
10753      onOpenChangeComplete?.(false);
10754      setQueryChangedAfterOpen(false);
10755      setCloseQuery(null);
10756      if (selectionMode === "none") {
10757        setIndices({
10758          activeIndex: null,
10759          selectedIndex: null
10760        });
10761      } else {
10762        setIndices({
10763          activeIndex: null
10764        });
10765      }
10766      if (multiple && inputRef.current && inputRef.current.value !== "" && !hadInputClearRef.current) {
10767        setInputValue("", createChangeEventDetails(reason_parts_exports.inputClear));
10768      }
10769      if (single) {
10770        if (store.state.inputInsidePopup) {
10771          if (inputRef.current && inputRef.current.value !== "") {
10772            setInputValue("", createChangeEventDetails(reason_parts_exports.inputClear));
10773          }
10774        } else {
10775          const stringVal = stringifyValueLabel(selectedValue);
10776          if (inputRef.current && inputRef.current.value !== stringVal) {
10777            const reason = stringVal === "" ? reason_parts_exports.inputClear : reason_parts_exports.none;
10778            setInputValue(stringVal, createChangeEventDetails(reason));
10779          }
10780        }
10781      }
10782    });
10783    const resolvedPopupRef = React52.useMemo(() => {
10784      if (inline4 && positionerElement) {
10785        return {
10786          current: closest(positionerElement, '[role="dialog"]')
10787        };
10788      }
10789      return popupRef;
10790    }, [inline4, positionerElement]);
10791    const {
10792      mounted,
10793      transitionStatus,
10794      forceUnmount: handleUnmount
10795    } = useUnmountAfterClose({
10796      open: open2,
10797      ref: resolvedPopupRef,
10798      preventUnmountOnClose,
10799      setPreventUnmountOnClose,
10800      onUnmount: handleUnmountCleanup
10801    });
10802    React52.useImperativeHandle(props.actionsRef, () => ({
10803      unmount: handleUnmount,
10804      close: () => setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction))
10805    }), [handleUnmount, setOpen]);
10806    useIsoLayoutEffect(function syncSelectedIndex() {
10807      const closeQueryReleased = previousCloseQueryRef.current !== null && closeQuery === null;
10808      previousCloseQueryRef.current = closeQuery;
10809      if (open2 && (!closeQueryReleased || !hasItems)) {
10810        return;
10811      }
10812      if (!open2) {
10813        pointerDownItemRef.current = null;
10814      }
10815      if (selectionMode === "none") {
10816        return;
10817      }
10818      const registry = hasItems ? flatFilteredValues : valuesRef.current;
10819      setIndices({
10820        selectedIndex: findSelectionIndex(registry, selectedValue, isItemEqualToValue, multiple)
10821      });
10822    }, [open2, closeQuery, selectedValue, selectionMode, multiple, hasItems, flatFilteredValues, isItemEqualToValue, setIndices]);
10823    useIsoLayoutEffect(() => {
10824      if (items) {
10825        valuesRef.current = flatFilteredValues;
10826        listRef.current.length = flatFilteredValues.length;
10827      }
10828    }, [items, flatFilteredValues]);
10829    useIsoLayoutEffect(() => {
10830      if (!open2 && pendingQueryHighlightRef.current?.hasQuery) {
10831        pendingQueryHighlightRef.current = null;
10832      }
10833    }, [open2]);
10834    useIsoLayoutEffect(() => {
10835      if (!open2 && inline4 && resolvedPopupRef.current) {
10836        pendingQueryHighlightRef.current = null;
10837        return;
10838      }
10839      const candidateItems = hasItems || hasFilteredItemsProp ? flatFilteredValues : valuesRef.current;
10840      const pendingHighlight = pendingQueryHighlightRef.current;
10841      if (pendingHighlight) {
10842        const listIsNavigable = open2 || inline4 || store.state.positionerElement?.hidden === false;
10843        if (pendingHighlight.hasQuery) {
10844          const input = inputRef.current;
10845          if (!autoHighlightMode || String(inputValue).trim() === "" || inline4 && autoHighlightMode !== "always" && (!input || activeElement(input.ownerDocument) !== input)) {
10846            pendingQueryHighlightRef.current = null;
10847          } else if (listIsNavigable && // Individually rendered items register without re-running this effect, and their
10848          // registry has holes mid-reindex, so resolve their request immediately.
10849          (candidateItems[0] !== void 0 || !hasItems && !hasFilteredItemsProp)) {
10850            store.set("activeIndex", 0);
10851            pendingQueryHighlightRef.current = null;
10852          }
10853        } else if (String(inputValue).trim() === "") {
10854          pendingQueryHighlightRef.current = null;
10855          if (listIsNavigable) {
10856            const clearedBySelection = pendingHighlight.selection;
10857            if (autoHighlightMode === "always" && !clearedBySelection && store.state.selectionMode === "none") {
10858              store.set("activeIndex", 0);
10859            }
10860            queueMicrotask(() => {
10861              if (!store.state.open && (!store.state.inline || resolvedPopupRef.current) || inputRef.current && inputRef.current.value.trim() !== "") {
10862                return;
10863              }
10864              const currentSelectedValue = store.state.selectedValue;
10865              const isMultiple = store.state.selectionMode === "multiple";
10866              const hasSelection = isMultiple && Array.isArray(currentSelectedValue) ? currentSelectedValue.length > 0 : store.state.selectionMode !== "none" && currentSelectedValue != null;
10867              if (hasSelection) {
10868                const registry = hasItems || hasFilteredItemsProp ? flatFilteredValues : valuesRef.current;
10869                const toggledIndex = findItemIndex(registry, pendingHighlight.toggledValue, store.state.isItemEqualToValue);
10870                store.set("activeIndex", toggledIndex !== -1 ? toggledIndex : findSelectionIndex(registry, currentSelectedValue, store.state.isItemEqualToValue, isMultiple));
10871              } else if (clearedBySelection) {
10872                store.set("activeIndex", null);
10873              } else if (autoHighlightMode === "always") {
10874                store.set("activeIndex", 0);
10875              }
10876            });
10877          }
10878        }
10879      }
10880      if (!open2 && !inline4) {
10881        return;
10882      }
10883      const storeActiveIndex = store.state.activeIndex;
10884      if (storeActiveIndex == null) {
10885        if (autoHighlightMode === "always" && candidateItems.length > 0) {
10886          store.set("activeIndex", 0);
10887          return;
10888        }
10889        emitHighlight(void 0, -1, reason_parts_exports.none);
10890        return;
10891      }
10892      if (storeActiveIndex >= candidateItems.length) {
10893        emitHighlight(void 0, -1, reason_parts_exports.none);
10894        store.set("activeIndex", null);
10895        return;
10896      }
10897      const itemValue = candidateItems[storeActiveIndex];
10898      const previouslyHighlightedItemValue = lastHighlightRef.current.value;
10899      const isSameItem = previouslyHighlightedItemValue !== NO_ACTIVE_VALUE && compareItemEquality(itemValue, previouslyHighlightedItemValue, store.state.isItemEqualToValue);
10900      if (lastHighlightRef.current.index !== storeActiveIndex || !isSameItem) {
10901        emitHighlight(itemValue, storeActiveIndex, reason_parts_exports.none);
10902      }
10903    }, [
10904      activeIndex,
10905      autoHighlightMode,
10906      emitHighlight,
10907      hasFilteredItemsProp,
10908      hasItems,
10909      flatFilteredValues,
10910      inline4,
10911      open2,
10912      resolvedPopupRef,
10913      store,
10914      // Reruns the effect when the query changes without affecting the deps above, such as
10915      // clearing the input when no items are filtered out (individually rendered items).
10916      inputValue
10917    ]);
10918    useIsoLayoutEffect(() => {
10919      if (selectionMode === "none") {
10920        setFilled(String(inputValue) !== "");
10921        return;
10922      }
10923      setFilled(multiple ? Array.isArray(selectedValue) && selectedValue.length > 0 : selectedValue != null);
10924    }, [setFilled, selectionMode, inputValue, selectedValue, multiple]);
10925    React52.useEffect(() => {
10926      if (hasItems && autoHighlightMode && flatFilteredValues.length === 0) {
10927        setIndices({
10928          activeIndex: null
10929        });
10930      }
10931    }, [hasItems, autoHighlightMode, flatFilteredValues.length, setIndices]);
10932    function handleQueryChanged() {
10933      if (open2 && query !== "" && query !== String(initialDefaultInputValue) && !inputMatchesSelectedValue) {
10934        setQueryChangedAfterOpen(true);
10935      }
10936    }
10937    function handleOpenChanged() {
10938      if (open2 && closeQuery !== null) {
10939        handleInterruptedReopen(false);
10940      }
10941    }
10942    let syncedSelectedLabel = false;
10943    function syncInputToSelectedLabel() {
10944      if (!syncedSelectedLabel && inputValue !== selectedLabelString) {
10945        syncedSelectedLabel = true;
10946        setInputValue(selectedLabelString, createChangeEventDetails(reason_parts_exports.none));
10947      }
10948    }
10949    function handleSelectedValueChanged() {
10950      if (selectionMode === "none") {
10951        return;
10952      }
10953      clearErrors(name);
10954      setDirty(isSelectedValueDirty(selectedValue, validityData.initialValue, isItemEqualToValue));
10955      validation.change(selectedValue);
10956      if (single && !hasInputValue && !inputInsidePopup) {
10957        syncInputToSelectedLabel();
10958      }
10959    }
10960    function syncInputAfterItemsOrLabelChange() {
10961      if (single && !hasInputValue && !inputInsidePopup && !queryChangedAfterOpen) {
10962        syncInputToSelectedLabel();
10963      }
10964    }
10965    function handleInputValueChanged() {
10966      if (selectionMode !== "none") {
10967        return;
10968      }
10969      clearErrors(name);
10970      setDirty(inputValue !== validityData.initialValue);
10971      validation.change(inputValue);
10972    }
10973    useValueChanged(query, handleQueryChanged);
10974    useValueChanged(open2, handleOpenChanged);
10975    useValueChanged(selectedValue, handleSelectedValueChanged);
10976    useValueChanged(selectedLabelString, syncInputAfterItemsOrLabelChange);
10977    useValueChanged(items, syncInputAfterItemsOrLabelChange);
10978    useValueChanged(inputValue, handleInputValueChanged);
10979    const floatingRootContext = useFloatingRootContext({
10980      open: inline4 ? true : open2,
10981      onOpenChange: setOpen,
10982      elements: {
10983        reference: inputInsidePopup ? triggerElement : inputElement,
10984        floating: positionerElement
10985      }
10986    });
10987    const ariaHasPopup = grid ? "grid" : "listbox";
10988    const expanded = open2 || inline4;
10989    const ariaExpanded = expanded ? "true" : "false";
10990    const role = React52.useMemo(() => {
10991      const isPlainInput = inputElement?.tagName === "INPUT";
10992      const shouldTreatAsInput = inputElement == null || isPlainInput;
10993      const shouldApplyAria = shouldTreatAsInput || expanded;
10994      const reference = shouldTreatAsInput ? {
10995        autoComplete: "off",
10996        spellCheck: "false",
10997        autoCorrect: "off",
10998        autoCapitalize: "none"
10999      } : {};
11000      if (shouldApplyAria) {
11001        reference.role = "combobox";
11002        reference["aria-expanded"] = ariaExpanded;
11003        reference["aria-haspopup"] = ariaHasPopup;
11004        reference["aria-controls"] = expanded ? listElement?.id : void 0;
11005        reference["aria-autocomplete"] = readOnly ? "none" : autoComplete;
11006      }
11007      return {
11008        reference,
11009        floating: {
11010          role: "presentation"
11011        }
11012      };
11013    }, [inputElement, expanded, ariaExpanded, ariaHasPopup, listElement?.id, autoComplete, readOnly]);
11014    const click = useClick(floatingRootContext, {
11015      enabled: !disabled2 && openOnInputClick,
11016      event: "mousedown-only",
11017      toggle: false,
11018      // Apply a small delay for touch to let mobile viewport/keyboard positioning settle.
11019      // This avoids top-bottom flip flickers if the preferred position is "top" when first tapping.
11020      touchOpenDelay: inputInsidePopup ? 0 : 100,
11021      reason: reason_parts_exports.inputPress
11022    });
11023    const dismiss = useDismiss(floatingRootContext, {
11024      enabled: !disabled2 && !inline4,
11025      outsidePressEvent: {
11026        mouse: "sloppy",
11027        // The visual viewport (affected by the mobile software keyboard) can be
11028        // somewhat small. The user may want to scroll the screen to see more of
11029        // the popup.
11030        touch: "intentional"
11031      },
11032      // Without a popup, let the Escape key bubble the event up to other popups' handlers.
11033      bubbles: inline4 ? true : void 0,
11034      outsidePress(event) {
11035        const target = getTarget(event);
11036        return !contains(triggerElement, target) && !contains(clearRef.current, target) && !contains(chipsContainerRef.current, target) && !contains(inputGroupElement, target);
11037      }
11038    });
11039    const listNavigation2 = useListNavigation(floatingRootContext, {
11040      enabled: !disabled2,
11041      id,
11042      listRef,
11043      activeIndex,
11044      selectedIndex,
11045      virtual: true,
11046      loopFocus,
11047      allowEscape: loopFocus && !autoHighlightMode,
11048      focusItemOnOpen: queryChangedAfterOpen || selectionMode === "none" && !autoHighlightMode ? false : "auto",
11049      focusItemOnHover: highlightItemOnHover,
11050      resetOnPointerLeave: !keepHighlight,
11051      orientation: grid ? "horizontal" : void 0,
11052      rtl: direction === "rtl",
11053      disabledIndices: EMPTY_ARRAY,
11054      grid: grid ? gridNavigation : void 0,
11055      onNavigate(nextActiveIndex, event) {
11056        if (!event && !open2 && !(inline4 && nextActiveIndex === null) || transitionStatus === "ending") {
11057          return;
11058        }
11059        setIndices({
11060          activeIndex: nextActiveIndex,
11061          type: getHighlightReason(event),
11062          event: event?.nativeEvent
11063        });
11064      }
11065    });
11066    const inputProps = React52.useMemo(() => mergeProps(listNavigation2.reference, {
11067      onKeyDown(event) {
11068        if (grid && store.state.activeIndex == null && (event.key === "ArrowLeft" || event.key === "ArrowRight")) {
11069          event.preventBaseUIHandler();
11070        }
11071      }
11072    }, dismiss.reference, click.reference, role.reference), [listNavigation2.reference, dismiss.reference, click.reference, role.reference, grid, store]);
11073    const popupProps = React52.useMemo(() => mergeProps(FOCUSABLE_POPUP_PROPS, dismiss.floating), [dismiss.floating]);
11074    const listProps = React52.useMemo(() => mergeProps(listNavigation2.floating, role.floating), [listNavigation2.floating, role.floating]);
11075    const itemRoot = React52.useMemo(() => {
11076      const listNavigationItemProps = listNavigation2.item;
11077      return {
11078        // Combobox keeps focus on the input; item focus would incorrectly sync
11079        // list navigation state from DOM focus.
11080        props: listNavigationItemProps ? {
11081          ...listNavigationItemProps,
11082          onFocus: void 0
11083        } : EMPTY_OBJECT,
11084        id,
11085        selectionMode,
11086        disabled: disabled2,
11087        readOnly,
11088        isItemEqualToValue
11089      };
11090    }, [listNavigation2.item, id, selectionMode, disabled2, readOnly, isItemEqualToValue]);
11091    store.useContextCallback("setOpen", setOpen);
11092    store.useContextCallback("setInputValue", setInputValue);
11093    store.useContextCallback("setSelectedValue", setSelectedValue);
11094    store.useContextCallback("setIndices", setIndices);
11095    store.useContextCallback("handleSelection", handleSelection);
11096    store.useContextCallback("forceMount", forceMount);
11097    store.useContextCallback("requestSubmit", requestSubmit);
11098    store.useContextCallback("onOpenChangeComplete", onOpenChangeCompleteProp);
11099    useOnFirstRender(() => {
11100      store.update({
11101        inline: inlineProp,
11102        popupProps,
11103        listProps,
11104        inputProps,
11105        triggerProps,
11106        itemRoot
11107      });
11108    });
11109    const syncedValues = {
11110      id,
11111      selectedValue,
11112      open: open2,
11113      mounted,
11114      transitionStatus,
11115      items: storeItems,
11116      inline: inlineProp,
11117      popupProps,
11118      listProps,
11119      inputProps,
11120      triggerProps,
11121      itemRoot,
11122      openMethod,
11123      selectionMode,
11124      name,
11125      form,
11126      disabled: disabled2,
11127      readOnly,
11128      required,
11129      grid,
11130      virtualized,
11131      openOnInputClick,
11132      itemToStringLabel,
11133      modal,
11134      autoHighlight: autoHighlightMode,
11135      isItemEqualToValue,
11136      submitOnItemClick,
11137      hasInputValue
11138    };
11139    useIsoLayoutEffect(() => {
11140      store.update({
11141        ...syncedValues,
11142        inputOwnsFormValue: selectionMode === "none" && (inlineProp || !store.state.inputInsidePopup)
11143      });
11144    }, [store, ...Object.values(syncedValues)]);
11145    const hiddenInputRef = useMergedRefs(inputRefProp, validation.inputRef);
11146    const itemsContextValue = React52.useMemo(() => ({
11147      query,
11148      hasItems,
11149      filteredItems,
11150      flatFilteredValues
11151    }), [query, hasItems, filteredItems, flatFilteredValues]);
11152    const serializedValue = React52.useMemo(() => {
11153      if (Array.isArray(fieldRawValue)) {
11154        return "";
11155      }
11156      return stringifyAsValue(fieldRawValue, itemToStringValue);
11157    }, [fieldRawValue, itemToStringValue]);
11158    const hasMultipleSelection = multiple && Array.isArray(selectedValue) && selectedValue.length > 0;
11159    const hiddenInputName = multiple || selectionMode === "none" && inputOwnsFormValue ? void 0 : name;
11160    const hiddenInputs = React52.useMemo(() => {
11161      if (!multiple || !Array.isArray(selectedValue) || !name) {
11162        return null;
11163      }
11164      return selectedValue.map((value) => {
11165        const currentSerializedValue = stringifyAsValue(value, itemToStringValue);
11166        return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("input", {
11167          type: "hidden",
11168          form,
11169          name,
11170          value: currentSerializedValue,
11171          disabled: disabled2
11172        }, currentSerializedValue);
11173      });
11174    }, [multiple, selectedValue, form, name, itemToStringValue, disabled2]);
11175    const children = /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(React52.Fragment, {
11176      children: [props.children, /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("input", {
11177        ...validation.getValidationProps(disabled2, {
11178          // Move focus when the hidden input is focused.
11179          onFocus() {
11180            if (inputInsidePopup) {
11181              triggerElement?.focus();
11182              return;
11183            }
11184            (inputRef.current || triggerElement)?.focus();
11185          },
11186          // Handle browser autofill.
11187          onChange(event) {
11188            if (event.nativeEvent.defaultPrevented || disabled2 || readOnly) {
11189              return;
11190            }
11191            const nextValue = event.currentTarget.value;
11192            const nextValueLower = nextValue.toLowerCase();
11193            const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
11194            const findSerializedMatchIndex = () => valuesRef.current.findIndex((candidate) => stringifyAsValue(candidate, itemToStringValue).toLowerCase() === nextValueLower || stringifyValueLabel(candidate).toLowerCase() === nextValueLower);
11195            function handleChange() {
11196              if (multiple) {
11197                return;
11198              }
11199              if (selectionMode === "none") {
11200                setInputValue(nextValue, details);
11201                return;
11202              }
11203              let matchingIndex = findSerializedMatchIndex();
11204              if (matchingIndex === -1) {
11205                matchingIndex = valuesRef.current.findIndex((_, index2) => {
11206                  const renderedLabel = labelsRef.current[index2];
11207                  return renderedLabel != null && renderedLabel.toLowerCase() === nextValueLower;
11208                });
11209              }
11210              const matchingValue = matchingIndex === -1 ? void 0 : valuesRef.current[matchingIndex];
11211              if (matchingValue != null) {
11212                setSelectedValue?.(matchingValue, details);
11213              }
11214            }
11215            if (single) {
11216              forceMount();
11217              if (items && findSerializedMatchIndex() === -1) {
11218                store.set("forceMounted", true);
11219              }
11220            }
11221            queueMicrotask(handleChange);
11222          }
11223        }),
11224        id: id && hiddenInputName == null ? `$id}-hidden-input` : void 0,
11225        form,
11226        name: hiddenInputName,
11227        autoComplete: formAutoComplete,
11228        disabled: disabled2,
11229        required: required && !hasMultipleSelection,
11230        readOnly,
11231        value: serializedValue,
11232        ref: hiddenInputRef,
11233        style: hiddenInputName ? visuallyHiddenInput : visuallyHidden,
11234        tabIndex: -1,
11235        "aria-hidden": true,
11236        suppressHydrationWarning: true
11237      }), hiddenInputs]
11238    });
11239    return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ComboboxRootContext.Provider, {
11240      value: store,
11241      children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ComboboxFloatingContext.Provider, {
11242        value: floatingRootContext,
11243        children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ComboboxHasItemsContext.Provider, {
11244          value: hasItems,
11245          children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ComboboxDerivedItemsContext.Provider, {
11246            value: itemsContextValue,
11247            children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ComboboxInputValueContext.Provider, {
11248              value: inputValue,
11249              children
11250            })
11251          })
11252        })
11253      })
11254    });
11255  }
11256  
11257  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/root/AutocompleteRoot.mjs
11258  var import_jsx_runtime11 = __toESM(require_jsx_runtime(), 1);
11259  function AutocompleteRoot(props) {
11260    const {
11261      openOnInputClick = false,
11262      value,
11263      defaultValue,
11264      onValueChange,
11265      mode = "list",
11266      itemToStringValue,
11267      ...other
11268    } = props;
11269    const enableInline = (mode === "inline" || mode === "both") && !props.readOnly;
11270    const staticItems = mode === "inline" || mode === "none";
11271    const isControlled = value !== void 0;
11272    const [internalValue, setInternalValue] = React53.useState(defaultValue ?? "");
11273    const [inlineInputValue, setInlineInputValue] = React53.useState("");
11274    React53.useEffect(() => {
11275      if (isControlled || !enableInline) {
11276        setInlineInputValue("");
11277      }
11278    }, [value, isControlled, enableInline]);
11279    let resolvedInputValue;
11280    if (enableInline && inlineInputValue !== "") {
11281      resolvedInputValue = inlineInputValue;
11282    } else if (isControlled) {
11283      resolvedInputValue = value ?? "";
11284    } else {
11285      resolvedInputValue = internalValue;
11286    }
11287    const collator = useCoreFilter({
11288      locale: other.locale
11289    });
11290    const resolvedQuery = String((isControlled ? value : internalValue) ?? "").trim();
11291    const resolvedFilter = staticItems || other.filter === null ? null : other.filter ?? collator.contains;
11292    function handleValueChange(nextValue, eventDetails) {
11293      setInlineInputValue("");
11294      if (!isControlled) {
11295        setInternalValue(nextValue);
11296      }
11297      onValueChange?.(nextValue, eventDetails);
11298    }
11299    function handleItemHighlighted(highlightedValue, eventDetails) {
11300      props.onItemHighlighted?.(highlightedValue, eventDetails);
11301      if (eventDetails.reason === reason_parts_exports.pointer) {
11302        return;
11303      }
11304      setInlineInputValue(enableInline && highlightedValue != null ? stringifyAsLabel(highlightedValue, itemToStringValue) : "");
11305    }
11306    return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(AriaCombobox, {
11307      ...other,
11308      itemToStringLabel: itemToStringValue,
11309      openOnInputClick,
11310      selectionMode: "none",
11311      fillInputOnItemPress: true,
11312      filter: resolvedFilter,
11313      filterQuery: (
11314        // Inline completion temporarily changes the displayed input without changing this query.
11315        mode === "both" ? resolvedQuery : void 0
11316      ),
11317      autoComplete: mode,
11318      inputValue: resolvedInputValue,
11319      defaultInputValue: defaultValue,
11320      onInputValueChange: handleValueChange,
11321      onItemHighlighted: handleItemHighlighted
11322    });
11323  }
11324  
11325  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/value/AutocompleteValue.mjs
11326  var React54 = __toESM(require_react(), 1);
11327  var import_jsx_runtime12 = __toESM(require_jsx_runtime(), 1);
11328  function AutocompleteValue(props) {
11329    const {
11330      children
11331    } = props;
11332    const inputValue = useComboboxInputValueContext();
11333    let returnValue = null;
11334    if (typeof children === "function") {
11335      returnValue = children(String(inputValue));
11336    } else if (children != null) {
11337      returnValue = children;
11338    } else {
11339      returnValue = inputValue;
11340    }
11341    return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(React54.Fragment, {
11342      children: returnValue
11343    });
11344  }
11345  
11346  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/trigger/ComboboxTrigger.mjs
11347  var React55 = __toESM(require_react(), 1);
11348  
11349  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/input/ComboboxInputDataAttributes.mjs
11350  var popupOpen3 = CommonTriggerDataAttributes_exports.popupOpen;
11351  var pressed2 = CommonTriggerDataAttributes_exports.pressed;
11352  var popupSide = "data-popup-side";
11353  var listEmpty = "data-list-empty";
11354  
11355  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/utils/stateAttributesMapping.mjs
11356  var triggerStateAttributesMapping = {
11357    ...pressableTriggerOpenStateMapping,
11358    ...fieldValidityMapping,
11359    popupSide: (side) => side ? {
11360      [popupSide]: side
11361    } : null,
11362    listEmpty: (empty) => empty ? {
11363      [listEmpty]: ""
11364    } : null
11365  };
11366  
11367  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-root-context/useSetFieldFocused.mjs
11368  function useSetFieldFocused(disabled2, focusTargetRef, onFocusedChange) {
11369    const {
11370      setFocused,
11371      focusOwnerRef
11372    } = useFieldRootContext();
11373    const setFieldFocused = useStableCallback((focused) => {
11374      if (focused ? !disabled2 : focusOwnerRef.current === setFieldFocused) {
11375        focusOwnerRef.current = focused && setFieldFocused;
11376        onFocusedChange?.(focused);
11377        setFocused(focused);
11378      }
11379    });
11380    useIsoLayoutEffect(() => {
11381      const el = focusTargetRef.current;
11382      const root2 = el?.getRootNode();
11383      if (root2?.activeElement === el) {
11384        setFieldFocused(true);
11385      }
11386      return () => setFieldFocused(false);
11387    }, [disabled2, focusTargetRef, setFieldFocused]);
11388    return setFieldFocused;
11389  }
11390  
11391  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getPseudoElementBounds.mjs
11392  var BOUNDARY_OFFSET = 5;
11393  function isMouseWithinBounds(event, element) {
11394    const bounds = getPseudoElementBounds(element);
11395    return event.clientX >= bounds.left - BOUNDARY_OFFSET && event.clientX <= bounds.right + BOUNDARY_OFFSET && event.clientY >= bounds.top - BOUNDARY_OFFSET && event.clientY <= bounds.bottom + BOUNDARY_OFFSET;
11396  }
11397  function getPseudoElementBounds(element) {
11398    const elementRect = element.getBoundingClientRect();
11399    const win = getWindow(element);
11400    if (parts_exports.env.jsdom) {
11401      return elementRect;
11402    }
11403    const beforeStyles = win.getComputedStyle(element, "::before");
11404    const afterStyles = win.getComputedStyle(element, "::after");
11405    const hasPseudoElements = beforeStyles.content !== "none" || afterStyles.content !== "none";
11406    if (!hasPseudoElements) {
11407      return elementRect;
11408    }
11409    const beforeWidth = parseFloat(beforeStyles.width) || 0;
11410    const beforeHeight = parseFloat(beforeStyles.height) || 0;
11411    const afterWidth = parseFloat(afterStyles.width) || 0;
11412    const afterHeight = parseFloat(afterStyles.height) || 0;
11413    const totalWidth = Math.max(elementRect.width, beforeWidth, afterWidth);
11414    const totalHeight = Math.max(elementRect.height, beforeHeight, afterHeight);
11415    const widthDiff = totalWidth - elementRect.width;
11416    const heightDiff = totalHeight - elementRect.height;
11417    return {
11418      left: elementRect.left - widthDiff / 2,
11419      right: elementRect.right + widthDiff / 2,
11420      top: elementRect.top - heightDiff / 2,
11421      bottom: elementRect.bottom + heightDiff / 2
11422    };
11423  }
11424  
11425  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/resolveAriaLabelledBy.mjs
11426  function resolveAriaLabelledBy(fieldLabelId, localLabelId) {
11427    return fieldLabelId ?? localLabelId;
11428  }
11429  
11430  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/utils/parts.mjs
11431  function usePopupSide(store) {
11432    const mounted = store.useState("mounted");
11433    const popupSide2 = store.useState("popupSide");
11434    const positionerElement = store.useState("positionerElement");
11435    return mounted && positionerElement ? popupSide2 : null;
11436  }
11437  function useListEmpty() {
11438    return useComboboxDerivedItemsContext().filteredItems.length === 0;
11439  }
11440  function getChipNavigationKeys(direction) {
11441    return direction === "rtl" ? ["ArrowRight", "ArrowLeft"] : ["ArrowLeft", "ArrowRight"];
11442  }
11443  function clickHighlightedItem(store, activeIndex, nativeEvent) {
11444    const listItem = store.context.listRef.current[activeIndex];
11445    if (listItem) {
11446      store.context.selectionEventRef.current = nativeEvent;
11447      listItem.click();
11448      store.context.selectionEventRef.current = null;
11449    }
11450  }
11451  
11452  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/trigger/ComboboxTrigger.mjs
11453  var ComboboxTrigger = /* @__PURE__ */ React55.forwardRef(function ComboboxTrigger2(componentProps, forwardedRef) {
11454    const {
11455      render,
11456      className,
11457      nativeButton = true,
11458      disabled: disabledProp = false,
11459      id: idProp,
11460      style,
11461      ...elementProps
11462    } = componentProps;
11463    const {
11464      state: fieldState,
11465      disabled: fieldDisabled,
11466      setTouched,
11467      validationMode,
11468      validation
11469    } = useFieldRootContext();
11470    const {
11471      labelId: fieldLabelId
11472    } = useLabelableContext();
11473    const store = useComboboxRootContext();
11474    const selectionMode = store.useState("selectionMode");
11475    const comboboxDisabled = store.useState("disabled");
11476    const readOnly = store.useState("readOnly");
11477    const required = store.useState("required");
11478    const positionerElement = store.useState("positionerElement");
11479    const listElement = store.useState("listElement");
11480    const storedPopupId = store.useState("popupId");
11481    const triggerProps = store.useState("triggerProps");
11482    const inputInsidePopup = store.useState("inputInsidePopup");
11483    const rootId = store.useState("id");
11484    const comboboxLabelId = store.useState("labelId");
11485    const open2 = store.useState("open");
11486    const selectedValue = store.useState("selectedValue");
11487    const activeIndex = store.useState("activeIndex");
11488    const selectedIndex = store.useState("selectedIndex");
11489    const hasSelectedValue = store.useState("hasSelectedValue");
11490    const floatingRootContext = useComboboxFloatingContext();
11491    const inputValue = useComboboxInputValueContext();
11492    const focusTimeout = useTimeout();
11493    const disabled2 = fieldDisabled || comboboxDisabled || disabledProp;
11494    const listEmpty2 = useListEmpty();
11495    const popupSide2 = usePopupSide(store);
11496    const triggerRef = React55.useRef(null);
11497    const setFocused = useSetFieldFocused(disabled2, triggerRef);
11498    useLabelableId({
11499      id: inputInsidePopup ? idProp : void 0
11500    });
11501    const id = inputInsidePopup ? idProp ?? rootId : idProp;
11502    const ariaLabelledBy = resolveAriaLabelledBy(fieldLabelId, comboboxLabelId);
11503    let ariaControls;
11504    if (open2 && inputInsidePopup) {
11505      ariaControls = storedPopupId ?? getComboboxPopupId(rootId);
11506    } else if (open2) {
11507      ariaControls = listElement?.id;
11508    }
11509    const currentPointerTypeRef = React55.useRef("");
11510    function trackPointerType(event) {
11511      currentPointerTypeRef.current = event.pointerType;
11512    }
11513    const {
11514      reference: triggerTypeaheadProps
11515    } = useTypeahead(floatingRootContext, {
11516      // Typeahead on a closed trigger commits a value rather than moving a highlight, so it stays
11517      // gated on `readOnly`.
11518      enabled: !open2 && !readOnly && !comboboxDisabled && selectionMode === "single",
11519      listRef: store.context.labelsRef,
11520      activeIndex,
11521      selectedIndex,
11522      onMatch(index2) {
11523        const nextSelectedValue = store.context.valuesRef.current[index2];
11524        if (nextSelectedValue !== void 0) {
11525          store.context.setSelectedValue(nextSelectedValue, createChangeEventDetails(reason_parts_exports.none));
11526        }
11527      }
11528    });
11529    const {
11530      reference: triggerClickProps
11531    } = useClick(floatingRootContext, {
11532      enabled: !comboboxDisabled,
11533      event: "mousedown"
11534    });
11535    const {
11536      buttonRef,
11537      getButtonProps
11538    } = useButton({
11539      native: nativeButton,
11540      disabled: disabled2
11541    });
11542    const state = {
11543      ...fieldState,
11544      readOnly,
11545      open: open2,
11546      disabled: disabled2,
11547      popupSide: popupSide2,
11548      listEmpty: listEmpty2,
11549      placeholder: selectionMode === "none" ? false : !hasSelectedValue
11550    };
11551    const setTriggerElement = useStableCallback((element2) => {
11552      store.set("triggerElement", element2);
11553    });
11554    const element = useRenderElement("button", componentProps, {
11555      ref: [forwardedRef, buttonRef, triggerRef, setTriggerElement],
11556      state,
11557      props: [triggerProps, triggerClickProps, triggerTypeaheadProps, {
11558        id,
11559        tabIndex: inputInsidePopup ? 0 : -1,
11560        role: inputInsidePopup ? "combobox" : void 0,
11561        "aria-expanded": open2,
11562        "aria-haspopup": inputInsidePopup ? "dialog" : "listbox",
11563        "aria-controls": ariaControls,
11564        "aria-required": inputInsidePopup ? required || void 0 : void 0,
11565        // Only valid alongside the `combobox` role; without it the trigger is a plain button, and
11566        // the `Combobox.Input` outside the popup already carries `aria-readonly`.
11567        "aria-readonly": inputInsidePopup ? readOnly || void 0 : void 0,
11568        "aria-labelledby": ariaLabelledBy,
11569        onPointerDown: trackPointerType,
11570        onPointerEnter: trackPointerType,
11571        onFocus() {
11572          setFocused(true);
11573          if (disabled2) {
11574            return;
11575          }
11576          focusTimeout.start(0, store.context.forceMount);
11577        },
11578        onBlur(event) {
11579          if (contains(positionerElement, event.relatedTarget)) {
11580            return;
11581          }
11582          setTouched(true);
11583          setFocused(false);
11584          if (validationMode === "onBlur") {
11585            const valueToValidate = selectionMode === "none" ? inputValue : selectedValue;
11586            validation.commit(valueToValidate);
11587          }
11588        },
11589        onMouseDown(event) {
11590          if (disabled2) {
11591            return;
11592          }
11593          if (!inputInsidePopup) {
11594            floatingRootContext.set("domReferenceElement", event.currentTarget);
11595          }
11596          store.context.forceMount();
11597          if (currentPointerTypeRef.current !== "touch") {
11598            store.context.inputRef.current?.focus();
11599            if (!inputInsidePopup) {
11600              event.preventDefault();
11601            }
11602          }
11603          if (open2) {
11604            return;
11605          }
11606          const doc = ownerDocument(event.currentTarget);
11607          function handleMouseUp(mouseEvent) {
11608            const currentTriggerElement = store.state.triggerElement;
11609            if (!currentTriggerElement) {
11610              return;
11611            }
11612            const mouseUpTarget = getTarget(mouseEvent);
11613            const positioner = store.state.positionerElement;
11614            const list = store.state.listElement;
11615            if (contains(currentTriggerElement, mouseUpTarget) || contains(positioner, mouseUpTarget) || contains(list, mouseUpTarget)) {
11616              return;
11617            }
11618            if (isMouseWithinBounds(mouseEvent, currentTriggerElement)) {
11619              return;
11620            }
11621            store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.cancelOpen, mouseEvent));
11622          }
11623          if (inputInsidePopup) {
11624            doc.addEventListener("mouseup", handleMouseUp, {
11625              once: true
11626            });
11627          }
11628        },
11629        onKeyDown(event) {
11630          if (event.key === "ArrowDown" || event.key === "ArrowUp") {
11631            stopEvent(event);
11632            store.context.setOpen(true, createChangeEventDetails(reason_parts_exports.listNavigation, event.nativeEvent));
11633            store.context.inputRef.current?.focus();
11634          }
11635        }
11636      }, validation.getValidationProps(disabled2, elementProps), getButtonProps],
11637      stateAttributesMapping: triggerStateAttributesMapping
11638    });
11639    return element;
11640  });
11641  if (true) ComboboxTrigger.displayName = "ComboboxTrigger";
11642  
11643  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/trigger/AutocompleteTrigger.mjs
11644  var AutocompleteTrigger = ComboboxTrigger;
11645  
11646  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/input/ComboboxInput.mjs
11647  var React59 = __toESM(require_react(), 1);
11648  
11649  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/chips/ComboboxChipsContext.mjs
11650  var React56 = __toESM(require_react(), 1);
11651  var ComboboxChipsContext = /* @__PURE__ */ React56.createContext(void 0);
11652  if (true) ComboboxChipsContext.displayName = "ComboboxChipsContext";
11653  function useComboboxChipsContext() {
11654    return React56.useContext(ComboboxChipsContext);
11655  }
11656  
11657  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/positioner/ComboboxPositionerContext.mjs
11658  var React57 = __toESM(require_react(), 1);
11659  var ComboboxPositionerContext = /* @__PURE__ */ React57.createContext(void 0);
11660  if (true) ComboboxPositionerContext.displayName = "ComboboxPositionerContext";
11661  function useComboboxPositionerContext(optional) {
11662    const context = React57.useContext(ComboboxPositionerContext);
11663    if (context === void 0 && !optional) {
11664      throw new Error(true ? "Base UI: <Combobox.Popup> and <Combobox.Arrow> must be used within the <Combobox.Positioner> component" : formatErrorMessage_default(21));
11665    }
11666    return context;
11667  }
11668  
11669  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/utils/ComboboxInternalDismissButton.mjs
11670  var React58 = __toESM(require_react(), 1);
11671  var import_jsx_runtime13 = __toESM(require_jsx_runtime(), 1);
11672  var ComboboxInternalDismissButton = /* @__PURE__ */ React58.forwardRef(function ComboboxInternalDismissButton2(_, forwardedRef) {
11673    const store = useComboboxRootContext();
11674    const {
11675      buttonRef,
11676      getButtonProps
11677    } = useButton({
11678      native: false
11679    });
11680    const mergedRef = useMergedRefs(forwardedRef, buttonRef);
11681    function handleDismiss(event) {
11682      store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.closePress, event.nativeEvent, event.currentTarget));
11683    }
11684    const dismissProps = getButtonProps({
11685      onClick: handleDismiss
11686    });
11687    return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("span", {
11688      ref: mergedRef,
11689      ...dismissProps,
11690      "aria-label": "Dismiss",
11691      tabIndex: void 0,
11692      style: visuallyHiddenInput
11693    });
11694  });
11695  if (true) ComboboxInternalDismissButton.displayName = "ComboboxInternalDismissButton";
11696  
11697  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/input/ComboboxInput.mjs
11698  var import_jsx_runtime14 = __toESM(require_jsx_runtime(), 1);
11699  var ComboboxInput = /* @__PURE__ */ React59.forwardRef(function ComboboxInput2(componentProps, forwardedRef) {
11700    const {
11701      render,
11702      className,
11703      disabled: disabledProp = false,
11704      id: idProp,
11705      style,
11706      ...elementProps
11707    } = componentProps;
11708    const {
11709      state: fieldState,
11710      disabled: fieldDisabled,
11711      setTouched,
11712      validationMode,
11713      validation
11714    } = useFieldRootContext();
11715    const {
11716      labelId: fieldLabelId
11717    } = useLabelableContext();
11718    const comboboxChipsContext = useComboboxChipsContext();
11719    const positioning = useComboboxPositionerContext(true);
11720    const hasPositionerParent = Boolean(positioning);
11721    const store = useComboboxRootContext();
11722    const inputValue = useComboboxInputValueContext();
11723    const direction = useDirection();
11724    const required = store.useState("required");
11725    const comboboxDisabled = store.useState("disabled");
11726    const readOnly = store.useState("readOnly");
11727    const name = store.useState("name");
11728    const form = store.useState("form");
11729    const selectionMode = store.useState("selectionMode");
11730    const autoHighlightMode = store.useState("autoHighlight");
11731    const inputProps = store.useState("inputProps");
11732    const triggerProps = store.useState("triggerProps");
11733    const open2 = store.useState("open");
11734    const mounted = store.useState("mounted");
11735    const selectedValue = store.useState("selectedValue");
11736    const rootId = store.useState("id");
11737    const inline4 = store.useState("inline");
11738    const modal = store.useState("modal");
11739    const autoHighlightEnabled = Boolean(autoHighlightMode);
11740    const popupSide2 = usePopupSide(store);
11741    const disabled2 = fieldDisabled || comboboxDisabled || disabledProp;
11742    const listEmpty2 = useListEmpty();
11743    const setFocused = useSetFieldFocused(disabled2, store.context.inputRef);
11744    const isInsidePopup = hasPositionerParent || inline4;
11745    const focusManagerModal = !isInsidePopup || modal;
11746    const id = useBaseUiId(idProp ?? (!isInsidePopup ? rootId : void 0));
11747    const fieldStateForInput = hasPositionerParent ? DEFAULT_FIELD_STATE_ATTRIBUTES : fieldState;
11748    const [composingValue, setComposingValue] = React59.useState(null);
11749    const isComposingRef = React59.useRef(false);
11750    const lastActiveIndexRef = React59.useRef(null);
11751    useIsoLayoutEffect(() => {
11752      if (!open2) {
11753        lastActiveIndexRef.current = null;
11754      }
11755    }, [open2]);
11756    const inputOwnsFormValue = selectionMode === "none" && !hasPositionerParent;
11757    const setInputElement = useStableCallback((element2) => {
11758      const nextIsInsidePopup = hasPositionerParent || store.state.inline;
11759      if (nextIsInsidePopup && !store.state.hasInputValue) {
11760        store.context.setInputValue("", createChangeEventDetails(reason_parts_exports.none));
11761      }
11762      store.update({
11763        inputElement: element2,
11764        inputInsidePopup: nextIsInsidePopup,
11765        inputOwnsFormValue
11766      });
11767    });
11768    const validationProps = hasPositionerParent ? elementProps : validation.getValidationProps(disabled2, elementProps);
11769    function clearHighlight(event) {
11770      store.context.setIndices({
11771        activeIndex: null,
11772        selectedIndex: null,
11773        type: getHighlightReason(event),
11774        event
11775      });
11776    }
11777    const state = {
11778      ...fieldStateForInput,
11779      open: open2,
11780      disabled: disabled2,
11781      readOnly,
11782      popupSide: popupSide2,
11783      listEmpty: listEmpty2
11784    };
11785    function handleKeyDown(event) {
11786      if (!comboboxChipsContext) {
11787        return void 0;
11788      }
11789      let nextIndex;
11790      const renderedChipsCount = comboboxChipsContext.chipsRef.current.length;
11791      const [previousChipKey] = getChipNavigationKeys(direction);
11792      if (event.key === previousChipKey && (event.currentTarget.selectionStart ?? 0) === 0 && selectedValue.length > 0) {
11793        event.preventDefault();
11794        nextIndex = renderedChipsCount > 0 ? renderedChipsCount - 1 : void 0;
11795      }
11796      return nextIndex;
11797    }
11798    const element = useRenderElement("input", componentProps, {
11799      state,
11800      ref: [forwardedRef, store.context.inputRef, setInputElement],
11801      props: [inputProps, triggerProps, {
11802        value: composingValue ?? inputValue,
11803        "aria-readonly": readOnly || void 0,
11804        "aria-required": required || void 0,
11805        "aria-labelledby": fieldLabelId,
11806        disabled: disabled2,
11807        readOnly,
11808        required: selectionMode === "none" ? required : void 0,
11809        form,
11810        ...inputOwnsFormValue && name && {
11811          name
11812        },
11813        id,
11814        onFocus() {
11815          setFocused(true);
11816          if (!inline4) {
11817            return;
11818          }
11819          const nextActiveIndex = lastActiveIndexRef.current;
11820          lastActiveIndexRef.current = null;
11821          if (nextActiveIndex == null || // `valuesRef` can be sparse, so guard against restoring a removed slot.
11822          !Object.hasOwn(store.context.valuesRef.current, nextActiveIndex)) {
11823            return;
11824          }
11825          store.context.setIndices({
11826            activeIndex: nextActiveIndex
11827          });
11828        },
11829        onBlur() {
11830          setTouched(true);
11831          setFocused(false);
11832          const activeIndex = store.state.activeIndex;
11833          if (inline4 && activeIndex !== null && autoHighlightMode !== "always") {
11834            lastActiveIndexRef.current = activeIndex;
11835            store.context.setIndices({
11836              activeIndex: null
11837            });
11838          }
11839          if (validationMode === "onBlur") {
11840            const valueToValidate = selectionMode === "none" ? inputValue : selectedValue;
11841            validation.commit(valueToValidate);
11842          }
11843        },
11844        onCompositionStart(event) {
11845          if (parts_exports.os.android) {
11846            return;
11847          }
11848          isComposingRef.current = true;
11849          setComposingValue(event.currentTarget.value);
11850        },
11851        onCompositionEnd(event) {
11852          isComposingRef.current = false;
11853          const next = event.currentTarget.value;
11854          setComposingValue(null);
11855          store.context.setInputValue(next, createChangeEventDetails(reason_parts_exports.inputChange, event.nativeEvent));
11856        },
11857        onChange(event) {
11858          const nativeEvent = event.nativeEvent;
11859          const inputType = nativeEvent.inputType;
11860          const autofillLikeInput = !inputType || inputType === "insertReplacementText";
11861          const shouldOpenOnInput = isComposingRef.current || !autofillLikeInput;
11862          function maybeOpenOnInput(trimmed) {
11863            if (readOnly || disabled2 || !trimmed || !shouldOpenOnInput) {
11864              return;
11865            }
11866            store.context.setOpen(true, createChangeEventDetails(reason_parts_exports.inputChange, nativeEvent));
11867            if (!autoHighlightEnabled) {
11868              clearHighlight(nativeEvent);
11869            }
11870          }
11871          if (isComposingRef.current) {
11872            const nextVal = event.currentTarget.value;
11873            setComposingValue(nextVal);
11874            if (nextVal === "" && !store.state.openOnInputClick && !store.state.inputInsidePopup) {
11875              store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.inputClear, nativeEvent));
11876            }
11877            const trimmed = nextVal.trim();
11878            const shouldMaintainHighlight = autoHighlightEnabled && trimmed !== "";
11879            maybeOpenOnInput(trimmed);
11880            if (open2 && store.state.activeIndex !== null && !shouldMaintainHighlight) {
11881              clearHighlight(nativeEvent);
11882            }
11883            return;
11884          }
11885          const inputChangeDetails = createChangeEventDetails(reason_parts_exports.inputChange, nativeEvent);
11886          store.context.setInputValue(event.currentTarget.value, inputChangeDetails);
11887          if (inputChangeDetails.isCanceled) {
11888            return;
11889          }
11890          const empty = event.currentTarget.value === "";
11891          const clearDetails = createChangeEventDetails(reason_parts_exports.inputClear, nativeEvent);
11892          if (empty && !store.state.inputInsidePopup) {
11893            if (selectionMode === "single") {
11894              store.context.setSelectedValue(null, clearDetails);
11895            }
11896            if (!store.state.openOnInputClick) {
11897              store.context.setOpen(false, clearDetails);
11898            }
11899          }
11900          maybeOpenOnInput(event.currentTarget.value.trim());
11901          if (open2 && store.state.activeIndex !== null && !autoHighlightEnabled) {
11902            clearHighlight(nativeEvent);
11903          }
11904        },
11905        onKeyDown(event) {
11906          if (event.ctrlKey || event.shiftKey || event.altKey || event.metaKey) {
11907            return;
11908          }
11909          if (disabled2 || readOnly) {
11910            if (readOnly && event.key === "Enter" && open2 && store.state.activeIndex !== null) {
11911              stopEvent(event);
11912            }
11913            return;
11914          }
11915          const input = event.currentTarget;
11916          const scrollAmount = input.scrollWidth - input.clientWidth;
11917          const isRTL4 = direction === "rtl";
11918          if (event.key === "Home") {
11919            stopEvent(event);
11920            const cursor = parts_exports.engine.gecko && isRTL4 ? input.value.length : 0;
11921            input.setSelectionRange(cursor, cursor);
11922            input.scrollLeft = 0;
11923            return;
11924          }
11925          if (event.key === "End") {
11926            stopEvent(event);
11927            const cursor = parts_exports.engine.gecko && isRTL4 ? 0 : input.value.length;
11928            input.setSelectionRange(cursor, cursor);
11929            input.scrollLeft = isRTL4 ? -scrollAmount : scrollAmount;
11930            return;
11931          }
11932          if (!mounted && event.key === "Escape") {
11933            const isClear = selectionMode === "multiple" && Array.isArray(selectedValue) ? selectedValue.length === 0 : selectedValue === null;
11934            const details = createChangeEventDetails(reason_parts_exports.escapeKey, event.nativeEvent);
11935            const value = selectionMode === "multiple" ? [] : null;
11936            store.context.setInputValue("", details);
11937            store.context.setSelectedValue(value, details);
11938            if (!isClear && !store.state.inline && !details.isPropagationAllowed) {
11939              event.stopPropagation();
11940            }
11941            return;
11942          }
11943          if (comboboxChipsContext && event.key === "Backspace" && input.value === "" && Array.isArray(selectedValue) && selectedValue.length > 0) {
11944            const renderedChipsCount = comboboxChipsContext.chipsRef.current.length;
11945            const removalIndex = renderedChipsCount > 0 ? renderedChipsCount - 1 : selectedValue.length - 1;
11946            const newValue = selectedValue.filter((_, index2) => index2 !== removalIndex);
11947            clearHighlight(event.nativeEvent);
11948            store.context.setSelectedValue(newValue, createChangeEventDetails(reason_parts_exports.none, event.nativeEvent));
11949            return;
11950          }
11951          const nextIndex = handleKeyDown(event);
11952          if (nextIndex !== void 0) {
11953            comboboxChipsContext?.chipsRef.current[nextIndex]?.focus();
11954          }
11955          if (event.which === 229) {
11956            return;
11957          }
11958          if (event.key === "Enter" && open2) {
11959            const activeIndex = store.state.activeIndex;
11960            const nativeEvent = event.nativeEvent;
11961            if (activeIndex === null) {
11962              if (inline4) {
11963                return;
11964              }
11965              store.context.setOpen(false, createChangeEventDetails(reason_parts_exports.none, nativeEvent));
11966              return;
11967            }
11968            stopEvent(event);
11969            clickHighlightedItem(store, activeIndex, nativeEvent);
11970          }
11971        }
11972      }, validationProps],
11973      stateAttributesMapping: triggerStateAttributesMapping
11974    });
11975    const renderedInput = hasPositionerParent ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(FieldRootContext.Provider, {
11976      value: DEFAULT_FIELD_ROOT_CONTEXT,
11977      children: element
11978    }) : element;
11979    return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(React59.Fragment, {
11980      children: [open2 && focusManagerModal && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(ComboboxInternalDismissButton, {
11981        ref: store.context.startDismissRef
11982      }), renderedInput]
11983    });
11984  });
11985  if (true) ComboboxInput.displayName = "ComboboxInput";
11986  
11987  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/input-group/ComboboxInputGroup.mjs
11988  var React60 = __toESM(require_react(), 1);
11989  
11990  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/utils/handleInputPress.mjs
11991  function handleInputPress(event, store, disabled2, shouldIgnoreTarget) {
11992    if (event.baseUIHandlerPrevented) {
11993      return;
11994    }
11995    const target = getTarget(event.nativeEvent);
11996    const targetElement = isElement(target) ? target : null;
11997    if (targetElement !== event.currentTarget && (shouldIgnoreTarget?.(targetElement) || isInteractiveElement(targetElement))) {
11998      return;
11999    }
12000    event.preventDefault();
12001    if (disabled2) {
12002      return;
12003    }
12004    store.context.inputRef.current?.focus();
12005    if (store.state.openOnInputClick) {
12006      store.context.setOpen(true, createChangeEventDetails(reason_parts_exports.inputPress, event.nativeEvent));
12007    }
12008  }
12009  
12010  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/input-group/ComboboxInputGroup.mjs
12011  var ComboboxInputGroup = /* @__PURE__ */ React60.forwardRef(function ComboboxInputGroup2(componentProps, forwardedRef) {
12012    const {
12013      render,
12014      className,
12015      style,
12016      ...elementProps
12017    } = componentProps;
12018    const {
12019      state: fieldState
12020    } = useFieldRootContext();
12021    const store = useComboboxRootContext();
12022    const open2 = store.useState("open");
12023    const comboboxDisabled = store.useState("disabled");
12024    const readOnly = store.useState("readOnly");
12025    const hasSelectedValue = store.useState("hasSelectedValue");
12026    const selectionMode = store.useState("selectionMode");
12027    const popupSide2 = usePopupSide(store);
12028    const disabled2 = comboboxDisabled;
12029    const listEmpty2 = useListEmpty();
12030    const placeholder = selectionMode === "none" ? false : !hasSelectedValue;
12031    const state = {
12032      ...fieldState,
12033      open: open2,
12034      disabled: disabled2,
12035      readOnly,
12036      popupSide: popupSide2,
12037      listEmpty: listEmpty2,
12038      placeholder
12039    };
12040    const setInputGroupElement = useStableCallback((element) => {
12041      store.set("inputGroupElement", element);
12042    });
12043    return useRenderElement("div", componentProps, {
12044      ref: [forwardedRef, setInputGroupElement],
12045      props: [{
12046        role: "group",
12047        onMouseDown(event) {
12048          handleInputPress(event, store, disabled2, (target) => {
12049            return contains(store.context.chipsContainerRef.current, target);
12050          });
12051        }
12052      }, elementProps],
12053      state,
12054      stateAttributesMapping: triggerStateAttributesMapping
12055    });
12056  });
12057  if (true) ComboboxInputGroup.displayName = "ComboboxInputGroup";
12058  
12059  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/input-group/AutocompleteInputGroup.mjs
12060  var AutocompleteInputGroup = ComboboxInputGroup;
12061  
12062  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/icon/ComboboxIcon.mjs
12063  var React61 = __toESM(require_react(), 1);
12064  var ComboboxIcon = /* @__PURE__ */ React61.forwardRef(function ComboboxIcon2(componentProps, forwardedRef) {
12065    const {
12066      render,
12067      className,
12068      style,
12069      ...elementProps
12070    } = componentProps;
12071    const element = useRenderElement("span", componentProps, {
12072      ref: forwardedRef,
12073      props: [{
12074        "aria-hidden": true,
12075        children: "▼"
12076      }, elementProps]
12077    });
12078    return element;
12079  });
12080  if (true) ComboboxIcon.displayName = "ComboboxIcon";
12081  
12082  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/clear/ComboboxClear.mjs
12083  var React62 = __toESM(require_react(), 1);
12084  var stateAttributesMapping = {
12085    ...transitionStatusMapping,
12086    ...triggerOpenStateMapping
12087  };
12088  var ComboboxClear = /* @__PURE__ */ React62.forwardRef(function ComboboxClear2(componentProps, forwardedRef) {
12089    const {
12090      render,
12091      className,
12092      disabled: disabledProp = false,
12093      nativeButton = true,
12094      keepMounted = false,
12095      style,
12096      ...elementProps
12097    } = componentProps;
12098    const {
12099      disabled: fieldDisabled
12100    } = useFieldRootContext();
12101    const store = useComboboxRootContext();
12102    const selectionMode = store.useState("selectionMode");
12103    const comboboxDisabled = store.useState("disabled");
12104    const readOnly = store.useState("readOnly");
12105    const open2 = store.useState("open");
12106    const selectedValue = store.useState("selectedValue");
12107    const hasSelectionChips = store.useState("hasSelectionChips");
12108    const inputValue = useComboboxInputValueContext();
12109    let visible = false;
12110    if (selectionMode === "none") {
12111      visible = inputValue !== "";
12112    } else if (selectionMode === "single") {
12113      visible = selectedValue != null;
12114    } else {
12115      visible = hasSelectionChips;
12116    }
12117    const disabled2 = fieldDisabled || comboboxDisabled || disabledProp;
12118    const {
12119      buttonRef,
12120      getButtonProps
12121    } = useButton({
12122      native: nativeButton,
12123      disabled: disabled2
12124    });
12125    const {
12126      mounted,
12127      transitionStatus,
12128      setMounted
12129    } = useTransitionStatus(visible);
12130    const state = {
12131      disabled: disabled2,
12132      visible,
12133      open: open2,
12134      transitionStatus
12135    };
12136    useOpenChangeComplete({
12137      open: visible,
12138      ref: store.context.clearRef,
12139      onComplete() {
12140        if (!visible) {
12141          setMounted(false);
12142        }
12143      }
12144    });
12145    const element = useRenderElement("button", componentProps, {
12146      state,
12147      ref: [forwardedRef, buttonRef, store.context.clearRef],
12148      props: [{
12149        tabIndex: -1,
12150        children: "x",
12151        // Avoid stealing focus from the input.
12152        onMouseDown(event) {
12153          event.preventDefault();
12154        },
12155        onClick(event) {
12156          if (disabled2 || readOnly) {
12157            return;
12158          }
12159          const type = getHighlightReason(event);
12160          store.context.setInputValue("", createChangeEventDetails(reason_parts_exports.clearPress, event.nativeEvent));
12161          if (selectionMode !== "none") {
12162            store.context.setSelectedValue(Array.isArray(selectedValue) ? [] : null, createChangeEventDetails(reason_parts_exports.clearPress, event.nativeEvent));
12163            store.context.setIndices({
12164              activeIndex: null,
12165              selectedIndex: null,
12166              type,
12167              event: event.nativeEvent
12168            });
12169          } else {
12170            store.context.setIndices({
12171              activeIndex: null,
12172              type,
12173              event: event.nativeEvent
12174            });
12175          }
12176          store.context.inputRef.current?.focus();
12177        }
12178      }, elementProps, getButtonProps],
12179      stateAttributesMapping
12180    });
12181    const shouldRender = keepMounted || mounted;
12182    if (!shouldRender) {
12183      return null;
12184    }
12185    return element;
12186  });
12187  if (true) ComboboxClear.displayName = "ComboboxClear";
12188  
12189  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/list/ComboboxList.mjs
12190  var React65 = __toESM(require_react(), 1);
12191  
12192  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/collection/ComboboxCollection.mjs
12193  var React64 = __toESM(require_react(), 1);
12194  
12195  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/collection/GroupCollectionContext.mjs
12196  var React63 = __toESM(require_react(), 1);
12197  var import_jsx_runtime15 = __toESM(require_jsx_runtime(), 1);
12198  var GroupCollectionContext = /* @__PURE__ */ React63.createContext(null);
12199  if (true) GroupCollectionContext.displayName = "GroupCollectionContext";
12200  function useGroupCollectionContext() {
12201    return React63.useContext(GroupCollectionContext);
12202  }
12203  function GroupCollectionProvider(props) {
12204    const {
12205      children,
12206      items
12207    } = props;
12208    const contextValue = React63.useMemo(() => ({
12209      items
12210    }), [items]);
12211    return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(GroupCollectionContext.Provider, {
12212      value: contextValue,
12213      children
12214    });
12215  }
12216  
12217  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/collection/ComboboxCollection.mjs
12218  var import_jsx_runtime16 = __toESM(require_jsx_runtime(), 1);
12219  function ComboboxCollection(props) {
12220    const {
12221      children
12222    } = props;
12223    const {
12224      filteredItems
12225    } = useComboboxDerivedItemsContext();
12226    const groupContext = useGroupCollectionContext();
12227    const itemsToRender = groupContext ? groupContext.items : filteredItems;
12228    return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(React64.Fragment, {
12229      children: itemsToRender.map(children)
12230    });
12231  }
12232  
12233  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/list/ComboboxList.mjs
12234  var import_jsx_runtime17 = __toESM(require_jsx_runtime(), 1);
12235  var ComboboxList = /* @__PURE__ */ React65.forwardRef(function ComboboxList2(componentProps, forwardedRef) {
12236    var _ComboboxCollection;
12237    const {
12238      render,
12239      className,
12240      style,
12241      children,
12242      ...elementProps
12243    } = componentProps;
12244    const store = useComboboxRootContext();
12245    const floatingRootContext = useComboboxFloatingContext();
12246    const hasPositionerContext = Boolean(useComboboxPositionerContext(true));
12247    const {
12248      filteredItems,
12249      hasItems
12250    } = useComboboxDerivedItemsContext();
12251    const selectionMode = store.useState("selectionMode");
12252    const grid = store.useState("grid");
12253    const readOnly = store.useState("readOnly");
12254    const listProps = store.useState("listProps");
12255    const virtualized = store.useState("virtualized");
12256    const forceMounted = store.useState("forceMounted");
12257    const multiple = selectionMode === "multiple";
12258    const empty = filteredItems.length === 0;
12259    const setPositionerElement = useStableCallback((element2) => {
12260      store.set("positionerElement", element2);
12261    });
12262    const setListElement = useStableCallback((element2) => {
12263      store.set("listElement", element2);
12264    });
12265    const resolvedChildren = React65.useMemo(() => {
12266      if (typeof children === "function") {
12267        return _ComboboxCollection || (_ComboboxCollection = /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(ComboboxCollection, {
12268          children
12269        }));
12270      }
12271      return children;
12272    }, [children]);
12273    const state = {
12274      empty
12275    };
12276    const floatingId = floatingRootContext.useState("floatingId");
12277    const element = useRenderElement("div", componentProps, {
12278      state,
12279      ref: [forwardedRef, setListElement, hasPositionerContext ? null : setPositionerElement],
12280      props: [listProps, {
12281        children: resolvedChildren,
12282        tabIndex: -1,
12283        id: floatingId,
12284        role: grid ? "grid" : "listbox",
12285        "aria-multiselectable": multiple ? "true" : void 0,
12286        // On a grid the attribute describes cell editability, not selection, so it's left to the
12287        // combobox element in that mode.
12288        "aria-readonly": !grid && readOnly ? true : void 0,
12289        onKeyDown(event) {
12290          if (store.state.disabled || store.state.readOnly) {
12291            return;
12292          }
12293          if (event.key === "Enter") {
12294            const activeIndex = store.state.activeIndex;
12295            if (activeIndex == null) {
12296              return;
12297            }
12298            stopEvent(event);
12299            clickHighlightedItem(store, activeIndex, event.nativeEvent);
12300          }
12301        }
12302      }, elementProps]
12303    });
12304    if (virtualized) {
12305      return element;
12306    }
12307    const labelsRef = hasItems && !forceMounted ? void 0 : store.context.labelsRef;
12308    return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(CompositeList, {
12309      elementsRef: store.context.listRef,
12310      labelsRef,
12311      children: element
12312    });
12313  });
12314  if (true) ComboboxList.displayName = "ComboboxList";
12315  
12316  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/status/ComboboxStatus.mjs
12317  var React67 = __toESM(require_react(), 1);
12318  
12319  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useInitialLiveRegionTextMutation.mjs
12320  var React66 = __toESM(require_react(), 1);
12321  var LIVE_REGION_MARKER = "⁠";
12322  var INITIAL_LIVE_REGION_TEXT_MUTATION_RESET_DELAY = 200;
12323  function findLastTextNode(root2) {
12324    const walker = root2.ownerDocument.createTreeWalker(root2, NodeFilter.SHOW_TEXT);
12325    let lastTextNode = null;
12326    while (walker.nextNode()) {
12327      const textNode = walker.currentNode;
12328      if (textNode.nodeValue !== "") {
12329        lastTextNode = textNode;
12330      }
12331    }
12332    return lastTextNode;
12333  }
12334  function useInitialLiveRegionTextMutation(present = true) {
12335    const timeout = useTimeout();
12336    const rootRef = React66.useRef(null);
12337    React66.useEffect(() => {
12338      if (!present || parts_exports.os.ios) {
12339        return void 0;
12340      }
12341      const root2 = rootRef.current;
12342      if (root2 == null) {
12343        return void 0;
12344      }
12345      const textNode = findLastTextNode(root2);
12346      if (textNode == null) {
12347        return void 0;
12348      }
12349      const originalValue = textNode.data;
12350      const markedValue = `$originalValue}$LIVE_REGION_MARKER}`;
12351      textNode.nodeValue = markedValue;
12352      timeout.start(INITIAL_LIVE_REGION_TEXT_MUTATION_RESET_DELAY, () => {
12353        if (textNode.nodeValue === markedValue) {
12354          textNode.nodeValue = originalValue;
12355        }
12356      });
12357      return () => {
12358        timeout.clear();
12359        if (textNode.nodeValue === markedValue) {
12360          textNode.nodeValue = originalValue;
12361        }
12362      };
12363    }, [present, rootRef, timeout]);
12364    return rootRef;
12365  }
12366  
12367  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/status/ComboboxStatus.mjs
12368  var ComboboxStatus = /* @__PURE__ */ React67.forwardRef(function ComboboxStatus2(componentProps, forwardedRef) {
12369    const {
12370      render,
12371      className,
12372      style,
12373      children: childrenProp,
12374      ...elementProps
12375    } = componentProps;
12376    const statusRef = useInitialLiveRegionTextMutation();
12377    return useRenderElement("div", componentProps, {
12378      ref: [forwardedRef, statusRef],
12379      props: [{
12380        children: childrenProp,
12381        role: "status",
12382        "aria-live": "polite",
12383        "aria-atomic": true
12384      }, elementProps]
12385    });
12386  });
12387  if (true) ComboboxStatus.displayName = "ComboboxStatus";
12388  
12389  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/portal/ComboboxPortal.mjs
12390  var React69 = __toESM(require_react(), 1);
12391  
12392  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/portal/ComboboxPortalContext.mjs
12393  var React68 = __toESM(require_react(), 1);
12394  var ComboboxPortalContext = /* @__PURE__ */ React68.createContext(void 0);
12395  if (true) ComboboxPortalContext.displayName = "ComboboxPortalContext";
12396  function useComboboxPortalContext() {
12397    const context = React68.useContext(ComboboxPortalContext);
12398    if (context === void 0) {
12399      throw new Error(true ? "Base UI: <Combobox.Portal> is missing." : formatErrorMessage_default(20));
12400    }
12401    return context;
12402  }
12403  
12404  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/portal/ComboboxPortal.mjs
12405  var import_jsx_runtime18 = __toESM(require_jsx_runtime(), 1);
12406  var ComboboxPortal = /* @__PURE__ */ React69.forwardRef(function ComboboxPortal2(props, forwardedRef) {
12407    const {
12408      keepMounted = false,
12409      ...portalProps
12410    } = props;
12411    const store = useComboboxRootContext();
12412    const mounted = store.useState("mounted");
12413    const forceMounted = store.useState("forceMounted");
12414    const shouldRender = mounted || keepMounted || forceMounted;
12415    if (!shouldRender) {
12416      return null;
12417    }
12418    return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(ComboboxPortalContext.Provider, {
12419      value: keepMounted,
12420      children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(FloatingPortal, {
12421        ref: forwardedRef,
12422        ...portalProps
12423      })
12424    });
12425  });
12426  if (true) ComboboxPortal.displayName = "ComboboxPortal";
12427  
12428  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/backdrop/ComboboxBackdrop.mjs
12429  var React70 = __toESM(require_react(), 1);
12430  var stateAttributesMapping2 = {
12431    ...popupStateMapping,
12432    ...transitionStatusMapping
12433  };
12434  var ComboboxBackdrop = /* @__PURE__ */ React70.forwardRef(function ComboboxBackdrop2(componentProps, forwardedRef) {
12435    const {
12436      render,
12437      className,
12438      style,
12439      ...elementProps
12440    } = componentProps;
12441    const store = useComboboxRootContext();
12442    const open2 = store.useState("open");
12443    const mounted = store.useState("mounted");
12444    const transitionStatus = store.useState("transitionStatus");
12445    const state = {
12446      open: open2,
12447      transitionStatus
12448    };
12449    return useRenderElement("div", componentProps, {
12450      state,
12451      ref: forwardedRef,
12452      stateAttributesMapping: stateAttributesMapping2,
12453      props: [{
12454        role: "presentation",
12455        hidden: !mounted,
12456        style: {
12457          userSelect: "none",
12458          WebkitUserSelect: "none"
12459        }
12460      }, elementProps]
12461    });
12462  });
12463  if (true) ComboboxBackdrop.displayName = "ComboboxBackdrop";
12464  
12465  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/positioner/ComboboxPositioner.mjs
12466  var React74 = __toESM(require_react(), 1);
12467  
12468  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
12469  var React72 = __toESM(require_react(), 1);
12470  
12471  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/hooks/useFloating.mjs
12472  var React71 = __toESM(require_react(), 1);
12473  function useBaseUIFloating(options) {
12474    const {
12475      nodeId,
12476      externalTree,
12477      rootContext: store
12478    } = options;
12479    const referenceElement = store.useState("referenceElement");
12480    const floatingElement = store.useState("floatingElement");
12481    const domReferenceElement = store.useState("domReferenceElement");
12482    const open2 = store.useState("open");
12483    const floatingId = store.useState("floatingId");
12484    const [positionReference, setPositionReferenceRaw] = React71.useState(null);
12485    const domReferenceRef = React71.useRef(null);
12486    const tree = useFloatingTree(externalTree);
12487    const storeElements = React71.useMemo(() => ({
12488      reference: referenceElement,
12489      floating: floatingElement,
12490      domReference: domReferenceElement
12491    }), [referenceElement, floatingElement, domReferenceElement]);
12492    const position = useFloating({
12493      ...options,
12494      elements: {
12495        ...storeElements,
12496        ...positionReference && {
12497          reference: positionReference
12498        }
12499      }
12500    });
12501    const setPositionReference = React71.useCallback((node) => {
12502      const computedPositionReference = isElement(node) ? {
12503        getBoundingClientRect: () => node.getBoundingClientRect(),
12504        getClientRects: () => node.getClientRects(),
12505        contextElement: node
12506      } : node;
12507      setPositionReferenceRaw(computedPositionReference);
12508      position.refs.setReference(computedPositionReference);
12509    }, [position.refs]);
12510    const refs = React71.useMemo(() => ({
12511      ...position.refs,
12512      setPositionReference,
12513      domReference: domReferenceRef
12514    }), [position.refs, setPositionReference]);
12515    const elements = React71.useMemo(() => ({
12516      ...position.elements,
12517      domReference: domReferenceElement
12518    }), [position.elements, domReferenceElement]);
12519    const context = React71.useMemo(() => ({
12520      ...position,
12521      dataRef: store.context.dataRef,
12522      open: open2,
12523      onOpenChange: store.setOpen,
12524      events: store.context.events,
12525      floatingId,
12526      refs,
12527      elements,
12528      nodeId,
12529      rootStore: store
12530    }), [position, refs, elements, nodeId, store, open2, floatingId]);
12531    useIsoLayoutEffect(() => {
12532      if (domReferenceElement) {
12533        domReferenceRef.current = domReferenceElement;
12534      }
12535    }, [domReferenceElement]);
12536    useIsoLayoutEffect(() => {
12537      store.context.dataRef.current.floatingContext = context;
12538      const node = tree?.nodesRef.current.find((n) => n.id === nodeId);
12539      if (node) {
12540        node.context = context;
12541      }
12542    });
12543    return React71.useMemo(() => ({
12544      ...position,
12545      context,
12546      refs,
12547      elements,
12548      rootStore: store
12549    }), [position, refs, elements, context, store]);
12550  }
12551  
12552  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/floating-ui-react/middleware/arrow.mjs
12553  var baseArrow = (options) => ({
12554    name: "arrow",
12555    options,
12556    async fn(state) {
12557      const {
12558        x,
12559        y,
12560        placement,
12561        rects,
12562        platform: platform3,
12563        elements,
12564        middlewareData
12565      } = state;
12566      const {
12567        element,
12568        padding = 0
12569      } = evaluate(options, state) || {};
12570      if (element == null) {
12571        return {};
12572      }
12573      const paddingObject = getPaddingObject(padding);
12574      const coords = {
12575        x,
12576        y
12577      };
12578      const axis = getAlignmentAxis(placement);
12579      const length = getAxisLength(axis);
12580      const arrowDimensions = await platform3.getDimensions(element);
12581      const isYAxis = axis === "y";
12582      const minProp = isYAxis ? "top" : "left";
12583      const maxProp = isYAxis ? "bottom" : "right";
12584      const clientProp = isYAxis ? "clientHeight" : "clientWidth";
12585      const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];
12586      const startDiff = coords[axis] - rects.reference[axis];
12587      const clientSize = elements.floating[clientProp] || rects.floating[length];
12588      const centerToReference = endDiff / 2 - startDiff / 2;
12589      const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
12590      const minPadding = Math.min(paddingObject[minProp], largestPossiblePadding);
12591      const maxPadding = Math.min(paddingObject[maxProp], largestPossiblePadding);
12592      const min2 = minPadding;
12593      const max2 = clientSize - arrowDimensions[length] - maxPadding;
12594      const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
12595      const offset4 = clamp(min2, center, max2);
12596      const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset4 && rects.reference[length] / 2 - (center < min2 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
12597      const alignmentOffset = shouldAddOffset ? center < min2 ? center - min2 : center - max2 : 0;
12598      return {
12599        [axis]: coords[axis] + alignmentOffset,
12600        data: {
12601          [axis]: offset4,
12602          centerOffset: center - offset4 - alignmentOffset,
12603          ...shouldAddOffset && {
12604            alignmentOffset
12605          }
12606        },
12607        reset: shouldAddOffset
12608      };
12609    }
12610  });
12611  var arrow4 = (options, deps) => {
12612    const {
12613      name,
12614      fn
12615    } = baseArrow(options);
12616    return {
12617      name,
12618      fn,
12619      options: [options, deps]
12620    };
12621  };
12622  
12623  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/hideMiddleware.mjs
12624  var hide4 = {
12625    name: "hide",
12626    async fn(state) {
12627      const {
12628        width,
12629        height,
12630        x,
12631        y
12632      } = state.rects.reference;
12633      const anchorHidden2 = width === 0 && height === 0 && x === 0 && y === 0;
12634      const overflow = await state.platform.detectOverflow(state, {
12635        elementContext: "reference"
12636      });
12637      const referenceHidden = overflow.top - height >= 0 || overflow.right - width >= 0 || overflow.bottom - height >= 0 || overflow.left - width >= 0;
12638      return {
12639        data: {
12640          referenceHidden: referenceHidden || anchorHidden2
12641        }
12642      };
12643    }
12644  };
12645  
12646  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginConstants.mjs
12647  var DEFAULT_SIDES = {
12648    sideX: "left",
12649    sideY: "top"
12650  };
12651  
12652  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPositionerCssVars.mjs
12653  var availableWidth = "--available-width";
12654  var availableHeight = "--available-height";
12655  var anchorWidth = "--anchor-width";
12656  var anchorHeight = "--anchor-height";
12657  var transformOrigin = "--transform-origin";
12658  var positionerWidth = "--positioner-width";
12659  var positionerHeight = "--positioner-height";
12660  
12661  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/useAnchorPositioning.mjs
12662  var AVAILABLE_WIDTH_VAR = availableWidth;
12663  var AVAILABLE_HEIGHT_VAR = availableHeight;
12664  function getLogicalSide(sideParam, renderedSide, isRtl) {
12665    const isLogicalSideParam = sideParam === "inline-start" || sideParam === "inline-end";
12666    const logicalRight = isRtl ? "inline-start" : "inline-end";
12667    const logicalLeft = isRtl ? "inline-end" : "inline-start";
12668    return {
12669      top: "top",
12670      right: isLogicalSideParam ? logicalRight : "right",
12671      bottom: "bottom",
12672      left: isLogicalSideParam ? logicalLeft : "left"
12673    }[renderedSide];
12674  }
12675  function getOffsetData(state, sideParam, isRtl) {
12676    const {
12677      rects,
12678      placement
12679    } = state;
12680    const data = {
12681      side: getLogicalSide(sideParam, getSide(placement), isRtl),
12682      align: getAlignment(placement) || "center",
12683      anchor: {
12684        width: rects.reference.width,
12685        height: rects.reference.height
12686      },
12687      positioner: {
12688        width: rects.floating.width,
12689        height: rects.floating.height
12690      }
12691    };
12692    return data;
12693  }
12694  function useAnchorPositioning(params) {
12695    return useAnchorPositioningWithHook(params, useBaseUIFloating);
12696  }
12697  function useAnchorPositioningWithHook(params, useFloatingHook) {
12698    const {
12699      // Public parameters
12700      anchor,
12701      positionMethod = "absolute",
12702      side: sideParam = "bottom",
12703      sideOffset = 0,
12704      align = "center",
12705      alignOffset = 0,
12706      collisionBoundary,
12707      collisionPadding: collisionPaddingParam = 5,
12708      sticky = false,
12709      arrowPadding = 5,
12710      disableAnchorTracking = false,
12711      inline: inlineMiddleware,
12712      // Private parameters
12713      keepMounted = false,
12714      floatingRootContext,
12715      mounted,
12716      collisionAvoidance,
12717      shift: shift4,
12718      nodeId,
12719      adaptiveOrigin: adaptiveOrigin2,
12720      lazyFlip = false,
12721      externalTree
12722    } = params;
12723    const collisionAvoidanceSide = collisionAvoidance.side || "flip";
12724    const collisionAvoidanceAlign = collisionAvoidance.align || "flip";
12725    const collisionAvoidanceFallbackAxisSide = collisionAvoidance.fallbackAxisSide || "end";
12726    const shiftCrossAxis = shift4?.crossAxis ?? false;
12727    const shiftRootBoundary = shift4?.rootBoundary;
12728    const anchorFn = typeof anchor === "function" ? anchor : void 0;
12729    const anchorFnCallback = useStableCallback(anchorFn);
12730    const anchorDep = anchorFn ? anchorFnCallback : anchor;
12731    const anchorValueRef = useValueAsRef(anchor);
12732    const mountedRef = useValueAsRef(mounted);
12733    const direction = useDirection();
12734    const isRtl = direction === "rtl";
12735    const [mountPlacement, setMountPlacement] = React72.useState(null);
12736    if (!mounted && mountPlacement !== null) {
12737      setMountPlacement(null);
12738    }
12739    const lockAlign = lazyFlip === "placement";
12740    const mountSide = mountPlacement ? getSide(mountPlacement) : null;
12741    const mountAlign = mountPlacement && lockAlign ? getAlignment(mountPlacement) || "center" : null;
12742    const side = mountSide || {
12743      top: "top",
12744      right: "right",
12745      bottom: "bottom",
12746      left: "left",
12747      "inline-end": isRtl ? "left" : "right",
12748      "inline-start": isRtl ? "right" : "left"
12749    }[sideParam];
12750    const placementAlign = mountAlign || align;
12751    const placement = placementAlign === "center" ? side : `$side}-$placementAlign}`;
12752    let collisionPadding = collisionPaddingParam;
12753    if (typeof collisionPadding === "number") {
12754      collisionPadding = {
12755        top: collisionPadding,
12756        right: collisionPadding,
12757        bottom: collisionPadding,
12758        left: collisionPadding
12759      };
12760    } else if (collisionPadding) {
12761      collisionPadding = {
12762        top: collisionPadding.top || 0,
12763        right: collisionPadding.right || 0,
12764        bottom: collisionPadding.bottom || 0,
12765        left: collisionPadding.left || 0
12766      };
12767    }
12768    const bias = 1;
12769    const biasTop = sideParam === "bottom" ? bias : 0;
12770    const biasBottom = sideParam === "top" ? bias : 0;
12771    const biasLeft = sideParam === "right" ? bias : 0;
12772    const biasRight = sideParam === "left" ? bias : 0;
12773    const commonCollisionProps = {
12774      boundary: collisionBoundary === "clipping-ancestors" ? "clippingAncestors" : collisionBoundary,
12775      padding: collisionPadding
12776    };
12777    const arrowRef = React72.useRef(null);
12778    const sideOffsetRef = useValueAsRef(sideOffset);
12779    const alignOffsetRef = useValueAsRef(alignOffset);
12780    const sideOffsetDep = typeof sideOffset !== "function" ? sideOffset : 0;
12781    const alignOffsetDep = typeof alignOffset !== "function" ? alignOffset : 0;
12782    const middleware = [];
12783    if (inlineMiddleware) {
12784      middleware.push(inlineMiddleware);
12785    }
12786    middleware.push(offset3((state) => {
12787      const data = getOffsetData(state, sideParam, isRtl);
12788      const sideAxis = typeof sideOffsetRef.current === "function" ? sideOffsetRef.current(data) : sideOffsetRef.current;
12789      const alignAxis = typeof alignOffsetRef.current === "function" ? alignOffsetRef.current(data) : alignOffsetRef.current;
12790      return {
12791        mainAxis: sideAxis,
12792        crossAxis: alignAxis,
12793        alignmentAxis: alignAxis
12794      };
12795    }, [sideOffsetDep, alignOffsetDep, isRtl, sideParam]));
12796    const shiftDisabled = collisionAvoidanceAlign === "none" && collisionAvoidanceSide !== "shift";
12797    const crossAxisShiftEnabled = !shiftDisabled && (sticky || shiftCrossAxis || collisionAvoidanceSide === "shift");
12798    const flipMiddleware = collisionAvoidanceSide === "none" ? null : flip3({
12799      ...commonCollisionProps,
12800      // Ensure the popup flips if it's been limited by its --available-height and it resizes.
12801      // Since the size() padding is smaller than the flip() padding, flip() will take precedence.
12802      padding: {
12803        top: collisionPadding.top + bias + biasTop,
12804        right: collisionPadding.right + bias + biasRight,
12805        bottom: collisionPadding.bottom + bias + biasBottom,
12806        left: collisionPadding.left + bias + biasLeft
12807      },
12808      mainAxis: !shiftCrossAxis && collisionAvoidanceSide === "flip",
12809      crossAxis: collisionAvoidanceAlign === "flip" ? "alignment" : false,
12810      fallbackAxisSideDirection: collisionAvoidanceFallbackAxisSide
12811    });
12812    const shiftMiddleware = shiftDisabled ? null : shift3({
12813      ...commonCollisionProps,
12814      // Use the Layout Viewport to avoid shifting around when pinch-zooming.
12815      rootBoundary: shiftRootBoundary,
12816      mainAxis: collisionAvoidanceAlign !== "none",
12817      crossAxis: crossAxisShiftEnabled,
12818      limiter: sticky || shiftCrossAxis ? void 0 : limitShift3((limitData) => {
12819        if (!arrowRef.current) {
12820          return {};
12821        }
12822        const {
12823          width,
12824          height
12825        } = arrowRef.current.getBoundingClientRect();
12826        const sideAxis = getSideAxis(getSide(limitData.placement));
12827        const arrowSize = sideAxis === "y" ? width : height;
12828        const offsetAmount = sideAxis === "y" ? collisionPadding.left + collisionPadding.right : collisionPadding.top + collisionPadding.bottom;
12829        return {
12830          offset: arrowSize / 2 + offsetAmount / 2
12831        };
12832      })
12833    }, [commonCollisionProps, sticky, shiftCrossAxis, shiftRootBoundary, collisionPadding, collisionAvoidanceAlign]);
12834    if (collisionAvoidanceSide === "shift" || collisionAvoidanceAlign === "shift" || placementAlign === "center") {
12835      middleware.push(shiftMiddleware, flipMiddleware);
12836    } else {
12837      middleware.push(flipMiddleware, shiftMiddleware);
12838    }
12839    middleware.push(size3({
12840      ...commonCollisionProps,
12841      apply({
12842        elements: {
12843          floating
12844        },
12845        availableWidth: availableWidth2,
12846        availableHeight: availableHeight2,
12847        rects
12848      }) {
12849        if (!mountedRef.current) {
12850          return;
12851        }
12852        const floatingStyle = floating.style;
12853        floatingStyle.setProperty(AVAILABLE_WIDTH_VAR, `$availableWidth2}px`);
12854        floatingStyle.setProperty(AVAILABLE_HEIGHT_VAR, `$availableHeight2}px`);
12855        const dpr = getWindow(floating).devicePixelRatio || 1;
12856        const {
12857          x: x2,
12858          y: y2,
12859          width,
12860          height
12861        } = rects.reference;
12862        const anchorWidth2 = (Math.round((x2 + width) * dpr) - Math.round(x2 * dpr)) / dpr;
12863        const anchorHeight2 = (Math.round((y2 + height) * dpr) - Math.round(y2 * dpr)) / dpr;
12864        floatingStyle.setProperty(anchorWidth, `$anchorWidth2}px`);
12865        floatingStyle.setProperty(anchorHeight, `$anchorHeight2}px`);
12866      }
12867    }), arrow4((state) => ({
12868      // `transform-origin` calculations rely on an element existing. If the arrow hasn't been set,
12869      // we'll create a fake element.
12870      element: arrowRef.current || ownerDocument(state.elements.floating).createElement("div"),
12871      // No padding for the fake arrow: it would displace aligned popups on narrow anchors.
12872      padding: arrowRef.current ? arrowPadding : 0
12873    }), [arrowPadding]), {
12874      name: "transformOrigin",
12875      fn(state) {
12876        const {
12877          elements: {
12878            floating
12879          },
12880          middlewareData: middlewareData2,
12881          placement: renderedPlacement2,
12882          platform: platform3,
12883          rects,
12884          y: y2
12885        } = state;
12886        const renderedSide2 = getSide(renderedPlacement2);
12887        const renderedAlign2 = getAlignment(renderedPlacement2);
12888        const isVertical = getSideAxis(renderedSide2) === "y";
12889        const arrowEl = arrowRef.current;
12890        const sideOffsetValue = typeof sideOffset === "function" ? sideOffset(getOffsetData(state, sideParam, isRtl)) : sideOffset;
12891        let crossOrigin;
12892        if (!arrowEl && renderedAlign2 && Math.abs(isVertical ? middlewareData2.shift?.x || 0 : middlewareData2.shift?.y || 0) <= 1) {
12893          crossOrigin = renderedAlign2 === "start" === (isVertical && platform3.isRTL?.(floating) === true) ? "100%" : "0%";
12894        } else {
12895          const arrowOffset = isVertical ? middlewareData2.arrow?.x || 0 : middlewareData2.arrow?.y || 0;
12896          const arrowSize = isVertical ? arrowEl?.clientWidth || 0 : arrowEl?.clientHeight || 0;
12897          crossOrigin = `$arrowOffset + arrowSize / 2}px`;
12898        }
12899        let sideOrigin = renderedSide2 === "top" || renderedSide2 === "left" ? `calc(100% + $sideOffsetValue}px)` : `${-sideOffsetValue}px`;
12900        if (crossAxisShiftEnabled && isVertical && Math.abs(middlewareData2.shift?.y || 0) > sideOffsetValue) {
12901          sideOrigin = `$rects.reference.y + rects.reference.height / 2 - y2}px`;
12902        }
12903        floating.style.setProperty(transformOrigin, isVertical ? `$crossOrigin} $sideOrigin}` : `$sideOrigin} $crossOrigin}`);
12904        return {};
12905      }
12906    }, hide4, adaptiveOrigin2);
12907    useIsoLayoutEffect(() => {
12908      if (!mounted && floatingRootContext) {
12909        floatingRootContext.update({
12910          referenceElement: null,
12911          floatingElement: null,
12912          domReferenceElement: null,
12913          positionReference: null
12914        });
12915      }
12916    }, [mounted, floatingRootContext]);
12917    const autoUpdateOptions = React72.useMemo(() => ({
12918      ancestorScroll: !disableAnchorTracking,
12919      elementResize: !disableAnchorTracking && typeof ResizeObserver !== "undefined",
12920      layoutShift: !disableAnchorTracking && typeof IntersectionObserver !== "undefined"
12921    }), [disableAnchorTracking]);
12922    const {
12923      refs,
12924      elements,
12925      x,
12926      y,
12927      middlewareData,
12928      update: update2,
12929      placement: renderedPlacement,
12930      context,
12931      isPositioned,
12932      floatingStyles: originalFloatingStyles
12933    } = useFloatingHook({
12934      rootContext: floatingRootContext,
12935      open: keepMounted ? mounted : void 0,
12936      placement,
12937      middleware,
12938      strategy: positionMethod,
12939      whileElementsMounted: keepMounted ? void 0 : (...args) => autoUpdate(...args, autoUpdateOptions),
12940      nodeId,
12941      externalTree
12942    });
12943    const {
12944      sideX,
12945      sideY
12946    } = middlewareData.adaptiveOrigin || DEFAULT_SIDES;
12947    const resolvedPosition = isPositioned ? positionMethod : "fixed";
12948    const floatingStyles = React72.useMemo(() => {
12949      let base;
12950      if (!isPositioned) {
12951        base = {
12952          position: resolvedPosition,
12953          top: 0,
12954          left: 0
12955        };
12956      } else if (adaptiveOrigin2) {
12957        base = {
12958          position: resolvedPosition,
12959          [sideX]: x,
12960          [sideY]: y
12961        };
12962      } else {
12963        base = {
12964          ...originalFloatingStyles,
12965          position: resolvedPosition
12966        };
12967      }
12968      base[AVAILABLE_WIDTH_VAR] = "100vw";
12969      base[AVAILABLE_HEIGHT_VAR] = "100vh";
12970      if (!isPositioned) {
12971        base.opacity = 0;
12972      }
12973      return base;
12974    }, [adaptiveOrigin2, resolvedPosition, sideX, x, sideY, y, originalFloatingStyles, isPositioned]);
12975    const registeredPositionReferenceRef = React72.useRef(null);
12976    useIsoLayoutEffect(() => {
12977      if (!mounted) {
12978        return;
12979      }
12980      const anchorValue = anchorValueRef.current;
12981      const resolvedAnchor = typeof anchorValue === "function" ? anchorValue() : anchorValue;
12982      const unwrappedElement = (isRef(resolvedAnchor) ? resolvedAnchor.current : resolvedAnchor) || null;
12983      const finalAnchor = unwrappedElement || null;
12984      if (finalAnchor !== registeredPositionReferenceRef.current) {
12985        refs.setPositionReference(finalAnchor);
12986        registeredPositionReferenceRef.current = finalAnchor;
12987      }
12988    }, [mounted, refs, anchorDep, anchorValueRef]);
12989    React72.useEffect(() => {
12990      if (!mounted) {
12991        return;
12992      }
12993      const anchorValue = anchorValueRef.current;
12994      if (typeof anchorValue === "function") {
12995        return;
12996      }
12997      if (isRef(anchorValue) && anchorValue.current !== registeredPositionReferenceRef.current) {
12998        refs.setPositionReference(anchorValue.current);
12999        registeredPositionReferenceRef.current = anchorValue.current;
13000      }
13001    }, [mounted, refs, anchorDep, anchorValueRef]);
13002    React72.useEffect(() => {
13003      if (keepMounted && mounted && elements.reference && elements.floating) {
13004        return autoUpdate(elements.reference, elements.floating, update2, autoUpdateOptions);
13005      }
13006      return void 0;
13007    }, [keepMounted, mounted, elements, update2, autoUpdateOptions]);
13008    const renderedSide = getSide(renderedPlacement);
13009    const logicalRenderedSide = getLogicalSide(sideParam, renderedSide, isRtl);
13010    const renderedAlign = getAlignment(renderedPlacement) || "center";
13011    const anchorHidden2 = Boolean(middlewareData.hide?.referenceHidden);
13012    useIsoLayoutEffect(() => {
13013      if (lazyFlip && mounted && isPositioned && (renderedSide !== side || lockAlign && renderedAlign !== placementAlign)) {
13014        setMountPlacement(renderedPlacement);
13015      }
13016    }, [lazyFlip, lockAlign, mounted, isPositioned, renderedPlacement, renderedSide, renderedAlign, side, placementAlign]);
13017    const arrowStyles = React72.useMemo(() => ({
13018      position: "absolute",
13019      top: middlewareData.arrow?.y,
13020      left: middlewareData.arrow?.x
13021    }), [middlewareData.arrow]);
13022    const arrowUncentered = middlewareData.arrow?.centerOffset !== 0;
13023    return React72.useMemo(() => ({
13024      positionerStyles: floatingStyles,
13025      arrowStyles,
13026      arrowRef,
13027      arrowUncentered,
13028      side: logicalRenderedSide,
13029      align: renderedAlign,
13030      physicalSide: renderedSide,
13031      anchorHidden: anchorHidden2,
13032      refs,
13033      context,
13034      isPositioned,
13035      update: update2
13036    }), [floatingStyles, arrowStyles, arrowRef, arrowUncentered, logicalRenderedSide, renderedAlign, renderedSide, anchorHidden2, refs, context, isPositioned, update2]);
13037  }
13038  function isRef(param) {
13039    return param != null && "current" in param;
13040  }
13041  
13042  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/getDisabledMountTransitionStyles.mjs
13043  function getDisabledMountTransitionStyles(transitionStatus) {
13044    return transitionStatus === "starting" ? DISABLED_TRANSITIONS_STYLE : EMPTY_OBJECT;
13045  }
13046  
13047  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePositioner.mjs
13048  function usePositioner(componentProps, state, {
13049    styles,
13050    transitionStatus,
13051    props,
13052    refs,
13053    hidden,
13054    inert = false
13055  }) {
13056    const style = {
13057      ...styles
13058    };
13059    if (inert) {
13060      style.pointerEvents = "none";
13061    }
13062    return useRenderElement("div", componentProps, {
13063      state,
13064      ref: refs,
13065      props: [{
13066        role: "presentation",
13067        hidden,
13068        style
13069      }, getDisabledMountTransitionStyles(transitionStatus), props],
13070      stateAttributesMapping: popupStateMapping
13071    });
13072  }
13073  
13074  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useAnchoredPopupScrollLock.mjs
13075  var React73 = __toESM(require_react(), 1);
13076  var VIEWPORT_WIDTH_TOLERANCE_PX = 20;
13077  function useAnchoredPopupScrollLock(enabled, touchOpen, positionerElement, referenceElement) {
13078    const [touchOpenShouldLockScroll, setTouchOpenShouldLockScroll] = React73.useState(false);
13079    useIsoLayoutEffect(() => {
13080      if (!enabled || !touchOpen || positionerElement == null) {
13081        setTouchOpenShouldLockScroll(false);
13082        return;
13083      }
13084      const viewportWidth = ownerDocument(positionerElement).documentElement.clientWidth;
13085      const popupWidth2 = positionerElement.offsetWidth;
13086      setTouchOpenShouldLockScroll(viewportWidth > 0 && popupWidth2 > 0 && popupWidth2 >= viewportWidth - VIEWPORT_WIDTH_TOLERANCE_PX);
13087    }, [enabled, touchOpen, positionerElement]);
13088    useScrollLock(enabled && (!touchOpen || touchOpenShouldLockScroll), referenceElement);
13089  }
13090  
13091  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/positioner/ComboboxPositioner.mjs
13092  var import_jsx_runtime19 = __toESM(require_jsx_runtime(), 1);
13093  var ComboboxPositioner = /* @__PURE__ */ React74.forwardRef(function ComboboxPositioner2(componentProps, forwardedRef) {
13094    const {
13095      render,
13096      className,
13097      anchor,
13098      // `useAnchorPositioning` applies the same defaults to the undefined values; the names
13099      // remain destructured to exclude the props from `elementProps`.
13100      positionMethod,
13101      side,
13102      align,
13103      sideOffset,
13104      alignOffset,
13105      collisionBoundary = "clipping-ancestors",
13106      collisionPadding,
13107      arrowPadding,
13108      sticky,
13109      disableAnchorTracking = false,
13110      collisionAvoidance = DROPDOWN_COLLISION_AVOIDANCE,
13111      style: styleProp,
13112      ...elementProps
13113    } = componentProps;
13114    const store = useComboboxRootContext();
13115    const floatingRootContext = useComboboxFloatingContext();
13116    const keepMounted = useComboboxPortalContext();
13117    const modal = store.useState("modal");
13118    const open2 = store.useState("open");
13119    const mounted = store.useState("mounted");
13120    const openMethod = store.useState("openMethod");
13121    const positionerElement = store.useState("positionerElement");
13122    const triggerElement = store.useState("triggerElement");
13123    const inputElement = store.useState("inputElement");
13124    const inputGroupElement = store.useState("inputGroupElement");
13125    const inputInsidePopup = store.useState("inputInsidePopup");
13126    const transitionStatus = store.useState("transitionStatus");
13127    const empty = useListEmpty();
13128    const resolvedAnchor = anchor ?? (inputInsidePopup ? triggerElement : inputGroupElement ?? inputElement);
13129    const positioning = useAnchorPositioning({
13130      anchor: resolvedAnchor,
13131      floatingRootContext,
13132      positionMethod,
13133      mounted,
13134      side,
13135      sideOffset,
13136      align,
13137      alignOffset,
13138      arrowPadding,
13139      collisionBoundary,
13140      collisionPadding,
13141      sticky,
13142      disableAnchorTracking,
13143      keepMounted,
13144      collisionAvoidance,
13145      lazyFlip: true
13146    });
13147    useAnchoredPopupScrollLock(open2 && modal, openMethod === "touch", positionerElement, triggerElement);
13148    const state = {
13149      open: open2,
13150      side: positioning.side,
13151      align: positioning.align,
13152      anchorHidden: positioning.anchorHidden,
13153      empty
13154    };
13155    useIsoLayoutEffect(() => {
13156      store.set("popupSide", positioning.side);
13157    }, [store, positioning.side]);
13158    const setPositionerElement = useStableCallback((element2) => {
13159      store.set("positionerElement", element2);
13160    });
13161    const element = usePositioner(componentProps, state, {
13162      styles: positioning.positionerStyles,
13163      transitionStatus,
13164      props: elementProps,
13165      refs: [forwardedRef, setPositionerElement],
13166      hidden: !mounted,
13167      inert: !open2
13168    });
13169    return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(ComboboxPositionerContext.Provider, {
13170      value: positioning,
13171      children: [mounted && modal && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(InternalBackdrop, {
13172        inert: inertValue(!open2),
13173        cutout: inputGroupElement ?? inputElement ?? triggerElement
13174      }), element]
13175    });
13176  });
13177  if (true) ComboboxPositioner.displayName = "ComboboxPositioner";
13178  
13179  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/popup/ComboboxPopup.mjs
13180  var React75 = __toESM(require_react(), 1);
13181  var import_jsx_runtime20 = __toESM(require_jsx_runtime(), 1);
13182  var stateAttributesMapping3 = {
13183    ...popupStateMapping,
13184    ...transitionStatusMapping
13185  };
13186  var ComboboxPopup = /* @__PURE__ */ React75.forwardRef(function ComboboxPopup2(componentProps, forwardedRef) {
13187    const {
13188      render,
13189      className,
13190      style,
13191      initialFocus,
13192      finalFocus,
13193      ...elementProps
13194    } = componentProps;
13195    const store = useComboboxRootContext();
13196    const positioning = useComboboxPositionerContext();
13197    const floatingRootContext = useComboboxFloatingContext();
13198    const mounted = store.useState("mounted");
13199    const open2 = store.useState("open");
13200    const openMethod = store.useState("openMethod");
13201    const popupProps = store.useState("popupProps");
13202    const transitionStatus = store.useState("transitionStatus");
13203    const inputInsidePopup = store.useState("inputInsidePopup");
13204    const inputElement = store.useState("inputElement");
13205    const modal = store.useState("modal");
13206    const rootId = store.useState("id");
13207    const empty = useListEmpty();
13208    const popupId = elementProps.id ?? (inputInsidePopup ? getComboboxPopupId(rootId) : void 0);
13209    useIsoLayoutEffect(() => {
13210      store.set("popupId", store.context.popupRef.current?.id || popupId);
13211      return () => {
13212        store.set("popupId", void 0);
13213      };
13214    }, [store, popupId]);
13215    useOpenChangeComplete({
13216      open: open2,
13217      ref: store.context.popupRef,
13218      onComplete() {
13219        if (open2) {
13220          store.context.onOpenChangeComplete(true);
13221        }
13222      }
13223    });
13224    const state = {
13225      open: open2,
13226      side: positioning.side,
13227      align: positioning.align,
13228      anchorHidden: positioning.anchorHidden,
13229      transitionStatus,
13230      empty
13231    };
13232    const element = useRenderElement("div", componentProps, {
13233      state,
13234      ref: [forwardedRef, store.context.popupRef],
13235      props: [popupProps, {
13236        id: popupId,
13237        role: inputInsidePopup ? "dialog" : "presentation",
13238        onFocus(event) {
13239          const target = getTarget(event.nativeEvent);
13240          if (openMethod !== "touch" && (contains(store.state.listElement, target) || target === event.currentTarget)) {
13241            store.context.inputRef.current?.focus();
13242          }
13243        }
13244      }, getDisabledMountTransitionStyles(transitionStatus), elementProps],
13245      stateAttributesMapping: stateAttributesMapping3
13246    });
13247    const computedDefaultInitialFocus = inputInsidePopup ? (interactionType) => interactionType === "touch" ? store.context.popupRef.current : inputElement : false;
13248    const resolvedInitialFocus = initialFocus === void 0 ? computedDefaultInitialFocus : initialFocus;
13249    let resolvedFinalFocus;
13250    if (finalFocus != null) {
13251      resolvedFinalFocus = finalFocus;
13252    } else {
13253      resolvedFinalFocus = inputInsidePopup ? void 0 : false;
13254    }
13255    const focusManagerModal = !inputInsidePopup || modal;
13256    return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(FloatingFocusManager, {
13257      context: floatingRootContext,
13258      disabled: !mounted,
13259      modal: focusManagerModal,
13260      openInteractionType: openMethod,
13261      initialFocus: resolvedInitialFocus,
13262      returnFocus: resolvedFinalFocus,
13263      getInsideElements: () => [store.context.startDismissRef.current, store.context.endDismissRef.current],
13264      children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(React75.Fragment, {
13265        children: [element, focusManagerModal && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(ComboboxInternalDismissButton, {
13266          ref: store.context.endDismissRef
13267        })]
13268      })
13269    });
13270  });
13271  if (true) ComboboxPopup.displayName = "ComboboxPopup";
13272  
13273  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/arrow/ComboboxArrow.mjs
13274  var React76 = __toESM(require_react(), 1);
13275  var ComboboxArrow = /* @__PURE__ */ React76.forwardRef(function ComboboxArrow2(componentProps, forwardedRef) {
13276    const {
13277      render,
13278      className,
13279      style,
13280      ...elementProps
13281    } = componentProps;
13282    const store = useComboboxRootContext();
13283    const {
13284      arrowRef,
13285      side,
13286      align,
13287      arrowUncentered,
13288      arrowStyles
13289    } = useComboboxPositionerContext();
13290    const open2 = store.useState("open");
13291    const state = {
13292      open: open2,
13293      side,
13294      align,
13295      uncentered: arrowUncentered
13296    };
13297    return useRenderElement("div", componentProps, {
13298      ref: [arrowRef, forwardedRef],
13299      stateAttributesMapping: popupStateMapping,
13300      state,
13301      props: {
13302        style: arrowStyles,
13303        "aria-hidden": true,
13304        ...elementProps
13305      }
13306    });
13307  });
13308  if (true) ComboboxArrow.displayName = "ComboboxArrow";
13309  
13310  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/group/ComboboxGroup.mjs
13311  var React78 = __toESM(require_react(), 1);
13312  
13313  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/group/ComboboxGroupContext.mjs
13314  var React77 = __toESM(require_react(), 1);
13315  var ComboboxGroupContext = /* @__PURE__ */ React77.createContext(void 0);
13316  if (true) ComboboxGroupContext.displayName = "ComboboxGroupContext";
13317  function useComboboxGroupContext() {
13318    const context = React77.useContext(ComboboxGroupContext);
13319    if (context === void 0) {
13320      throw new Error(true ? "Base UI: ComboboxGroupContext is missing. ComboboxGroup parts must be placed within <Combobox.Group>." : formatErrorMessage_default(18));
13321    }
13322    return context;
13323  }
13324  
13325  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/group/ComboboxGroup.mjs
13326  var import_jsx_runtime21 = __toESM(require_jsx_runtime(), 1);
13327  var ComboboxGroup = /* @__PURE__ */ React78.forwardRef(function ComboboxGroup2(componentProps, forwardedRef) {
13328    const {
13329      render,
13330      className,
13331      style,
13332      items,
13333      ...elementProps
13334    } = componentProps;
13335    const store = useComboboxRootContext();
13336    const grid = store.useState("grid");
13337    const [labelId, setLabelId] = React78.useState();
13338    const contextValue = React78.useMemo(() => ({
13339      labelId,
13340      setLabelId,
13341      items
13342    }), [labelId, setLabelId, items]);
13343    const element = useRenderElement("div", componentProps, {
13344      ref: forwardedRef,
13345      props: [{
13346        // `group` is not a valid owned element of `grid`, and `row` must be owned
13347        // by `grid`, `rowgroup`, or `treegrid`.
13348        role: grid ? "rowgroup" : "group",
13349        "aria-labelledby": labelId
13350      }, elementProps]
13351    });
13352    const wrappedElement = /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ComboboxGroupContext.Provider, {
13353      value: contextValue,
13354      children: element
13355    });
13356    if (items) {
13357      return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(GroupCollectionProvider, {
13358        items,
13359        children: wrappedElement
13360      });
13361    }
13362    return wrappedElement;
13363  });
13364  if (true) ComboboxGroup.displayName = "ComboboxGroup";
13365  
13366  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/group-label/ComboboxGroupLabel.mjs
13367  var React79 = __toESM(require_react(), 1);
13368  var ComboboxGroupLabel = /* @__PURE__ */ React79.forwardRef(function ComboboxGroupLabel2(componentProps, forwardedRef) {
13369    const {
13370      render,
13371      className,
13372      style,
13373      id: idProp,
13374      ...elementProps
13375    } = componentProps;
13376    const {
13377      setLabelId
13378    } = useComboboxGroupContext();
13379    const id = useBaseUiId(idProp);
13380    useIsoLayoutEffect(() => {
13381      setLabelId(id);
13382      return () => {
13383        setLabelId((currentId) => currentId === id ? void 0 : currentId);
13384      };
13385    }, [id, setLabelId]);
13386    const element = useRenderElement("div", componentProps, {
13387      ref: forwardedRef,
13388      props: [{
13389        id,
13390        "aria-hidden": true
13391      }, elementProps]
13392    });
13393    return element;
13394  });
13395  if (true) ComboboxGroupLabel.displayName = "ComboboxGroupLabel";
13396  
13397  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/item/ComboboxItem.mjs
13398  var React82 = __toESM(require_react(), 1);
13399  var ReactDOM6 = __toESM(require_react_dom(), 1);
13400  
13401  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/item/ComboboxItemContext.mjs
13402  var React80 = __toESM(require_react(), 1);
13403  var ComboboxItemContext = /* @__PURE__ */ React80.createContext(void 0);
13404  if (true) ComboboxItemContext.displayName = "ComboboxItemContext";
13405  
13406  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/row/ComboboxRowContext.mjs
13407  var React81 = __toESM(require_react(), 1);
13408  var ComboboxRowContext = /* @__PURE__ */ React81.createContext(false);
13409  if (true) ComboboxRowContext.displayName = "ComboboxRowContext";
13410  function useComboboxRowContext() {
13411    return React81.useContext(ComboboxRowContext);
13412  }
13413  
13414  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/item/ComboboxItem.mjs
13415  var import_jsx_runtime22 = __toESM(require_jsx_runtime(), 1);
13416  function ComboboxItemInner(props) {
13417    const {
13418      componentProps,
13419      forwardedRef,
13420      virtualized,
13421      indexFromFilter
13422    } = props;
13423    const {
13424      render,
13425      className,
13426      style,
13427      value: itemValue = null,
13428      index: indexProp,
13429      disabled: disabledProp = false,
13430      nativeButton = false,
13431      ...elementProps
13432    } = componentProps;
13433    const textRef = React82.useRef(null);
13434    const listItem = useCompositeListItem({
13435      guess: true,
13436      index: indexProp,
13437      textRef
13438    });
13439    const store = useComboboxRootContext();
13440    const isRow = useComboboxRowContext();
13441    const hasItems = useComboboxHasItemsContext();
13442    const {
13443      props: itemProps,
13444      id: rootId,
13445      selectionMode,
13446      disabled: rootDisabled,
13447      readOnly,
13448      isItemEqualToValue
13449    } = store.useState("itemRoot");
13450    const disabled2 = rootDisabled || disabledProp;
13451    const selectable = selectionMode !== "none";
13452    const index2 = indexProp ?? indexFromFilter ?? listItem.index;
13453    const hasRegistered = index2 !== -1;
13454    const highlighted = store.useState("isActive", index2);
13455    const matchesSelectedValue = store.useState("isSelected", itemValue);
13456    const itemRef = React82.useRef(null);
13457    const id = rootId != null && hasRegistered ? `$rootId}-$index2}` : void 0;
13458    const selected = matchesSelectedValue && selectable;
13459    useIsoLayoutEffect(() => {
13460      const shouldRun = hasRegistered && (virtualized || indexProp != null);
13461      if (!shouldRun) {
13462        return void 0;
13463      }
13464      const list = store.context.listRef.current;
13465      list[index2] = itemRef.current;
13466      return () => {
13467        delete list[index2];
13468      };
13469    }, [hasRegistered, virtualized, index2, indexProp, store]);
13470    useIsoLayoutEffect(() => {
13471      if (!hasRegistered || hasItems) {
13472        return void 0;
13473      }
13474      const visibleValues = store.context.valuesRef.current;
13475      visibleValues[index2] = itemValue;
13476      return () => {
13477        delete visibleValues[index2];
13478      };
13479    }, [hasRegistered, hasItems, index2, itemValue, store]);
13480    useIsoLayoutEffect(() => {
13481      if (!hasRegistered || hasItems) {
13482        return;
13483      }
13484      const selectedValue = store.state.selectedValue;
13485      let nextIndex = store.state.selectedIndex;
13486      if (store.state.selectionMode === "multiple" && Array.isArray(selectedValue)) {
13487        nextIndex = resolveSelectedIndex(index2, itemValue, store.context.valuesRef.current, selectedValue, isItemEqualToValue, nextIndex);
13488      } else if (compareItemEquality(itemValue, selectedValue, isItemEqualToValue)) {
13489        nextIndex = index2;
13490      }
13491      store.set("selectedIndex", nextIndex);
13492    }, [hasRegistered, hasItems, store, index2, itemValue, isItemEqualToValue]);
13493    const {
13494      getButtonProps,
13495      buttonRef
13496    } = useButton({
13497      disabled: disabled2,
13498      focusableWhenDisabled: true,
13499      native: nativeButton,
13500      composite: true
13501    });
13502    const state = {
13503      disabled: disabled2,
13504      selected,
13505      highlighted
13506    };
13507    function commitSelection(nativeEvent) {
13508      function selectItem() {
13509        store.context.handleSelection(nativeEvent, itemValue);
13510      }
13511      if (store.state.submitOnItemClick) {
13512        ReactDOM6.flushSync(selectItem);
13513        store.context.requestSubmit();
13514      } else {
13515        selectItem();
13516      }
13517    }
13518    const defaultProps = {
13519      id,
13520      role: isRow ? "gridcell" : "option",
13521      "aria-selected": selectable ? selected : void 0,
13522      // Focusable items steal focus from the input upon mouseup.
13523      // Warn if the user renders a natively focusable element like `<button>`,
13524      // as it should be a `<div>` instead.
13525      tabIndex: void 0,
13526      onPointerDownCapture(event) {
13527        if (event.isPrimary) {
13528          store.context.pointerDownItemRef.current = event.currentTarget;
13529        }
13530        event.preventDefault();
13531      },
13532      onMouseDown(event) {
13533        event.preventDefault();
13534      },
13535      onClick(event) {
13536        if (disabled2 || readOnly) {
13537          return;
13538        }
13539        commitSelection(event.nativeEvent);
13540      },
13541      onMouseUp(event) {
13542        const pointerStartedOnItem = store.context.pointerDownItemRef.current === event.currentTarget;
13543        store.context.pointerDownItemRef.current = null;
13544        if (disabled2 || readOnly || event.button !== 0 || pointerStartedOnItem || !highlighted) {
13545          return;
13546        }
13547        commitSelection(event.nativeEvent);
13548      }
13549    };
13550    const element = useRenderElement("div", componentProps, {
13551      ref: [buttonRef, forwardedRef, listItem.ref, itemRef],
13552      state,
13553      props: [itemProps, defaultProps, elementProps, getButtonProps]
13554    });
13555    const contextValue = React82.useMemo(() => ({
13556      selected,
13557      textRef
13558    }), [selected, textRef]);
13559    return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComboboxItemContext.Provider, {
13560      value: contextValue,
13561      children: element
13562    });
13563  }
13564  function ComboboxItemVirtualizedIndex(props) {
13565    const {
13566      componentProps,
13567      forwardedRef
13568    } = props;
13569    const store = useComboboxRootContext();
13570    const isItemEqualToValue = store.useState("isItemEqualToValue");
13571    const {
13572      flatFilteredValues
13573    } = useComboboxDerivedItemsContext();
13574    const lookupValue = componentProps.value ?? null;
13575    const indexFromFilter = findItemIndex(flatFilteredValues, lookupValue, isItemEqualToValue);
13576    return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComboboxItemInner, {
13577      componentProps,
13578      forwardedRef,
13579      virtualized: true,
13580      indexFromFilter
13581    });
13582  }
13583  var ComboboxItem = /* @__PURE__ */ React82.memo(/* @__PURE__ */ React82.forwardRef(function ComboboxItem2(componentProps, forwardedRef) {
13584    const store = useComboboxRootContext();
13585    const virtualized = store.useState("virtualized");
13586    if (virtualized && componentProps.index == null) {
13587      return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComboboxItemVirtualizedIndex, {
13588        componentProps,
13589        forwardedRef
13590      });
13591    }
13592    return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(ComboboxItemInner, {
13593      componentProps,
13594      forwardedRef,
13595      virtualized,
13596      indexFromFilter: void 0
13597    });
13598  }));
13599  if (true) ComboboxItem.displayName = "ComboboxItem";
13600  
13601  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/item/AutocompleteItem.mjs
13602  var AutocompleteItem = ComboboxItem;
13603  
13604  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/row/ComboboxRow.mjs
13605  var React83 = __toESM(require_react(), 1);
13606  var import_jsx_runtime23 = __toESM(require_jsx_runtime(), 1);
13607  var ComboboxRow = /* @__PURE__ */ React83.forwardRef(function ComboboxRow2(componentProps, forwardedRef) {
13608    const {
13609      render,
13610      className,
13611      style,
13612      ...elementProps
13613    } = componentProps;
13614    const element = useRenderElement("div", componentProps, {
13615      ref: forwardedRef,
13616      props: [{
13617        role: "row"
13618      }, elementProps]
13619    });
13620    return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(ComboboxRowContext.Provider, {
13621      value: true,
13622      children: element
13623    });
13624  });
13625  if (true) ComboboxRow.displayName = "ComboboxRow";
13626  
13627  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/empty/ComboboxEmpty.mjs
13628  var React84 = __toESM(require_react(), 1);
13629  var ComboboxEmpty = /* @__PURE__ */ React84.forwardRef(function ComboboxEmpty2(componentProps, forwardedRef) {
13630    const {
13631      render,
13632      className,
13633      style,
13634      children: childrenProp,
13635      ...elementProps
13636    } = componentProps;
13637    const {
13638      filteredItems
13639    } = useComboboxDerivedItemsContext();
13640    const store = useComboboxRootContext();
13641    const emptyRef = useInitialLiveRegionTextMutation();
13642    const children = filteredItems.length === 0 ? childrenProp : null;
13643    return useRenderElement("div", componentProps, {
13644      ref: [forwardedRef, store.context.emptyRef, emptyRef],
13645      props: [{
13646        children,
13647        role: "status",
13648        "aria-live": "polite",
13649        "aria-atomic": true
13650      }, elementProps]
13651    });
13652  });
13653  if (true) ComboboxEmpty.displayName = "ComboboxEmpty";
13654  
13655  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/listbox-separator/ListboxSeparator.mjs
13656  var React85 = __toESM(require_react(), 1);
13657  var ListboxSeparator = /* @__PURE__ */ React85.forwardRef(function ListboxSeparator2(componentProps, forwardedRef) {
13658    const {
13659      className,
13660      render,
13661      orientation = "horizontal",
13662      style,
13663      ...elementProps
13664    } = componentProps;
13665    const state = {
13666      orientation
13667    };
13668    return useRenderElement("div", componentProps, {
13669      state,
13670      ref: forwardedRef,
13671      props: [{
13672        role: "presentation"
13673      }, elementProps]
13674    });
13675  });
13676  if (true) ListboxSeparator.displayName = "ListboxSeparator";
13677  
13678  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/autocomplete/separator/AutocompleteSeparator.mjs
13679  var AutocompleteSeparator = ListboxSeparator;
13680  
13681  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/combobox/root/utils/useFilteredItems.mjs
13682  function useFilteredItems() {
13683    const items = useComboboxDerivedItemsContext();
13684    return items.filteredItems;
13685  }
13686  
13687  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/button/Button.mjs
13688  var React86 = __toESM(require_react(), 1);
13689  var Button = /* @__PURE__ */ React86.forwardRef(function Button2(componentProps, forwardedRef) {
13690    const {
13691      render,
13692      className,
13693      disabled: disabled2 = false,
13694      focusableWhenDisabled = false,
13695      nativeButton = true,
13696      style,
13697      ...elementProps
13698    } = componentProps;
13699    const {
13700      getButtonProps,
13701      buttonRef
13702    } = useButton({
13703      disabled: disabled2,
13704      focusableWhenDisabled,
13705      native: nativeButton
13706    });
13707    const state = {
13708      disabled: disabled2
13709    };
13710    return useRenderElement("button", componentProps, {
13711      state,
13712      ref: [forwardedRef, buttonRef],
13713      props: [elementProps, getButtonProps]
13714    });
13715  });
13716  if (true) Button.displayName = "Button";
13717  
13718  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItemContext.mjs
13719  var React87 = __toESM(require_react(), 1);
13720  var FieldItemContext = /* @__PURE__ */ React87.createContext({
13721    disabled: false
13722  });
13723  if (true) FieldItemContext.displayName = "FieldItemContext";
13724  function useFieldItemContext() {
13725    const context = React87.useContext(FieldItemContext);
13726    return context;
13727  }
13728  
13729  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
13730  var React88 = __toESM(require_react(), 1);
13731  
13732  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/utils/getCombinedFieldValidityData.mjs
13733  function getCombinedFieldValidityData(validityData, invalid2) {
13734    return {
13735      ...validityData,
13736      state: {
13737        ...validityData.state,
13738        valid: !invalid2 && validityData.state.valid
13739      }
13740    };
13741  }
13742  
13743  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/useFieldValidation.mjs
13744  var validityKeys = Object.keys(DEFAULT_VALIDITY_STATE);
13745  function isEligibleInput(input, formElement) {
13746    if (input.matches(":disabled")) {
13747      return false;
13748    }
13749    if (!formElement || input.form === formElement) {
13750      return true;
13751    }
13752    return input.form === null && !input.hasAttribute("form");
13753  }
13754  function findRepresentativeInput(inputs, formElement) {
13755    let fallback = null;
13756    for (const input of inputs.keys()) {
13757      if (!isEligibleInput(input, formElement)) {
13758        continue;
13759      }
13760      if (!input.validity.valid) {
13761        return input;
13762      }
13763      fallback ??= input;
13764    }
13765    return fallback;
13766  }
13767  function makeState(customError) {
13768    return {
13769      ...DEFAULT_VALIDITY_STATE,
13770      valid: !customError,
13771      customError
13772    };
13773  }
13774  function getNativeErrors(element) {
13775    return element && element.validationMessage ? [element.validationMessage] : [];
13776  }
13777  function useFieldValidation(params) {
13778    const {
13779      elementRef,
13780      formRef
13781    } = useFormContext();
13782    const {
13783      setValidityData,
13784      validate,
13785      validityData,
13786      validationDebounceTime,
13787      invalid: invalid2,
13788      markedDirtyRef,
13789      state,
13790      shouldValidateOnChange,
13791      validationMode,
13792      registeredFieldIdRef
13793    } = params;
13794    const {
13795      controlId,
13796      getDescriptionProps
13797    } = useLabelableContext();
13798    const timeout = useTimeout();
13799    const inputRef = React88.useRef(null);
13800    const registeredInputs = useRefWithInit(() => /* @__PURE__ */ new Map()).current;
13801    const validationCommitIdRef = React88.useRef(0);
13802    const customValidityRef = React88.useRef(null);
13803    const registerInput = React88.useCallback((element, registration) => {
13804      registeredInputs.set(element, registration);
13805      return () => {
13806        registeredInputs.delete(element);
13807      };
13808    }, [registeredInputs]);
13809    const getInputControl = useStableCallback(() => {
13810      const element = findRepresentativeInput(registeredInputs, elementRef.current);
13811      return element && registeredInputs.get(element)?.controlRef.current || null;
13812    });
13813    const commit = useStableCallback(async (value, revalidate = false) => {
13814      validationCommitIdRef.current += 1;
13815      const validationCommitId = validationCommitIdRef.current;
13816      function updateRegisteredFieldValidity(nextValidityData, externalInvalid = invalid2) {
13817        const fieldId = registeredFieldIdRef.current ?? controlId;
13818        if (fieldId == null) {
13819          return;
13820        }
13821        const currentFieldData = formRef.current.fields.get(fieldId);
13822        if (!currentFieldData) {
13823          return;
13824        }
13825        const validityDataWithFormErrors = getCombinedFieldValidityData(nextValidityData, externalInvalid);
13826        formRef.current.fields.set(fieldId, {
13827          ...currentFieldData,
13828          validityData: validityDataWithFormErrors
13829        });
13830      }
13831      function makeValidityData(validityState, errorMessages) {
13832        const errors = validityState.valid === false ? errorMessages : [];
13833        return {
13834          value,
13835          state: validityState,
13836          error: errors[0] ?? "",
13837          errors,
13838          initialValue: validityData.initialValue
13839        };
13840      }
13841      function setCustomValidity(element2, message) {
13842        const displaced = element2.validity.customError ? element2.validationMessage : "";
13843        const ownedMessage = message.replace(/\r\n?/g, "\n");
13844        element2.setCustomValidity(ownedMessage);
13845        customValidityRef.current = [element2, ownedMessage, displaced];
13846      }
13847      function clearCustomValidity() {
13848        const record = customValidityRef.current;
13849        customValidityRef.current = null;
13850        if (record && (!record[0].willValidate || record[0].validationMessage === record[1])) {
13851          record[0].setCustomValidity(record[2]);
13852        }
13853      }
13854      function publish(validityState, errorMessages, externalInvalid) {
13855        const nextValidityData = makeValidityData(validityState, errorMessages);
13856        updateRegisteredFieldValidity(nextValidityData, externalInvalid);
13857        setValidityData(nextValidityData);
13858      }
13859      function getState(el) {
13860        const computedState = validityKeys.reduce((acc, key) => {
13861          acc[key] = el.validity[key];
13862          return acc;
13863        }, {});
13864        let hasOnlyValueMissingError = false;
13865        for (const key of validityKeys) {
13866          if (key === "valid") {
13867            continue;
13868          }
13869          if (key === "valueMissing" && computedState[key]) {
13870            hasOnlyValueMissingError = true;
13871          } else if (computedState[key]) {
13872            return computedState;
13873          }
13874        }
13875        if (hasOnlyValueMissingError && !markedDirtyRef.current) {
13876          computedState.valid = true;
13877          computedState.valueMissing = false;
13878        }
13879        return computedState;
13880      }
13881      function resolveRepresentativeInput() {
13882        return registeredInputs.size > 0 ? findRepresentativeInput(registeredInputs, elementRef.current) : inputRef.current;
13883      }
13884      let element = resolveRepresentativeInput();
13885      function refreshState() {
13886        element = resolveRepresentativeInput();
13887        return element?.willValidate ? getState(element) : makeState(false);
13888      }
13889      if (revalidate) {
13890        if (state.valid !== false || !element) {
13891          return;
13892        }
13893        if (!element.validity.valueMissing) {
13894          clearCustomValidity();
13895          const currentElement = resolveRepresentativeInput();
13896          const foreign = currentElement?.validity.customError ? getNativeErrors(currentElement) : [];
13897          publish(makeState(foreign.length > 0), foreign, false);
13898          return;
13899        }
13900        for (const key of validityKeys) {
13901          if (key !== "valid" && key !== "valueMissing" && key !== "customError" && element.validity[key]) {
13902            return;
13903          }
13904        }
13905      }
13906      timeout.clear();
13907      clearCustomValidity();
13908      let nextState = refreshState();
13909      let validationErrors = getNativeErrors(element);
13910      const isValidatingOnChange = shouldValidateOnChange();
13911      if (validationErrors.length === 0 || isValidatingOnChange) {
13912        const formValues = Array.from(formRef.current.fields.values()).reduce((acc, field) => {
13913          if (field.name) {
13914            acc[field.name] = field.getValue();
13915          }
13916          return acc;
13917        }, {});
13918        const resultOrPromise = validate(value, formValues);
13919        let result;
13920        if (typeof resultOrPromise === "object" && resultOrPromise !== null && "then" in resultOrPromise) {
13921          if (nextState.valid === false) {
13922            publish(nextState, validationErrors);
13923          } else if (validationMode === "onSubmit" || !validityData.state.customError) {
13924            nextState.valid = null;
13925            publish(nextState, validationErrors);
13926          }
13927          result = await resultOrPromise;
13928          if (validationCommitId !== validationCommitIdRef.current) {
13929            return;
13930          }
13931          nextState = refreshState();
13932        } else {
13933          result = resultOrPromise;
13934        }
13935        validationErrors = result ? [].concat(result).filter(Boolean) : [];
13936        if (validationErrors.length > 0) {
13937          nextState.valid = false;
13938          nextState.customError = true;
13939          if (element?.willValidate) {
13940            setCustomValidity(element, validationErrors.join("\n"));
13941          }
13942        } else {
13943          validationErrors = getNativeErrors(element);
13944        }
13945      }
13946      publish(nextState, validationErrors);
13947    });
13948    const change = useStableCallback((value, cancelPending = false) => {
13949      timeout.clear();
13950      validationCommitIdRef.current += 1;
13951      if (cancelPending) {
13952        return;
13953      }
13954      const validateOnChange = shouldValidateOnChange();
13955      if (validateOnChange && value !== "" && validationDebounceTime) {
13956        timeout.start(validationDebounceTime, () => {
13957          commit(value);
13958        });
13959      } else {
13960        commit(value, !validateOnChange);
13961      }
13962    });
13963    const getValidationProps = React88.useCallback((disabled2, externalProps = {}) => mergeProps(getDescriptionProps(externalProps), state.valid === false && !state.disabled && !disabled2 ? {
13964      "aria-invalid": true
13965    } : EMPTY_OBJECT), [getDescriptionProps, state.disabled, state.valid]);
13966    return React88.useMemo(() => ({
13967      getValidationProps,
13968      inputRef,
13969      registeredInputs,
13970      registerInput,
13971      getInputControl,
13972      commit,
13973      change
13974    }), [getValidationProps, registeredInputs, registerInput, getInputControl, commit, change]);
13975  }
13976  
13977  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/useRegisteredLabelId.mjs
13978  function useRegisteredLabelId(idProp, setLabelId) {
13979    const id = useBaseUiId(idProp);
13980    useIsoLayoutEffect(() => {
13981      setLabelId(id);
13982      return () => {
13983        setLabelId((currentId) => currentId === id ? void 0 : currentId);
13984      };
13985    }, [id, setLabelId]);
13986    return id;
13987  }
13988  
13989  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/useLabel.mjs
13990  function useLabel(params = {}) {
13991    const {
13992      id: idProp,
13993      fallbackControlId,
13994      native = false,
13995      setLabelId: setLabelIdProp,
13996      focusControl: focusControlProp
13997    } = params;
13998    const {
13999      controlId: contextControlId,
14000      setLabelId: setContextLabelId
14001    } = useLabelableContext();
14002    const syncLabelId = useStableCallback((nextLabelId) => {
14003      setContextLabelId(nextLabelId);
14004      setLabelIdProp?.(nextLabelId);
14005    });
14006    const id = useRegisteredLabelId(idProp, syncLabelId);
14007    const resolvedControlId = contextControlId ?? fallbackControlId;
14008    function focusControl(event) {
14009      if (focusControlProp) {
14010        focusControlProp(event, resolvedControlId);
14011        return;
14012      }
14013      if (!resolvedControlId) {
14014        return;
14015      }
14016      const controlElement = getControlById(event.currentTarget, resolvedControlId);
14017      if (isHTMLElement(controlElement)) {
14018        focusElementWithVisible(controlElement);
14019      }
14020    }
14021    function handleInteraction(event) {
14022      const target = getTarget(event.nativeEvent);
14023      if (closest(target, "button,input,select,textarea")) {
14024        return;
14025      }
14026      if (!event.defaultPrevented && event.detail > 1) {
14027        event.preventDefault();
14028      }
14029      if (native) {
14030        return;
14031      }
14032      focusControl(event);
14033    }
14034    return native ? {
14035      id,
14036      htmlFor: resolvedControlId,
14037      onMouseDown: handleInteraction
14038    } : {
14039      id,
14040      onClick: handleInteraction,
14041      onPointerDown(event) {
14042        event.preventDefault();
14043      }
14044    };
14045  }
14046  function getControlById(label, id) {
14047    let root2 = label.getRootNode();
14048    while (isShadowRoot(root2)) {
14049      const element = root2.getElementById(id);
14050      if (element) {
14051        return element;
14052      }
14053      root2 = root2.host.getRootNode();
14054    }
14055    return ownerDocument(label).getElementById(id);
14056  }
14057  function focusElementWithVisible(element) {
14058    element.focus({
14059      // Available from Chrome 144+ (January 2026).
14060      // Safari and Firefox already support it.
14061      focusVisible: true
14062    });
14063  }
14064  
14065  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
14066  var React92 = __toESM(require_react(), 1);
14067  var ReactDOM7 = __toESM(require_react_dom(), 1);
14068  
14069  // node_modules/.store/@base-ui/utils@0.5.0--7My7Lubseca8je9LSEweA/node_modules/@base-ui/utils/usePreviousValue.mjs
14070  var React89 = __toESM(require_react(), 1);
14071  function usePreviousValue(value) {
14072    const [state, setState] = React89.useState({
14073      current: value,
14074      previous: null
14075    });
14076    if (!Object.is(value, state.current)) {
14077      setState({
14078        current: value,
14079        previous: state.current
14080      });
14081    }
14082    return state.previous;
14083  }
14084  
14085  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
14086  var React90 = __toESM(require_react(), 1);
14087  
14088  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/getCssDimensions.mjs
14089  function getCssDimensions2(element) {
14090    const css = getComputedStyle2(element);
14091    let width = parseFloat(css.width) || 0;
14092    let height = parseFloat(css.height) || 0;
14093    const hasOffset = isHTMLElement(element);
14094    const offsetWidth = hasOffset ? element.offsetWidth : width;
14095    const offsetHeight = hasOffset ? element.offsetHeight : height;
14096    const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
14097    if (shouldFallback) {
14098      width = offsetWidth;
14099      height = offsetHeight;
14100    }
14101    return {
14102      width,
14103      height
14104    };
14105  }
14106  
14107  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonPopupCssVars.mjs
14108  var popupWidth = "--popup-width";
14109  var popupHeight = "--popup-height";
14110  
14111  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupAutoResize.mjs
14112  function usePopupAutoResize(parameters) {
14113    const {
14114      popupElement,
14115      positionerElement,
14116      content,
14117      mounted,
14118      onMeasureLayout: onMeasureLayoutParam,
14119      onMeasureLayoutComplete: onMeasureLayoutCompleteParam,
14120      side,
14121      direction
14122    } = parameters;
14123    const runOnceAnimationsFinish = useAnimationsFinished(popupElement, true);
14124    const animationFrame = useAnimationFrame();
14125    const committedDimensionsRef = React90.useRef(null);
14126    const onMeasureLayout = useStableCallback(onMeasureLayoutParam);
14127    const onMeasureLayoutComplete = useStableCallback(onMeasureLayoutCompleteParam);
14128    const anchoringStyles = React90.useMemo(() => getPopupAnchoringStyles(side, direction), [side, direction]);
14129    useIsoLayoutEffect(() => {
14130      if (!mounted) {
14131        committedDimensionsRef.current = null;
14132        return void 0;
14133      }
14134      if (!popupElement || !positionerElement) {
14135        return void 0;
14136      }
14137      const restoreAnchoringStyles = applyElementStyles(popupElement, anchoringStyles);
14138      setPopupCssSize(popupElement, "auto");
14139      const restorePopupPosition = overrideElementStyle(popupElement, "position", "static");
14140      const restorePopupTransform = overrideElementStyle(popupElement, "transform", "none");
14141      const restorePopupScale = overrideElementStyle(popupElement, "scale", "1");
14142      const restorePositionerAvailableSize = applyElementStyles(positionerElement, {
14143        [availableWidth]: "max-content",
14144        [availableHeight]: "max-content"
14145      });
14146      function restoreMeasurementOverrides() {
14147        restorePopupPosition();
14148        restorePopupTransform();
14149        restorePositionerAvailableSize();
14150        restorePopupScale();
14151      }
14152      onMeasureLayout?.();
14153      if (committedDimensionsRef.current === null) {
14154        setPositionerCssSize(positionerElement, "max-content");
14155        const dimensions = getCssDimensions2(popupElement);
14156        committedDimensionsRef.current = dimensions;
14157        setPositionerCssSize(positionerElement, dimensions);
14158        restoreMeasurementOverrides();
14159        onMeasureLayoutComplete?.(null, dimensions);
14160        return restoreAnchoringStyles;
14161      }
14162      setPositionerCssSize(positionerElement, "max-content");
14163      const previousDimensions = committedDimensionsRef.current;
14164      const newDimensions = getCssDimensions2(popupElement);
14165      committedDimensionsRef.current = newDimensions;
14166      setPopupCssSize(popupElement, previousDimensions);
14167      restoreMeasurementOverrides();
14168      onMeasureLayoutComplete?.(previousDimensions, newDimensions);
14169      setPositionerCssSize(positionerElement, newDimensions);
14170      const abortController = new AbortController();
14171      animationFrame.request(() => {
14172        setPopupCssSize(popupElement, newDimensions);
14173        runOnceAnimationsFinish(() => {
14174          popupElement.style.setProperty(popupWidth, "auto");
14175          popupElement.style.setProperty(popupHeight, "auto");
14176        }, abortController.signal);
14177      });
14178      return () => {
14179        abortController.abort();
14180        animationFrame.cancel();
14181        restoreAnchoringStyles();
14182      };
14183    }, [content, popupElement, positionerElement, runOnceAnimationsFinish, animationFrame, mounted, onMeasureLayout, onMeasureLayoutComplete, anchoringStyles]);
14184  }
14185  function getPopupAnchoringStyles(side, direction) {
14186    const isPhysicalTop = side === "top";
14187    const isPhysicalLeft = side === "left" || side === (direction === "rtl" ? "inline-end" : "inline-start");
14188    if (!isPhysicalTop && !isPhysicalLeft) {
14189      return EMPTY_OBJECT;
14190    }
14191    return {
14192      position: "absolute",
14193      [isPhysicalTop ? "bottom" : "top"]: "0",
14194      [isPhysicalLeft ? "right" : "left"]: "0"
14195    };
14196  }
14197  function overrideElementStyle(element, property, value) {
14198    const originalValue = element.style.getPropertyValue(property);
14199    element.style.setProperty(property, value);
14200    return () => {
14201      element.style.setProperty(property, originalValue);
14202    };
14203  }
14204  function applyElementStyles(element, styles) {
14205    const restorers = [];
14206    for (const [key, value] of Object.entries(styles)) {
14207      restorers.push(overrideElementStyle(element, key, value));
14208    }
14209    return restorers.length ? () => {
14210      restorers.forEach((restore) => restore());
14211    } : NOOP;
14212  }
14213  function setPopupCssSize(popupElement, size4) {
14214    const width = size4 === "auto" ? "auto" : `$size4.width}px`;
14215    const height = size4 === "auto" ? "auto" : `$size4.height}px`;
14216    popupElement.style.setProperty(popupWidth, width);
14217    popupElement.style.setProperty(popupHeight, height);
14218  }
14219  function setPositionerCssSize(positionerElement, size4) {
14220    const width = size4 === "max-content" ? "max-content" : `$size4.width}px`;
14221    const height = size4 === "max-content" ? "max-content" : `$size4.height}px`;
14222    positionerElement.style.setProperty(positionerWidth, width);
14223    positionerElement.style.setProperty(positionerHeight, height);
14224  }
14225  
14226  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/direction-provider/DirectionProvider.mjs
14227  var React91 = __toESM(require_react(), 1);
14228  var import_jsx_runtime24 = __toESM(require_jsx_runtime(), 1);
14229  var DirectionProvider = function DirectionProvider2(props) {
14230    const {
14231      direction = "ltr"
14232    } = props;
14233    const contextValue = React91.useMemo(() => ({
14234      direction
14235    }), [direction]);
14236    return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(DirectionContext.Provider, {
14237      value: contextValue,
14238      children: props.children
14239    });
14240  };
14241  if (true) DirectionProvider.displayName = "DirectionProvider";
14242  
14243  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/adaptiveOriginMiddleware.mjs
14244  var adaptiveOrigin = {
14245    name: "adaptiveOrigin",
14246    async fn(state) {
14247      const {
14248        x: rawX,
14249        y: rawY,
14250        rects: {
14251          floating: floatRect
14252        },
14253        elements: {
14254          floating
14255        },
14256        platform: platform3,
14257        strategy,
14258        placement
14259      } = state;
14260      const win = getWindow(floating);
14261      const styles = win.getComputedStyle(floating);
14262      const hasTransition = styles.transitionDuration !== "0s" && styles.transitionDuration !== "";
14263      if (!hasTransition) {
14264        return {
14265          x: rawX,
14266          y: rawY,
14267          data: DEFAULT_SIDES
14268        };
14269      }
14270      const offsetParent = await platform3.getOffsetParent?.(floating);
14271      let offsetDimensions = {
14272        width: 0,
14273        height: 0
14274      };
14275      if (strategy === "fixed" && win?.visualViewport) {
14276        offsetDimensions = {
14277          width: win.visualViewport.width,
14278          height: win.visualViewport.height
14279        };
14280      } else if (offsetParent === win) {
14281        const doc = ownerDocument(floating);
14282        offsetDimensions = {
14283          width: doc.documentElement.clientWidth,
14284          height: doc.documentElement.clientHeight
14285        };
14286      } else if (await platform3.isElement?.(offsetParent)) {
14287        offsetDimensions = await platform3.getDimensions(offsetParent);
14288      }
14289      const currentSide = getSide(placement);
14290      let x = rawX;
14291      let y = rawY;
14292      if (currentSide === "left") {
14293        x = offsetDimensions.width - (rawX + floatRect.width);
14294      }
14295      if (currentSide === "top") {
14296        y = offsetDimensions.height - (rawY + floatRect.height);
14297      }
14298      const sideX = currentSide === "left" ? "right" : DEFAULT_SIDES.sideX;
14299      const sideY = currentSide === "top" ? "bottom" : DEFAULT_SIDES.sideY;
14300      return {
14301        x,
14302        y,
14303        data: {
14304          sideX,
14305          sideY
14306        }
14307      };
14308    }
14309  };
14310  
14311  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/CommonViewportDataAttributes.mjs
14312  var activationDirection = "data-activation-direction";
14313  
14314  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/usePopupViewport.mjs
14315  var import_jsx_runtime25 = __toESM(require_jsx_runtime(), 1);
14316  var popupViewportStateMapping = {
14317    activationDirection: (value) => value ? {
14318      [activationDirection]: value
14319    } : null
14320  };
14321  function usePopupViewport(parameters) {
14322    const {
14323      store,
14324      side,
14325      children
14326    } = parameters;
14327    const direction = useDirection();
14328    const activeTrigger = store.useState("activeTriggerElement");
14329    const activeTriggerId = store.useState("activeTriggerId");
14330    const open2 = store.useState("open");
14331    const payload = store.useState("payload");
14332    const mounted = store.useState("mounted");
14333    const popupElement = store.useState("popupElement");
14334    const positionerElement = store.useState("positionerElement");
14335    const previousActiveTrigger = usePreviousValue(open2 ? activeTrigger : null);
14336    const currentContentKey = usePopupContentKey(activeTriggerId, payload);
14337    const capturedNodeRef = React92.useRef(null);
14338    const [previousContentNode, setPreviousContentNode] = React92.useState(null);
14339    const [newTriggerOffset, setNewTriggerOffset] = React92.useState(null);
14340    const currentContainerRef = React92.useRef(null);
14341    const previousContainerRef = React92.useRef(null);
14342    const onAnimationsFinished = useAnimationsFinished(currentContainerRef, true);
14343    const cleanupFrame = useAnimationFrame();
14344    const cleanupControllerRef = React92.useRef(null);
14345    const [previousContentDimensions, setPreviousContentDimensions] = React92.useState(null);
14346    const [showStartingStyleAttribute, setShowStartingStyleAttribute] = React92.useState(false);
14347    useIsoLayoutEffect(() => {
14348      store.set("adaptiveOrigin", adaptiveOrigin);
14349      return () => {
14350        store.set("adaptiveOrigin", void 0);
14351      };
14352    }, [store]);
14353    const handleMeasureLayout = useStableCallback(() => {
14354      currentContainerRef.current?.style.setProperty("animation", "none");
14355      currentContainerRef.current?.style.setProperty("transition", "none");
14356      previousContainerRef.current?.style.setProperty("display", "none");
14357    });
14358    const handleMeasureLayoutComplete = useStableCallback((previousDimensions) => {
14359      currentContainerRef.current?.style.removeProperty("animation");
14360      currentContainerRef.current?.style.removeProperty("transition");
14361      previousContainerRef.current?.style.removeProperty("display");
14362      if (previousDimensions) {
14363        setPreviousContentDimensions(previousDimensions);
14364      }
14365    });
14366    const armViewportCleanup = useStableCallback(() => {
14367      cleanupControllerRef.current?.abort();
14368      const controller = new AbortController();
14369      cleanupControllerRef.current = controller;
14370      onAnimationsFinished(() => {
14371        setPreviousContentNode(null);
14372        setPreviousContentDimensions(null);
14373        capturedNodeRef.current = null;
14374      }, controller.signal);
14375    });
14376    const lastHandledTriggerRef = React92.useRef(null);
14377    useIsoLayoutEffect(() => {
14378      if (!open2 || !mounted) {
14379        lastHandledTriggerRef.current = null;
14380      }
14381    }, [open2, mounted]);
14382    useIsoLayoutEffect(() => {
14383      if (open2 && activeTrigger && previousActiveTrigger && activeTrigger !== previousActiveTrigger && lastHandledTriggerRef.current !== activeTrigger && capturedNodeRef.current) {
14384        setPreviousContentNode(capturedNodeRef.current);
14385        setShowStartingStyleAttribute(true);
14386        const offset4 = calculateRelativePosition(previousActiveTrigger, activeTrigger);
14387        setNewTriggerOffset(offset4);
14388        lastHandledTriggerRef.current = activeTrigger;
14389      }
14390    }, [open2, activeTrigger, previousActiveTrigger]);
14391    useIsoLayoutEffect(() => {
14392      if (previousContentNode == null) {
14393        return;
14394      }
14395      cleanupControllerRef.current?.abort();
14396      setShowStartingStyleAttribute(true);
14397      cleanupFrame.request(() => {
14398        ReactDOM7.flushSync(() => {
14399          setShowStartingStyleAttribute(false);
14400        });
14401        armViewportCleanup();
14402      });
14403    }, [currentContentKey, previousContentNode, armViewportCleanup, cleanupFrame]);
14404    useIsoLayoutEffect(() => {
14405      const source = currentContainerRef.current;
14406      if (!source) {
14407        return;
14408      }
14409      const wrapper = ownerDocument(source).createElement("div");
14410      for (const child of Array.from(source.childNodes)) {
14411        wrapper.appendChild(child.cloneNode(true));
14412      }
14413      capturedNodeRef.current = wrapper;
14414    });
14415    const isTransitioning = previousContentNode != null;
14416    let childrenToRender;
14417    if (!isTransitioning) {
14418      childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", {
14419        "data-current": true,
14420        ref: currentContainerRef,
14421        children
14422      }, currentContentKey);
14423    } else {
14424      childrenToRender = /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(React92.Fragment, {
14425        children: [/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", {
14426          "data-previous": true,
14427          inert: inertValue(true),
14428          ref: previousContainerRef,
14429          style: {
14430            ...previousContentDimensions ? {
14431              [popupWidth]: `$previousContentDimensions.width}px`,
14432              [popupHeight]: `$previousContentDimensions.height}px`
14433            } : null,
14434            position: "absolute"
14435          },
14436          "data-ending-style": showStartingStyleAttribute ? void 0 : ""
14437        }, "previous"), /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", {
14438          "data-current": true,
14439          ref: currentContainerRef,
14440          "data-starting-style": showStartingStyleAttribute ? "" : void 0,
14441          children
14442        }, currentContentKey)]
14443      });
14444    }
14445    useIsoLayoutEffect(() => {
14446      const container = previousContainerRef.current;
14447      if (!container || !previousContentNode) {
14448        return;
14449      }
14450      container.replaceChildren(...Array.from(previousContentNode.childNodes));
14451    }, [previousContentNode]);
14452    usePopupAutoResize({
14453      popupElement,
14454      positionerElement,
14455      mounted,
14456      content: payload,
14457      onMeasureLayout: handleMeasureLayout,
14458      onMeasureLayoutComplete: handleMeasureLayoutComplete,
14459      side,
14460      direction
14461    });
14462    const state = {
14463      activationDirection: getActivationDirection(newTriggerOffset),
14464      transitioning: isTransitioning
14465    };
14466    return {
14467      children: childrenToRender,
14468      state
14469    };
14470  }
14471  function getActivationDirection(offset4) {
14472    if (!offset4) {
14473      return void 0;
14474    }
14475    return `$getValueWithTolerance(offset4.horizontal, 5, "right", "left")} $getValueWithTolerance(offset4.vertical, 5, "down", "up")}`;
14476  }
14477  function getValueWithTolerance(value, tolerance, positiveLabel, negativeLabel) {
14478    if (value > tolerance) {
14479      return positiveLabel;
14480    }
14481    if (value < -tolerance) {
14482      return negativeLabel;
14483    }
14484    return "";
14485  }
14486  function calculateRelativePosition(from, to) {
14487    const fromRect = from.getBoundingClientRect();
14488    const toRect = to.getBoundingClientRect();
14489    const fromCenter = {
14490      x: fromRect.left + fromRect.width / 2,
14491      y: fromRect.top + fromRect.height / 2
14492    };
14493    const toCenter = {
14494      x: toRect.left + toRect.width / 2,
14495      y: toRect.top + toRect.height / 2
14496    };
14497    return {
14498      horizontal: toCenter.x - fromCenter.x,
14499      vertical: toCenter.y - fromCenter.y
14500    };
14501  }
14502  function usePopupContentKey(activeTriggerId, payload) {
14503    const [contentKey, setContentKey] = React92.useState(0);
14504    const previousActiveTriggerIdRef = React92.useRef(activeTriggerId);
14505    const previousPayloadRef = React92.useRef(payload);
14506    const pendingPayloadUpdateRef = React92.useRef(false);
14507    useIsoLayoutEffect(() => {
14508      const previousActiveTriggerId = previousActiveTriggerIdRef.current;
14509      const previousPayload = previousPayloadRef.current;
14510      const triggerIdChanged = activeTriggerId !== previousActiveTriggerId;
14511      const payloadChanged = payload !== previousPayload;
14512      if (triggerIdChanged) {
14513        setContentKey((value) => value + 1);
14514        pendingPayloadUpdateRef.current = !payloadChanged;
14515      } else if (pendingPayloadUpdateRef.current && payloadChanged) {
14516        setContentKey((value) => value + 1);
14517        pendingPayloadUpdateRef.current = false;
14518      }
14519      previousActiveTriggerIdRef.current = activeTriggerId;
14520      previousPayloadRef.current = payload;
14521    }, [activeTriggerId, payload]);
14522    return `$activeTriggerId ?? "current"}-$contentKey}`;
14523  }
14524  
14525  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/index.parts.mjs
14526  var index_parts_exports2 = {};
14527  __export(index_parts_exports2, {
14528    Control: () => FieldControl,
14529    Description: () => FieldDescription,
14530    Error: () => FieldError,
14531    Item: () => FieldItem,
14532    Label: () => FieldLabel,
14533    Root: () => FieldRoot,
14534    Validity: () => FieldValidity
14535  });
14536  
14537  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
14538  var React96 = __toESM(require_react(), 1);
14539  
14540  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/fieldset/root/FieldsetRootContext.mjs
14541  var React93 = __toESM(require_react(), 1);
14542  var FieldsetRootContext = /* @__PURE__ */ React93.createContext(void 0);
14543  if (true) FieldsetRootContext.displayName = "FieldsetRootContext";
14544  function useFieldsetRootContext(optional = false) {
14545    const context = React93.useContext(FieldsetRootContext);
14546    if (!context && !optional) {
14547      throw new Error(true ? "Base UI: FieldsetRootContext is missing. Fieldset parts must be placed within <Fieldset.Root>." : formatErrorMessage_default(86));
14548    }
14549    return context;
14550  }
14551  
14552  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/labelable-provider/LabelableProvider.mjs
14553  var React94 = __toESM(require_react(), 1);
14554  var import_jsx_runtime26 = __toESM(require_jsx_runtime(), 1);
14555  var LabelableProvider = function LabelableProvider2(props) {
14556    const defaultId = useBaseUiId();
14557    const [controlIdState, setControlIdState] = React94.useState(defaultId);
14558    const [labelId, setLabelId] = React94.useState();
14559    const [messageIds, setMessageIds] = React94.useState([]);
14560    const controlId = controlIdState === void 0 ? defaultId : controlIdState;
14561    const registrationsRef = useRefWithInit(() => /* @__PURE__ */ new Map());
14562    const {
14563      messageIds: parentMessageIds
14564    } = useLabelableContext();
14565    const registerControlId = useStableCallback((source, nextId) => {
14566      const registrations = registrationsRef.current;
14567      if (nextId === void 0) {
14568        registrations.delete(source);
14569      } else {
14570        registrations.set(source, nextId);
14571      }
14572      setControlIdState((prev) => {
14573        if (registrations.size === 0) {
14574          return prev;
14575        }
14576        let nextControlId;
14577        for (const id of registrations.values()) {
14578          if (id === prev) {
14579            return prev;
14580          }
14581          if (nextControlId === void 0) {
14582            nextControlId = id;
14583          }
14584        }
14585        return nextControlId;
14586      });
14587    });
14588    const resetControlId = useStableCallback(() => {
14589      if (registrationsRef.current.size === 0) {
14590        setControlIdState(defaultId);
14591      }
14592    });
14593    const getDescriptionProps = React94.useCallback((externalProps) => {
14594      const ids = externalProps["aria-describedby"] ? externalProps["aria-describedby"].split(" ") : [];
14595      ids.push(...parentMessageIds, ...messageIds);
14596      return {
14597        ...externalProps,
14598        "aria-describedby": Array.from(new Set(ids)).join(" ") || void 0
14599      };
14600    }, [parentMessageIds, messageIds]);
14601    const contextValue = React94.useMemo(() => ({
14602      controlId,
14603      registerControlId,
14604      resetControlId,
14605      labelId,
14606      setLabelId,
14607      messageIds,
14608      setMessageIds,
14609      getDescriptionProps
14610    }), [controlId, registerControlId, resetControlId, labelId, setLabelId, messageIds, setMessageIds, getDescriptionProps]);
14611    return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(LabelableContext.Provider, {
14612      value: contextValue,
14613      children: props.children
14614    });
14615  };
14616  if (true) LabelableProvider.displayName = "LabelableProvider";
14617  
14618  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/internals/field-register-control/useFieldControlRegistration.mjs
14619  var React95 = __toESM(require_react(), 1);
14620  function useFieldControlRegistration(params) {
14621    const {
14622      change,
14623      commit,
14624      invalid: invalid2,
14625      markedDirtyRef,
14626      name,
14627      setRegisteredFieldName,
14628      registeredFieldIdRef,
14629      setValidityData,
14630      validityData
14631    } = params;
14632    const {
14633      formRef
14634    } = useFormContext();
14635    const activeFieldControlSourceRef = React95.useRef(null);
14636    const registrationRef = React95.useRef(null);
14637    const initialValueCapturedRef = React95.useRef(false);
14638    const getValueForForm = useStableCallback(() => {
14639      const registration = registrationRef.current;
14640      if (!registration) {
14641        return void 0;
14642      }
14643      if (registration.getValue) {
14644        return registration.getValue();
14645      }
14646      return registration.value;
14647    });
14648    function getRegistrationValue(registration) {
14649      return registration.value === void 0 ? getValueForForm() : registration.value;
14650    }
14651    const validate = useStableCallback(() => {
14652      const registration = registrationRef.current;
14653      markedDirtyRef.current = true;
14654      if (!registration) {
14655        commit(validityData.value);
14656        return;
14657      }
14658      commit(getRegistrationValue(registration));
14659    });
14660    function refreshRegistration() {
14661      const registration = registrationRef.current;
14662      if (!registration || !registration.id) {
14663        return;
14664      }
14665      formRef.current.fields.set(registration.id, {
14666        getValue: getValueForForm,
14667        name: name ?? registration.name,
14668        controlRef: registration.controlRef,
14669        validityData: getCombinedFieldValidityData(validityData, invalid2),
14670        validate
14671      });
14672    }
14673    function deleteRegistration(id = registrationRef.current?.id) {
14674      if (id) {
14675        formRef.current.fields.delete(id);
14676      }
14677    }
14678    function captureInitialValue(registration) {
14679      if (initialValueCapturedRef.current) {
14680        return;
14681      }
14682      initialValueCapturedRef.current = true;
14683      const initialValue = getRegistrationValue(registration);
14684      setValidityData((prev) => prev.initialValue === initialValue ? prev : {
14685        ...prev,
14686        initialValue
14687      });
14688    }
14689    useIsoLayoutEffect(() => {
14690      const registration = registrationRef.current;
14691      if (!registration || !registration.id) {
14692        return;
14693      }
14694      setRegisteredFieldName(name ? void 0 : registration.name);
14695      formRef.current.fields.set(registration.id, {
14696        getValue: getValueForForm,
14697        name: name ?? registration.name,
14698        controlRef: registration.controlRef,
14699        validityData: getCombinedFieldValidityData(validityData, invalid2),
14700        validate
14701      });
14702    }, [formRef, getValueForForm, invalid2, name, setRegisteredFieldName, validate, validityData]);
14703    useIsoLayoutEffect(() => {
14704      const fields = formRef.current.fields;
14705      return () => {
14706        const id = registrationRef.current?.id;
14707        if (id) {
14708          fields.delete(id);
14709        }
14710      };
14711    }, [formRef]);
14712    const register2 = useStableCallback((source, registration) => {
14713      if (!registration) {
14714        if (activeFieldControlSourceRef.current === source) {
14715          activeFieldControlSourceRef.current = null;
14716          change(void 0, true);
14717          deleteRegistration();
14718          registrationRef.current = null;
14719          setRegisteredFieldName(void 0);
14720          registeredFieldIdRef.current = void 0;
14721        }
14722        return;
14723      }
14724      const previousId = registrationRef.current?.id;
14725      const previousSource = activeFieldControlSourceRef.current;
14726      if (previousSource && previousSource !== source) {
14727        change(void 0, true);
14728      }
14729      activeFieldControlSourceRef.current = source;
14730      registrationRef.current = registration;
14731      if (!name) {
14732        setRegisteredFieldName(registration.name);
14733      }
14734      registeredFieldIdRef.current = registration.id;
14735      if (previousId && previousId !== registration.id) {
14736        deleteRegistration(previousId);
14737      }
14738      captureInitialValue(registration);
14739      refreshRegistration();
14740    });
14741    return [validate, register2];
14742  }
14743  
14744  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/root/FieldRoot.mjs
14745  var import_jsx_runtime27 = __toESM(require_jsx_runtime(), 1);
14746  var FieldRootInner = /* @__PURE__ */ React96.forwardRef(function FieldRootInner2(componentProps, forwardedRef) {
14747    const {
14748      errors,
14749      validationMode: formValidationMode,
14750      submitCountRef
14751    } = useFormContext();
14752    const {
14753      render,
14754      className,
14755      validate: validateProp,
14756      validationDebounceTime = 0,
14757      validationMode = formValidationMode,
14758      name,
14759      disabled: disabledProp = false,
14760      invalid: invalidProp,
14761      dirty: dirtyProp,
14762      touched: touchedProp,
14763      actionsRef,
14764      style,
14765      ...elementProps
14766    } = componentProps;
14767    const disabledFieldset = useFieldsetRootContext(true)?.disabled;
14768    const validate = useStableCallback(validateProp || (() => null));
14769    const disabled2 = disabledFieldset || disabledProp;
14770    const [touchedState, setTouchedUnwrapped] = React96.useState(false);
14771    const [dirtyState, setDirtyUnwrapped] = React96.useState(false);
14772    const [filled, setFilled] = React96.useState(false);
14773    const [focused, setFocused] = React96.useState(false);
14774    const focusOwnerRef = React96.useRef(void 0);
14775    const dirty = dirtyProp ?? dirtyState;
14776    const touched = touchedProp ?? touchedState;
14777    const markedDirtyRef = React96.useRef(dirty);
14778    const registeredFieldIdRef = React96.useRef(void 0);
14779    const [registeredFieldName, setRegisteredFieldName] = React96.useState();
14780    const effectiveName = name ?? registeredFieldName;
14781    useIsoLayoutEffect(() => {
14782      if (dirtyProp !== void 0) {
14783        markedDirtyRef.current = dirtyProp;
14784      }
14785    }, [dirtyProp]);
14786    const setDirty = useStableCallback((value) => {
14787      if (dirtyProp !== void 0) {
14788        return;
14789      }
14790      if (value) {
14791        markedDirtyRef.current = true;
14792      }
14793      setDirtyUnwrapped(value);
14794    });
14795    const setTouched = useStableCallback((value) => {
14796      if (touchedProp !== void 0) {
14797        return;
14798      }
14799      setTouchedUnwrapped(value);
14800    });
14801    const shouldValidateOnChange = useStableCallback(() => validationMode === "onChange" || validationMode === "onSubmit" && submitCountRef.current > 0);
14802    const formError = effectiveName && Object.hasOwn(errors, effectiveName) ? errors[effectiveName] : null;
14803    const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
14804    const invalid2 = invalidProp === true || hasFormError;
14805    const [validityData, setValidityData] = React96.useState({
14806      state: DEFAULT_VALIDITY_STATE,
14807      error: "",
14808      errors: [],
14809      value: null,
14810      initialValue: null
14811    });
14812    const valid2 = !invalid2 && (disabled2 ? null : validityData.state.valid);
14813    const state = React96.useMemo(() => ({
14814      disabled: disabled2,
14815      touched,
14816      dirty,
14817      valid: valid2,
14818      filled,
14819      focused
14820    }), [disabled2, touched, dirty, valid2, filled, focused]);
14821    const validation = useFieldValidation({
14822      setValidityData,
14823      validate,
14824      validityData,
14825      validationDebounceTime,
14826      invalid: invalid2,
14827      markedDirtyRef,
14828      state,
14829      shouldValidateOnChange,
14830      validationMode,
14831      registeredFieldIdRef
14832    });
14833    const [validateFieldControl, registerFieldControl] = useFieldControlRegistration({
14834      change: validation.change,
14835      commit: validation.commit,
14836      invalid: invalid2,
14837      markedDirtyRef,
14838      name,
14839      setRegisteredFieldName,
14840      registeredFieldIdRef,
14841      setValidityData,
14842      validityData
14843    });
14844    React96.useImperativeHandle(actionsRef, () => ({
14845      validate: validateFieldControl
14846    }), [validateFieldControl]);
14847    const contextValue = React96.useMemo(() => ({
14848      invalid: invalid2,
14849      name: effectiveName,
14850      validityData,
14851      setValidityData,
14852      disabled: disabled2,
14853      setTouched,
14854      setDirty,
14855      setFilled,
14856      setFocused,
14857      focusOwnerRef,
14858      validationMode,
14859      shouldValidateOnChange,
14860      state,
14861      registerFieldControl,
14862      validation
14863    }), [invalid2, effectiveName, validityData, disabled2, setTouched, setDirty, setFilled, setFocused, validationMode, shouldValidateOnChange, state, registerFieldControl, validation]);
14864    const element = useRenderElement("div", componentProps, {
14865      ref: forwardedRef,
14866      state,
14867      props: elementProps,
14868      stateAttributesMapping: fieldValidityMapping
14869    });
14870    return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FieldRootContext.Provider, {
14871      value: contextValue,
14872      children: element
14873    });
14874  });
14875  if (true) FieldRootInner.displayName = "FieldRootInner";
14876  var FieldRoot = /* @__PURE__ */ React96.forwardRef(function FieldRoot2(componentProps, forwardedRef) {
14877    return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(LabelableProvider, {
14878      children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(FieldRootInner, {
14879        ...componentProps,
14880        ref: forwardedRef
14881      })
14882    });
14883  });
14884  if (true) FieldRoot.displayName = "FieldRoot";
14885  
14886  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/label/FieldLabel.mjs
14887  var React97 = __toESM(require_react(), 1);
14888  var FieldLabel = /* @__PURE__ */ React97.forwardRef(function FieldLabel2(componentProps, forwardedRef) {
14889    const {
14890      render,
14891      className,
14892      style,
14893      id: idProp,
14894      nativeLabel = true,
14895      ...elementProps
14896    } = componentProps;
14897    const fieldRootContext = useFieldRootContext(false);
14898    const fieldItemContext = useFieldItemContext();
14899    const {
14900      labelId
14901    } = useLabelableContext();
14902    const state = {
14903      ...fieldRootContext.state,
14904      disabled: fieldRootContext.disabled || fieldItemContext.disabled
14905    };
14906    const labelRef = React97.useRef(null);
14907    const labelProps = useLabel({
14908      id: labelId ?? idProp,
14909      native: nativeLabel
14910    });
14911    if (true) {
14912      React97.useEffect(() => {
14913        if (!labelRef.current) {
14914          return;
14915        }
14916        const isLabelTag = labelRef.current.tagName === "LABEL";
14917        if (nativeLabel) {
14918          if (!isLabelTag) {
14919            const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
14920            const message = "<Field.Label> expected a <label> element because the `nativeLabel` prop is true. Rendering a non-<label> disables native label association, so `htmlFor` will not work. Use a real <label> in the `render` prop, or set `nativeLabel` to `false`.";
14921            error(`$message}$ownerStackMessage}`);
14922          }
14923        } else if (isLabelTag) {
14924          const ownerStackMessage = SafeReact.captureOwnerStack?.() || "";
14925          const message = "<Field.Label> expected a non-<label> element because the `nativeLabel` prop is false. Rendering a <label> assumes native label behavior while Base UI treats it as non-native, which can cause unexpected pointer behavior. Use a non-<label> in the `render` prop, or set `nativeLabel` to `true`.";
14926          error(`$message}$ownerStackMessage}`);
14927        }
14928      }, [nativeLabel]);
14929    }
14930    const element = useRenderElement("label", componentProps, {
14931      ref: [forwardedRef, labelRef],
14932      state,
14933      props: [labelProps, elementProps],
14934      stateAttributesMapping: fieldValidityMapping
14935    });
14936    return element;
14937  });
14938  if (true) FieldLabel.displayName = "FieldLabel";
14939  
14940  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/error/FieldError.mjs
14941  var React98 = __toESM(require_react(), 1);
14942  var import_jsx_runtime28 = __toESM(require_jsx_runtime(), 1);
14943  var stateAttributesMapping4 = {
14944    ...fieldValidityMapping,
14945    ...transitionStatusMapping
14946  };
14947  var FieldError = /* @__PURE__ */ React98.forwardRef(function FieldError2(componentProps, forwardedRef) {
14948    const {
14949      render,
14950      id: idProp,
14951      className,
14952      match,
14953      style,
14954      ...elementProps
14955    } = componentProps;
14956    const id = useBaseUiId(idProp);
14957    const {
14958      validityData,
14959      state: fieldState,
14960      name
14961    } = useFieldRootContext(false);
14962    const {
14963      setMessageIds
14964    } = useLabelableContext();
14965    const {
14966      errors
14967    } = useFormContext();
14968    const formError = name && Object.hasOwn(errors, name) ? errors[name] : null;
14969    const hasFormError = !!(Array.isArray(formError) ? formError.length : formError);
14970    const hasSpecificMatch = typeof match === "string";
14971    let rendered = false;
14972    if (match === true) {
14973      rendered = true;
14974    } else if (fieldState.disabled) {
14975      rendered = false;
14976    } else if (hasSpecificMatch) {
14977      rendered = Boolean(validityData.state[match]);
14978    } else {
14979      rendered = hasFormError || validityData.state.valid === false;
14980    }
14981    const {
14982      mounted,
14983      transitionStatus,
14984      setMounted
14985    } = useTransitionStatus(rendered);
14986    useIsoLayoutEffect(() => {
14987      if (!rendered || !id) {
14988        return void 0;
14989      }
14990      setMessageIds((v) => v.concat(id));
14991      return () => {
14992        setMessageIds((v) => v.filter((item) => item !== id));
14993      };
14994    }, [rendered, id, setMessageIds]);
14995    const errorRef = React98.useRef(null);
14996    const [lastRenderedMessage, setLastRenderedMessage] = React98.useState(null);
14997    const [lastRenderedMessageKey, setLastRenderedMessageKey] = React98.useState(null);
14998    let error2 = validityData.error;
14999    if (!hasSpecificMatch && hasFormError) {
15000      error2 = formError;
15001    } else if (validityData.errors.length > 1) {
15002      error2 = validityData.errors;
15003    }
15004    let errorMessage = error2;
15005    if (Array.isArray(error2)) {
15006      errorMessage = error2.length > 1 ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("ul", {
15007        children: error2.map((message) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("li", {
15008          children: message
15009        }, message))
15010      }) : error2[0];
15011    }
15012    const errorKey = Array.isArray(error2) ? JSON.stringify(error2) : error2;
15013    if (rendered && errorKey !== lastRenderedMessageKey) {
15014      setLastRenderedMessageKey(errorKey);
15015      setLastRenderedMessage(errorMessage);
15016    }
15017    useOpenChangeComplete({
15018      open: rendered,
15019      ref: errorRef,
15020      onComplete() {
15021        if (!rendered) {
15022          setMounted(false);
15023        }
15024      }
15025    });
15026    const state = {
15027      ...fieldState,
15028      transitionStatus
15029    };
15030    const element = useRenderElement("div", componentProps, {
15031      ref: [forwardedRef, errorRef],
15032      state,
15033      props: [{
15034        id,
15035        children: rendered ? errorMessage : lastRenderedMessage
15036      }, elementProps],
15037      stateAttributesMapping: stateAttributesMapping4,
15038      enabled: mounted
15039    });
15040    if (!mounted) {
15041      return null;
15042    }
15043    return element;
15044  });
15045  if (true) FieldError.displayName = "FieldError";
15046  
15047  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/description/FieldDescription.mjs
15048  var React99 = __toESM(require_react(), 1);
15049  var FieldDescription = /* @__PURE__ */ React99.forwardRef(function FieldDescription2(componentProps, forwardedRef) {
15050    const {
15051      render,
15052      id: idProp,
15053      className,
15054      style,
15055      ...elementProps
15056    } = componentProps;
15057    const id = useBaseUiId(idProp);
15058    const fieldRootContext = useFieldRootContext(false);
15059    const fieldItemContext = useFieldItemContext();
15060    const {
15061      setMessageIds
15062    } = useLabelableContext();
15063    const state = {
15064      ...fieldRootContext.state,
15065      disabled: fieldRootContext.disabled || fieldItemContext.disabled
15066    };
15067    useIsoLayoutEffect(() => {
15068      if (!id) {
15069        return void 0;
15070      }
15071      setMessageIds((v) => v.concat(id));
15072      return () => {
15073        setMessageIds((v) => v.filter((item) => item !== id));
15074      };
15075    }, [id, setMessageIds]);
15076    const element = useRenderElement("p", componentProps, {
15077      ref: forwardedRef,
15078      state,
15079      props: [{
15080        id
15081      }, elementProps],
15082      stateAttributesMapping: fieldValidityMapping
15083    });
15084    return element;
15085  });
15086  if (true) FieldDescription.displayName = "FieldDescription";
15087  
15088  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/control/FieldControl.mjs
15089  var React100 = __toESM(require_react(), 1);
15090  var FieldControl = /* @__PURE__ */ React100.forwardRef(function FieldControl2(componentProps, forwardedRef) {
15091    const {
15092      render,
15093      className,
15094      id: idProp,
15095      name: nameProp,
15096      value,
15097      disabled: disabledProp = false,
15098      onValueChange,
15099      defaultValue,
15100      autoFocus = false,
15101      style,
15102      ...elementProps
15103    } = componentProps;
15104    const {
15105      state: fieldState,
15106      name: fieldName,
15107      disabled: fieldDisabled,
15108      setTouched,
15109      setDirty,
15110      validityData,
15111      setFilled,
15112      validationMode,
15113      validation
15114    } = useFieldRootContext();
15115    const {
15116      clearErrors,
15117      elementRef: formElementRef,
15118      submitCountRef
15119    } = useFormContext();
15120    const disabled2 = fieldDisabled || disabledProp;
15121    const name = fieldName ?? nameProp;
15122    const state = {
15123      ...fieldState,
15124      disabled: disabled2
15125    };
15126    const {
15127      labelId
15128    } = useLabelableContext();
15129    const id = useLabelableId({
15130      id: idProp
15131    });
15132    const isControlled = value !== void 0;
15133    const serializedValue = value == null ? void 0 : String(value);
15134    const getValueFromInput = useStableCallback(() => validation.inputRef.current?.value);
15135    useRegisterFieldControl(validation.inputRef, id, serializedValue, getValueFromInput, !disabled2, nameProp);
15136    useIsoLayoutEffect(() => {
15137      const currentValue = serializedValue ?? validation.inputRef.current?.value;
15138      if (currentValue !== void 0) {
15139        setFilled(currentValue !== "");
15140      }
15141    }, [serializedValue, defaultValue, validation.inputRef, setFilled]);
15142    useValueChanged(serializedValue, () => {
15143      if (serializedValue === void 0) {
15144        return;
15145      }
15146      clearErrors(name);
15147      setDirty(serializedValue !== (validityData.initialValue ?? ""));
15148      validation.change(serializedValue);
15149    });
15150    const inputRef = React100.useRef(null);
15151    const setFocused = useSetFieldFocused(disabled2, inputRef);
15152    const enterValidationTimeout = useTimeout();
15153    const element = useRenderElement("input", componentProps, {
15154      ref: [forwardedRef, inputRef],
15155      state,
15156      props: [{
15157        id,
15158        disabled: disabled2,
15159        name,
15160        ref: validation.inputRef,
15161        "aria-labelledby": labelId,
15162        autoFocus,
15163        ...isControlled ? {
15164          value
15165        } : {
15166          defaultValue
15167        },
15168        onChange(event) {
15169          const inputValue = event.currentTarget.value;
15170          const details = createChangeEventDetails(reason_parts_exports.none, event.nativeEvent);
15171          onValueChange?.(inputValue, details);
15172          if (isControlled) {
15173            return;
15174          }
15175          setDirty(inputValue !== (validityData.initialValue ?? ""));
15176          setFilled(inputValue !== "");
15177          if (!event.nativeEvent.defaultPrevented && !details.isCanceled) {
15178            clearErrors(name);
15179            validation.change(inputValue);
15180          }
15181        },
15182        onFocus() {
15183          setFocused(true);
15184        },
15185        onBlur(event) {
15186          setTouched(true);
15187          setFocused(false);
15188          if (validationMode === "onBlur") {
15189            const inputValue = event.currentTarget.value;
15190            validation.commit(inputValue);
15191            if (isControlled) {
15192              queueMicrotask(() => {
15193                const nextValue = validation.inputRef.current?.value;
15194                if (nextValue !== void 0 && nextValue !== inputValue && nextValue !== (validityData.initialValue ?? "")) {
15195                  validation.commit(nextValue);
15196                }
15197              });
15198            }
15199          }
15200        },
15201        onKeyDown(event) {
15202          if (event.currentTarget.tagName === "INPUT" && event.key === "Enter") {
15203            setTouched(true);
15204            const value2 = event.currentTarget.value;
15205            const form = event.currentTarget.form;
15206            if (form && form === formElementRef.current && !event.defaultPrevented) {
15207              const input = event.currentTarget;
15208              const submitCount = submitCountRef.current;
15209              enterValidationTimeout.start(0, () => {
15210                if (submitCountRef.current === submitCount) {
15211                  validation.commit(input.value);
15212                }
15213              });
15214            } else {
15215              validation.commit(value2);
15216            }
15217          }
15218        }
15219      }, elementProps, (props) => validation.getValidationProps(disabled2, props)],
15220      stateAttributesMapping: fieldValidityMapping
15221    });
15222    return element;
15223  });
15224  if (true) FieldControl.displayName = "FieldControl";
15225  
15226  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/validity/FieldValidity.mjs
15227  var React101 = __toESM(require_react(), 1);
15228  var import_jsx_runtime29 = __toESM(require_jsx_runtime(), 1);
15229  var FieldValidity = function FieldValidity2(props) {
15230    const {
15231      children
15232    } = props;
15233    const {
15234      validityData,
15235      invalid: invalid2
15236    } = useFieldRootContext(false);
15237    const combinedFieldValidityData = React101.useMemo(() => getCombinedFieldValidityData(validityData, invalid2), [validityData, invalid2]);
15238    const isInvalid = combinedFieldValidityData.state.valid === false;
15239    const {
15240      transitionStatus
15241    } = useTransitionStatus(isInvalid);
15242    const fieldValidityState = React101.useMemo(() => {
15243      return {
15244        ...combinedFieldValidityData,
15245        validity: combinedFieldValidityData.state,
15246        transitionStatus
15247      };
15248    }, [combinedFieldValidityData, transitionStatus]);
15249    return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(React101.Fragment, {
15250      children: children(fieldValidityState)
15251    });
15252  };
15253  if (true) FieldValidity.displayName = "FieldValidity";
15254  
15255  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/field/item/FieldItem.mjs
15256  var React102 = __toESM(require_react(), 1);
15257  var import_jsx_runtime30 = __toESM(require_jsx_runtime(), 1);
15258  var FieldItem = /* @__PURE__ */ React102.forwardRef(function FieldItem2(componentProps, forwardedRef) {
15259    const {
15260      render,
15261      className,
15262      style,
15263      disabled: disabledProp = false,
15264      ...elementProps
15265    } = componentProps;
15266    const {
15267      state: fieldState,
15268      disabled: rootDisabled
15269    } = useFieldRootContext(false);
15270    const disabled2 = rootDisabled || disabledProp;
15271    const state = {
15272      ...fieldState,
15273      disabled: disabled2
15274    };
15275    const fieldItemContext = React102.useMemo(() => ({
15276      disabled: disabled2
15277    }), [disabled2]);
15278    const element = useRenderElement("div", componentProps, {
15279      ref: forwardedRef,
15280      state,
15281      props: elementProps,
15282      stateAttributesMapping: fieldValidityMapping
15283    });
15284    return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(LabelableProvider, {
15285      children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FieldItemContext.Provider, {
15286        value: fieldItemContext,
15287        children: element
15288      })
15289    });
15290  });
15291  if (true) FieldItem.displayName = "FieldItem";
15292  
15293  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/input/Input.mjs
15294  var React103 = __toESM(require_react(), 1);
15295  var import_jsx_runtime31 = __toESM(require_jsx_runtime(), 1);
15296  var Input = /* @__PURE__ */ React103.forwardRef(function Input2(props, forwardedRef) {
15297    return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(index_parts_exports2.Control, {
15298      ref: forwardedRef,
15299      ...props
15300    });
15301  });
15302  if (true) Input.displayName = "Input";
15303  
15304  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/utils/FloatingPortalLite.mjs
15305  var React104 = __toESM(require_react(), 1);
15306  var ReactDOM8 = __toESM(require_react_dom(), 1);
15307  var import_jsx_runtime32 = __toESM(require_jsx_runtime(), 1);
15308  var FloatingPortalLite = /* @__PURE__ */ React104.forwardRef(function FloatingPortalLite2(componentProps, forwardedRef) {
15309    const {
15310      children,
15311      container,
15312      className,
15313      render,
15314      style,
15315      ...elementProps
15316    } = componentProps;
15317    const {
15318      node: portalNode,
15319      subtree: portalSubtree
15320    } = useFloatingPortalNode({
15321      container,
15322      ref: forwardedRef,
15323      componentProps,
15324      elementProps
15325    });
15326    if (!portalSubtree && !portalNode) {
15327      return null;
15328    }
15329    return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(React104.Fragment, {
15330      children: [portalSubtree, portalNode && /* @__PURE__ */ ReactDOM8.createPortal(children, portalNode)]
15331    });
15332  });
15333  if (true) FloatingPortalLite.displayName = "FloatingPortalLite";
15334  
15335  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/index.parts.mjs
15336  var index_parts_exports3 = {};
15337  __export(index_parts_exports3, {
15338    Arrow: () => TooltipArrow,
15339    Handle: () => TooltipHandle,
15340    Popup: () => TooltipPopup,
15341    Portal: () => TooltipPortal,
15342    Positioner: () => TooltipPositioner,
15343    Provider: () => TooltipProvider,
15344    Root: () => TooltipRoot,
15345    Trigger: () => TooltipTrigger,
15346    Viewport: () => TooltipViewport,
15347    createHandle: () => createTooltipHandle
15348  });
15349  
15350  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
15351  var React107 = __toESM(require_react(), 1);
15352  
15353  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRootContext.mjs
15354  var React105 = __toESM(require_react(), 1);
15355  var TooltipRootContext = /* @__PURE__ */ React105.createContext(void 0);
15356  if (true) TooltipRootContext.displayName = "TooltipRootContext";
15357  function useTooltipRootContext(optional) {
15358    const context = React105.useContext(TooltipRootContext);
15359    if (context === void 0 && !optional) {
15360      throw new Error(true ? "Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>." : formatErrorMessage_default(72));
15361    }
15362    return context;
15363  }
15364  
15365  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipStore.mjs
15366  var React106 = __toESM(require_react(), 1);
15367  var selectors3 = {
15368    ...popupStoreSelectors,
15369    disabled: (state) => state.disabled,
15370    instantType: (state) => state.instantType,
15371    isInstantPhase: (state) => state.isInstantPhase,
15372    trackCursorAxis: (state) => state.trackCursorAxis,
15373    disableHoverablePopup: (state) => state.disableHoverablePopup,
15374    lastOpenChangeReason: (state) => state.openChangeReason,
15375    closeOnClick: (state) => state.closeOnClick,
15376    // Active and inactive trigger props are the same object, so a constant for triggers that discard
15377    // them keeps those triggers from re-rendering when the props change.
15378    appliedTriggerProps: (state, apply) => apply ? state.activeTriggerProps : void 0,
15379    closeDelay: (state) => state.closeDelay,
15380    adaptiveOrigin: (state) => state.adaptiveOrigin
15381  };
15382  var TooltipStore = class extends ReactStore {
15383    constructor(initialState, floatingId, nested) {
15384      const triggerElements = new PopupTriggerMap();
15385      super(createInitialState(initialState, triggerElements, floatingId, nested), createInitialContext(triggerElements), selectors3);
15386    }
15387    setOpen = (nextOpen, eventDetails) => {
15388      applyPopupOpenChange(this, nextOpen, eventDetails, {
15389        extraState: {
15390          openChangeReason: eventDetails.reason
15391        }
15392      });
15393    };
15394    // Used by trigger clicks to clear a delayed hover open without reporting a public open-state change.
15395    cancelPendingOpen(event) {
15396      this.state.floatingRootContext.dispatchOpenChange(false, createChangeEventDetails(reason_parts_exports.triggerPress, event));
15397    }
15398  };
15399  function createNullTooltipStore() {
15400    const triggerElements = new PopupTriggerMap();
15401    const store = new NullStore(Object.freeze(createInitialState(void 0, triggerElements)), Object.freeze(createInitialContext(triggerElements)), selectors3);
15402    return Object.assign(store, {
15403      setOpen: NOOP,
15404      cancelPendingOpen: NOOP
15405    });
15406  }
15407  function createInitialState(initialState, triggerElements, floatingId, nested = false) {
15408    const state = {
15409      ...createInitialPopupStoreState(triggerElements, floatingId, nested),
15410      disabled: false,
15411      instantType: void 0,
15412      isInstantPhase: false,
15413      trackCursorAxis: "none",
15414      disableHoverablePopup: false,
15415      openChangeReason: null,
15416      closeOnClick: true,
15417      closeDelay: 0,
15418      adaptiveOrigin: void 0,
15419      ...initialState
15420    };
15421    return state;
15422  }
15423  function createInitialContext(triggerElements) {
15424    return {
15425      popupRef: /* @__PURE__ */ React106.createRef(),
15426      onOpenChange: void 0,
15427      onOpenChangeComplete: void 0,
15428      triggerElements
15429    };
15430  }
15431  
15432  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/root/TooltipRoot.mjs
15433  var import_jsx_runtime33 = __toESM(require_jsx_runtime(), 1);
15434  var TooltipRoot = fastComponent(function TooltipRoot2(props) {
15435    const {
15436      disabled: disabled2 = false,
15437      defaultOpen = false,
15438      open: openProp,
15439      disableHoverablePopup = false,
15440      trackCursorAxis = "none",
15441      actionsRef,
15442      onOpenChange,
15443      onOpenChangeComplete,
15444      handle,
15445      triggerId: triggerIdProp,
15446      defaultTriggerId: defaultTriggerIdProp = null,
15447      children
15448    } = props;
15449    const store = usePopupRootStore((floatingId, nested) => new TooltipStore({
15450      open: defaultOpen,
15451      openProp,
15452      activeTriggerId: defaultTriggerIdProp,
15453      triggerIdProp
15454    }, floatingId, nested));
15455    store.useControlledProp("openProp", openProp);
15456    store.useControlledProp("triggerIdProp", triggerIdProp);
15457    store.useContextCallback("onOpenChange", onOpenChange);
15458    store.useContextCallback("onOpenChangeComplete", onOpenChangeComplete);
15459    const openState = store.useState("open");
15460    const open2 = !disabled2 && openState;
15461    const activeTriggerId = store.useState("activeTriggerId");
15462    const mounted = store.useState("mounted");
15463    const payload = store.useState("payload");
15464    store.useSyncedValues({
15465      trackCursorAxis,
15466      disableHoverablePopup,
15467      disabled: disabled2
15468    });
15469    useImplicitActiveTrigger(store, {
15470      closeOnActiveTriggerUnmount: true
15471    });
15472    const {
15473      forceUnmount,
15474      transitionStatus
15475    } = useOpenStateTransitions(open2, store);
15476    const isInstantPhase = store.useState("isInstantPhase");
15477    const instantType = store.useState("instantType");
15478    const lastOpenChangeReason = store.useState("lastOpenChangeReason");
15479    const previousInstantTypeRef = React107.useRef(null);
15480    useIsoLayoutEffect(() => {
15481      if (openState && disabled2) {
15482        store.setOpen(false, createChangeEventDetails(reason_parts_exports.disabled));
15483      }
15484    }, [openState, disabled2, store]);
15485    useIsoLayoutEffect(() => {
15486      if (transitionStatus === "ending" && lastOpenChangeReason === reason_parts_exports.none || transitionStatus !== "ending" && isInstantPhase) {
15487        if (instantType !== "delay") {
15488          previousInstantTypeRef.current = instantType;
15489        }
15490        store.set("instantType", "delay");
15491      } else if (previousInstantTypeRef.current !== null) {
15492        store.set("instantType", previousInstantTypeRef.current);
15493        previousInstantTypeRef.current = null;
15494      }
15495    }, [transitionStatus, isInstantPhase, lastOpenChangeReason, instantType, store]);
15496    useIsoLayoutEffect(() => {
15497      if (open2) {
15498        if (activeTriggerId == null) {
15499          store.set("payload", void 0);
15500        }
15501      }
15502    }, [store, activeTriggerId, open2]);
15503    React107.useImperativeHandle(actionsRef, () => ({
15504      unmount: forceUnmount,
15505      close: () => store.setOpen(false, createChangeEventDetails(reason_parts_exports.imperativeAction))
15506    }), [forceUnmount, store]);
15507    const shouldRenderInteractions = open2 || mounted || !disabled2 && trackCursorAxis !== "none";
15508    return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(TooltipRootContext.Provider, {
15509      value: store,
15510      children: [handle && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(PopupHandleAttachment, {
15511        handle,
15512        store
15513      }), shouldRenderInteractions && /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(TooltipInteractions, {
15514        store,
15515        disabled: disabled2,
15516        trackCursorAxis
15517      }), typeof children === "function" ? children({
15518        payload
15519      }) : children]
15520    });
15521  });
15522  if (true) TooltipRoot.displayName = "TooltipRoot";
15523  function TooltipInteractions({
15524    store,
15525    disabled: disabled2,
15526    trackCursorAxis
15527  }) {
15528    const floatingRootContext = store.useState("floatingRootContext");
15529    const dismiss = useDismiss(floatingRootContext, {
15530      enabled: !disabled2,
15531      referencePress: () => store.select("closeOnClick")
15532    });
15533    const clientPoint = useClientPoint(floatingRootContext, {
15534      enabled: !disabled2 && trackCursorAxis !== "none",
15535      axis: trackCursorAxis === "none" ? void 0 : trackCursorAxis
15536    });
15537    const triggerProps = React107.useMemo(() => mergeProps(clientPoint.reference, dismiss.reference), [clientPoint.reference, dismiss.reference]);
15538    usePopupInteractionProps(store, {
15539      activeTriggerProps: triggerProps,
15540      inactiveTriggerProps: triggerProps,
15541      popupProps: dismiss.floating ?? EMPTY_OBJECT
15542    });
15543    return null;
15544  }
15545  
15546  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
15547  var React109 = __toESM(require_react(), 1);
15548  
15549  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProviderContext.mjs
15550  var React108 = __toESM(require_react(), 1);
15551  var TooltipProviderContext = /* @__PURE__ */ React108.createContext(void 0);
15552  if (true) TooltipProviderContext.displayName = "TooltipProviderContext";
15553  function useTooltipProviderContext() {
15554    return React108.useContext(TooltipProviderContext);
15555  }
15556  
15557  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/utils/constants.mjs
15558  var OPEN_DELAY = 600;
15559  
15560  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/trigger/TooltipTrigger.mjs
15561  var TOOLTIP_TRIGGER_IDENTIFIER = "data-base-ui-tooltip-trigger";
15562  function getTargetElement(event) {
15563    const target = getTarget(event);
15564    return isElement(target) ? target : null;
15565  }
15566  var TooltipTrigger = fastComponentRef(function TooltipTrigger2(componentProps, forwardedRef) {
15567    const {
15568      render,
15569      className,
15570      style,
15571      handle,
15572      payload,
15573      disabled: disabledProp,
15574      delay,
15575      closeOnClick = true,
15576      closeDelay,
15577      id: idProp,
15578      ...elementProps
15579    } = componentProps;
15580    const rootContext = useTooltipRootContext(true);
15581    const handleStore = usePopupHandleStore(handle);
15582    const store = handleStore ?? rootContext;
15583    if (!store) {
15584      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));
15585    }
15586    const thisTriggerId = useBaseUiId(idProp);
15587    const isTriggerActive = store.useState("isTriggerActive", thisTriggerId);
15588    const isOpenedByThisTrigger = store.useState("isOpenedByTrigger", thisTriggerId);
15589    const floatingRootContext = store.useState("floatingRootContext");
15590    const triggerElementRef = React109.useRef(null);
15591    const closeDelayWithDefault = closeDelay ?? 0;
15592    const {
15593      registerTrigger,
15594      isMountedByThisTrigger
15595    } = useTriggerDataForwarding(thisTriggerId, triggerElementRef, store, {
15596      payload,
15597      closeOnClick,
15598      closeDelay: closeDelayWithDefault
15599    });
15600    const providerDelay = useTooltipProviderContext();
15601    const {
15602      activeIdRef,
15603      delayRef,
15604      isInstantPhase,
15605      hasProvider
15606    } = useDelayGroup(floatingRootContext, {
15607      open: isOpenedByThisTrigger
15608    });
15609    const hoverInteraction = useHoverInteractionSharedState(floatingRootContext);
15610    store.useSyncedValue("isInstantPhase", isInstantPhase);
15611    const rootDisabled = store.useState("disabled");
15612    const disabled2 = disabledProp ?? rootDisabled;
15613    const disabledRef = useValueAsRef(disabled2);
15614    const trackCursorAxis = store.useState("trackCursorAxis");
15615    const disableHoverablePopup = store.useState("disableHoverablePopup");
15616    const isNestedTriggerHoveredRef = React109.useRef(false);
15617    const nestedTriggerOpenTimeout = useTimeout();
15618    const pointerTypeRef = React109.useRef(void 0);
15619    function getOpenDelay() {
15620      if (hasProvider && activeIdRef.current != null) {
15621        return 0;
15622      }
15623      return delay ?? providerDelay ?? OPEN_DELAY;
15624    }
15625    function isEnabledNestedTriggerTarget(target) {
15626      const triggerEl = triggerElementRef.current;
15627      if (!triggerEl || !target) {
15628        return false;
15629      }
15630      const nearestTrigger = closest(target, `[$TOOLTIP_TRIGGER_IDENTIFIER}]`);
15631      return nearestTrigger !== null && nearestTrigger !== triggerEl && contains(triggerEl, nearestTrigger);
15632    }
15633    function detectNestedTriggerHover(target) {
15634      const nestedTriggerHovered = isEnabledNestedTriggerTarget(target);
15635      isNestedTriggerHoveredRef.current = nestedTriggerHovered;
15636      if (nestedTriggerHovered) {
15637        hoverInteraction.openChangeTimeout.clear();
15638        hoverInteraction.restTimeout.clear();
15639        hoverInteraction.restTimeoutPending = false;
15640        nestedTriggerOpenTimeout.clear();
15641      }
15642      return nestedTriggerHovered;
15643    }
15644    const hoverProps = useHoverReferenceInteraction(floatingRootContext, {
15645      enabled: !disabled2,
15646      mouseOnly: true,
15647      move: false,
15648      handleClose: !disableHoverablePopup && trackCursorAxis !== "both" ? safePolygon() : null,
15649      restMs: getOpenDelay,
15650      delay() {
15651        if (closeDelay == null && hasProvider) {
15652          return {
15653            close: getDelay(delayRef.current, "close")
15654          };
15655        }
15656        return {
15657          close: closeDelayWithDefault
15658        };
15659      },
15660      triggerElementRef,
15661      isActiveTrigger: isTriggerActive,
15662      isClosing: () => store.select("transitionStatus") === "ending",
15663      shouldOpen() {
15664        return !isNestedTriggerHoveredRef.current;
15665      }
15666    });
15667    const focusProps = useFocus(floatingRootContext, {
15668      enabled: !disabled2
15669    }).reference;
15670    const handleNestedTriggerHover = (event) => {
15671      const wasNestedTriggerHovered = isNestedTriggerHoveredRef.current;
15672      const target = getTargetElement(event);
15673      const nestedTriggerHovered = detectNestedTriggerHover(target);
15674      const triggerEl = triggerElementRef.current;
15675      const targetInsideTrigger = triggerEl && target && contains(triggerEl, target);
15676      if (nestedTriggerHovered && store.select("open") && store.select("lastOpenChangeReason") === reason_parts_exports.triggerHover) {
15677        store.setOpen(false, createChangeEventDetails(reason_parts_exports.triggerHover, event));
15678        return;
15679      }
15680      if (wasNestedTriggerHovered && !nestedTriggerHovered && targetInsideTrigger && !disabledRef.current && !store.select("open") && triggerEl && // Match the hover hook's non-strict mouse fallback for mouse-only event sequences.
15681      isMouseLikePointerType(pointerTypeRef.current)) {
15682        const open2 = () => {
15683          if (!isNestedTriggerHoveredRef.current && !disabledRef.current && !store.select("open")) {
15684            store.setOpen(true, createChangeEventDetails(reason_parts_exports.triggerHover, event, triggerEl));
15685          }
15686        };
15687        const openDelay = getOpenDelay();
15688        if (openDelay === 0) {
15689          nestedTriggerOpenTimeout.clear();
15690          open2();
15691        } else {
15692          nestedTriggerOpenTimeout.start(openDelay, open2);
15693        }
15694      }
15695    };
15696    const rootTriggerProps = store.useState("appliedTriggerProps", isMountedByThisTrigger || trackCursorAxis !== "none");
15697    const state = {
15698      open: isOpenedByThisTrigger
15699    };
15700    const element = useRenderElement("button", componentProps, {
15701      state,
15702      ref: [forwardedRef, registerTrigger, triggerElementRef],
15703      props: [hoverProps, focusProps, rootTriggerProps, {
15704        onMouseOver(event) {
15705          handleNestedTriggerHover(event.nativeEvent);
15706        },
15707        onFocus(event) {
15708          if (isEnabledNestedTriggerTarget(getTargetElement(event.nativeEvent))) {
15709            event.preventBaseUIHandler();
15710          }
15711        },
15712        onMouseLeave() {
15713          isNestedTriggerHoveredRef.current = false;
15714          nestedTriggerOpenTimeout.clear();
15715          pointerTypeRef.current = void 0;
15716        },
15717        onPointerEnter(event) {
15718          pointerTypeRef.current = event.pointerType;
15719        },
15720        onPointerDown(event) {
15721          pointerTypeRef.current = event.pointerType;
15722          store.set("closeOnClick", closeOnClick);
15723          if (closeOnClick && !store.select("open")) {
15724            store.cancelPendingOpen(event.nativeEvent);
15725          }
15726        },
15727        onClick(event) {
15728          if (closeOnClick && !store.select("open")) {
15729            store.cancelPendingOpen(event.nativeEvent);
15730          }
15731        },
15732        id: thisTriggerId,
15733        [triggerDisabled]: disabled2 ? "" : void 0,
15734        [TOOLTIP_TRIGGER_IDENTIFIER]: disabled2 ? void 0 : ""
15735      }, elementProps],
15736      stateAttributesMapping: triggerOpenStateMapping
15737    });
15738    return element;
15739  });
15740  if (true) TooltipTrigger.displayName = "TooltipTrigger";
15741  
15742  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
15743  var React111 = __toESM(require_react(), 1);
15744  
15745  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortalContext.mjs
15746  var React110 = __toESM(require_react(), 1);
15747  var TooltipPortalContext = /* @__PURE__ */ React110.createContext(void 0);
15748  if (true) TooltipPortalContext.displayName = "TooltipPortalContext";
15749  function useTooltipPortalContext() {
15750    const value = React110.useContext(TooltipPortalContext);
15751    if (value === void 0) {
15752      throw new Error(true ? "Base UI: <Tooltip.Portal> is missing." : formatErrorMessage_default(70));
15753    }
15754    return value;
15755  }
15756  
15757  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/portal/TooltipPortal.mjs
15758  var import_jsx_runtime34 = __toESM(require_jsx_runtime(), 1);
15759  var TooltipPortal = /* @__PURE__ */ React111.forwardRef(function TooltipPortal2(props, forwardedRef) {
15760    const {
15761      keepMounted = false,
15762      ...portalProps
15763    } = props;
15764    const store = useTooltipRootContext();
15765    const mounted = store.useState("mounted");
15766    const shouldRender = mounted || keepMounted;
15767    if (!shouldRender) {
15768      return null;
15769    }
15770    return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(TooltipPortalContext.Provider, {
15771      value: keepMounted,
15772      children: /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(FloatingPortalLite, {
15773        ref: forwardedRef,
15774        ...portalProps
15775      })
15776    });
15777  });
15778  if (true) TooltipPortal.displayName = "TooltipPortal";
15779  
15780  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
15781  var React113 = __toESM(require_react(), 1);
15782  
15783  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositionerContext.mjs
15784  var React112 = __toESM(require_react(), 1);
15785  var TooltipPositionerContext = /* @__PURE__ */ React112.createContext(void 0);
15786  if (true) TooltipPositionerContext.displayName = "TooltipPositionerContext";
15787  function useTooltipPositionerContext() {
15788    const context = React112.useContext(TooltipPositionerContext);
15789    if (context === void 0) {
15790      throw new Error(true ? "Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>." : formatErrorMessage_default(71));
15791    }
15792    return context;
15793  }
15794  
15795  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/positioner/TooltipPositioner.mjs
15796  var import_jsx_runtime35 = __toESM(require_jsx_runtime(), 1);
15797  var TooltipPositioner = /* @__PURE__ */ React113.forwardRef(function TooltipPositioner2(componentProps, forwardedRef) {
15798    const {
15799      render,
15800      className,
15801      anchor,
15802      positionMethod = "absolute",
15803      side = "top",
15804      align = "center",
15805      sideOffset = 0,
15806      alignOffset = 0,
15807      collisionBoundary = "clipping-ancestors",
15808      collisionPadding = 5,
15809      arrowPadding = 5,
15810      sticky = false,
15811      disableAnchorTracking = false,
15812      collisionAvoidance = POPUP_COLLISION_AVOIDANCE,
15813      style,
15814      ...elementProps
15815    } = componentProps;
15816    const store = useTooltipRootContext();
15817    const keepMounted = useTooltipPortalContext();
15818    const open2 = store.useState("open");
15819    const mounted = store.useState("mounted");
15820    const trackCursorAxis = store.useState("trackCursorAxis");
15821    const disableHoverablePopup = store.useState("disableHoverablePopup");
15822    const floatingRootContext = store.useState("floatingRootContext");
15823    const instantType = store.useState("instantType");
15824    const transitionStatus = store.useState("transitionStatus");
15825    const adaptiveOrigin2 = store.useState("adaptiveOrigin");
15826    const positioning = useAnchorPositioning({
15827      anchor,
15828      positionMethod,
15829      floatingRootContext,
15830      mounted,
15831      side,
15832      sideOffset,
15833      align,
15834      alignOffset,
15835      collisionBoundary,
15836      collisionPadding,
15837      sticky,
15838      arrowPadding,
15839      disableAnchorTracking,
15840      keepMounted,
15841      collisionAvoidance,
15842      adaptiveOrigin: adaptiveOrigin2
15843    });
15844    const state = React113.useMemo(() => ({
15845      open: open2,
15846      side: positioning.side,
15847      align: positioning.align,
15848      anchorHidden: positioning.anchorHidden,
15849      instant: trackCursorAxis !== "none" ? "tracking-cursor" : instantType
15850    }), [open2, positioning.side, positioning.align, positioning.anchorHidden, trackCursorAxis, instantType]);
15851    const element = usePositioner(componentProps, state, {
15852      styles: positioning.positionerStyles,
15853      transitionStatus,
15854      props: elementProps,
15855      refs: [forwardedRef, store.useStateSetter("positionerElement")],
15856      hidden: !mounted,
15857      inert: !open2 || trackCursorAxis === "both" || disableHoverablePopup
15858    });
15859    return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(TooltipPositionerContext.Provider, {
15860      value: positioning,
15861      children: element
15862    });
15863  });
15864  if (true) TooltipPositioner.displayName = "TooltipPositioner";
15865  
15866  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/popup/TooltipPopup.mjs
15867  var React114 = __toESM(require_react(), 1);
15868  var TooltipPopup = /* @__PURE__ */ React114.forwardRef(function TooltipPopup2(componentProps, forwardedRef) {
15869    const {
15870      render,
15871      className,
15872      style,
15873      ...elementProps
15874    } = componentProps;
15875    const store = useTooltipRootContext();
15876    const {
15877      side,
15878      align
15879    } = useTooltipPositionerContext();
15880    const open2 = store.useState("open");
15881    const instantType = store.useState("instantType");
15882    const transitionStatus = store.useState("transitionStatus");
15883    const popupProps = store.useState("popupProps");
15884    const floatingContext = store.useState("floatingRootContext");
15885    const disabled2 = store.useState("disabled");
15886    const closeDelay = store.useState("closeDelay");
15887    useOpenChangeComplete({
15888      open: open2,
15889      ref: store.context.popupRef,
15890      onComplete() {
15891        if (open2) {
15892          store.context.onOpenChangeComplete?.(true);
15893        }
15894      }
15895    });
15896    useHoverFloatingInteraction(floatingContext, {
15897      enabled: !disabled2,
15898      closeDelay
15899    });
15900    const setPopupElement = store.useStateSetter("popupElement");
15901    const state = {
15902      open: open2,
15903      side,
15904      align,
15905      instant: instantType,
15906      transitionStatus
15907    };
15908    const element = useRenderElement("div", componentProps, {
15909      state,
15910      ref: [forwardedRef, store.context.popupRef, setPopupElement],
15911      props: [FOCUSABLE_POPUP_PROPS, popupProps, getDisabledMountTransitionStyles(transitionStatus), elementProps],
15912      stateAttributesMapping: popupTransitionStateMapping
15913    });
15914    return element;
15915  });
15916  if (true) TooltipPopup.displayName = "TooltipPopup";
15917  
15918  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/arrow/TooltipArrow.mjs
15919  var React115 = __toESM(require_react(), 1);
15920  var TooltipArrow = /* @__PURE__ */ React115.forwardRef(function TooltipArrow2(componentProps, forwardedRef) {
15921    const {
15922      render,
15923      className,
15924      style,
15925      ...elementProps
15926    } = componentProps;
15927    const store = useTooltipRootContext();
15928    const {
15929      arrowRef,
15930      side,
15931      align,
15932      arrowUncentered,
15933      arrowStyles
15934    } = useTooltipPositionerContext();
15935    const open2 = store.useState("open");
15936    const instantType = store.useState("instantType");
15937    const state = {
15938      open: open2,
15939      side,
15940      align,
15941      uncentered: arrowUncentered,
15942      instant: instantType
15943    };
15944    const element = useRenderElement("div", componentProps, {
15945      state,
15946      ref: [forwardedRef, arrowRef],
15947      props: [{
15948        style: arrowStyles,
15949        "aria-hidden": true
15950      }, elementProps],
15951      stateAttributesMapping: popupStateMapping
15952    });
15953    return element;
15954  });
15955  if (true) TooltipArrow.displayName = "TooltipArrow";
15956  
15957  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/provider/TooltipProvider.mjs
15958  var React116 = __toESM(require_react(), 1);
15959  var import_jsx_runtime36 = __toESM(require_jsx_runtime(), 1);
15960  var TooltipProvider = function TooltipProvider2(props) {
15961    const {
15962      delay,
15963      closeDelay,
15964      timeout = 400
15965    } = props;
15966    const delayValue = React116.useMemo(() => ({
15967      open: delay,
15968      close: closeDelay
15969    }), [delay, closeDelay]);
15970    return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(TooltipProviderContext.Provider, {
15971      value: delay,
15972      children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(FloatingDelayGroup, {
15973        delay: delayValue,
15974        timeoutMs: timeout,
15975        children: props.children
15976      })
15977    });
15978  };
15979  if (true) TooltipProvider.displayName = "TooltipProvider";
15980  
15981  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/viewport/TooltipViewport.mjs
15982  var React117 = __toESM(require_react(), 1);
15983  var TooltipViewport = /* @__PURE__ */ React117.forwardRef(function TooltipViewport2(componentProps, forwardedRef) {
15984    const {
15985      render,
15986      className,
15987      style,
15988      children,
15989      ...elementProps
15990    } = componentProps;
15991    const store = useTooltipRootContext();
15992    const positioner = useTooltipPositionerContext();
15993    const instantType = store.useState("instantType");
15994    const {
15995      children: childrenToRender,
15996      state: viewportState
15997    } = usePopupViewport({
15998      store,
15999      side: positioner.side,
16000      children
16001    });
16002    const state = {
16003      activationDirection: viewportState.activationDirection,
16004      transitioning: viewportState.transitioning,
16005      instant: instantType
16006    };
16007    return useRenderElement("div", componentProps, {
16008      state,
16009      ref: forwardedRef,
16010      props: [elementProps, {
16011        children: childrenToRender
16012      }],
16013      stateAttributesMapping: popupViewportStateMapping
16014    });
16015  });
16016  if (true) TooltipViewport.displayName = "TooltipViewport";
16017  
16018  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/tooltip/store/TooltipHandle.mjs
16019  var TooltipHandle = class extends BasePopupHandle {
16020    constructor() {
16021      super(createNullTooltipStore(), "Tooltip");
16022    }
16023    /**
16024     * Opens the tooltip and associates it with the trigger with the given id.
16025     *
16026     * This method should only be called in an event handler or an effect (not during rendering).
16027     *
16028     * @param triggerId ID of the trigger to associate with the tooltip. The trigger must be a matching
16029     * `Tooltip.Trigger` with this handle passed as a prop.
16030     */
16031    open(triggerId) {
16032      this.openByTrigger(triggerId);
16033    }
16034    /**
16035     * Closes the tooltip.
16036     *
16037     * This method should only be called in an event handler or an effect (not during rendering).
16038     */
16039    close() {
16040      this.closePopup();
16041    }
16042    /**
16043     * Whether the tooltip is currently open. Returns `false` while no root is attached to the handle.
16044     */
16045    get isOpen() {
16046      return this.attachedStore?.select("open") ?? false;
16047    }
16048  };
16049  function createTooltipHandle() {
16050    return new TooltipHandle();
16051  }
16052  
16053  // node_modules/.store/@base-ui/react@1.9.0-uHNeM94OdjIeOtpyYGvL0A/node_modules/@base-ui/react/use-render/useRender.mjs
16054  function useRender(params) {
16055    return useRenderElement(params.defaultTagName ?? "div", params, params);
16056  }
16057  
16058  // packages/ui/build-module/text/text.mjs
16059  var import_element18 = __toESM(require_element(), 1);
16060  var STYLE_HASH_ATTRIBUTE = "data-wp-hash";
16061  function getRuntime() {
16062    const globalScope = globalThis;
16063    if (globalScope.__wpStyleRuntime) {
16064      return globalScope.__wpStyleRuntime;
16065    }
16066    globalScope.__wpStyleRuntime = {
16067      documents: /* @__PURE__ */ new Map(),
16068      styles: /* @__PURE__ */ new Map(),
16069      injectedStyles: /* @__PURE__ */ new WeakMap()
16070    };
16071    if (typeof document !== "undefined") {
16072      registerDocument(document);
16073    }
16074    return globalScope.__wpStyleRuntime;
16075  }
16076  function documentContainsStyleHash(targetDocument, hash) {
16077    if (!targetDocument.head) {
16078      return false;
16079    }
16080    for (const style of targetDocument.head.querySelectorAll(
16081      `style[$STYLE_HASH_ATTRIBUTE}]`
16082    )) {
16083      if (style.getAttribute(STYLE_HASH_ATTRIBUTE) === hash) {
16084        return true;
16085      }
16086    }
16087    return false;
16088  }
16089  function injectStyle(targetDocument, hash, css) {
16090    if (!targetDocument.head) {
16091      return;
16092    }
16093    const runtime = getRuntime();
16094    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16095    if (!injectedStyles) {
16096      injectedStyles = /* @__PURE__ */ new Set();
16097      runtime.injectedStyles.set(targetDocument, injectedStyles);
16098    }
16099    if (injectedStyles.has(hash)) {
16100      return;
16101    }
16102    if (documentContainsStyleHash(targetDocument, hash)) {
16103      injectedStyles.add(hash);
16104      return;
16105    }
16106    const style = targetDocument.createElement("style");
16107    style.setAttribute(STYLE_HASH_ATTRIBUTE, hash);
16108    style.appendChild(targetDocument.createTextNode(css));
16109    targetDocument.head.appendChild(style);
16110    injectedStyles.add(hash);
16111  }
16112  function registerDocument(targetDocument) {
16113    const runtime = getRuntime();
16114    runtime.documents.set(
16115      targetDocument,
16116      (runtime.documents.get(targetDocument) ?? 0) + 1
16117    );
16118    for (const [hash, css] of runtime.styles) {
16119      injectStyle(targetDocument, hash, css);
16120    }
16121    return () => {
16122      const count = runtime.documents.get(targetDocument);
16123      if (count === void 0) {
16124        return;
16125      }
16126      if (count <= 1) {
16127        runtime.documents.delete(targetDocument);
16128        return;
16129      }
16130      runtime.documents.set(targetDocument, count - 1);
16131    };
16132  }
16133  function registerStyle(hash, css) {
16134    const runtime = getRuntime();
16135    runtime.styles.set(hash, css);
16136    for (const targetDocument of runtime.documents.keys()) {
16137      injectStyle(targetDocument, hash, css);
16138    }
16139  }
16140  if (typeof process === "undefined" || true) {
16141    registerStyle("3167e7d116", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._83ed8a8da5dd50ea__text{text-wrap:pretty;margin:0}._14437cfb77831647__heading-2xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-2xl,32px);--_gcd-p-line-height:var(--wpds-typography-line-height-2xl,40px);font-size:var(--wpds-typography-font-size-2xl,32px);line-height:var(--wpds-typography-line-height-2xl,40px)}._14437cfb77831647__heading-2xl,._3c78b7fa9b4072dd__heading-xl{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600)}._3c78b7fa9b4072dd__heading-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-md,24px)}.aa58f227716bcde2__heading-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-lg,15px)}.aa58f227716bcde2__heading-lg,.fc4da56d8dfe52c4__heading-md{font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-sm,20px)}.fc4da56d8dfe52c4__heading-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px)}.a9b78c7c82e8dff7__heading-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-emphasis,600);--_gcd-p-font-size:var(--wpds-typography-font-size-xs,11px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-family:var(--wpds-typography-font-family-heading,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-xs,11px);font-weight:var(--wpds-typography-font-weight-emphasis,600);line-height:var(--wpds-typography-line-height-xs,16px);text-transform:uppercase}._305ff559e52180d5__body-xl{--_gcd-heading-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-xl,20px);--_gcd-p-line-height:var(--wpds-typography-line-height-xl,32px);font-size:var(--wpds-typography-font-size-xl,20px);line-height:var(--wpds-typography-line-height-xl,32px)}._305ff559e52180d5__body-xl,.ca1aa3fc2029e958__body-lg{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}.ca1aa3fc2029e958__body-lg{--_gcd-heading-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-lg,15px);--_gcd-p-line-height:var(--wpds-typography-line-height-md,24px);font-size:var(--wpds-typography-font-size-lg,15px);line-height:var(--wpds-typography-line-height-md,24px)}._131101940be12424__body-md{--_gcd-heading-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-md,13px);--_gcd-p-line-height:var(--wpds-typography-line-height-sm,20px);font-size:var(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px)}._0e8d87a42c1f75fa__body-sm,._131101940be12424__body-md{font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-weight:var(--wpds-typography-font-weight-default,400)}._0e8d87a42c1f75fa__body-sm{--_gcd-heading-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-heading-font-weight:var(--wpds-typography-font-weight-default,400);--_gcd-p-font-size:var(--wpds-typography-font-size-sm,12px);--_gcd-p-line-height:var(--wpds-typography-line-height-xs,16px);font-size:var(--wpds-typography-font-size-sm,12px);line-height:var(--wpds-typography-line-height-xs,16px)}}}');
16142  }
16143  var style_default = { "text": "_83ed8a8da5dd50ea__text", "heading-2xl": "_14437cfb77831647__heading-2xl", "heading-xl": "_3c78b7fa9b4072dd__heading-xl", "heading-lg": "aa58f227716bcde2__heading-lg", "heading-md": "fc4da56d8dfe52c4__heading-md", "heading-sm": "a9b78c7c82e8dff7__heading-sm", "body-xl": "_305ff559e52180d5__body-xl", "body-lg": "ca1aa3fc2029e958__body-lg", "body-md": "_131101940be12424__body-md", "body-sm": "_0e8d87a42c1f75fa__body-sm" };
16144  if (typeof process === "undefined" || true) {
16145    registerStyle("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
16146  }
16147  var global_css_defense_default = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
16148  var Text = (0, import_element18.forwardRef)(
16149    function UnforwardedText({ variant = "body-md", render, className, ...props }, ref) {
16150      const element = useRender({
16151        render,
16152        defaultTagName: "span",
16153        ref,
16154        props: mergeProps(props, {
16155          className: clsx_default(
16156            style_default.text,
16157            global_css_defense_default.heading,
16158            global_css_defense_default.p,
16159            style_default[variant],
16160            className
16161          )
16162        })
16163      });
16164      return element;
16165    }
16166  );
16167  
16168  // packages/ui/build-module/button/button.mjs
16169  var import_element20 = __toESM(require_element(), 1);
16170  var import_i18n = __toESM(require_i18n(), 1);
16171  import { speak } from "@wordpress/a11y";
16172  
16173  // packages/ui/build-module/spinner/spinner.mjs
16174  var import_element19 = __toESM(require_element(), 1);
16175  var import_jsx_runtime37 = __toESM(require_jsx_runtime(), 1);
16176  var STYLE_HASH_ATTRIBUTE2 = "data-wp-hash";
16177  function getRuntime2() {
16178    const globalScope = globalThis;
16179    if (globalScope.__wpStyleRuntime) {
16180      return globalScope.__wpStyleRuntime;
16181    }
16182    globalScope.__wpStyleRuntime = {
16183      documents: /* @__PURE__ */ new Map(),
16184      styles: /* @__PURE__ */ new Map(),
16185      injectedStyles: /* @__PURE__ */ new WeakMap()
16186    };
16187    if (typeof document !== "undefined") {
16188      registerDocument2(document);
16189    }
16190    return globalScope.__wpStyleRuntime;
16191  }
16192  function documentContainsStyleHash2(targetDocument, hash) {
16193    if (!targetDocument.head) {
16194      return false;
16195    }
16196    for (const style of targetDocument.head.querySelectorAll(
16197      `style[$STYLE_HASH_ATTRIBUTE2}]`
16198    )) {
16199      if (style.getAttribute(STYLE_HASH_ATTRIBUTE2) === hash) {
16200        return true;
16201      }
16202    }
16203    return false;
16204  }
16205  function injectStyle2(targetDocument, hash, css) {
16206    if (!targetDocument.head) {
16207      return;
16208    }
16209    const runtime = getRuntime2();
16210    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16211    if (!injectedStyles) {
16212      injectedStyles = /* @__PURE__ */ new Set();
16213      runtime.injectedStyles.set(targetDocument, injectedStyles);
16214    }
16215    if (injectedStyles.has(hash)) {
16216      return;
16217    }
16218    if (documentContainsStyleHash2(targetDocument, hash)) {
16219      injectedStyles.add(hash);
16220      return;
16221    }
16222    const style = targetDocument.createElement("style");
16223    style.setAttribute(STYLE_HASH_ATTRIBUTE2, hash);
16224    style.appendChild(targetDocument.createTextNode(css));
16225    targetDocument.head.appendChild(style);
16226    injectedStyles.add(hash);
16227  }
16228  function registerDocument2(targetDocument) {
16229    const runtime = getRuntime2();
16230    runtime.documents.set(
16231      targetDocument,
16232      (runtime.documents.get(targetDocument) ?? 0) + 1
16233    );
16234    for (const [hash, css] of runtime.styles) {
16235      injectStyle2(targetDocument, hash, css);
16236    }
16237    return () => {
16238      const count = runtime.documents.get(targetDocument);
16239      if (count === void 0) {
16240        return;
16241      }
16242      if (count <= 1) {
16243        runtime.documents.delete(targetDocument);
16244        return;
16245      }
16246      runtime.documents.set(targetDocument, count - 1);
16247    };
16248  }
16249  function registerStyle2(hash, css) {
16250    const runtime = getRuntime2();
16251    runtime.styles.set(hash, css);
16252    for (const targetDocument of runtime.documents.keys()) {
16253      injectStyle2(targetDocument, hash, css);
16254    }
16255  }
16256  if (typeof process === "undefined" || true) {
16257    registerStyle2("dbe7fd6094", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.ab4d64c07c0ba587__spinner{background-color:transparent;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:inline-block;height:var(--wpds-dimension-size-2xs,16px);opacity:1;overflow:visible;position:relative;width:var(--wpds-dimension-size-2xs,16px)}.a7654e10245bb7d2__indicator{fill:transparent;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;transform-origin:50% 50%;@media (forced-colors:active){stroke:CanvasText}animation:_02322d973909703c__spinner-spin 1.4s linear infinite both}@keyframes _02322d973909703c__spinner-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}}}");
16258  }
16259  var style_default2 = { "spinner": "ab4d64c07c0ba587__spinner", "indicator": "a7654e10245bb7d2__indicator", "spinner-spin": "_02322d973909703c__spinner-spin" };
16260  var Spinner = (0, import_element19.forwardRef)(
16261    function UnforwardedSpinner({ className, color, style, ...props }, ref) {
16262      return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
16263        "svg",
16264        {
16265          className: clsx_default(style_default2.spinner, className),
16266          style: color === void 0 ? style : { ...style, color },
16267          viewBox: "0 0 24 24",
16268          xmlns: "http://www.w3.org/2000/svg",
16269          role: "presentation",
16270          focusable: "false",
16271          ...props,
16272          ref,
16273          children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
16274            "path",
16275            {
16276              className: style_default2.indicator,
16277              d: "m 12 0 a 12 12 0 0 1 0 24"
16278            }
16279          )
16280        }
16281      );
16282    }
16283  );
16284  
16285  // packages/ui/build-module/button/button.mjs
16286  var import_jsx_runtime38 = __toESM(require_jsx_runtime(), 1);
16287  var STYLE_HASH_ATTRIBUTE3 = "data-wp-hash";
16288  function getRuntime3() {
16289    const globalScope = globalThis;
16290    if (globalScope.__wpStyleRuntime) {
16291      return globalScope.__wpStyleRuntime;
16292    }
16293    globalScope.__wpStyleRuntime = {
16294      documents: /* @__PURE__ */ new Map(),
16295      styles: /* @__PURE__ */ new Map(),
16296      injectedStyles: /* @__PURE__ */ new WeakMap()
16297    };
16298    if (typeof document !== "undefined") {
16299      registerDocument3(document);
16300    }
16301    return globalScope.__wpStyleRuntime;
16302  }
16303  function documentContainsStyleHash3(targetDocument, hash) {
16304    if (!targetDocument.head) {
16305      return false;
16306    }
16307    for (const style of targetDocument.head.querySelectorAll(
16308      `style[$STYLE_HASH_ATTRIBUTE3}]`
16309    )) {
16310      if (style.getAttribute(STYLE_HASH_ATTRIBUTE3) === hash) {
16311        return true;
16312      }
16313    }
16314    return false;
16315  }
16316  function injectStyle3(targetDocument, hash, css) {
16317    if (!targetDocument.head) {
16318      return;
16319    }
16320    const runtime = getRuntime3();
16321    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16322    if (!injectedStyles) {
16323      injectedStyles = /* @__PURE__ */ new Set();
16324      runtime.injectedStyles.set(targetDocument, injectedStyles);
16325    }
16326    if (injectedStyles.has(hash)) {
16327      return;
16328    }
16329    if (documentContainsStyleHash3(targetDocument, hash)) {
16330      injectedStyles.add(hash);
16331      return;
16332    }
16333    const style = targetDocument.createElement("style");
16334    style.setAttribute(STYLE_HASH_ATTRIBUTE3, hash);
16335    style.appendChild(targetDocument.createTextNode(css));
16336    targetDocument.head.appendChild(style);
16337    injectedStyles.add(hash);
16338  }
16339  function registerDocument3(targetDocument) {
16340    const runtime = getRuntime3();
16341    runtime.documents.set(
16342      targetDocument,
16343      (runtime.documents.get(targetDocument) ?? 0) + 1
16344    );
16345    for (const [hash, css] of runtime.styles) {
16346      injectStyle3(targetDocument, hash, css);
16347    }
16348    return () => {
16349      const count = runtime.documents.get(targetDocument);
16350      if (count === void 0) {
16351        return;
16352      }
16353      if (count <= 1) {
16354        runtime.documents.delete(targetDocument);
16355        return;
16356      }
16357      runtime.documents.set(targetDocument, count - 1);
16358    };
16359  }
16360  function registerStyle3(hash, css) {
16361    const runtime = getRuntime3();
16362    runtime.styles.set(hash, css);
16363    for (const targetDocument of runtime.documents.keys()) {
16364      injectStyle3(targetDocument, hash, css);
16365    }
16366  }
16367  if (typeof process === "undefined" || true) {
16368    registerStyle3("1052986a11", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._1322fe375ff021a3__spinner){opacity:0}}}@layer compositions{._1322fe375ff021a3__spinner{color:var(--wp-ui-button-foreground-color);height:var(--wp-ui-button-font-size);inset:0;margin:auto;pointer-events:none;position:absolute;width:var(--wp-ui-button-font-size);>*{stroke-width:2.75}@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
16369  }
16370  var style_default3 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "spinner": "_1322fe375ff021a3__spinner" };
16371  if (typeof process === "undefined" || true) {
16372    registerStyle3("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
16373  }
16374  var resets_default = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
16375  if (typeof process === "undefined" || true) {
16376    registerStyle3("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
16377  }
16378  var focus_module_default = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
16379  if (typeof process === "undefined" || true) {
16380    registerStyle3("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
16381  }
16382  var global_css_defense_default2 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
16383  var Button3 = (0, import_element20.forwardRef)(
16384    function UnforwardedButton({
16385      tone = "brand",
16386      variant = "solid",
16387      size: size4 = "default",
16388      className,
16389      focusableWhenDisabled = true,
16390      disabled: disabled2,
16391      loading,
16392      loadingAnnouncement = (0, import_i18n.__)("Loading"),
16393      children,
16394      ...props
16395    }, ref) {
16396      const mergedClassName = clsx_default(
16397        global_css_defense_default2.button,
16398        resets_default["box-sizing"],
16399        focus_module_default["outset-ring--focus-except-active"],
16400        variant !== "unstyled" && style_default3.button,
16401        style_default3[`is-$tone}`],
16402        style_default3[`is-$variant}`],
16403        style_default3[`is-$size4}`],
16404        loading && style_default3["is-loading"],
16405        className
16406      );
16407      (0, import_element20.useEffect)(() => {
16408        if (loading && loadingAnnouncement) {
16409          speak(loadingAnnouncement);
16410        }
16411      }, [loading, loadingAnnouncement]);
16412      return /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)(
16413        Button,
16414        {
16415          ref,
16416          className: mergedClassName,
16417          focusableWhenDisabled,
16418          disabled: disabled2 ?? loading,
16419          ...props,
16420          children: [
16421            children,
16422            loading && variant !== "unstyled" && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(Spinner, { className: style_default3.spinner })
16423          ]
16424        }
16425      );
16426    }
16427  );
16428  
16429  // packages/ui/build-module/button/icon.mjs
16430  var import_element21 = __toESM(require_element(), 1);
16431  var import_jsx_runtime39 = __toESM(require_jsx_runtime(), 1);
16432  var STYLE_HASH_ATTRIBUTE4 = "data-wp-hash";
16433  function getRuntime4() {
16434    const globalScope = globalThis;
16435    if (globalScope.__wpStyleRuntime) {
16436      return globalScope.__wpStyleRuntime;
16437    }
16438    globalScope.__wpStyleRuntime = {
16439      documents: /* @__PURE__ */ new Map(),
16440      styles: /* @__PURE__ */ new Map(),
16441      injectedStyles: /* @__PURE__ */ new WeakMap()
16442    };
16443    if (typeof document !== "undefined") {
16444      registerDocument4(document);
16445    }
16446    return globalScope.__wpStyleRuntime;
16447  }
16448  function documentContainsStyleHash4(targetDocument, hash) {
16449    if (!targetDocument.head) {
16450      return false;
16451    }
16452    for (const style of targetDocument.head.querySelectorAll(
16453      `style[$STYLE_HASH_ATTRIBUTE4}]`
16454    )) {
16455      if (style.getAttribute(STYLE_HASH_ATTRIBUTE4) === hash) {
16456        return true;
16457      }
16458    }
16459    return false;
16460  }
16461  function injectStyle4(targetDocument, hash, css) {
16462    if (!targetDocument.head) {
16463      return;
16464    }
16465    const runtime = getRuntime4();
16466    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16467    if (!injectedStyles) {
16468      injectedStyles = /* @__PURE__ */ new Set();
16469      runtime.injectedStyles.set(targetDocument, injectedStyles);
16470    }
16471    if (injectedStyles.has(hash)) {
16472      return;
16473    }
16474    if (documentContainsStyleHash4(targetDocument, hash)) {
16475      injectedStyles.add(hash);
16476      return;
16477    }
16478    const style = targetDocument.createElement("style");
16479    style.setAttribute(STYLE_HASH_ATTRIBUTE4, hash);
16480    style.appendChild(targetDocument.createTextNode(css));
16481    targetDocument.head.appendChild(style);
16482    injectedStyles.add(hash);
16483  }
16484  function registerDocument4(targetDocument) {
16485    const runtime = getRuntime4();
16486    runtime.documents.set(
16487      targetDocument,
16488      (runtime.documents.get(targetDocument) ?? 0) + 1
16489    );
16490    for (const [hash, css] of runtime.styles) {
16491      injectStyle4(targetDocument, hash, css);
16492    }
16493    return () => {
16494      const count = runtime.documents.get(targetDocument);
16495      if (count === void 0) {
16496        return;
16497      }
16498      if (count <= 1) {
16499        runtime.documents.delete(targetDocument);
16500        return;
16501      }
16502      runtime.documents.set(targetDocument, count - 1);
16503    };
16504  }
16505  function registerStyle4(hash, css) {
16506    const runtime = getRuntime4();
16507    runtime.styles.set(hash, css);
16508    for (const targetDocument of runtime.documents.keys()) {
16509      injectStyle4(targetDocument, hash, css);
16510    }
16511  }
16512  if (typeof process === "undefined" || true) {
16513    registerStyle4("1052986a11", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._97b0fc33c028be1a__button,.abbb272e2ce49bd6__is-unstyled{appearance:none;padding:0}._97b0fc33c028be1a__button{--wp-ui-button-font-weight:var(--wpds-typography-font-weight-emphasis,600);--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-strong,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand-strong,#fff);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-strong-disabled,#8d8d8d);--wp-ui-button-padding-block:var(--wpds-dimension-padding-xs,4px);--wp-ui-button-padding-inline:var(--wpds-dimension-padding-md,12px);--wp-ui-button-height:var(--wpds-dimension-size-lg,40px);--wp-ui-button-aspect-ratio:auto;--wp-ui-button-font-size:var(--wpds-typography-font-size-md,13px);--wp-ui-button-min-width:calc(4ch + var(--wp-ui-button-padding-inline)*2);--wp-ui-button-icon-margin:calc((var(--wpds-dimension-size-2xs, 16px) - var(--wpds-dimension-size-sm, 24px))/2);--wp-ui-button-border-color:var(--wp-ui-button-background-color);--wp-ui-button-border-color-active:var(--wp-ui-button-background-color-active);--wp-ui-button-border-color-disabled:var(--wp-ui-button-background-color-disabled);--_gcd-button-font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);--_gcd-button-font-size:var(--wp-ui-button-font-size);--_gcd-button-font-weight:var(--wp-ui-button-font-weight);align-items:center;aspect-ratio:var(--wp-ui-button-aspect-ratio);background-clip:border-box;background-color:var(--wp-ui-button-background-color);border-color:var(--wp-ui-button-border-color);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:1px;color:var(--wp-ui-button-foreground-color);display:inline-flex;font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wp-ui-button-font-size);font-weight:var(--wp-ui-button-font-weight);gap:var(--wpds-dimension-gap-sm,8px);justify-content:center;line-height:var(--wpds-typography-line-height-sm,20px);max-width:100%;min-height:var(--wp-ui-button-height);min-width:var(--wp-ui-button-min-width);overflow-wrap:anywhere;padding-block:var(--wp-ui-button-padding-block);padding-inline:var(--wp-ui-button-padding-inline);position:relative;text-align:center;text-decoration:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}@media not (prefers-reduced-motion){transition:color .1s ease-out;*{transition:opacity .1s ease-out}}&[href]{cursor:pointer}[href]{color:inherit;text-decoration:inherit}&:not([data-disabled]):is(:hover,:active,:focus){background-color:var(--wp-ui-button-background-color-active);border-color:var(--wp-ui-button-border-color-active);color:var(--wp-ui-button-foreground-color-active)}&[data-disabled]:not(._914b42f315c0e580__is-loading){background-color:var(--wp-ui-button-background-color-disabled);border-color:var(--wp-ui-button-border-color-disabled);color:var(--wp-ui-button-foreground-color-disabled);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText;color:GrayText}}}._908205475f9f2a92__is-small{--wp-ui-button-padding-block:0px;--wp-ui-button-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-button-height:var(--wpds-dimension-size-sm,24px)}._9f6fc6553aeb36fe__icon{margin:var(--wp-ui-button-icon-margin)}.dd460c965226cc77__is-brand{&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 52%,#000));--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-brand-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-brand,var(--wp-admin-theme-color,#3858e9));--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-brand-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 85%,#000));--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-brand-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal{--wp-ui-button-background-color:var(--wpds-color-background-interactive-brand-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-brand-weak-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 12%,#fff));--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-brand-weak-disabled,#0000)}}.e722a8f96726aa99__is-neutral{&.ad0619a3217c6a5b__is-minimal[aria-pressed=true],&.b50b3358c5fb4d0b__is-solid{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-strong,#2d2d2d);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-strong-active,#1e1e1e);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-strong-disabled,#e6e6e6);--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral-strong,#f0f0f0);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-strong-active,#f0f0f0);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-strong-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline,&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-foreground-color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);--wp-ui-button-foreground-color-active:var(--wpds-color-foreground-interactive-neutral-active,#1e1e1e);--wp-ui-button-foreground-color-disabled:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}&._62d5a778b7b258ee__is-outline{--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);--wp-ui-button-border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);--wp-ui-button-border-color-active:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e);--wp-ui-button-border-color-disabled:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb)}&.ad0619a3217c6a5b__is-minimal:not([aria-pressed=true]){--wp-ui-button-background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);--wp-ui-button-background-color-active:var(--wpds-color-background-interactive-neutral-weak-active,#ededed);--wp-ui-button-background-color-disabled:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000)}}.abbb272e2ce49bd6__is-unstyled{background:none;border:none;min-width:unset}.cf59cf1b69629838__is-compact{--wp-ui-button-height:var(--wpds-dimension-size-md,32px)}._914b42f315c0e580__is-loading:not(.abbb272e2ce49bd6__is-unstyled){color:transparent;&:not([data-disabled]):is(:hover,:active,:focus){color:transparent}@media (forced-colors:active){color:ButtonFace}>:not(._1322fe375ff021a3__spinner){opacity:0}}}@layer compositions{._1322fe375ff021a3__spinner{color:var(--wp-ui-button-foreground-color);height:var(--wp-ui-button-font-size);inset:0;margin:auto;pointer-events:none;position:absolute;width:var(--wp-ui-button-font-size);>*{stroke-width:2.75}@media (prefers-reduced-motion){>*{animation:none}}@media (forced-colors:active){>*{stroke:ButtonText}}}}}');
16514  }
16515  var style_default4 = { "button": "_97b0fc33c028be1a__button", "is-unstyled": "abbb272e2ce49bd6__is-unstyled", "is-loading": "_914b42f315c0e580__is-loading", "is-small": "_908205475f9f2a92__is-small", "icon": "_9f6fc6553aeb36fe__icon", "is-brand": "dd460c965226cc77__is-brand", "is-outline": "_62d5a778b7b258ee__is-outline", "is-minimal": "ad0619a3217c6a5b__is-minimal", "is-neutral": "e722a8f96726aa99__is-neutral", "is-solid": "b50b3358c5fb4d0b__is-solid", "is-compact": "cf59cf1b69629838__is-compact", "spinner": "_1322fe375ff021a3__spinner" };
16516  var ButtonIcon = (0, import_element21.forwardRef)(
16517    function UnforwardedButtonIcon({ className, icon, ...props }, ref) {
16518      return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
16519        Icon,
16520        {
16521          ref,
16522          icon,
16523          className: clsx_default(style_default4.icon, className),
16524          size: 24,
16525          ...props
16526        }
16527      );
16528    }
16529  );
16530  
16531  // packages/ui/build-module/button/index.mjs
16532  ButtonIcon.displayName = "Button.Icon";
16533  var Button4 = Object.assign(Button3, {
16534    /**
16535     * An icon component specifically designed to work well when rendered inside
16536     * a `Button` component.
16537     */
16538    Icon: ButtonIcon
16539  });
16540  
16541  // packages/icons/build-module/library/close-small.mjs
16542  var import_primitives2 = __toESM(require_primitives(), 1);
16543  var import_jsx_runtime40 = __toESM(require_jsx_runtime(), 1);
16544  var close_small_default = /* @__PURE__ */ (0, import_jsx_runtime40.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_runtime40.jsx)(import_primitives2.Path, { d: "M7.75 16.25L16.25 7.75M16.25 16.25L7.75 7.75" }) });
16545  
16546  // packages/icons/build-module/library/search.mjs
16547  var import_primitives3 = __toESM(require_primitives(), 1);
16548  var import_jsx_runtime41 = __toESM(require_jsx_runtime(), 1);
16549  var search_default = /* @__PURE__ */ (0, import_jsx_runtime41.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_runtime41.jsx)(import_primitives3.Path, { d: "M5 19L9.28769 14.7123M18.25 11C18.25 13.8995 15.8995 16.25 13 16.25C10.1005 16.25 7.75 13.8995 7.75 11C7.75 8.10051 10.1005 5.75 13 5.75C15.8995 5.75 18.25 8.10051 18.25 11Z" }) });
16550  
16551  // packages/ui/build-module/utils/keyboard-shortcut.mjs
16552  var import_element23 = __toESM(require_element(), 1);
16553  var import_i18n2 = __toESM(require_i18n(), 1);
16554  
16555  // packages/ui/build-module/visually-hidden/visually-hidden.mjs
16556  var import_element22 = __toESM(require_element(), 1);
16557  var STYLE_HASH_ATTRIBUTE5 = "data-wp-hash";
16558  function getRuntime5() {
16559    const globalScope = globalThis;
16560    if (globalScope.__wpStyleRuntime) {
16561      return globalScope.__wpStyleRuntime;
16562    }
16563    globalScope.__wpStyleRuntime = {
16564      documents: /* @__PURE__ */ new Map(),
16565      styles: /* @__PURE__ */ new Map(),
16566      injectedStyles: /* @__PURE__ */ new WeakMap()
16567    };
16568    if (typeof document !== "undefined") {
16569      registerDocument5(document);
16570    }
16571    return globalScope.__wpStyleRuntime;
16572  }
16573  function documentContainsStyleHash5(targetDocument, hash) {
16574    if (!targetDocument.head) {
16575      return false;
16576    }
16577    for (const style of targetDocument.head.querySelectorAll(
16578      `style[$STYLE_HASH_ATTRIBUTE5}]`
16579    )) {
16580      if (style.getAttribute(STYLE_HASH_ATTRIBUTE5) === hash) {
16581        return true;
16582      }
16583    }
16584    return false;
16585  }
16586  function injectStyle5(targetDocument, hash, css) {
16587    if (!targetDocument.head) {
16588      return;
16589    }
16590    const runtime = getRuntime5();
16591    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16592    if (!injectedStyles) {
16593      injectedStyles = /* @__PURE__ */ new Set();
16594      runtime.injectedStyles.set(targetDocument, injectedStyles);
16595    }
16596    if (injectedStyles.has(hash)) {
16597      return;
16598    }
16599    if (documentContainsStyleHash5(targetDocument, hash)) {
16600      injectedStyles.add(hash);
16601      return;
16602    }
16603    const style = targetDocument.createElement("style");
16604    style.setAttribute(STYLE_HASH_ATTRIBUTE5, hash);
16605    style.appendChild(targetDocument.createTextNode(css));
16606    targetDocument.head.appendChild(style);
16607    injectedStyles.add(hash);
16608  }
16609  function registerDocument5(targetDocument) {
16610    const runtime = getRuntime5();
16611    runtime.documents.set(
16612      targetDocument,
16613      (runtime.documents.get(targetDocument) ?? 0) + 1
16614    );
16615    for (const [hash, css] of runtime.styles) {
16616      injectStyle5(targetDocument, hash, css);
16617    }
16618    return () => {
16619      const count = runtime.documents.get(targetDocument);
16620      if (count === void 0) {
16621        return;
16622      }
16623      if (count <= 1) {
16624        runtime.documents.delete(targetDocument);
16625        return;
16626      }
16627      runtime.documents.set(targetDocument, count - 1);
16628    };
16629  }
16630  function registerStyle5(hash, css) {
16631    const runtime = getRuntime5();
16632    runtime.styles.set(hash, css);
16633    for (const targetDocument of runtime.documents.keys()) {
16634      injectStyle5(targetDocument, hash, css);
16635    }
16636  }
16637  if (typeof process === "undefined" || true) {
16638    registerStyle5("15abcab4d0", ".f37b9e2e191ebd66__visually-hidden{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal;padding:0;position:absolute;width:1px;word-break:normal}");
16639  }
16640  var style_default5 = { "visually-hidden": "f37b9e2e191ebd66__visually-hidden" };
16641  var VisuallyHidden = (0, import_element22.forwardRef)(
16642    function UnforwardedVisuallyHidden({ render, ...restProps }, ref) {
16643      const element = useRender({
16644        render,
16645        ref,
16646        props: mergeProps(
16647          { className: style_default5["visually-hidden"] },
16648          restProps,
16649          {
16650            // @ts-expect-error Arbitrary data-* attributes aren't indexable on the typed div props. Kept hardcoded so consumers can't change or remove it.
16651            "data-visually-hidden": ""
16652          }
16653        )
16654      });
16655      return element;
16656    }
16657  );
16658  
16659  // packages/ui/build-module/utils/keyboard-shortcut.mjs
16660  var import_jsx_runtime42 = __toESM(require_jsx_runtime(), 1);
16661  function useKeyboardShortcutProps({
16662    "aria-describedby": ariaDescribedBy,
16663    "aria-keyshortcuts": ariaKeyShortcuts,
16664    shortcut
16665  }) {
16666    const generatedDescriptionId = (0, import_element23.useId)();
16667    const descriptionId = shortcut ? generatedDescriptionId : void 0;
16668    const describedBy = [ariaDescribedBy, descriptionId].filter(Boolean).join(" ");
16669    return {
16670      descriptionId,
16671      targetProps: {
16672        "aria-describedby": describedBy || void 0,
16673        "aria-keyshortcuts": shortcut?.ariaKeyShortcut ?? ariaKeyShortcuts
16674      }
16675    };
16676  }
16677  var KeyboardShortcutDescription = (0, import_element23.forwardRef)(function UnforwardedKeyboardShortcutDescription({ descriptionId, shortcut }, ref) {
16678    return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
16679      VisuallyHidden,
16680      {
16681        id: descriptionId,
16682        "aria-hidden": "true",
16683        render: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { ref }),
16684        children: (0, import_i18n2.sprintf)(
16685          /* translators: %s: keyboard shortcut. */
16686          (0, import_i18n2.__)("Keyboard shortcut: %s"),
16687          shortcut.label ?? shortcut.ariaKeyShortcut
16688        )
16689      }
16690    );
16691  });
16692  var KeyboardShortcutDisplay = (0, import_element23.forwardRef)(function UnforwardedKeyboardShortcutDisplay({ className, shortcut }, ref) {
16693    return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { ref, "aria-hidden": "true", className, dir: "ltr", children: shortcut.displayShortcut });
16694  });
16695  
16696  // packages/ui/build-module/utils/item-popup/item-content.mjs
16697  var import_element24 = __toESM(require_element(), 1);
16698  var VALIDATION_ENABLED = true;
16699  function parseItemContent(children, { Label, Description, validationMessage }) {
16700    const childArray = import_element24.Children.toArray(children);
16701    const [label, ...descriptions] = childArray;
16702    const hasLabel = (0, import_element24.isValidElement)(label) && label.type === Label;
16703    const descriptionElements = descriptions.filter(
16704      (description) => (0, import_element24.isValidElement)(description) && description.type === Description
16705    );
16706    if (VALIDATION_ENABLED && (!hasLabel || descriptionElements.length !== descriptions.length)) {
16707      throw new Error(validationMessage);
16708    }
16709    return {
16710      descriptionIds: descriptionElements.map(
16711        (description) => description.props.id
16712      ),
16713      hasLabel,
16714      labelId: hasLabel ? label.props.id : void 0
16715    };
16716  }
16717  function useItemContent(children, components, {
16718    "aria-describedby": ariaDescribedBy,
16719    "aria-label": ariaLabel,
16720    "aria-labelledby": ariaLabelledBy
16721  } = {}) {
16722    const generatedLabelId = (0, import_element24.useId)();
16723    const generatedDescriptionId = (0, import_element24.useId)();
16724    const { descriptionIds, hasLabel, labelId } = parseItemContent(
16725      children,
16726      components
16727    );
16728    const resolvedLabelId = hasLabel ? labelId ?? generatedLabelId : void 0;
16729    const resolvedDescriptionIds = descriptionIds.map(
16730      (descriptionId, index2) => descriptionId ?? `$generatedDescriptionId}-$index2}`
16731    );
16732    const itemDescribedBy = Array.from(
16733      /* @__PURE__ */ new Set([
16734        ...ariaDescribedBy?.split(/\s+/).filter(Boolean) ?? [],
16735        ...resolvedDescriptionIds
16736      ])
16737    ).join(" ");
16738    let descriptionIndex = 0;
16739    const { Label, Description, descriptionValidationToken } = components;
16740    const contentChildren = import_element24.Children.map(children, (child) => {
16741      if (!(0, import_element24.isValidElement)(child)) {
16742        return child;
16743      }
16744      if (child.type === Label) {
16745        return child.props.id === resolvedLabelId ? child : (0, import_element24.cloneElement)(child, { id: resolvedLabelId });
16746      }
16747      if (child.type !== Description) {
16748        return child;
16749      }
16750      const descriptionId = resolvedDescriptionIds[descriptionIndex++];
16751      if (!descriptionValidationToken && child.props.id === descriptionId) {
16752        return child;
16753      }
16754      return (0, import_element24.cloneElement)(child, {
16755        id: descriptionId,
16756        ...descriptionValidationToken && {
16757          validationToken: descriptionValidationToken
16758        }
16759      });
16760    });
16761    const labelledBy = ariaLabelledBy ?? (ariaLabel ? void 0 : resolvedLabelId);
16762    return {
16763      contentChildren,
16764      resolvedLabelId,
16765      itemAriaProps: {
16766        "aria-describedby": itemDescribedBy || void 0,
16767        "aria-label": ariaLabel,
16768        "aria-labelledby": labelledBy
16769      }
16770    };
16771  }
16772  
16773  // packages/ui/build-module/utils/render-slot-with-children.mjs
16774  var import_element25 = __toESM(require_element(), 1);
16775  function renderSlotWithChildren(slot, defaultSlot, children) {
16776    return (0, import_element25.cloneElement)(
16777      slot ?? defaultSlot,
16778      { children }
16779    );
16780  }
16781  
16782  // packages/ui/build-module/utils/wp-compat-overlay-slot.mjs
16783  var STYLE_HASH_ATTRIBUTE6 = "data-wp-hash";
16784  function getRuntime6() {
16785    const globalScope = globalThis;
16786    if (globalScope.__wpStyleRuntime) {
16787      return globalScope.__wpStyleRuntime;
16788    }
16789    globalScope.__wpStyleRuntime = {
16790      documents: /* @__PURE__ */ new Map(),
16791      styles: /* @__PURE__ */ new Map(),
16792      injectedStyles: /* @__PURE__ */ new WeakMap()
16793    };
16794    if (typeof document !== "undefined") {
16795      registerDocument6(document);
16796    }
16797    return globalScope.__wpStyleRuntime;
16798  }
16799  function documentContainsStyleHash6(targetDocument, hash) {
16800    if (!targetDocument.head) {
16801      return false;
16802    }
16803    for (const style of targetDocument.head.querySelectorAll(
16804      `style[$STYLE_HASH_ATTRIBUTE6}]`
16805    )) {
16806      if (style.getAttribute(STYLE_HASH_ATTRIBUTE6) === hash) {
16807        return true;
16808      }
16809    }
16810    return false;
16811  }
16812  function injectStyle6(targetDocument, hash, css) {
16813    if (!targetDocument.head) {
16814      return;
16815    }
16816    const runtime = getRuntime6();
16817    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16818    if (!injectedStyles) {
16819      injectedStyles = /* @__PURE__ */ new Set();
16820      runtime.injectedStyles.set(targetDocument, injectedStyles);
16821    }
16822    if (injectedStyles.has(hash)) {
16823      return;
16824    }
16825    if (documentContainsStyleHash6(targetDocument, hash)) {
16826      injectedStyles.add(hash);
16827      return;
16828    }
16829    const style = targetDocument.createElement("style");
16830    style.setAttribute(STYLE_HASH_ATTRIBUTE6, hash);
16831    style.appendChild(targetDocument.createTextNode(css));
16832    targetDocument.head.appendChild(style);
16833    injectedStyles.add(hash);
16834  }
16835  function registerDocument6(targetDocument) {
16836    const runtime = getRuntime6();
16837    runtime.documents.set(
16838      targetDocument,
16839      (runtime.documents.get(targetDocument) ?? 0) + 1
16840    );
16841    for (const [hash, css] of runtime.styles) {
16842      injectStyle6(targetDocument, hash, css);
16843    }
16844    return () => {
16845      const count = runtime.documents.get(targetDocument);
16846      if (count === void 0) {
16847        return;
16848      }
16849      if (count <= 1) {
16850        runtime.documents.delete(targetDocument);
16851        return;
16852      }
16853      runtime.documents.set(targetDocument, count - 1);
16854    };
16855  }
16856  function registerStyle6(hash, css) {
16857    const runtime = getRuntime6();
16858    runtime.styles.set(hash, css);
16859    for (const targetDocument of runtime.documents.keys()) {
16860      injectStyle6(targetDocument, hash, css);
16861    }
16862  }
16863  if (typeof process === "undefined" || true) {
16864    registerStyle6("be37f31c1e", "._11fc52b637ff8a7e__slot{inset:0;isolation:isolate;pointer-events:none;position:fixed;z-index:1000000003}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._11fc52b637ff8a7e__slot>*{pointer-events:auto}}}");
16865  }
16866  var wp_compat_overlay_slot_default = { "slot": "_11fc52b637ff8a7e__slot" };
16867  var WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE = "data-wp-compat-overlay-slot";
16868  function resolveOwnerDocument() {
16869    return typeof document === "undefined" ? null : document;
16870  }
16871  function isInWordPressEnvironment() {
16872    let topWp;
16873    try {
16874      topWp = window.top?.wp;
16875    } catch {
16876    }
16877    const wp = topWp ?? window.wp;
16878    return typeof wp?.components === "object" && wp.components !== null;
16879  }
16880  var cachedSlot = null;
16881  function ensureSlotIsAccessible(element) {
16882    element.setAttribute("aria-hidden", "false");
16883    return element;
16884  }
16885  function createSlot(ownerDocument2) {
16886    const element = ownerDocument2.createElement("div");
16887    element.setAttribute(WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE, "");
16888    if (wp_compat_overlay_slot_default.slot) {
16889      element.classList.add(wp_compat_overlay_slot_default.slot);
16890    }
16891    ownerDocument2.body.appendChild(element);
16892    return element;
16893  }
16894  function getWpCompatOverlaySlot() {
16895    if (typeof window === "undefined") {
16896      return void 0;
16897    }
16898    if (!isInWordPressEnvironment() && window.__wpUiCompatOverlaySlotEnabled !== true) {
16899      return void 0;
16900    }
16901    const ownerDocument2 = resolveOwnerDocument();
16902    if (!ownerDocument2 || !ownerDocument2.body) {
16903      return void 0;
16904    }
16905    if (cachedSlot && cachedSlot.ownerDocument === ownerDocument2 && cachedSlot.isConnected) {
16906      return ensureSlotIsAccessible(cachedSlot);
16907    }
16908    const existing = ownerDocument2.querySelector(
16909      `[$WP_COMPAT_OVERLAY_SLOT_ATTRIBUTE}]`
16910    );
16911    if (existing instanceof HTMLDivElement) {
16912      cachedSlot = ensureSlotIsAccessible(existing);
16913      return cachedSlot;
16914    }
16915    if (cachedSlot?.isConnected) {
16916      cachedSlot.remove();
16917    }
16918    cachedSlot = ensureSlotIsAccessible(createSlot(ownerDocument2));
16919    return cachedSlot;
16920  }
16921  
16922  // packages/ui/build-module/form/primitives/constants.mjs
16923  var ITEM_POPUP_POSITIONER_PROPS = {
16924    align: "start",
16925    sideOffset: 8,
16926    collisionPadding: 12
16927  };
16928  
16929  // packages/ui/build-module/utils/direction-provider.mjs
16930  var import_i18n3 = __toESM(require_i18n(), 1);
16931  var import_jsx_runtime43 = __toESM(require_jsx_runtime(), 1);
16932  function DirectionProvider3({ children }) {
16933    return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(DirectionProvider, { direction: (0, import_i18n3.isRTL)() ? "rtl" : "ltr", children });
16934  }
16935  
16936  // packages/ui/build-module/tooltip/popup.mjs
16937  var import_element28 = __toESM(require_element(), 1);
16938  
16939  // packages/ui/build-module/tooltip/portal.mjs
16940  var import_element26 = __toESM(require_element(), 1);
16941  var import_jsx_runtime44 = __toESM(require_jsx_runtime(), 1);
16942  var Portal = (0, import_element26.forwardRef)(
16943    function TooltipPortal3({ container, ...restProps }, ref) {
16944      return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
16945        index_parts_exports3.Portal,
16946        {
16947          container: container === void 0 ? getWpCompatOverlaySlot() : container,
16948          ...restProps,
16949          ref
16950        }
16951      );
16952    }
16953  );
16954  
16955  // packages/ui/build-module/tooltip/positioner.mjs
16956  var import_element27 = __toESM(require_element(), 1);
16957  var import_jsx_runtime45 = __toESM(require_jsx_runtime(), 1);
16958  var STYLE_HASH_ATTRIBUTE7 = "data-wp-hash";
16959  function getRuntime7() {
16960    const globalScope = globalThis;
16961    if (globalScope.__wpStyleRuntime) {
16962      return globalScope.__wpStyleRuntime;
16963    }
16964    globalScope.__wpStyleRuntime = {
16965      documents: /* @__PURE__ */ new Map(),
16966      styles: /* @__PURE__ */ new Map(),
16967      injectedStyles: /* @__PURE__ */ new WeakMap()
16968    };
16969    if (typeof document !== "undefined") {
16970      registerDocument7(document);
16971    }
16972    return globalScope.__wpStyleRuntime;
16973  }
16974  function documentContainsStyleHash7(targetDocument, hash) {
16975    if (!targetDocument.head) {
16976      return false;
16977    }
16978    for (const style of targetDocument.head.querySelectorAll(
16979      `style[$STYLE_HASH_ATTRIBUTE7}]`
16980    )) {
16981      if (style.getAttribute(STYLE_HASH_ATTRIBUTE7) === hash) {
16982        return true;
16983      }
16984    }
16985    return false;
16986  }
16987  function injectStyle7(targetDocument, hash, css) {
16988    if (!targetDocument.head) {
16989      return;
16990    }
16991    const runtime = getRuntime7();
16992    let injectedStyles = runtime.injectedStyles.get(targetDocument);
16993    if (!injectedStyles) {
16994      injectedStyles = /* @__PURE__ */ new Set();
16995      runtime.injectedStyles.set(targetDocument, injectedStyles);
16996    }
16997    if (injectedStyles.has(hash)) {
16998      return;
16999    }
17000    if (documentContainsStyleHash7(targetDocument, hash)) {
17001      injectedStyles.add(hash);
17002      return;
17003    }
17004    const style = targetDocument.createElement("style");
17005    style.setAttribute(STYLE_HASH_ATTRIBUTE7, hash);
17006    style.appendChild(targetDocument.createTextNode(css));
17007    targetDocument.head.appendChild(style);
17008    injectedStyles.add(hash);
17009  }
17010  function registerDocument7(targetDocument) {
17011    const runtime = getRuntime7();
17012    runtime.documents.set(
17013      targetDocument,
17014      (runtime.documents.get(targetDocument) ?? 0) + 1
17015    );
17016    for (const [hash, css] of runtime.styles) {
17017      injectStyle7(targetDocument, hash, css);
17018    }
17019    return () => {
17020      const count = runtime.documents.get(targetDocument);
17021      if (count === void 0) {
17022        return;
17023      }
17024      if (count <= 1) {
17025        runtime.documents.delete(targetDocument);
17026        return;
17027      }
17028      runtime.documents.set(targetDocument, count - 1);
17029    };
17030  }
17031  function registerStyle7(hash, css) {
17032    const runtime = getRuntime7();
17033    runtime.styles.set(hash, css);
17034    for (const targetDocument of runtime.documents.keys()) {
17035      injectStyle7(targetDocument, hash, css);
17036    }
17037  }
17038  if (typeof process === "undefined" || true) {
17039    registerStyle7("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
17040  }
17041  var resets_default2 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
17042  if (typeof process === "undefined" || true) {
17043    registerStyle7("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');
17044  }
17045  var style_default6 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
17046  var Positioner = (0, import_element27.forwardRef)(
17047    function TooltipPositioner3({ align = "center", className, side = "top", sideOffset = 4, ...props }, ref) {
17048      return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
17049        index_parts_exports3.Positioner,
17050        {
17051          ref,
17052          align,
17053          side,
17054          sideOffset,
17055          ...props,
17056          className: clsx_default(
17057            resets_default2["box-sizing"],
17058            style_default6.positioner,
17059            className
17060          )
17061        }
17062      );
17063    }
17064  );
17065  
17066  // packages/ui/build-module/utils/theme-provider.mjs
17067  var theme = __toESM(require_theme(), 1);
17068  
17069  // packages/ui/build-module/lock-unlock.mjs
17070  var import_private_apis = __toESM(require_private_apis(), 1);
17071  var { lock, unlock } = (0, import_private_apis.__dangerousOptInToUnstableAPIsOnlyForCoreModules)(
17072    "I acknowledge private features are not for use in themes or plugins and doing so will break in the next version of WordPress.",
17073    "@wordpress/ui"
17074  );
17075  
17076  // packages/ui/build-module/utils/theme-provider.mjs
17077  function getThemeProvider() {
17078    const themePackage = theme;
17079    if (themePackage.ThemeProvider) {
17080      return themePackage.ThemeProvider;
17081    }
17082    if (!themePackage.privateApis) {
17083      throw new Error(
17084        "@wordpress/ui: @wordpress/theme must expose `ThemeProvider` or `privateApis.ThemeProvider`."
17085      );
17086    }
17087    return unlock(
17088      themePackage.privateApis
17089    ).ThemeProvider;
17090  }
17091  var ThemeProvider = getThemeProvider();
17092  
17093  // packages/ui/build-module/tooltip/popup.mjs
17094  var import_jsx_runtime46 = __toESM(require_jsx_runtime(), 1);
17095  var STYLE_HASH_ATTRIBUTE8 = "data-wp-hash";
17096  function getRuntime8() {
17097    const globalScope = globalThis;
17098    if (globalScope.__wpStyleRuntime) {
17099      return globalScope.__wpStyleRuntime;
17100    }
17101    globalScope.__wpStyleRuntime = {
17102      documents: /* @__PURE__ */ new Map(),
17103      styles: /* @__PURE__ */ new Map(),
17104      injectedStyles: /* @__PURE__ */ new WeakMap()
17105    };
17106    if (typeof document !== "undefined") {
17107      registerDocument8(document);
17108    }
17109    return globalScope.__wpStyleRuntime;
17110  }
17111  function documentContainsStyleHash8(targetDocument, hash) {
17112    if (!targetDocument.head) {
17113      return false;
17114    }
17115    for (const style of targetDocument.head.querySelectorAll(
17116      `style[$STYLE_HASH_ATTRIBUTE8}]`
17117    )) {
17118      if (style.getAttribute(STYLE_HASH_ATTRIBUTE8) === hash) {
17119        return true;
17120      }
17121    }
17122    return false;
17123  }
17124  function injectStyle8(targetDocument, hash, css) {
17125    if (!targetDocument.head) {
17126      return;
17127    }
17128    const runtime = getRuntime8();
17129    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17130    if (!injectedStyles) {
17131      injectedStyles = /* @__PURE__ */ new Set();
17132      runtime.injectedStyles.set(targetDocument, injectedStyles);
17133    }
17134    if (injectedStyles.has(hash)) {
17135      return;
17136    }
17137    if (documentContainsStyleHash8(targetDocument, hash)) {
17138      injectedStyles.add(hash);
17139      return;
17140    }
17141    const style = targetDocument.createElement("style");
17142    style.setAttribute(STYLE_HASH_ATTRIBUTE8, hash);
17143    style.appendChild(targetDocument.createTextNode(css));
17144    targetDocument.head.appendChild(style);
17145    injectedStyles.add(hash);
17146  }
17147  function registerDocument8(targetDocument) {
17148    const runtime = getRuntime8();
17149    runtime.documents.set(
17150      targetDocument,
17151      (runtime.documents.get(targetDocument) ?? 0) + 1
17152    );
17153    for (const [hash, css] of runtime.styles) {
17154      injectStyle8(targetDocument, hash, css);
17155    }
17156    return () => {
17157      const count = runtime.documents.get(targetDocument);
17158      if (count === void 0) {
17159        return;
17160      }
17161      if (count <= 1) {
17162        runtime.documents.delete(targetDocument);
17163        return;
17164      }
17165      runtime.documents.set(targetDocument, count - 1);
17166    };
17167  }
17168  function registerStyle8(hash, css) {
17169    const runtime = getRuntime8();
17170    runtime.styles.set(hash, css);
17171    for (const targetDocument of runtime.documents.keys()) {
17172      injectStyle8(targetDocument, hash, css);
17173    }
17174  }
17175  if (typeof process === "undefined" || true) {
17176    registerStyle8("19fcc06039", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._480b748dd3510e64__positioner{z-index:var(--wp-ui-tooltip-z-index,initial)}._50096b232db7709d__popup{--_wp-ui-elevation-sm:0 1px 2px rgba(0,0,0,.05),0 2px 3px rgba(0,0,0,.04),0 6px 6px rgba(0,0,0,.03),0 8px 8px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-sm);color:var(--wpds-color-foreground-content-neutral,#1e1e1e);font-family:var(--wpds-typography-font-family-body,-apple-system,system-ui,"Segoe UI","Roboto","Oxygen-Sans","Ubuntu","Cantarell","Helvetica Neue",sans-serif);font-size:var(--wpds-typography-font-size-sm,12px);line-height:1.4;padding:var(--wpds-dimension-padding-xs,4px) var(--wpds-dimension-padding-sm,8px);@media (forced-colors:active){border-bottom-color:CanvasText;border-bottom-style:solid;border-bottom-width:1px;border-left-color:CanvasText;border-left-style:solid;border-left-width:1px;border-right-color:CanvasText;border-right-style:solid;border-right-width:1px;border-top-color:CanvasText;border-top-style:solid;border-top-width:1px}}}}');
17177  }
17178  var style_default7 = { "positioner": "_480b748dd3510e64__positioner", "popup": "_50096b232db7709d__popup" };
17179  var POPUP_COLOR = { background: "#1e1e1e" };
17180  var Popup = (0, import_element28.forwardRef)(function TooltipPopup3({ portal, positioner, children, className, ...props }, ref) {
17181    const popupContent = /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(ThemeProvider, { color: POPUP_COLOR, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
17182      index_parts_exports3.Popup,
17183      {
17184        ref,
17185        className: clsx_default(style_default7.popup, className),
17186        ...props,
17187        children
17188      }
17189    ) });
17190    const positionedPopup = renderSlotWithChildren(
17191      positioner,
17192      /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Positioner, {}),
17193      popupContent
17194    );
17195    return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(Portal, {}), positionedPopup);
17196  });
17197  
17198  // packages/ui/build-module/tooltip/trigger.mjs
17199  var import_element29 = __toESM(require_element(), 1);
17200  var import_jsx_runtime47 = __toESM(require_jsx_runtime(), 1);
17201  var Trigger = (0, import_element29.forwardRef)(
17202    function TooltipTrigger3(props, ref) {
17203      return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(index_parts_exports3.Trigger, { ref, ...props });
17204    }
17205  );
17206  
17207  // packages/ui/build-module/tooltip/root.mjs
17208  var import_jsx_runtime48 = __toESM(require_jsx_runtime(), 1);
17209  function Root(props) {
17210    return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(index_parts_exports3.Root, { ...props }) });
17211  }
17212  
17213  // packages/ui/build-module/icon-button/icon-button.mjs
17214  var import_element30 = __toESM(require_element(), 1);
17215  var import_jsx_runtime49 = __toESM(require_jsx_runtime(), 1);
17216  var STYLE_HASH_ATTRIBUTE9 = "data-wp-hash";
17217  function getRuntime9() {
17218    const globalScope = globalThis;
17219    if (globalScope.__wpStyleRuntime) {
17220      return globalScope.__wpStyleRuntime;
17221    }
17222    globalScope.__wpStyleRuntime = {
17223      documents: /* @__PURE__ */ new Map(),
17224      styles: /* @__PURE__ */ new Map(),
17225      injectedStyles: /* @__PURE__ */ new WeakMap()
17226    };
17227    if (typeof document !== "undefined") {
17228      registerDocument9(document);
17229    }
17230    return globalScope.__wpStyleRuntime;
17231  }
17232  function documentContainsStyleHash9(targetDocument, hash) {
17233    if (!targetDocument.head) {
17234      return false;
17235    }
17236    for (const style of targetDocument.head.querySelectorAll(
17237      `style[$STYLE_HASH_ATTRIBUTE9}]`
17238    )) {
17239      if (style.getAttribute(STYLE_HASH_ATTRIBUTE9) === hash) {
17240        return true;
17241      }
17242    }
17243    return false;
17244  }
17245  function injectStyle9(targetDocument, hash, css) {
17246    if (!targetDocument.head) {
17247      return;
17248    }
17249    const runtime = getRuntime9();
17250    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17251    if (!injectedStyles) {
17252      injectedStyles = /* @__PURE__ */ new Set();
17253      runtime.injectedStyles.set(targetDocument, injectedStyles);
17254    }
17255    if (injectedStyles.has(hash)) {
17256      return;
17257    }
17258    if (documentContainsStyleHash9(targetDocument, hash)) {
17259      injectedStyles.add(hash);
17260      return;
17261    }
17262    const style = targetDocument.createElement("style");
17263    style.setAttribute(STYLE_HASH_ATTRIBUTE9, hash);
17264    style.appendChild(targetDocument.createTextNode(css));
17265    targetDocument.head.appendChild(style);
17266    injectedStyles.add(hash);
17267  }
17268  function registerDocument9(targetDocument) {
17269    const runtime = getRuntime9();
17270    runtime.documents.set(
17271      targetDocument,
17272      (runtime.documents.get(targetDocument) ?? 0) + 1
17273    );
17274    for (const [hash, css] of runtime.styles) {
17275      injectStyle9(targetDocument, hash, css);
17276    }
17277    return () => {
17278      const count = runtime.documents.get(targetDocument);
17279      if (count === void 0) {
17280        return;
17281      }
17282      if (count <= 1) {
17283        runtime.documents.delete(targetDocument);
17284        return;
17285      }
17286      runtime.documents.set(targetDocument, count - 1);
17287    };
17288  }
17289  function registerStyle9(hash, css) {
17290    const runtime = getRuntime9();
17291    runtime.styles.set(hash, css);
17292    for (const targetDocument of runtime.documents.keys()) {
17293      injectStyle9(targetDocument, hash, css);
17294    }
17295  }
17296  if (typeof process === "undefined" || true) {
17297    registerStyle9("c5cdafb1bc", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer compositions{._28cfdc260e755391__icon-button{--wp-ui-button-aspect-ratio:1;--wp-ui-button-padding-inline:0px;--wp-ui-button-min-width:unset}.f1c70d719989a85a__icon{margin:-1px}}}");
17298  }
17299  var style_default8 = { "icon-button": "_28cfdc260e755391__icon-button", "icon": "f1c70d719989a85a__icon" };
17300  var IconButton = (0, import_element30.forwardRef)(
17301    function UnforwardedIconButton({
17302      label,
17303      className,
17304      // Prevent accidental forwarding of `children`
17305      children: _children,
17306      disabled: disabled2,
17307      focusableWhenDisabled = true,
17308      icon,
17309      size: size4,
17310      shortcut,
17311      positioner,
17312      "aria-describedby": ariaDescribedBy,
17313      "aria-keyshortcuts": ariaKeyShortcuts,
17314      ...restProps
17315    }, ref) {
17316      const classes = clsx_default(style_default8["icon-button"], className);
17317      const { descriptionId, targetProps } = useKeyboardShortcutProps({
17318        "aria-describedby": ariaDescribedBy,
17319        "aria-keyshortcuts": ariaKeyShortcuts,
17320        shortcut
17321      });
17322      return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Root, { children: [
17323        /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(
17324          Trigger,
17325          {
17326            ref,
17327            ...targetProps,
17328            disabled: disabled2 && !focusableWhenDisabled,
17329            render: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17330              Button4,
17331              {
17332                ...restProps,
17333                size: size4,
17334                "aria-label": label,
17335                disabled: disabled2,
17336                focusableWhenDisabled
17337              }
17338            ),
17339            className: classes,
17340            children: [
17341              /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Icon, { icon, size: 24, className: style_default8.icon }),
17342              shortcut && descriptionId && /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
17343                KeyboardShortcutDescription,
17344                {
17345                  descriptionId,
17346                  shortcut
17347                }
17348              )
17349            ]
17350          }
17351        ),
17352        /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(Popup, { positioner, children: [
17353          label,
17354          shortcut && /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(import_jsx_runtime49.Fragment, { children: [
17355            " ",
17356            /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(KeyboardShortcutDisplay, { shortcut })
17357          ] })
17358        ] })
17359      ] });
17360    }
17361  );
17362  
17363  // packages/ui/build-module/form/primitives/autocomplete/index.mjs
17364  var autocomplete_exports = {};
17365  __export(autocomplete_exports, {
17366    Clear: () => Clear,
17367    Collection: () => Collection,
17368    Empty: () => Empty,
17369    Group: () => Group,
17370    GroupLabel: () => GroupLabel,
17371    Input: () => Input4,
17372    InputGroup: () => InputGroup,
17373    Item: () => Item,
17374    ItemDescription: () => ForwardedItemDescription,
17375    ItemLabel: () => ForwardedItemLabel,
17376    List: () => List,
17377    ListBody: () => ListBody,
17378    Popup: () => Popup2,
17379    Portal: () => Portal2,
17380    Positioner: () => Positioner2,
17381    Root: () => Root2,
17382    Row: () => Row,
17383    Separator: () => Separator,
17384    Status: () => Status,
17385    Value: () => Value,
17386    useFilteredItems: () => useFilteredItems2
17387  });
17388  
17389  // packages/ui/build-module/form/primitives/autocomplete/clear.mjs
17390  var import_element31 = __toESM(require_element(), 1);
17391  var import_i18n4 = __toESM(require_i18n(), 1);
17392  var import_jsx_runtime50 = __toESM(require_jsx_runtime(), 1);
17393  var DEFAULT_RENDER = ({
17394    "aria-label": ariaLabel = (0, import_i18n4.__)("Clear"),
17395    ...props
17396  }, { disabled: disabled2 }) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17397    IconButton,
17398    {
17399      icon: close_small_default,
17400      focusableWhenDisabled: false,
17401      disabled: disabled2,
17402      "aria-hidden": disabled2 || void 0,
17403      size: "small",
17404      variant: "minimal",
17405      tone: "neutral",
17406      label: ariaLabel,
17407      ...props
17408    }
17409  );
17410  var Clear = (0, import_element31.forwardRef)(
17411    function UnforwardedClear({ render = DEFAULT_RENDER, ...restProps }, ref) {
17412      return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
17413        index_parts_exports.Clear,
17414        {
17415          ref,
17416          render,
17417          ...restProps
17418        }
17419      );
17420    }
17421  );
17422  
17423  // packages/ui/build-module/form/primitives/autocomplete/collection.mjs
17424  var import_jsx_runtime51 = __toESM(require_jsx_runtime(), 1);
17425  function Collection({
17426    children,
17427    ...restProps
17428  }) {
17429    return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(index_parts_exports.Collection, { ...restProps, children });
17430  }
17431  
17432  // packages/ui/build-module/form/primitives/autocomplete/empty.mjs
17433  var import_element32 = __toESM(require_element(), 1);
17434  var import_jsx_runtime52 = __toESM(require_jsx_runtime(), 1);
17435  var STYLE_HASH_ATTRIBUTE10 = "data-wp-hash";
17436  function getRuntime10() {
17437    const globalScope = globalThis;
17438    if (globalScope.__wpStyleRuntime) {
17439      return globalScope.__wpStyleRuntime;
17440    }
17441    globalScope.__wpStyleRuntime = {
17442      documents: /* @__PURE__ */ new Map(),
17443      styles: /* @__PURE__ */ new Map(),
17444      injectedStyles: /* @__PURE__ */ new WeakMap()
17445    };
17446    if (typeof document !== "undefined") {
17447      registerDocument10(document);
17448    }
17449    return globalScope.__wpStyleRuntime;
17450  }
17451  function documentContainsStyleHash10(targetDocument, hash) {
17452    if (!targetDocument.head) {
17453      return false;
17454    }
17455    for (const style of targetDocument.head.querySelectorAll(
17456      `style[$STYLE_HASH_ATTRIBUTE10}]`
17457    )) {
17458      if (style.getAttribute(STYLE_HASH_ATTRIBUTE10) === hash) {
17459        return true;
17460      }
17461    }
17462    return false;
17463  }
17464  function injectStyle10(targetDocument, hash, css) {
17465    if (!targetDocument.head) {
17466      return;
17467    }
17468    const runtime = getRuntime10();
17469    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17470    if (!injectedStyles) {
17471      injectedStyles = /* @__PURE__ */ new Set();
17472      runtime.injectedStyles.set(targetDocument, injectedStyles);
17473    }
17474    if (injectedStyles.has(hash)) {
17475      return;
17476    }
17477    if (documentContainsStyleHash10(targetDocument, hash)) {
17478      injectedStyles.add(hash);
17479      return;
17480    }
17481    const style = targetDocument.createElement("style");
17482    style.setAttribute(STYLE_HASH_ATTRIBUTE10, hash);
17483    style.appendChild(targetDocument.createTextNode(css));
17484    targetDocument.head.appendChild(style);
17485    injectedStyles.add(hash);
17486  }
17487  function registerDocument10(targetDocument) {
17488    const runtime = getRuntime10();
17489    runtime.documents.set(
17490      targetDocument,
17491      (runtime.documents.get(targetDocument) ?? 0) + 1
17492    );
17493    for (const [hash, css] of runtime.styles) {
17494      injectStyle10(targetDocument, hash, css);
17495    }
17496    return () => {
17497      const count = runtime.documents.get(targetDocument);
17498      if (count === void 0) {
17499        return;
17500      }
17501      if (count <= 1) {
17502        runtime.documents.delete(targetDocument);
17503        return;
17504      }
17505      runtime.documents.set(targetDocument, count - 1);
17506    };
17507  }
17508  function registerStyle10(hash, css) {
17509    const runtime = getRuntime10();
17510    runtime.styles.set(hash, css);
17511    for (const targetDocument of runtime.documents.keys()) {
17512      injectStyle10(targetDocument, hash, css);
17513    }
17514  }
17515  if (typeof process === "undefined" || true) {
17516    registerStyle10("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
17517  }
17518  var item_popup_default = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
17519  var Empty = (0, import_element32.forwardRef)(
17520    function UnforwardedEmpty({ className, ...restProps }, ref) {
17521      return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
17522        index_parts_exports.Empty,
17523        {
17524          className: clsx_default(item_popup_default.empty, className),
17525          ref,
17526          ...restProps
17527        }
17528      );
17529    }
17530  );
17531  
17532  // packages/ui/build-module/form/primitives/autocomplete/group.mjs
17533  var import_element33 = __toESM(require_element(), 1);
17534  var import_jsx_runtime53 = __toESM(require_jsx_runtime(), 1);
17535  var STYLE_HASH_ATTRIBUTE11 = "data-wp-hash";
17536  function getRuntime11() {
17537    const globalScope = globalThis;
17538    if (globalScope.__wpStyleRuntime) {
17539      return globalScope.__wpStyleRuntime;
17540    }
17541    globalScope.__wpStyleRuntime = {
17542      documents: /* @__PURE__ */ new Map(),
17543      styles: /* @__PURE__ */ new Map(),
17544      injectedStyles: /* @__PURE__ */ new WeakMap()
17545    };
17546    if (typeof document !== "undefined") {
17547      registerDocument11(document);
17548    }
17549    return globalScope.__wpStyleRuntime;
17550  }
17551  function documentContainsStyleHash11(targetDocument, hash) {
17552    if (!targetDocument.head) {
17553      return false;
17554    }
17555    for (const style of targetDocument.head.querySelectorAll(
17556      `style[$STYLE_HASH_ATTRIBUTE11}]`
17557    )) {
17558      if (style.getAttribute(STYLE_HASH_ATTRIBUTE11) === hash) {
17559        return true;
17560      }
17561    }
17562    return false;
17563  }
17564  function injectStyle11(targetDocument, hash, css) {
17565    if (!targetDocument.head) {
17566      return;
17567    }
17568    const runtime = getRuntime11();
17569    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17570    if (!injectedStyles) {
17571      injectedStyles = /* @__PURE__ */ new Set();
17572      runtime.injectedStyles.set(targetDocument, injectedStyles);
17573    }
17574    if (injectedStyles.has(hash)) {
17575      return;
17576    }
17577    if (documentContainsStyleHash11(targetDocument, hash)) {
17578      injectedStyles.add(hash);
17579      return;
17580    }
17581    const style = targetDocument.createElement("style");
17582    style.setAttribute(STYLE_HASH_ATTRIBUTE11, hash);
17583    style.appendChild(targetDocument.createTextNode(css));
17584    targetDocument.head.appendChild(style);
17585    injectedStyles.add(hash);
17586  }
17587  function registerDocument11(targetDocument) {
17588    const runtime = getRuntime11();
17589    runtime.documents.set(
17590      targetDocument,
17591      (runtime.documents.get(targetDocument) ?? 0) + 1
17592    );
17593    for (const [hash, css] of runtime.styles) {
17594      injectStyle11(targetDocument, hash, css);
17595    }
17596    return () => {
17597      const count = runtime.documents.get(targetDocument);
17598      if (count === void 0) {
17599        return;
17600      }
17601      if (count <= 1) {
17602        runtime.documents.delete(targetDocument);
17603        return;
17604      }
17605      runtime.documents.set(targetDocument, count - 1);
17606    };
17607  }
17608  function registerStyle11(hash, css) {
17609    const runtime = getRuntime11();
17610    runtime.styles.set(hash, css);
17611    for (const targetDocument of runtime.documents.keys()) {
17612      injectStyle11(targetDocument, hash, css);
17613    }
17614  }
17615  if (typeof process === "undefined" || true) {
17616    registerStyle11("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
17617  }
17618  var item_popup_default2 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
17619  var Group = (0, import_element33.forwardRef)(
17620    function UnforwardedGroup({ className, children, ...restProps }, ref) {
17621      return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
17622        index_parts_exports.Group,
17623        {
17624          className: clsx_default(item_popup_default2.group, className),
17625          ref,
17626          ...restProps,
17627          children
17628        }
17629      );
17630    }
17631  );
17632  
17633  // packages/ui/build-module/form/primitives/autocomplete/group-label.mjs
17634  var import_element34 = __toESM(require_element(), 1);
17635  var import_jsx_runtime54 = __toESM(require_jsx_runtime(), 1);
17636  var STYLE_HASH_ATTRIBUTE12 = "data-wp-hash";
17637  function getRuntime12() {
17638    const globalScope = globalThis;
17639    if (globalScope.__wpStyleRuntime) {
17640      return globalScope.__wpStyleRuntime;
17641    }
17642    globalScope.__wpStyleRuntime = {
17643      documents: /* @__PURE__ */ new Map(),
17644      styles: /* @__PURE__ */ new Map(),
17645      injectedStyles: /* @__PURE__ */ new WeakMap()
17646    };
17647    if (typeof document !== "undefined") {
17648      registerDocument12(document);
17649    }
17650    return globalScope.__wpStyleRuntime;
17651  }
17652  function documentContainsStyleHash12(targetDocument, hash) {
17653    if (!targetDocument.head) {
17654      return false;
17655    }
17656    for (const style of targetDocument.head.querySelectorAll(
17657      `style[$STYLE_HASH_ATTRIBUTE12}]`
17658    )) {
17659      if (style.getAttribute(STYLE_HASH_ATTRIBUTE12) === hash) {
17660        return true;
17661      }
17662    }
17663    return false;
17664  }
17665  function injectStyle12(targetDocument, hash, css) {
17666    if (!targetDocument.head) {
17667      return;
17668    }
17669    const runtime = getRuntime12();
17670    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17671    if (!injectedStyles) {
17672      injectedStyles = /* @__PURE__ */ new Set();
17673      runtime.injectedStyles.set(targetDocument, injectedStyles);
17674    }
17675    if (injectedStyles.has(hash)) {
17676      return;
17677    }
17678    if (documentContainsStyleHash12(targetDocument, hash)) {
17679      injectedStyles.add(hash);
17680      return;
17681    }
17682    const style = targetDocument.createElement("style");
17683    style.setAttribute(STYLE_HASH_ATTRIBUTE12, hash);
17684    style.appendChild(targetDocument.createTextNode(css));
17685    targetDocument.head.appendChild(style);
17686    injectedStyles.add(hash);
17687  }
17688  function registerDocument12(targetDocument) {
17689    const runtime = getRuntime12();
17690    runtime.documents.set(
17691      targetDocument,
17692      (runtime.documents.get(targetDocument) ?? 0) + 1
17693    );
17694    for (const [hash, css] of runtime.styles) {
17695      injectStyle12(targetDocument, hash, css);
17696    }
17697    return () => {
17698      const count = runtime.documents.get(targetDocument);
17699      if (count === void 0) {
17700        return;
17701      }
17702      if (count <= 1) {
17703        runtime.documents.delete(targetDocument);
17704        return;
17705      }
17706      runtime.documents.set(targetDocument, count - 1);
17707    };
17708  }
17709  function registerStyle12(hash, css) {
17710    const runtime = getRuntime12();
17711    runtime.styles.set(hash, css);
17712    for (const targetDocument of runtime.documents.keys()) {
17713      injectStyle12(targetDocument, hash, css);
17714    }
17715  }
17716  if (typeof process === "undefined" || true) {
17717    registerStyle12("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
17718  }
17719  var item_popup_default3 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
17720  var GroupLabel = (0, import_element34.forwardRef)(function UnforwardedGroupLabel({ className, children, ...restProps }, ref) {
17721    return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
17722      Text,
17723      {
17724        variant: "heading-sm",
17725        className: clsx_default(item_popup_default3["group-label"], className),
17726        render: /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(index_parts_exports.GroupLabel, { ref, ...restProps }),
17727        children
17728      }
17729    );
17730  });
17731  
17732  // packages/ui/build-module/form/primitives/autocomplete/input-group.mjs
17733  var import_element35 = __toESM(require_element(), 1);
17734  var import_jsx_runtime55 = __toESM(require_jsx_runtime(), 1);
17735  var InputGroup = (0, import_element35.forwardRef)(function UnforwardedInputGroup(props, ref) {
17736    return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(index_parts_exports.InputGroup, { ref, ...props });
17737  });
17738  
17739  // packages/ui/build-module/form/primitives/autocomplete/input.mjs
17740  var import_element39 = __toESM(require_element(), 1);
17741  
17742  // packages/ui/build-module/form/primitives/input/input.mjs
17743  var import_element38 = __toESM(require_element(), 1);
17744  
17745  // packages/ui/build-module/form/primitives/input-layout/input-layout.mjs
17746  var import_element36 = __toESM(require_element(), 1);
17747  var import_jsx_runtime56 = __toESM(require_jsx_runtime(), 1);
17748  var STYLE_HASH_ATTRIBUTE13 = "data-wp-hash";
17749  function getRuntime13() {
17750    const globalScope = globalThis;
17751    if (globalScope.__wpStyleRuntime) {
17752      return globalScope.__wpStyleRuntime;
17753    }
17754    globalScope.__wpStyleRuntime = {
17755      documents: /* @__PURE__ */ new Map(),
17756      styles: /* @__PURE__ */ new Map(),
17757      injectedStyles: /* @__PURE__ */ new WeakMap()
17758    };
17759    if (typeof document !== "undefined") {
17760      registerDocument13(document);
17761    }
17762    return globalScope.__wpStyleRuntime;
17763  }
17764  function documentContainsStyleHash13(targetDocument, hash) {
17765    if (!targetDocument.head) {
17766      return false;
17767    }
17768    for (const style of targetDocument.head.querySelectorAll(
17769      `style[$STYLE_HASH_ATTRIBUTE13}]`
17770    )) {
17771      if (style.getAttribute(STYLE_HASH_ATTRIBUTE13) === hash) {
17772        return true;
17773      }
17774    }
17775    return false;
17776  }
17777  function injectStyle13(targetDocument, hash, css) {
17778    if (!targetDocument.head) {
17779      return;
17780    }
17781    const runtime = getRuntime13();
17782    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17783    if (!injectedStyles) {
17784      injectedStyles = /* @__PURE__ */ new Set();
17785      runtime.injectedStyles.set(targetDocument, injectedStyles);
17786    }
17787    if (injectedStyles.has(hash)) {
17788      return;
17789    }
17790    if (documentContainsStyleHash13(targetDocument, hash)) {
17791      injectedStyles.add(hash);
17792      return;
17793    }
17794    const style = targetDocument.createElement("style");
17795    style.setAttribute(STYLE_HASH_ATTRIBUTE13, hash);
17796    style.appendChild(targetDocument.createTextNode(css));
17797    targetDocument.head.appendChild(style);
17798    injectedStyles.add(hash);
17799  }
17800  function registerDocument13(targetDocument) {
17801    const runtime = getRuntime13();
17802    runtime.documents.set(
17803      targetDocument,
17804      (runtime.documents.get(targetDocument) ?? 0) + 1
17805    );
17806    for (const [hash, css] of runtime.styles) {
17807      injectStyle13(targetDocument, hash, css);
17808    }
17809    return () => {
17810      const count = runtime.documents.get(targetDocument);
17811      if (count === void 0) {
17812        return;
17813      }
17814      if (count <= 1) {
17815        runtime.documents.delete(targetDocument);
17816        return;
17817      }
17818      runtime.documents.set(targetDocument, count - 1);
17819    };
17820  }
17821  function registerStyle13(hash, css) {
17822    const runtime = getRuntime13();
17823    runtime.styles.set(hash, css);
17824    for (const targetDocument of runtime.documents.keys()) {
17825      injectStyle13(targetDocument, hash, css);
17826    }
17827  }
17828  if (typeof process === "undefined" || true) {
17829    registerStyle13("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
17830  }
17831  var global_css_defense_default3 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
17832  if (typeof process === "undefined" || true) {
17833    registerStyle13("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
17834  }
17835  var resets_default3 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
17836  if (typeof process === "undefined" || true) {
17837    registerStyle13("fae9ae14d3", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cb2baafdc08746bb__input-layout{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-md,12px);background-color:var(--wpds-color-background-interactive-neutral,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:var(--wpds-border-width-xs,1px);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display: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(--wpds-typography-font-size-md,13px);height:var(--wpds-dimension-size-lg,40px);line-height:1;&._0c807a84cbb94e0c__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&._0c807a84cbb94e0c__is-size-compact,&.ed67cda122dc1e7b__is-size-small{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.ed67cda122dc1e7b__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._6fb7104732387680__is-disabled,&:has([data-can-disable-input-layout][data-disabled]){color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}&:not(._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-disabled,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText}}}&._8097270636ca6100__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._0d7afad74a057888__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._6fb7104732387680__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-active,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e)}&:has(:invalid[data-validity-visible]){--focus-color:var(--wpds-color-stroke-interactive-error,#cc1818);border-color:var(--wpds-color-stroke-interactive-error,#cc1818);&:hover{border-color:var(--wpds-color-stroke-interactive-error-active,#9d0000)}}}.c192b41a12b4387b__slot-wrapper{display:contents}._0d7afad74a057888__input-layout-slot{align-items:center;display:flex;&._0c952682762ca288__is-padding-minimal{--wp-ui-input-layout-prefix-padding-start:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px));--wp-ui-input-layout-suffix-padding-end:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}[data-slot-type=prefix] &{padding-inline-start:var(--wp-ui-input-layout-prefix-padding-start,var(--wp-ui-input-layout-padding-inline))}[data-slot-type=suffix] &{padding-inline-end:var(--wp-ui-input-layout-suffix-padding-end,var(--wp-ui-input-layout-padding-inline))}}}}');
17838  }
17839  var style_default9 = { "input-layout": "cb2baafdc08746bb__input-layout", "is-size-compact": "_0c807a84cbb94e0c__is-size-compact", "is-size-small": "ed67cda122dc1e7b__is-size-small", "is-disabled": "_6fb7104732387680__is-disabled", "is-borderless": "_8097270636ca6100__is-borderless", "input-layout-slot": "_0d7afad74a057888__input-layout-slot", "slot-wrapper": "c192b41a12b4387b__slot-wrapper", "is-padding-minimal": "_0c952682762ca288__is-padding-minimal" };
17840  var InputLayout = (0, import_element36.forwardRef)(
17841    function UnforwardedInputLayout({
17842      className,
17843      children,
17844      visuallyDisabled,
17845      size: size4 = "default",
17846      isBorderless,
17847      prefix,
17848      suffix,
17849      ...restProps
17850    }, ref) {
17851      return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)(
17852        "div",
17853        {
17854          ref,
17855          className: clsx_default(
17856            global_css_defense_default3.div,
17857            resets_default3["box-sizing"],
17858            style_default9["input-layout"],
17859            style_default9[`is-size-$size4}`],
17860            visuallyDisabled && style_default9["is-disabled"],
17861            isBorderless && style_default9["is-borderless"],
17862            className
17863          ),
17864          ...restProps,
17865          children: [
17866            import_element36.Children.count(prefix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
17867              "div",
17868              {
17869                className: style_default9["slot-wrapper"],
17870                "data-slot-type": "prefix",
17871                children: prefix
17872              }
17873            ),
17874            children,
17875            import_element36.Children.count(suffix) > 0 && /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
17876              "div",
17877              {
17878                className: style_default9["slot-wrapper"],
17879                "data-slot-type": "suffix",
17880                children: suffix
17881              }
17882            )
17883          ]
17884        }
17885      );
17886    }
17887  );
17888  
17889  // packages/ui/build-module/form/primitives/input-layout/slot.mjs
17890  var import_element37 = __toESM(require_element(), 1);
17891  var import_jsx_runtime57 = __toESM(require_jsx_runtime(), 1);
17892  var STYLE_HASH_ATTRIBUTE14 = "data-wp-hash";
17893  function getRuntime14() {
17894    const globalScope = globalThis;
17895    if (globalScope.__wpStyleRuntime) {
17896      return globalScope.__wpStyleRuntime;
17897    }
17898    globalScope.__wpStyleRuntime = {
17899      documents: /* @__PURE__ */ new Map(),
17900      styles: /* @__PURE__ */ new Map(),
17901      injectedStyles: /* @__PURE__ */ new WeakMap()
17902    };
17903    if (typeof document !== "undefined") {
17904      registerDocument14(document);
17905    }
17906    return globalScope.__wpStyleRuntime;
17907  }
17908  function documentContainsStyleHash14(targetDocument, hash) {
17909    if (!targetDocument.head) {
17910      return false;
17911    }
17912    for (const style of targetDocument.head.querySelectorAll(
17913      `style[$STYLE_HASH_ATTRIBUTE14}]`
17914    )) {
17915      if (style.getAttribute(STYLE_HASH_ATTRIBUTE14) === hash) {
17916        return true;
17917      }
17918    }
17919    return false;
17920  }
17921  function injectStyle14(targetDocument, hash, css) {
17922    if (!targetDocument.head) {
17923      return;
17924    }
17925    const runtime = getRuntime14();
17926    let injectedStyles = runtime.injectedStyles.get(targetDocument);
17927    if (!injectedStyles) {
17928      injectedStyles = /* @__PURE__ */ new Set();
17929      runtime.injectedStyles.set(targetDocument, injectedStyles);
17930    }
17931    if (injectedStyles.has(hash)) {
17932      return;
17933    }
17934    if (documentContainsStyleHash14(targetDocument, hash)) {
17935      injectedStyles.add(hash);
17936      return;
17937    }
17938    const style = targetDocument.createElement("style");
17939    style.setAttribute(STYLE_HASH_ATTRIBUTE14, hash);
17940    style.appendChild(targetDocument.createTextNode(css));
17941    targetDocument.head.appendChild(style);
17942    injectedStyles.add(hash);
17943  }
17944  function registerDocument14(targetDocument) {
17945    const runtime = getRuntime14();
17946    runtime.documents.set(
17947      targetDocument,
17948      (runtime.documents.get(targetDocument) ?? 0) + 1
17949    );
17950    for (const [hash, css] of runtime.styles) {
17951      injectStyle14(targetDocument, hash, css);
17952    }
17953    return () => {
17954      const count = runtime.documents.get(targetDocument);
17955      if (count === void 0) {
17956        return;
17957      }
17958      if (count <= 1) {
17959        runtime.documents.delete(targetDocument);
17960        return;
17961      }
17962      runtime.documents.set(targetDocument, count - 1);
17963    };
17964  }
17965  function registerStyle14(hash, css) {
17966    const runtime = getRuntime14();
17967    runtime.styles.set(hash, css);
17968    for (const targetDocument of runtime.documents.keys()) {
17969      injectStyle14(targetDocument, hash, css);
17970    }
17971  }
17972  if (typeof process === "undefined" || true) {
17973    registerStyle14("fae9ae14d3", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{.cb2baafdc08746bb__input-layout{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-md,12px);background-color:var(--wpds-color-background-interactive-neutral,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral,#8d8d8d);border-radius:var(--wpds-border-radius-sm,2px);border-style:solid;border-width:var(--wpds-border-width-xs,1px);color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);display: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(--wpds-typography-font-size-md,13px);height:var(--wpds-dimension-size-lg,40px);line-height:1;&._0c807a84cbb94e0c__is-size-compact{height:var(--wpds-dimension-size-md,32px)}&._0c807a84cbb94e0c__is-size-compact,&.ed67cda122dc1e7b__is-size-small{--wp-ui-input-layout-padding-inline:var(--wpds-dimension-padding-sm,8px)}&.ed67cda122dc1e7b__is-size-small{height:var(--wpds-dimension-size-sm,24px)}&._6fb7104732387680__is-disabled,&:has([data-can-disable-input-layout][data-disabled]){color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}&:not(._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-disabled,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-disabled,#dbdbdb);@media (forced-colors:active){border-bottom-color:GrayText;border-left-color:GrayText;border-right-color:GrayText;border-top-color:GrayText}}}&._8097270636ca6100__is-borderless{background-color:var(--wpds-color-background-interactive-neutral-weak,#0000);border-color:transparent}&:has(._0d7afad74a057888__input-layout-slot:focus-within){--_gcd-div-outline:none;outline:none}&:hover:not(._6fb7104732387680__is-disabled,:has([data-can-disable-input-layout][data-disabled]),._8097270636ca6100__is-borderless){background-color:var(--wpds-color-background-interactive-neutral-active,var(--wpds-color-background-surface-neutral-strong,#fff));border-color:var(--wpds-color-stroke-interactive-neutral-active,#6e6e6e)}&:has(:invalid[data-validity-visible]){--focus-color:var(--wpds-color-stroke-interactive-error,#cc1818);border-color:var(--wpds-color-stroke-interactive-error,#cc1818);&:hover{border-color:var(--wpds-color-stroke-interactive-error-active,#9d0000)}}}.c192b41a12b4387b__slot-wrapper{display:contents}._0d7afad74a057888__input-layout-slot{align-items:center;display:flex;&._0c952682762ca288__is-padding-minimal{--wp-ui-input-layout-prefix-padding-start:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px));--wp-ui-input-layout-suffix-padding-end:calc(var(--wp-ui-input-layout-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}[data-slot-type=prefix] &{padding-inline-start:var(--wp-ui-input-layout-prefix-padding-start,var(--wp-ui-input-layout-padding-inline))}[data-slot-type=suffix] &{padding-inline-end:var(--wp-ui-input-layout-suffix-padding-end,var(--wp-ui-input-layout-padding-inline))}}}}');
17974  }
17975  var style_default10 = { "input-layout": "cb2baafdc08746bb__input-layout", "is-size-compact": "_0c807a84cbb94e0c__is-size-compact", "is-size-small": "ed67cda122dc1e7b__is-size-small", "is-disabled": "_6fb7104732387680__is-disabled", "is-borderless": "_8097270636ca6100__is-borderless", "input-layout-slot": "_0d7afad74a057888__input-layout-slot", "slot-wrapper": "c192b41a12b4387b__slot-wrapper", "is-padding-minimal": "_0c952682762ca288__is-padding-minimal" };
17976  var InputLayoutSlot = (0, import_element37.forwardRef)(function UnforwardedInputLayoutSlot({ padding = "default", className, ...restProps }, ref) {
17977    return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
17978      "div",
17979      {
17980        ref,
17981        className: clsx_default(
17982          style_default10["input-layout-slot"],
17983          style_default10[`is-padding-$padding}`],
17984          className
17985        ),
17986        ...restProps
17987      }
17988    );
17989  });
17990  InputLayoutSlot.displayName = "InputLayout.Slot";
17991  
17992  // packages/ui/build-module/form/primitives/input-layout/index.mjs
17993  var InputLayout2 = Object.assign(InputLayout, {
17994    Slot: InputLayoutSlot
17995  });
17996  
17997  // packages/ui/build-module/form/primitives/input/input.mjs
17998  var import_jsx_runtime58 = __toESM(require_jsx_runtime(), 1);
17999  var STYLE_HASH_ATTRIBUTE15 = "data-wp-hash";
18000  function getRuntime15() {
18001    const globalScope = globalThis;
18002    if (globalScope.__wpStyleRuntime) {
18003      return globalScope.__wpStyleRuntime;
18004    }
18005    globalScope.__wpStyleRuntime = {
18006      documents: /* @__PURE__ */ new Map(),
18007      styles: /* @__PURE__ */ new Map(),
18008      injectedStyles: /* @__PURE__ */ new WeakMap()
18009    };
18010    if (typeof document !== "undefined") {
18011      registerDocument15(document);
18012    }
18013    return globalScope.__wpStyleRuntime;
18014  }
18015  function documentContainsStyleHash15(targetDocument, hash) {
18016    if (!targetDocument.head) {
18017      return false;
18018    }
18019    for (const style of targetDocument.head.querySelectorAll(
18020      `style[$STYLE_HASH_ATTRIBUTE15}]`
18021    )) {
18022      if (style.getAttribute(STYLE_HASH_ATTRIBUTE15) === hash) {
18023        return true;
18024      }
18025    }
18026    return false;
18027  }
18028  function injectStyle15(targetDocument, hash, css) {
18029    if (!targetDocument.head) {
18030      return;
18031    }
18032    const runtime = getRuntime15();
18033    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18034    if (!injectedStyles) {
18035      injectedStyles = /* @__PURE__ */ new Set();
18036      runtime.injectedStyles.set(targetDocument, injectedStyles);
18037    }
18038    if (injectedStyles.has(hash)) {
18039      return;
18040    }
18041    if (documentContainsStyleHash15(targetDocument, hash)) {
18042      injectedStyles.add(hash);
18043      return;
18044    }
18045    const style = targetDocument.createElement("style");
18046    style.setAttribute(STYLE_HASH_ATTRIBUTE15, hash);
18047    style.appendChild(targetDocument.createTextNode(css));
18048    targetDocument.head.appendChild(style);
18049    injectedStyles.add(hash);
18050  }
18051  function registerDocument15(targetDocument) {
18052    const runtime = getRuntime15();
18053    runtime.documents.set(
18054      targetDocument,
18055      (runtime.documents.get(targetDocument) ?? 0) + 1
18056    );
18057    for (const [hash, css] of runtime.styles) {
18058      injectStyle15(targetDocument, hash, css);
18059    }
18060    return () => {
18061      const count = runtime.documents.get(targetDocument);
18062      if (count === void 0) {
18063        return;
18064      }
18065      if (count <= 1) {
18066        runtime.documents.delete(targetDocument);
18067        return;
18068      }
18069      runtime.documents.set(targetDocument, count - 1);
18070    };
18071  }
18072  function registerStyle15(hash, css) {
18073    const runtime = getRuntime15();
18074    runtime.styles.set(hash, css);
18075    for (const targetDocument of runtime.documents.keys()) {
18076      injectStyle15(targetDocument, hash, css);
18077    }
18078  }
18079  if (typeof process === "undefined" || true) {
18080    registerStyle15("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
18081  }
18082  var global_css_defense_default4 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
18083  if (typeof process === "undefined" || true) {
18084    registerStyle15("7c3267f794", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{.af79fb116edb0dd7__outset-ring--focus:focus,.dfcfdc28396e5d98__outset-ring--focus-visible:focus-visible,.e5cd9ee879f6403a__outset-ring--focus-within:focus-within{--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within,.abc777e9713fa711__outset-ring--focus-except-active:focus{outline:none}._3c9f5ee9fc9c136d__outset-ring--focus-within-except-active:focus-within:not(:has(:active)),.abc777e9713fa711__outset-ring--focus-except-active:focus:not(:active){--_gcd-a-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));--_gcd-div-outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px)) solid var(--focus-color,var(--wpds-color-stroke-focus,var(--wp-admin-theme-color,#3858e9)));outline-offset:var(--wpds-border-width-focus,var(--wp-admin-border-width-focus,2px))}}}");
18085  }
18086  var focus_module_default2 = { "outset-ring--focus": "af79fb116edb0dd7__outset-ring--focus", "outset-ring--focus-visible": "dfcfdc28396e5d98__outset-ring--focus-visible", "outset-ring--focus-within": "e5cd9ee879f6403a__outset-ring--focus-within", "outset-ring--focus-except-active": "abc777e9713fa711__outset-ring--focus-except-active", "outset-ring--focus-within-except-active": "_3c9f5ee9fc9c136d__outset-ring--focus-within-except-active" };
18087  if (typeof process === "undefined" || true) {
18088    registerStyle15("afb8caf1cd", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._2ae7be2fc1bb17a3__input{--_gcd-input-padding:var(--wp-ui-input-padding-block,0px) var(--wp-ui-input-layout-padding-inline,0px);--_gcd-input-font-size:max(var(--wpds-typography-font-size-md,13px),16px);background:transparent;border:none;color:var(--wpds-color-foreground-interactive-neutral,#1e1e1e);font-family:inherit;font-size:inherit;line-height:inherit;outline:none;padding-block:var(--wp-ui-input-padding-block,0);padding-inline:var(--wp-ui-input-layout-padding-inline,0);width:100%;@media (min-width:600px){--_gcd-input-font-size:inherit}&::placeholder{color:var(--wpds-color-foreground-interactive-neutral-weak,#707070)}&:disabled,&[aria-disabled=true]{--_gcd-input-placeholder-color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);&::placeholder{color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d)}@media (forced-colors:active){color:GrayText}}&[type=email],&[type=url]{direction:ltr}&[type=number]{appearance:textfield;&::-webkit-inner-spin-button,&::-webkit-outer-spin-button{appearance:none;margin:0}}}}@layer compositions{.beecada4b38856ab__layout{font-size:max(var(--wpds-typography-font-size-md,13px),16px);@media (min-width:600px){font-size:var(--wpds-typography-font-size-md,13px)}}}}");
18089  }
18090  var style_default11 = { "input": "_2ae7be2fc1bb17a3__input", "layout": "beecada4b38856ab__layout" };
18091  var Input3 = (0, import_element38.forwardRef)(
18092    function UnforwardedInput({ className, size: size4 = "default", prefix, suffix, style, ...restProps }, ref) {
18093      return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
18094        InputLayout2,
18095        {
18096          className: clsx_default(
18097            style_default11.layout,
18098            focus_module_default2["outset-ring--focus-within"],
18099            className
18100          ),
18101          style,
18102          size: size4,
18103          visuallyDisabled: restProps.disabled,
18104          prefix,
18105          suffix,
18106          children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
18107            Input,
18108            {
18109              ref,
18110              className: clsx_default(global_css_defense_default4.input, style_default11.input),
18111              ...restProps
18112            }
18113          )
18114        }
18115      );
18116    }
18117  );
18118  
18119  // packages/ui/build-module/form/primitives/autocomplete/input.mjs
18120  var import_jsx_runtime59 = __toESM(require_jsx_runtime(), 1);
18121  var DEFAULT_RENDER2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Input3, { ...props });
18122  var Input4 = (0, import_element39.forwardRef)(
18123    function UnforwardedInput2({ render = DEFAULT_RENDER2, ...restProps }, ref) {
18124      return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
18125        index_parts_exports.Input,
18126        {
18127          ref,
18128          render,
18129          ...restProps
18130        }
18131      );
18132    }
18133  );
18134  
18135  // packages/ui/build-module/form/primitives/autocomplete/item.mjs
18136  var import_element42 = __toESM(require_element(), 1);
18137  
18138  // packages/ui/build-module/form/primitives/autocomplete/item-description.mjs
18139  var import_element40 = __toESM(require_element(), 1);
18140  var import_jsx_runtime60 = __toESM(require_jsx_runtime(), 1);
18141  var STYLE_HASH_ATTRIBUTE16 = "data-wp-hash";
18142  function getRuntime16() {
18143    const globalScope = globalThis;
18144    if (globalScope.__wpStyleRuntime) {
18145      return globalScope.__wpStyleRuntime;
18146    }
18147    globalScope.__wpStyleRuntime = {
18148      documents: /* @__PURE__ */ new Map(),
18149      styles: /* @__PURE__ */ new Map(),
18150      injectedStyles: /* @__PURE__ */ new WeakMap()
18151    };
18152    if (typeof document !== "undefined") {
18153      registerDocument16(document);
18154    }
18155    return globalScope.__wpStyleRuntime;
18156  }
18157  function documentContainsStyleHash16(targetDocument, hash) {
18158    if (!targetDocument.head) {
18159      return false;
18160    }
18161    for (const style of targetDocument.head.querySelectorAll(
18162      `style[$STYLE_HASH_ATTRIBUTE16}]`
18163    )) {
18164      if (style.getAttribute(STYLE_HASH_ATTRIBUTE16) === hash) {
18165        return true;
18166      }
18167    }
18168    return false;
18169  }
18170  function injectStyle16(targetDocument, hash, css) {
18171    if (!targetDocument.head) {
18172      return;
18173    }
18174    const runtime = getRuntime16();
18175    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18176    if (!injectedStyles) {
18177      injectedStyles = /* @__PURE__ */ new Set();
18178      runtime.injectedStyles.set(targetDocument, injectedStyles);
18179    }
18180    if (injectedStyles.has(hash)) {
18181      return;
18182    }
18183    if (documentContainsStyleHash16(targetDocument, hash)) {
18184      injectedStyles.add(hash);
18185      return;
18186    }
18187    const style = targetDocument.createElement("style");
18188    style.setAttribute(STYLE_HASH_ATTRIBUTE16, hash);
18189    style.appendChild(targetDocument.createTextNode(css));
18190    targetDocument.head.appendChild(style);
18191    injectedStyles.add(hash);
18192  }
18193  function registerDocument16(targetDocument) {
18194    const runtime = getRuntime16();
18195    runtime.documents.set(
18196      targetDocument,
18197      (runtime.documents.get(targetDocument) ?? 0) + 1
18198    );
18199    for (const [hash, css] of runtime.styles) {
18200      injectStyle16(targetDocument, hash, css);
18201    }
18202    return () => {
18203      const count = runtime.documents.get(targetDocument);
18204      if (count === void 0) {
18205        return;
18206      }
18207      if (count <= 1) {
18208        runtime.documents.delete(targetDocument);
18209        return;
18210      }
18211      runtime.documents.set(targetDocument, count - 1);
18212    };
18213  }
18214  function registerStyle16(hash, css) {
18215    const runtime = getRuntime16();
18216    runtime.styles.set(hash, css);
18217    for (const targetDocument of runtime.documents.keys()) {
18218      injectStyle16(targetDocument, hash, css);
18219    }
18220  }
18221  if (typeof process === "undefined" || true) {
18222    registerStyle16("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18223  }
18224  var item_popup_default4 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18225  var ITEM_DESCRIPTION_DIRECT_CHILD = /* @__PURE__ */ Symbol();
18226  var ForwardedItemDescription = (0, import_element40.forwardRef)(function ItemDescription(props, ref) {
18227    const { className, validationToken, ...restProps } = props;
18228    if (validationToken !== ITEM_DESCRIPTION_DIRECT_CHILD) {
18229      throw new Error(
18230        "Autocomplete.ItemDescription: Missing direct autocomplete item parent. Render <Autocomplete.ItemDescription> as a direct child of <Autocomplete.Item>."
18231      );
18232    }
18233    return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
18234      Text,
18235      {
18236        ref,
18237        variant: "body-sm",
18238        className: clsx_default(
18239          item_popup_default4["item-description"],
18240          className
18241        ),
18242        ...restProps
18243      }
18244    );
18245  });
18246  
18247  // packages/ui/build-module/form/primitives/autocomplete/item-label.mjs
18248  var import_element41 = __toESM(require_element(), 1);
18249  var import_jsx_runtime61 = __toESM(require_jsx_runtime(), 1);
18250  var STYLE_HASH_ATTRIBUTE17 = "data-wp-hash";
18251  function getRuntime17() {
18252    const globalScope = globalThis;
18253    if (globalScope.__wpStyleRuntime) {
18254      return globalScope.__wpStyleRuntime;
18255    }
18256    globalScope.__wpStyleRuntime = {
18257      documents: /* @__PURE__ */ new Map(),
18258      styles: /* @__PURE__ */ new Map(),
18259      injectedStyles: /* @__PURE__ */ new WeakMap()
18260    };
18261    if (typeof document !== "undefined") {
18262      registerDocument17(document);
18263    }
18264    return globalScope.__wpStyleRuntime;
18265  }
18266  function documentContainsStyleHash17(targetDocument, hash) {
18267    if (!targetDocument.head) {
18268      return false;
18269    }
18270    for (const style of targetDocument.head.querySelectorAll(
18271      `style[$STYLE_HASH_ATTRIBUTE17}]`
18272    )) {
18273      if (style.getAttribute(STYLE_HASH_ATTRIBUTE17) === hash) {
18274        return true;
18275      }
18276    }
18277    return false;
18278  }
18279  function injectStyle17(targetDocument, hash, css) {
18280    if (!targetDocument.head) {
18281      return;
18282    }
18283    const runtime = getRuntime17();
18284    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18285    if (!injectedStyles) {
18286      injectedStyles = /* @__PURE__ */ new Set();
18287      runtime.injectedStyles.set(targetDocument, injectedStyles);
18288    }
18289    if (injectedStyles.has(hash)) {
18290      return;
18291    }
18292    if (documentContainsStyleHash17(targetDocument, hash)) {
18293      injectedStyles.add(hash);
18294      return;
18295    }
18296    const style = targetDocument.createElement("style");
18297    style.setAttribute(STYLE_HASH_ATTRIBUTE17, hash);
18298    style.appendChild(targetDocument.createTextNode(css));
18299    targetDocument.head.appendChild(style);
18300    injectedStyles.add(hash);
18301  }
18302  function registerDocument17(targetDocument) {
18303    const runtime = getRuntime17();
18304    runtime.documents.set(
18305      targetDocument,
18306      (runtime.documents.get(targetDocument) ?? 0) + 1
18307    );
18308    for (const [hash, css] of runtime.styles) {
18309      injectStyle17(targetDocument, hash, css);
18310    }
18311    return () => {
18312      const count = runtime.documents.get(targetDocument);
18313      if (count === void 0) {
18314        return;
18315      }
18316      if (count <= 1) {
18317        runtime.documents.delete(targetDocument);
18318        return;
18319      }
18320      runtime.documents.set(targetDocument, count - 1);
18321    };
18322  }
18323  function registerStyle17(hash, css) {
18324    const runtime = getRuntime17();
18325    runtime.styles.set(hash, css);
18326    for (const targetDocument of runtime.documents.keys()) {
18327      injectStyle17(targetDocument, hash, css);
18328    }
18329  }
18330  if (typeof process === "undefined" || true) {
18331    registerStyle17("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18332  }
18333  var item_popup_default5 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18334  var ForwardedItemLabel = (0, import_element41.forwardRef)(function ItemLabel({ className, ...restProps }, ref) {
18335    return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
18336      Text,
18337      {
18338        ref,
18339        variant: "body-md",
18340        className: clsx_default(item_popup_default5["item-label"], className),
18341        ...restProps
18342      }
18343    );
18344  });
18345  
18346  // packages/ui/build-module/form/primitives/autocomplete/item.mjs
18347  var import_jsx_runtime62 = __toESM(require_jsx_runtime(), 1);
18348  var STYLE_HASH_ATTRIBUTE18 = "data-wp-hash";
18349  function getRuntime18() {
18350    const globalScope = globalThis;
18351    if (globalScope.__wpStyleRuntime) {
18352      return globalScope.__wpStyleRuntime;
18353    }
18354    globalScope.__wpStyleRuntime = {
18355      documents: /* @__PURE__ */ new Map(),
18356      styles: /* @__PURE__ */ new Map(),
18357      injectedStyles: /* @__PURE__ */ new WeakMap()
18358    };
18359    if (typeof document !== "undefined") {
18360      registerDocument18(document);
18361    }
18362    return globalScope.__wpStyleRuntime;
18363  }
18364  function documentContainsStyleHash18(targetDocument, hash) {
18365    if (!targetDocument.head) {
18366      return false;
18367    }
18368    for (const style of targetDocument.head.querySelectorAll(
18369      `style[$STYLE_HASH_ATTRIBUTE18}]`
18370    )) {
18371      if (style.getAttribute(STYLE_HASH_ATTRIBUTE18) === hash) {
18372        return true;
18373      }
18374    }
18375    return false;
18376  }
18377  function injectStyle18(targetDocument, hash, css) {
18378    if (!targetDocument.head) {
18379      return;
18380    }
18381    const runtime = getRuntime18();
18382    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18383    if (!injectedStyles) {
18384      injectedStyles = /* @__PURE__ */ new Set();
18385      runtime.injectedStyles.set(targetDocument, injectedStyles);
18386    }
18387    if (injectedStyles.has(hash)) {
18388      return;
18389    }
18390    if (documentContainsStyleHash18(targetDocument, hash)) {
18391      injectedStyles.add(hash);
18392      return;
18393    }
18394    const style = targetDocument.createElement("style");
18395    style.setAttribute(STYLE_HASH_ATTRIBUTE18, hash);
18396    style.appendChild(targetDocument.createTextNode(css));
18397    targetDocument.head.appendChild(style);
18398    injectedStyles.add(hash);
18399  }
18400  function registerDocument18(targetDocument) {
18401    const runtime = getRuntime18();
18402    runtime.documents.set(
18403      targetDocument,
18404      (runtime.documents.get(targetDocument) ?? 0) + 1
18405    );
18406    for (const [hash, css] of runtime.styles) {
18407      injectStyle18(targetDocument, hash, css);
18408    }
18409    return () => {
18410      const count = runtime.documents.get(targetDocument);
18411      if (count === void 0) {
18412        return;
18413      }
18414      if (count <= 1) {
18415        runtime.documents.delete(targetDocument);
18416        return;
18417      }
18418      runtime.documents.set(targetDocument, count - 1);
18419    };
18420  }
18421  function registerStyle18(hash, css) {
18422    const runtime = getRuntime18();
18423    runtime.styles.set(hash, css);
18424    for (const targetDocument of runtime.documents.keys()) {
18425      injectStyle18(targetDocument, hash, css);
18426    }
18427  }
18428  if (typeof process === "undefined" || true) {
18429    registerStyle18("abb19c3171", "._6defc79820e382c6__button{box-sizing:var(--_gcd-button-box-sizing,border-box);font-family:var(--_gcd-button-font-family,inherit);font-size:var(--_gcd-button-font-size,inherit);font-weight:var(--_gcd-button-font-weight,inherit)}.d2cff2e5dea83bd1__input{box-sizing:var(--_gcd-input-box-sizing,border-box);font-family:var(--_gcd-input-font-family,inherit);font-size:var(--_gcd-input-font-size,inherit);font-weight:var(--_gcd-input-font-weight,inherit);margin:var(--_gcd-input-margin,0);&::placeholder{color:var(--_gcd-input-placeholder-color,var(--wpds-color-foreground-interactive-neutral-weak,#707070))}&:is(textarea,[type=text],[type=password],[type=color],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){background-color:var(--_gcd-input-background-color,transparent);border:var(--_gcd-input-border,none);border-radius:var(--_gcd-input-border-radius,0);box-shadow:var(--_gcd-input-box-shadow,0 0 0 transparent);color:var(--_gcd-input-color,var(--wpds-color-foreground-interactive-neutral,#1e1e1e));&:focus{border-color:var(--_gcd-input-border-color-focus,var(--wp-admin-theme-color));box-shadow:var(--_gcd-input-box-shadow-focus,none);outline:var(--_gcd-input-outline-focus,none)}&:disabled{background:var(--_gcd-input-background-disabled,transparent);border-color:var(--_gcd-input-border-color-disabled,transparent);box-shadow:var(--_gcd-input-box-shadow-disabled,none);color:var(--_gcd-input-color-disabled,var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d))}}&:is(textarea,[type=text],[type=password],[type=date],[type=datetime],[type=datetime-local],[type=email],[type=month],[type=number],[type=search],[type=tel],[type=time],[type=url],[type=week]){line-height:var(--_gcd-input-line-height,inherit);min-height:var(--_gcd-input-min-height,auto);padding:var(--_gcd-input-padding,0)}}._547d86373d02e108__textarea{box-sizing:var(--_gcd-textarea-box-sizing,border-box);overflow:var(--_gcd-textarea-overflow,auto);resize:var(--_gcd-textarea-resize,block)}._8c15fd0ed9f28ba4__div{outline:var(--_gcd-div-outline,0 solid transparent)}p._43cec3e1eec1066d__p{font-size:var(--_gcd-p-font-size,13px);line-height:var(--_gcd-p-line-height,1.5);margin:var(--_gcd-p-margin,0)}:is(h1,h2,h3,h4,h5,h6).e97669c6d9a38497__heading{color:var(--_gcd-heading-color,var(--wpds-color-foreground-content-neutral,#1e1e1e));font-size:var(--_gcd-heading-font-size,inherit);font-weight:var(--_gcd-heading-font-weight,var(--wpds-typography-font-weight-emphasis,600));margin:var(--_gcd-heading-margin,0)}._2c0831b0499dbd6e__a,._2c0831b0499dbd6e__a:is(:hover,:focus,:active){border-radius:var(--_gcd-a-border-radius,0);box-shadow:var(--_gcd-a-box-shadow,none);color:var(--_gcd-a-color,inherit);outline:var(--_gcd-a-outline,0 solid transparent);transition:var(--_gcd-a-transition,none)}.c59a0ebebd71fa4a__ol{list-style:var(--_gcd-ol-list-style,none);margin:var(--_gcd-ol-margin,0);padding-block:var(--_gcd-ol-padding-block,0);padding-inline:var(--_gcd-ol-padding-inline,0)}._46b5cb0c8e24e8c9__li{margin:var(--_gcd-li-margin,0)}[role=treeitem] span._400bf7ee0c6061a9__span[aria-hidden]{display:var(--_gcd-span-display,inline);font-family:var(--_gcd-span-font-family,inherit);font-size:var(--_gcd-span-font-size,inherit);line-height:var(--_gcd-span-line-height,1);pointer-events:var(--_gcd-span-pointer-events,auto);position:var(--_gcd-span-position,static)}");
18430  }
18431  var global_css_defense_default5 = { "button": "_6defc79820e382c6__button", "input": "d2cff2e5dea83bd1__input", "textarea": "_547d86373d02e108__textarea", "div": "_8c15fd0ed9f28ba4__div", "p": "_43cec3e1eec1066d__p", "heading": "e97669c6d9a38497__heading", "a": "_2c0831b0499dbd6e__a", "ol": "c59a0ebebd71fa4a__ol", "li": "_46b5cb0c8e24e8c9__li", "span": "_400bf7ee0c6061a9__span" };
18432  if (typeof process === "undefined" || true) {
18433    registerStyle18("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18434  }
18435  var item_popup_default6 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18436  if (typeof process === "undefined" || true) {
18437    registerStyle18("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
18438  }
18439  var resets_default4 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
18440  var ITEM_CONTENT_COMPONENTS = {
18441    Label: ForwardedItemLabel,
18442    Description: ForwardedItemDescription,
18443    descriptionValidationToken: ITEM_DESCRIPTION_DIRECT_CHILD,
18444    validationMessage: "Autocomplete.ItemLabel must be the first direct child of every autocomplete item, followed only by Autocomplete.ItemDescription components."
18445  };
18446  var Item = (0, import_element42.forwardRef)(
18447    function UnforwardedItem({
18448      className,
18449      children,
18450      "aria-describedby": ariaDescribedBy,
18451      "aria-label": ariaLabel,
18452      "aria-labelledby": ariaLabelledBy,
18453      ...restProps
18454    }, ref) {
18455      const { contentChildren, itemAriaProps } = useItemContent(
18456        children,
18457        ITEM_CONTENT_COMPONENTS,
18458        {
18459          "aria-describedby": ariaDescribedBy,
18460          "aria-label": ariaLabel,
18461          "aria-labelledby": ariaLabelledBy
18462        }
18463      );
18464      return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
18465        index_parts_exports.Item,
18466        {
18467          className: clsx_default(
18468            global_css_defense_default5.div,
18469            resets_default4["box-sizing"],
18470            item_popup_default6.item,
18471            className
18472          ),
18473          ref,
18474          ...itemAriaProps,
18475          ...restProps,
18476          children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: item_popup_default6["item-text"], children: contentChildren })
18477        }
18478      );
18479    }
18480  );
18481  
18482  // packages/ui/build-module/form/primitives/autocomplete/list.mjs
18483  var import_element43 = __toESM(require_element(), 1);
18484  var import_jsx_runtime63 = __toESM(require_jsx_runtime(), 1);
18485  var STYLE_HASH_ATTRIBUTE19 = "data-wp-hash";
18486  function getRuntime19() {
18487    const globalScope = globalThis;
18488    if (globalScope.__wpStyleRuntime) {
18489      return globalScope.__wpStyleRuntime;
18490    }
18491    globalScope.__wpStyleRuntime = {
18492      documents: /* @__PURE__ */ new Map(),
18493      styles: /* @__PURE__ */ new Map(),
18494      injectedStyles: /* @__PURE__ */ new WeakMap()
18495    };
18496    if (typeof document !== "undefined") {
18497      registerDocument19(document);
18498    }
18499    return globalScope.__wpStyleRuntime;
18500  }
18501  function documentContainsStyleHash19(targetDocument, hash) {
18502    if (!targetDocument.head) {
18503      return false;
18504    }
18505    for (const style of targetDocument.head.querySelectorAll(
18506      `style[$STYLE_HASH_ATTRIBUTE19}]`
18507    )) {
18508      if (style.getAttribute(STYLE_HASH_ATTRIBUTE19) === hash) {
18509        return true;
18510      }
18511    }
18512    return false;
18513  }
18514  function injectStyle19(targetDocument, hash, css) {
18515    if (!targetDocument.head) {
18516      return;
18517    }
18518    const runtime = getRuntime19();
18519    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18520    if (!injectedStyles) {
18521      injectedStyles = /* @__PURE__ */ new Set();
18522      runtime.injectedStyles.set(targetDocument, injectedStyles);
18523    }
18524    if (injectedStyles.has(hash)) {
18525      return;
18526    }
18527    if (documentContainsStyleHash19(targetDocument, hash)) {
18528      injectedStyles.add(hash);
18529      return;
18530    }
18531    const style = targetDocument.createElement("style");
18532    style.setAttribute(STYLE_HASH_ATTRIBUTE19, hash);
18533    style.appendChild(targetDocument.createTextNode(css));
18534    targetDocument.head.appendChild(style);
18535    injectedStyles.add(hash);
18536  }
18537  function registerDocument19(targetDocument) {
18538    const runtime = getRuntime19();
18539    runtime.documents.set(
18540      targetDocument,
18541      (runtime.documents.get(targetDocument) ?? 0) + 1
18542    );
18543    for (const [hash, css] of runtime.styles) {
18544      injectStyle19(targetDocument, hash, css);
18545    }
18546    return () => {
18547      const count = runtime.documents.get(targetDocument);
18548      if (count === void 0) {
18549        return;
18550      }
18551      if (count <= 1) {
18552        runtime.documents.delete(targetDocument);
18553        return;
18554      }
18555      runtime.documents.set(targetDocument, count - 1);
18556    };
18557  }
18558  function registerStyle19(hash, css) {
18559    const runtime = getRuntime19();
18560    runtime.styles.set(hash, css);
18561    for (const targetDocument of runtime.documents.keys()) {
18562      injectStyle19(targetDocument, hash, css);
18563    }
18564  }
18565  if (typeof process === "undefined" || true) {
18566    registerStyle19("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18567  }
18568  var item_popup_default7 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18569  var List = (0, import_element43.forwardRef)(
18570    function UnforwardedList({ className, ...restProps }, ref) {
18571      return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
18572        index_parts_exports.List,
18573        {
18574          className: clsx_default(item_popup_default7.list, className),
18575          ref,
18576          ...restProps
18577        }
18578      );
18579    }
18580  );
18581  
18582  // packages/ui/build-module/form/primitives/autocomplete/list-body.mjs
18583  var import_element44 = __toESM(require_element(), 1);
18584  var STYLE_HASH_ATTRIBUTE20 = "data-wp-hash";
18585  function getRuntime20() {
18586    const globalScope = globalThis;
18587    if (globalScope.__wpStyleRuntime) {
18588      return globalScope.__wpStyleRuntime;
18589    }
18590    globalScope.__wpStyleRuntime = {
18591      documents: /* @__PURE__ */ new Map(),
18592      styles: /* @__PURE__ */ new Map(),
18593      injectedStyles: /* @__PURE__ */ new WeakMap()
18594    };
18595    if (typeof document !== "undefined") {
18596      registerDocument20(document);
18597    }
18598    return globalScope.__wpStyleRuntime;
18599  }
18600  function documentContainsStyleHash20(targetDocument, hash) {
18601    if (!targetDocument.head) {
18602      return false;
18603    }
18604    for (const style of targetDocument.head.querySelectorAll(
18605      `style[$STYLE_HASH_ATTRIBUTE20}]`
18606    )) {
18607      if (style.getAttribute(STYLE_HASH_ATTRIBUTE20) === hash) {
18608        return true;
18609      }
18610    }
18611    return false;
18612  }
18613  function injectStyle20(targetDocument, hash, css) {
18614    if (!targetDocument.head) {
18615      return;
18616    }
18617    const runtime = getRuntime20();
18618    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18619    if (!injectedStyles) {
18620      injectedStyles = /* @__PURE__ */ new Set();
18621      runtime.injectedStyles.set(targetDocument, injectedStyles);
18622    }
18623    if (injectedStyles.has(hash)) {
18624      return;
18625    }
18626    if (documentContainsStyleHash20(targetDocument, hash)) {
18627      injectedStyles.add(hash);
18628      return;
18629    }
18630    const style = targetDocument.createElement("style");
18631    style.setAttribute(STYLE_HASH_ATTRIBUTE20, hash);
18632    style.appendChild(targetDocument.createTextNode(css));
18633    targetDocument.head.appendChild(style);
18634    injectedStyles.add(hash);
18635  }
18636  function registerDocument20(targetDocument) {
18637    const runtime = getRuntime20();
18638    runtime.documents.set(
18639      targetDocument,
18640      (runtime.documents.get(targetDocument) ?? 0) + 1
18641    );
18642    for (const [hash, css] of runtime.styles) {
18643      injectStyle20(targetDocument, hash, css);
18644    }
18645    return () => {
18646      const count = runtime.documents.get(targetDocument);
18647      if (count === void 0) {
18648        return;
18649      }
18650      if (count <= 1) {
18651        runtime.documents.delete(targetDocument);
18652        return;
18653      }
18654      runtime.documents.set(targetDocument, count - 1);
18655    };
18656  }
18657  function registerStyle20(hash, css) {
18658    const runtime = getRuntime20();
18659    runtime.styles.set(hash, css);
18660    for (const targetDocument of runtime.documents.keys()) {
18661      injectStyle20(targetDocument, hash, css);
18662    }
18663  }
18664  if (typeof process === "undefined" || true) {
18665    registerStyle20("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18666  }
18667  var item_popup_default8 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18668  var ListBody = (0, import_element44.forwardRef)(
18669    function UnforwardedListBody({ render, ...props }, ref) {
18670      const element = useRender({
18671        defaultTagName: "div",
18672        render,
18673        ref,
18674        props: mergeProps(
18675          { className: item_popup_default8["list-scrollable-container"] },
18676          props
18677        )
18678      });
18679      return element;
18680    }
18681  );
18682  
18683  // packages/ui/build-module/form/primitives/autocomplete/popup.mjs
18684  var import_element47 = __toESM(require_element(), 1);
18685  
18686  // packages/ui/build-module/utils/css/item-popup.mjs
18687  var STYLE_HASH_ATTRIBUTE21 = "data-wp-hash";
18688  function getRuntime21() {
18689    const globalScope = globalThis;
18690    if (globalScope.__wpStyleRuntime) {
18691      return globalScope.__wpStyleRuntime;
18692    }
18693    globalScope.__wpStyleRuntime = {
18694      documents: /* @__PURE__ */ new Map(),
18695      styles: /* @__PURE__ */ new Map(),
18696      injectedStyles: /* @__PURE__ */ new WeakMap()
18697    };
18698    if (typeof document !== "undefined") {
18699      registerDocument21(document);
18700    }
18701    return globalScope.__wpStyleRuntime;
18702  }
18703  function documentContainsStyleHash21(targetDocument, hash) {
18704    if (!targetDocument.head) {
18705      return false;
18706    }
18707    for (const style of targetDocument.head.querySelectorAll(
18708      `style[$STYLE_HASH_ATTRIBUTE21}]`
18709    )) {
18710      if (style.getAttribute(STYLE_HASH_ATTRIBUTE21) === hash) {
18711        return true;
18712      }
18713    }
18714    return false;
18715  }
18716  function injectStyle21(targetDocument, hash, css) {
18717    if (!targetDocument.head) {
18718      return;
18719    }
18720    const runtime = getRuntime21();
18721    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18722    if (!injectedStyles) {
18723      injectedStyles = /* @__PURE__ */ new Set();
18724      runtime.injectedStyles.set(targetDocument, injectedStyles);
18725    }
18726    if (injectedStyles.has(hash)) {
18727      return;
18728    }
18729    if (documentContainsStyleHash21(targetDocument, hash)) {
18730      injectedStyles.add(hash);
18731      return;
18732    }
18733    const style = targetDocument.createElement("style");
18734    style.setAttribute(STYLE_HASH_ATTRIBUTE21, hash);
18735    style.appendChild(targetDocument.createTextNode(css));
18736    targetDocument.head.appendChild(style);
18737    injectedStyles.add(hash);
18738  }
18739  function registerDocument21(targetDocument) {
18740    const runtime = getRuntime21();
18741    runtime.documents.set(
18742      targetDocument,
18743      (runtime.documents.get(targetDocument) ?? 0) + 1
18744    );
18745    for (const [hash, css] of runtime.styles) {
18746      injectStyle21(targetDocument, hash, css);
18747    }
18748    return () => {
18749      const count = runtime.documents.get(targetDocument);
18750      if (count === void 0) {
18751        return;
18752      }
18753      if (count <= 1) {
18754        runtime.documents.delete(targetDocument);
18755        return;
18756      }
18757      runtime.documents.set(targetDocument, count - 1);
18758    };
18759  }
18760  function registerStyle21(hash, css) {
18761    const runtime = getRuntime21();
18762    runtime.styles.set(hash, css);
18763    for (const targetDocument of runtime.documents.keys()) {
18764      injectStyle21(targetDocument, hash, css);
18765    }
18766  }
18767  if (typeof process === "undefined" || true) {
18768    registerStyle21("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18769  }
18770  var item_popup_default9 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
18771  function getItemPopupWidthClassName(width = "anchor") {
18772    switch (width) {
18773      case "available":
18774        return item_popup_default9["is-width-available"];
18775      case "content":
18776        return item_popup_default9["is-width-content"];
18777      case "lg":
18778        return item_popup_default9["is-width-lg"];
18779      case "md":
18780        return item_popup_default9["is-width-md"];
18781      case "sm":
18782        return item_popup_default9["is-width-sm"];
18783      case "anchor":
18784        return item_popup_default9["is-width-anchor"];
18785      default:
18786        return false;
18787    }
18788  }
18789  
18790  // packages/ui/build-module/form/primitives/autocomplete/portal.mjs
18791  var import_element45 = __toESM(require_element(), 1);
18792  var import_jsx_runtime64 = __toESM(require_jsx_runtime(), 1);
18793  var Portal2 = (0, import_element45.forwardRef)(
18794    function AutocompletePortal({ container, ...restProps }, ref) {
18795      return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
18796        index_parts_exports.Portal,
18797        {
18798          container: container === void 0 ? getWpCompatOverlaySlot() : container,
18799          ...restProps,
18800          ref
18801        }
18802      );
18803    }
18804  );
18805  
18806  // packages/ui/build-module/form/primitives/autocomplete/positioner.mjs
18807  var import_element46 = __toESM(require_element(), 1);
18808  var import_jsx_runtime65 = __toESM(require_jsx_runtime(), 1);
18809  var STYLE_HASH_ATTRIBUTE22 = "data-wp-hash";
18810  function getRuntime22() {
18811    const globalScope = globalThis;
18812    if (globalScope.__wpStyleRuntime) {
18813      return globalScope.__wpStyleRuntime;
18814    }
18815    globalScope.__wpStyleRuntime = {
18816      documents: /* @__PURE__ */ new Map(),
18817      styles: /* @__PURE__ */ new Map(),
18818      injectedStyles: /* @__PURE__ */ new WeakMap()
18819    };
18820    if (typeof document !== "undefined") {
18821      registerDocument22(document);
18822    }
18823    return globalScope.__wpStyleRuntime;
18824  }
18825  function documentContainsStyleHash22(targetDocument, hash) {
18826    if (!targetDocument.head) {
18827      return false;
18828    }
18829    for (const style of targetDocument.head.querySelectorAll(
18830      `style[$STYLE_HASH_ATTRIBUTE22}]`
18831    )) {
18832      if (style.getAttribute(STYLE_HASH_ATTRIBUTE22) === hash) {
18833        return true;
18834      }
18835    }
18836    return false;
18837  }
18838  function injectStyle22(targetDocument, hash, css) {
18839    if (!targetDocument.head) {
18840      return;
18841    }
18842    const runtime = getRuntime22();
18843    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18844    if (!injectedStyles) {
18845      injectedStyles = /* @__PURE__ */ new Set();
18846      runtime.injectedStyles.set(targetDocument, injectedStyles);
18847    }
18848    if (injectedStyles.has(hash)) {
18849      return;
18850    }
18851    if (documentContainsStyleHash22(targetDocument, hash)) {
18852      injectedStyles.add(hash);
18853      return;
18854    }
18855    const style = targetDocument.createElement("style");
18856    style.setAttribute(STYLE_HASH_ATTRIBUTE22, hash);
18857    style.appendChild(targetDocument.createTextNode(css));
18858    targetDocument.head.appendChild(style);
18859    injectedStyles.add(hash);
18860  }
18861  function registerDocument22(targetDocument) {
18862    const runtime = getRuntime22();
18863    runtime.documents.set(
18864      targetDocument,
18865      (runtime.documents.get(targetDocument) ?? 0) + 1
18866    );
18867    for (const [hash, css] of runtime.styles) {
18868      injectStyle22(targetDocument, hash, css);
18869    }
18870    return () => {
18871      const count = runtime.documents.get(targetDocument);
18872      if (count === void 0) {
18873        return;
18874      }
18875      if (count <= 1) {
18876        runtime.documents.delete(targetDocument);
18877        return;
18878      }
18879      runtime.documents.set(targetDocument, count - 1);
18880    };
18881  }
18882  function registerStyle22(hash, css) {
18883    const runtime = getRuntime22();
18884    runtime.styles.set(hash, css);
18885    for (const targetDocument of runtime.documents.keys()) {
18886      injectStyle22(targetDocument, hash, css);
18887    }
18888  }
18889  if (typeof process === "undefined" || true) {
18890    registerStyle22("10f3806643", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._336cd3e4e743482f__box-sizing{box-sizing:border-box;*,:after,:before{box-sizing:inherit}}}}");
18891  }
18892  var resets_default5 = { "box-sizing": "_336cd3e4e743482f__box-sizing" };
18893  if (typeof process === "undefined" || true) {
18894    registerStyle22("e61eb95308", "@layer wp-ui{@layer utilities, components, compositions, overrides;@layer components{._8eb0a29484225eea__positioner{z-index:var(--wp-ui-autocomplete-z-index,initial)}}}");
18895  }
18896  var style_default12 = { "positioner": "_8eb0a29484225eea__positioner" };
18897  var Positioner2 = (0, import_element46.forwardRef)(
18898    function AutocompletePositioner({ className, ...props }, ref) {
18899      return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)(
18900        index_parts_exports.Positioner,
18901        {
18902          ...ITEM_POPUP_POSITIONER_PROPS,
18903          ...props,
18904          ref,
18905          className: clsx_default(
18906            resets_default5["box-sizing"],
18907            style_default12.positioner,
18908            className
18909          )
18910        }
18911      );
18912    }
18913  );
18914  
18915  // packages/ui/build-module/form/primitives/autocomplete/popup.mjs
18916  var import_jsx_runtime66 = __toESM(require_jsx_runtime(), 1);
18917  var STYLE_HASH_ATTRIBUTE23 = "data-wp-hash";
18918  function getRuntime23() {
18919    const globalScope = globalThis;
18920    if (globalScope.__wpStyleRuntime) {
18921      return globalScope.__wpStyleRuntime;
18922    }
18923    globalScope.__wpStyleRuntime = {
18924      documents: /* @__PURE__ */ new Map(),
18925      styles: /* @__PURE__ */ new Map(),
18926      injectedStyles: /* @__PURE__ */ new WeakMap()
18927    };
18928    if (typeof document !== "undefined") {
18929      registerDocument23(document);
18930    }
18931    return globalScope.__wpStyleRuntime;
18932  }
18933  function documentContainsStyleHash23(targetDocument, hash) {
18934    if (!targetDocument.head) {
18935      return false;
18936    }
18937    for (const style of targetDocument.head.querySelectorAll(
18938      `style[$STYLE_HASH_ATTRIBUTE23}]`
18939    )) {
18940      if (style.getAttribute(STYLE_HASH_ATTRIBUTE23) === hash) {
18941        return true;
18942      }
18943    }
18944    return false;
18945  }
18946  function injectStyle23(targetDocument, hash, css) {
18947    if (!targetDocument.head) {
18948      return;
18949    }
18950    const runtime = getRuntime23();
18951    let injectedStyles = runtime.injectedStyles.get(targetDocument);
18952    if (!injectedStyles) {
18953      injectedStyles = /* @__PURE__ */ new Set();
18954      runtime.injectedStyles.set(targetDocument, injectedStyles);
18955    }
18956    if (injectedStyles.has(hash)) {
18957      return;
18958    }
18959    if (documentContainsStyleHash23(targetDocument, hash)) {
18960      injectedStyles.add(hash);
18961      return;
18962    }
18963    const style = targetDocument.createElement("style");
18964    style.setAttribute(STYLE_HASH_ATTRIBUTE23, hash);
18965    style.appendChild(targetDocument.createTextNode(css));
18966    targetDocument.head.appendChild(style);
18967    injectedStyles.add(hash);
18968  }
18969  function registerDocument23(targetDocument) {
18970    const runtime = getRuntime23();
18971    runtime.documents.set(
18972      targetDocument,
18973      (runtime.documents.get(targetDocument) ?? 0) + 1
18974    );
18975    for (const [hash, css] of runtime.styles) {
18976      injectStyle23(targetDocument, hash, css);
18977    }
18978    return () => {
18979      const count = runtime.documents.get(targetDocument);
18980      if (count === void 0) {
18981        return;
18982      }
18983      if (count <= 1) {
18984        runtime.documents.delete(targetDocument);
18985        return;
18986      }
18987      runtime.documents.set(targetDocument, count - 1);
18988    };
18989  }
18990  function registerStyle23(hash, css) {
18991    const runtime = getRuntime23();
18992    runtime.styles.set(hash, css);
18993    for (const targetDocument of runtime.documents.keys()) {
18994      injectStyle23(targetDocument, hash, css);
18995    }
18996  }
18997  if (typeof process === "undefined" || true) {
18998    registerStyle23("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
18999  }
19000  var item_popup_default10 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
19001  var Popup2 = (0, import_element47.forwardRef)(
19002    function UnforwardedPopup({ className, portal, positioner, width, ...restProps }, ref) {
19003      const popupContent = /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
19004        index_parts_exports.Popup,
19005        {
19006          ref,
19007          className: clsx_default(
19008            item_popup_default10.popup,
19009            getItemPopupWidthClassName(width),
19010            className
19011          ),
19012          ...restProps
19013        }
19014      );
19015      const positionedPopup = renderSlotWithChildren(
19016        positioner,
19017        /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Positioner2, {}),
19018        popupContent
19019      );
19020      return renderSlotWithChildren(portal, /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(Portal2, {}), positionedPopup);
19021    }
19022  );
19023  
19024  // packages/ui/build-module/form/primitives/autocomplete/context.mjs
19025  var import_element48 = __toESM(require_element(), 1);
19026  var AutocompleteGridContext = (0, import_element48.createContext)(false);
19027  var useAutocompleteGridContext = () => (0, import_element48.useContext)(AutocompleteGridContext);
19028  
19029  // packages/ui/build-module/form/primitives/autocomplete/root.mjs
19030  var import_jsx_runtime67 = __toESM(require_jsx_runtime(), 1);
19031  var Root2 = function Root22(props) {
19032    return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(AutocompleteGridContext.Provider, { value: Boolean(props.grid), children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(DirectionProvider3, { children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(index_parts_exports.Root, { ...props }) }) });
19033  };
19034  
19035  // packages/ui/build-module/form/primitives/autocomplete/row.mjs
19036  var import_element49 = __toESM(require_element(), 1);
19037  var import_jsx_runtime68 = __toESM(require_jsx_runtime(), 1);
19038  var Row = (0, import_element49.forwardRef)(
19039    function UnforwardedRow({ children, ...restProps }, ref) {
19040      const isGrid = useAutocompleteGridContext();
19041      if (!isGrid) {
19042        throw new Error(
19043          "Autocomplete.Row: Missing parent <Autocomplete.Root grid>. Render <Autocomplete.Row> inside <Autocomplete.Root grid>."
19044        );
19045      }
19046      return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(index_parts_exports.Row, { ref, ...restProps, children });
19047    }
19048  );
19049  
19050  // packages/ui/build-module/form/primitives/autocomplete/separator.mjs
19051  var import_element50 = __toESM(require_element(), 1);
19052  var import_jsx_runtime69 = __toESM(require_jsx_runtime(), 1);
19053  var STYLE_HASH_ATTRIBUTE24 = "data-wp-hash";
19054  function getRuntime24() {
19055    const globalScope = globalThis;
19056    if (globalScope.__wpStyleRuntime) {
19057      return globalScope.__wpStyleRuntime;
19058    }
19059    globalScope.__wpStyleRuntime = {
19060      documents: /* @__PURE__ */ new Map(),
19061      styles: /* @__PURE__ */ new Map(),
19062      injectedStyles: /* @__PURE__ */ new WeakMap()
19063    };
19064    if (typeof document !== "undefined") {
19065      registerDocument24(document);
19066    }
19067    return globalScope.__wpStyleRuntime;
19068  }
19069  function documentContainsStyleHash24(targetDocument, hash) {
19070    if (!targetDocument.head) {
19071      return false;
19072    }
19073    for (const style of targetDocument.head.querySelectorAll(
19074      `style[$STYLE_HASH_ATTRIBUTE24}]`
19075    )) {
19076      if (style.getAttribute(STYLE_HASH_ATTRIBUTE24) === hash) {
19077        return true;
19078      }
19079    }
19080    return false;
19081  }
19082  function injectStyle24(targetDocument, hash, css) {
19083    if (!targetDocument.head) {
19084      return;
19085    }
19086    const runtime = getRuntime24();
19087    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19088    if (!injectedStyles) {
19089      injectedStyles = /* @__PURE__ */ new Set();
19090      runtime.injectedStyles.set(targetDocument, injectedStyles);
19091    }
19092    if (injectedStyles.has(hash)) {
19093      return;
19094    }
19095    if (documentContainsStyleHash24(targetDocument, hash)) {
19096      injectedStyles.add(hash);
19097      return;
19098    }
19099    const style = targetDocument.createElement("style");
19100    style.setAttribute(STYLE_HASH_ATTRIBUTE24, hash);
19101    style.appendChild(targetDocument.createTextNode(css));
19102    targetDocument.head.appendChild(style);
19103    injectedStyles.add(hash);
19104  }
19105  function registerDocument24(targetDocument) {
19106    const runtime = getRuntime24();
19107    runtime.documents.set(
19108      targetDocument,
19109      (runtime.documents.get(targetDocument) ?? 0) + 1
19110    );
19111    for (const [hash, css] of runtime.styles) {
19112      injectStyle24(targetDocument, hash, css);
19113    }
19114    return () => {
19115      const count = runtime.documents.get(targetDocument);
19116      if (count === void 0) {
19117        return;
19118      }
19119      if (count <= 1) {
19120        runtime.documents.delete(targetDocument);
19121        return;
19122      }
19123      runtime.documents.set(targetDocument, count - 1);
19124    };
19125  }
19126  function registerStyle24(hash, css) {
19127    const runtime = getRuntime24();
19128    runtime.styles.set(hash, css);
19129    for (const targetDocument of runtime.documents.keys()) {
19130      injectStyle24(targetDocument, hash, css);
19131    }
19132  }
19133  if (typeof process === "undefined" || true) {
19134    registerStyle24("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
19135  }
19136  var item_popup_default11 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
19137  var Separator = (0, import_element50.forwardRef)(function AutocompleteSeparator2({
19138    className,
19139    orientation: _orientation,
19140    ...props
19141  }, ref) {
19142    return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
19143      index_parts_exports.Separator,
19144      {
19145        ref,
19146        className: clsx_default(item_popup_default11.separator, className),
19147        ...props
19148      }
19149    );
19150  });
19151  
19152  // packages/ui/build-module/form/primitives/autocomplete/status.mjs
19153  var import_element51 = __toESM(require_element(), 1);
19154  var import_jsx_runtime70 = __toESM(require_jsx_runtime(), 1);
19155  var STYLE_HASH_ATTRIBUTE25 = "data-wp-hash";
19156  function getRuntime25() {
19157    const globalScope = globalThis;
19158    if (globalScope.__wpStyleRuntime) {
19159      return globalScope.__wpStyleRuntime;
19160    }
19161    globalScope.__wpStyleRuntime = {
19162      documents: /* @__PURE__ */ new Map(),
19163      styles: /* @__PURE__ */ new Map(),
19164      injectedStyles: /* @__PURE__ */ new WeakMap()
19165    };
19166    if (typeof document !== "undefined") {
19167      registerDocument25(document);
19168    }
19169    return globalScope.__wpStyleRuntime;
19170  }
19171  function documentContainsStyleHash25(targetDocument, hash) {
19172    if (!targetDocument.head) {
19173      return false;
19174    }
19175    for (const style of targetDocument.head.querySelectorAll(
19176      `style[$STYLE_HASH_ATTRIBUTE25}]`
19177    )) {
19178      if (style.getAttribute(STYLE_HASH_ATTRIBUTE25) === hash) {
19179        return true;
19180      }
19181    }
19182    return false;
19183  }
19184  function injectStyle25(targetDocument, hash, css) {
19185    if (!targetDocument.head) {
19186      return;
19187    }
19188    const runtime = getRuntime25();
19189    let injectedStyles = runtime.injectedStyles.get(targetDocument);
19190    if (!injectedStyles) {
19191      injectedStyles = /* @__PURE__ */ new Set();
19192      runtime.injectedStyles.set(targetDocument, injectedStyles);
19193    }
19194    if (injectedStyles.has(hash)) {
19195      return;
19196    }
19197    if (documentContainsStyleHash25(targetDocument, hash)) {
19198      injectedStyles.add(hash);
19199      return;
19200    }
19201    const style = targetDocument.createElement("style");
19202    style.setAttribute(STYLE_HASH_ATTRIBUTE25, hash);
19203    style.appendChild(targetDocument.createTextNode(css));
19204    targetDocument.head.appendChild(style);
19205    injectedStyles.add(hash);
19206  }
19207  function registerDocument25(targetDocument) {
19208    const runtime = getRuntime25();
19209    runtime.documents.set(
19210      targetDocument,
19211      (runtime.documents.get(targetDocument) ?? 0) + 1
19212    );
19213    for (const [hash, css] of runtime.styles) {
19214      injectStyle25(targetDocument, hash, css);
19215    }
19216    return () => {
19217      const count = runtime.documents.get(targetDocument);
19218      if (count === void 0) {
19219        return;
19220      }
19221      if (count <= 1) {
19222        runtime.documents.delete(targetDocument);
19223        return;
19224      }
19225      runtime.documents.set(targetDocument, count - 1);
19226    };
19227  }
19228  function registerStyle25(hash, css) {
19229    const runtime = getRuntime25();
19230    runtime.styles.set(hash, css);
19231    for (const targetDocument of runtime.documents.keys()) {
19232      injectStyle25(targetDocument, hash, css);
19233    }
19234  }
19235  if (typeof process === "undefined" || true) {
19236    registerStyle25("d39dd78fbb", '@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._380b81b8f79fb10f__dropdown-motion,._7f344b94e270e039__dropdown-motion--fade-only{--wp-ui-dropdown-slide-distance:4px;--wp-ui-dropdown-slide-duration:var(--wpds-motion-duration-md,200ms);--wp-ui-dropdown-slide-easing:var(--wpds-motion-easing-expressive,cubic-bezier(0.25,0,0,1));--wp-ui-dropdown-fade-duration:var(--wpds-motion-duration-sm,100ms);--wp-ui-dropdown-fade-easing:linear;@media not (prefers-reduced-motion){transition-duration:var(--wp-ui-dropdown-slide-duration),var(--wp-ui-dropdown-fade-duration);transition-property:transform,opacity;transition-timing-function:var(--wp-ui-dropdown-slide-easing),var(--wp-ui-dropdown-fade-easing);will-change:transform,opacity}opacity:1;&[data-instant]{transition:none}&[data-ending-style],&[data-starting-style]{opacity:0}}._380b81b8f79fb10f__dropdown-motion{transform:translate(0);&[data-side=bottom][data-ending-style],&[data-side=bottom][data-starting-style]{transform:translateY(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=top][data-ending-style],&[data-side=top][data-starting-style]{transform:translateY(var(--wp-ui-dropdown-slide-distance))}&[data-side=left][data-ending-style],&[data-side=left][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=right][data-ending-style],&[data-side=right][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&[data-side=inline-start][data-ending-style],&[data-side=inline-start][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}&[data-side=inline-end][data-ending-style],&[data-side=inline-end][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-start][data-ending-style],&:dir(rtl)[data-side=inline-start][data-starting-style]{transform:translateX(calc(var(--wp-ui-dropdown-slide-distance)*-1))}&:dir(rtl)[data-side=inline-end][data-ending-style],&:dir(rtl)[data-side=inline-end][data-starting-style]{transform:translateX(var(--wp-ui-dropdown-slide-distance))}}}}@layer wp-ui{@layer utilities, components, compositions, overrides;@layer utilities{._234b520016b4e56f__popup{--wp-ui-popup-padding:var(--wpds-dimension-padding-xs,4px);--_wp-ui-elevation-md:0 2px 3px rgba(0,0,0,.05),0 4px 5px rgba(0,0,0,.04),0 12px 12px rgba(0,0,0,.03),0 16px 16px rgba(0,0,0,.02);background-color:var(--wpds-color-background-surface-neutral-strong,#fff);border:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb);border-radius:var(--wpds-border-radius-md,4px);box-shadow:var(--_wp-ui-elevation-md);display:grid;grid-template-areas:"header" "status" "main";grid-template-rows:auto auto minmax(0,1fr);max-height:min(var(--available-height),480px,60dvh);max-width:var(--available-width);min-width:var(--anchor-width);&.b9a9946a395ccad8__is-width-anchor{width:var(--anchor-width)}&._7c9f1b268b013f02__is-width-content{width:auto}&._6f31db51d79ec899__is-width-sm{width:min(var(--available-width),var(--wpds-dimension-surface-width-sm,320px))}&.fa45cdb5f45e57fb__is-width-md{width:min(var(--available-width),var(--wpds-dimension-surface-width-md,400px))}&._46a909337f6be21c__is-width-lg{width:min(var(--available-width),var(--wpds-dimension-surface-width-lg,560px))}&._6083938dff06df34__is-width-available{width:var(--available-width)}}._101852fa256bb935__is-align-item-with-trigger[data-side=none] ._234b520016b4e56f__popup{max-height:none}._2fff4e9defe85de5__list-chrome{--_wp-ui-popup-selection-offset:0px;color:var(--wpds-color-foreground-interactive-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-md,13px);grid-area:main;line-height:var(--wpds-typography-line-height-sm,20px);&:has(.a3adcfd0b73ffd40__item-icon){--_wp-ui-popup-selection-offset:calc(var(--wpds-dimension-size-2xs, 16px) + var(--wpds-dimension-gap-xs, 4px) - var(--wpds-dimension-padding-xs, 4px))}}.f43dc7c768d7b622__list{display:grid;grid-template-areas:"scrollable" "footer";grid-template-rows:minmax(0,1fr) auto}._233cd60cdb84a2ef__list-scrollable-container{grid-area:scrollable;overflow-block:auto;overscroll-behavior:contain;scroll-padding-block:var(--wp-ui-popup-padding);&:not(:empty){padding-block:var(--wp-ui-popup-padding)}}.ec4db6f0122263e7__list-footer{grid-area:footer;padding-block:var(--wp-ui-popup-padding);._233cd60cdb84a2ef__list-scrollable-container:not(:empty)+&{border-block-start:var(--wpds-border-width-xs,1px) solid var(--wpds-color-stroke-surface-neutral,#dbdbdb)}}.b3c0d7f103fb10a2__group:not(:first-child){margin-block-start:var(--wpds-dimension-gap-sm,8px)}._21b59380477c306c__group-label{align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display:flex;min-height:var(--wpds-dimension-size-sm,24px);padding-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));padding-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset))}.be89a1df0fe77bd2__separator{background-color:var(--wpds-color-stroke-surface-neutral-weak,#f0f0f0);height:var(--wpds-border-width-xs,1px);margin-block:var(--wpds-dimension-gap-xs,4px);margin-inline-end:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px));margin-inline-start:calc(var(--wp-ui-popup-padding) + var(--wpds-dimension-padding-sm, 8px) + var(--_wp-ui-popup-selection-offset));@media (forced-colors:active){background-color:CanvasText}}._684ccb7988365b4f__item{--wp-ui-popup-item-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:var(--wpds-dimension-padding-xs,4px);align-items:center;border-radius:var(--wpds-border-radius-sm,2px);display:flex;gap:var(--wpds-dimension-gap-xs,4px);justify-content:flex-start;margin-inline:var(--wp-ui-popup-padding);min-height:var(--wp-ui-popup-item-height);min-width:0;overflow-wrap:anywhere;padding-block:var(--wp-ui-popup-item-padding-block);padding-inline:var(--wp-ui-popup-item-padding-inline);user-select:none;&:not([data-disabled]){cursor:var(--wpds-cursor-control,pointer)}&:has(>.a3adcfd0b73ffd40__item-icon){align-content:center;align-items:start;display:grid;grid-template-columns:auto minmax(0,1fr);padding-inline-start:calc(var(--wp-ui-popup-item-padding-inline) - var(--wpds-dimension-padding-xs, 4px))}&._38f7faff93c61958__is-size-small{--wp-ui-popup-item-height:var(--wpds-dimension-size-sm,24px);--wp-ui-popup-item-padding-inline:var(--wpds-dimension-padding-sm,8px);--wp-ui-popup-item-padding-block:2px}&:not([data-selected]){._92fbe4765dfad5ee__item-indicator-icon{opacity:0}}&[data-highlighted]:not([data-disabled]){background-color:var(--wpds-color-background-interactive-brand-strong-active,color-mix(in oklch,var(--wp-admin-theme-color,#3858e9) 93%,#000));color:var(--wpds-color-foreground-interactive-brand-strong-active,#fff);outline:none;@media (forced-colors:active){background-color:Highlight;color:HighlightText;forced-color-adjust:none}}&[data-disabled]{background-color:var(--wpds-color-background-interactive-neutral-weak-disabled,#0000);color:var(--wpds-color-foreground-interactive-neutral-disabled,#8d8d8d);@media (forced-colors:active){color:GrayText}}}.a3adcfd0b73ffd40__item-icon{align-items:center;display:flex;height:var(--wpds-typography-line-height-sm,20px);pointer-events:none}._92fbe4765dfad5ee__item-indicator-icon{translate:0 1px}._74465fc7e8ecea1a__item-content{align-items:center;display:flex;gap:var(--wpds-dimension-gap-xs,4px);min-width:0}._41f0dd875c005a48__item-text{display:flex;flex-direction:column;min-width:0}._12335b76ada0b1f5__item-label{--_gcd-heading-color:currentColor;min-width:0}._160635254c702623__item-description{color:var(--wpds-color-foreground-content-neutral-weak,#707070)}._684ccb7988365b4f__item[data-disabled] ._160635254c702623__item-description,._684ccb7988365b4f__item[data-highlighted]:not([data-disabled]) ._160635254c702623__item-description{--_gcd-heading-color:currentColor;color:inherit}._6eb78bc92f8d7795__status{grid-area:status}._06c7ff39d2f685b9__empty:not(:empty){grid-area:main}._06c7ff39d2f685b9__empty:not(:empty),._6eb78bc92f8d7795__status:not(:empty):not(:has([data-visually-hidden])){--wp-ui-popup-empty-min-height:var(--wpds-dimension-size-md,32px);--wp-ui-popup-empty-padding-inline:var(--wpds-dimension-padding-md,12px);align-items:center;color:var(--wpds-color-foreground-content-neutral-weak,#707070);display: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(--wpds-typography-font-size-md,13px);line-height:var(--wpds-typography-line-height-sm,20px);min-height:var(--wp-ui-popup-empty-min-height);padding-inline:var(--wp-ui-popup-empty-padding-inline)}}}');
19237  }
19238  var item_popup_default12 = { "popup": "_234b520016b4e56f__popup _380b81b8f79fb10f__dropdown-motion", "is-width-anchor": "b9a9946a395ccad8__is-width-anchor", "is-width-content": "_7c9f1b268b013f02__is-width-content", "is-width-sm": "_6f31db51d79ec899__is-width-sm", "is-width-md": "fa45cdb5f45e57fb__is-width-md", "is-width-lg": "_46a909337f6be21c__is-width-lg", "is-width-available": "_6083938dff06df34__is-width-available", "is-align-item-with-trigger": "_101852fa256bb935__is-align-item-with-trigger", "list-chrome": "_2fff4e9defe85de5__list-chrome", "item-icon": "a3adcfd0b73ffd40__item-icon", "list": "f43dc7c768d7b622__list _2fff4e9defe85de5__list-chrome", "list-scrollable-container": "_233cd60cdb84a2ef__list-scrollable-container", "list-footer": "ec4db6f0122263e7__list-footer", "group": "b3c0d7f103fb10a2__group", "group-label": "_21b59380477c306c__group-label", "separator": "be89a1df0fe77bd2__separator", "item": "_684ccb7988365b4f__item", "is-size-small": "_38f7faff93c61958__is-size-small", "item-indicator-icon": "_92fbe4765dfad5ee__item-indicator-icon", "item-content": "_74465fc7e8ecea1a__item-content", "item-text": "_41f0dd875c005a48__item-text", "item-label": "_12335b76ada0b1f5__item-label", "item-description": "_160635254c702623__item-description", "status": "_6eb78bc92f8d7795__status", "empty": "_06c7ff39d2f685b9__empty" };
19239  var Status = (0, import_element51.forwardRef)(
19240    function UnforwardedStatus({ className, ...restProps }, ref) {
19241      return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
19242        index_parts_exports.Status,
19243        {
19244          className: clsx_default(item_popup_default12.status, className),
19245          ref,
19246          ...restProps
19247        }
19248      );
19249    }
19250  );
19251  
19252  // packages/ui/build-module/form/primitives/autocomplete/use-filtered-items.mjs
19253  function useFilteredItems2() {
19254    return index_parts_exports.useFilteredItems();
19255  }
19256  
19257  // packages/ui/build-module/form/primitives/autocomplete/value.mjs
19258  var import_jsx_runtime71 = __toESM(require_jsx_runtime(), 1);
19259  function Value(props) {
19260    return /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(index_parts_exports.Value, { ...props });
19261  }
19262  
19263  // packages/workflow/build-module/components/workflow-menu.mjs
19264  var import_data = __toESM(require_data(), 1);
19265  var import_element52 = __toESM(require_element(), 1);
19266  var import_i18n6 = __toESM(require_i18n(), 1);
19267  var import_components = __toESM(require_components(), 1);
19268  var import_keyboard_shortcuts = __toESM(require_keyboard_shortcuts(), 1);
19269  var import_keycodes = __toESM(require_keycodes(), 1);
19270  import { executeAbility, store as abilitiesStore } from "@wordpress/abilities";
19271  
19272  // packages/workflow/build-module/utils/get-error-message.mjs
19273  var import_html_entities = __toESM(require_html_entities(), 1);
19274  var import_i18n5 = __toESM(require_i18n(), 1);
19275  function getErrorMessage(error2) {
19276    let message = "";
19277    if (typeof error2 === "object" && error2 !== null) {
19278      if ("message" in error2 && typeof error2.message === "string") {
19279        message = error2.message;
19280      }
19281      if (!message && "name" in error2 && typeof error2.name === "string") {
19282        message = error2.name;
19283      }
19284    } else if (error2 !== null && error2 !== void 0) {
19285      message = String(error2);
19286    }
19287    if (!message) {
19288      return (0, import_i18n5.__)(
19289        "This ability couldn’t run. Check the browser console for details."
19290      );
19291    }
19292    return (0, import_html_entities.decodeEntities)(message);
19293  }
19294  
19295  // packages/workflow/build-module/components/workflow-menu.mjs
19296  var import_jsx_runtime72 = __toESM(require_jsx_runtime(), 1);
19297  if (typeof document !== "undefined" && (typeof process === "undefined" || true) && !document.head.querySelector("style[data-wp-hash='715ff4efd0']")) {
19298    const style = document.createElement("style");
19299    style.setAttribute("data-wp-hash", "715ff4efd0");
19300    style.appendChild(document.createTextNode(":root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#3858e9;--wp-admin-theme-color--rgb:56,88,233;--wp-admin-theme-color-darker-10:#2145e6;--wp-admin-theme-color-darker-10--rgb:33.0384615385,68.7307692308,230.4615384615;--wp-admin-theme-color-darker-20:#183ad6;--wp-admin-theme-color-darker-20--rgb:23.6923076923,58.1538461538,214.3076923077;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}body.admin-color-fresh{--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){body.admin-color-fresh{--wp-admin-border-width-focus:1.5px}}.workflows-workflow-menu{border-radius:4px;margin:auto;max-width:400px;position:relative;top:calc(5% + 64px);width:calc(100% - 32px)}@media (min-width:600px){.workflows-workflow-menu{top:calc(10% + 64px)}}.workflows-workflow-menu .components-modal__content{margin:0;padding:0}.workflows-workflow-menu__overlay{align-items:start;display:block}.workflows-workflow-menu__container{will-change:transform}.workflows-workflow-menu__container:focus{outline:none}.workflows-workflow-menu__input{margin:8px}.workflows-workflow-menu__list{max-height:376px}.workflows-workflow-menu__list-body{padding:0 8px 8px}.workflows-workflow-menu__item-label{display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflows-workflow-menu__item mark{background:unset;color:inherit;font-weight:var(--wpds-typography-font-weight-emphasis,600)}.workflows-workflow-menu__output{padding:16px}.workflows-workflow-menu__output-header{border-bottom:1px solid #ddd;margin-bottom:16px;padding-bottom:8px}.workflows-workflow-menu__output-header h3{color:#1e1e1e;font-size:16px;font-weight:var(--wpds-typography-font-weight-emphasis,600);margin:0 0 4px}.workflows-workflow-menu__output-hint{color:#757575;font-size:12px;margin:0}.workflows-workflow-menu__output-content{max-height:400px;overflow:auto}.workflows-workflow-menu__output-content pre{background:#f0f0f0;border-radius:2px;color:#1e1e1e;font-size:12px;line-height:1.5;margin:0;overflow-wrap:anywhere;padding:12px;white-space:pre-wrap}.workflows-workflow-menu__output-error{background:#e0e0e0;border:1px solid #9e1313;border-radius:2px;color:#cc1818;padding:12px}.workflows-workflow-menu__output-error p{font-size:13px;margin:0}.workflows-workflow-menu__empty:not(:empty),.workflows-workflow-menu__executing:not(:empty){justify-content:center;padding:8px 0 16px}"));
19301    document.head.appendChild(style);
19302  }
19303  var EMPTY_ARRAY2 = [];
19304  var inputLabel = (0, import_i18n6.__)("Run abilities and workflows");
19305  function WorkflowMenu() {
19306    const { registerShortcut } = (0, import_data.useDispatch)(import_keyboard_shortcuts.store);
19307    const [isOpen, setIsOpen] = (0, import_element52.useState)(false);
19308    (0, import_element52.useEffect)(() => {
19309      registerShortcut({
19310        name: "core/workflows",
19311        category: "global",
19312        description: (0, import_i18n6.__)("Open the workflow palette."),
19313        keyCombination: {
19314          modifier: "primary",
19315          character: "j"
19316        }
19317      });
19318    }, [registerShortcut]);
19319    (0, import_keyboard_shortcuts.useShortcut)(
19320      "core/workflows",
19321      (0, import_keycodes.withIgnoreIMEEvents)((event) => {
19322        if (event.defaultPrevented) {
19323          return;
19324        }
19325        event.preventDefault();
19326        setIsOpen((open2) => !open2);
19327      })
19328    );
19329    (0, import_element52.useEffect)(() => {
19330      if (isOpen) {
19331        import("@wordpress/core-abilities");
19332      }
19333    }, [isOpen]);
19334    if (!isOpen) {
19335      return null;
19336    }
19337    return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(WorkflowPalette, { onClose: () => setIsOpen(false) });
19338  }
19339  function WorkflowPalette({ onClose }) {
19340    const [search, setSearch] = (0, import_element52.useState)("");
19341    const [abilityOutput, setAbilityOutput] = (0, import_element52.useState)(null);
19342    const [isExecuting, setIsExecuting] = (0, import_element52.useState)(false);
19343    const containerRef = (0, import_element52.useRef)(null);
19344    const inputRef = (0, import_element52.useRef)(null);
19345    const abilities = (0, import_data.useSelect)((select) => {
19346      const allAbilities = select(abilitiesStore).getAbilities();
19347      return allAbilities || EMPTY_ARRAY2;
19348    }, []);
19349    const filteredAbilities = (0, import_element52.useMemo)(() => {
19350      if (!search) {
19351        return abilities;
19352      }
19353      const searchLower = search.toLowerCase();
19354      return abilities.filter(
19355        (ability) => ability.label.toLowerCase().includes(searchLower) || ability.name.toLowerCase().includes(searchLower)
19356      );
19357    }, [abilities, search]);
19358    (0, import_element52.useEffect)(() => {
19359      if (abilityOutput && containerRef.current) {
19360        containerRef.current.focus();
19361      }
19362    }, [abilityOutput]);
19363    (0, import_element52.useEffect)(() => {
19364      if (!abilityOutput) {
19365        inputRef.current?.focus();
19366      }
19367    }, [abilityOutput]);
19368    const goBack = () => {
19369      setAbilityOutput(null);
19370      setIsExecuting(false);
19371      setSearch("");
19372    };
19373    const handleExecuteAbility = async (ability) => {
19374      setIsExecuting(true);
19375      const details = {
19376        name: ability.name,
19377        label: ability.label || ability.name,
19378        description: ability.description || ""
19379      };
19380      try {
19381        const result = await executeAbility(ability.name);
19382        setAbilityOutput({ ...details, success: true, data: result });
19383      } catch (error2) {
19384        setAbilityOutput({
19385          ...details,
19386          success: false,
19387          error: getErrorMessage(error2)
19388        });
19389      } finally {
19390        setIsExecuting(false);
19391      }
19392    };
19393    const onContainerKeyDown = (event) => {
19394      if (abilityOutput && (event.key === "Escape" || event.key === "Backspace" || event.key === "Delete")) {
19395        event.preventDefault();
19396        event.stopPropagation();
19397        goBack();
19398      }
19399    };
19400    const items = isExecuting ? EMPTY_ARRAY2 : filteredAbilities;
19401    const showEmpty = !isExecuting && !!search && !filteredAbilities.length;
19402    return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19403      import_components.Modal,
19404      {
19405        className: "workflows-workflow-menu",
19406        overlayClassName: "workflows-workflow-menu__overlay",
19407        onRequestClose: abilityOutput ? goBack : onClose,
19408        __experimentalHideHeader: true,
19409        contentLabel: (0, import_i18n6.__)("Workflow palette"),
19410        children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19411          "div",
19412          {
19413            className: "workflows-workflow-menu__container",
19414            onKeyDown: (0, import_keycodes.withIgnoreIMEEvents)(onContainerKeyDown),
19415            ref: containerRef,
19416            tabIndex: -1,
19417            role: "presentation",
19418            children: abilityOutput ? /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "workflows-workflow-menu__output", children: [
19419              /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)("div", { className: "workflows-workflow-menu__output-header", children: [
19420                /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("h3", { children: abilityOutput.label }),
19421                abilityOutput.description && /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { className: "workflows-workflow-menu__output-hint", children: abilityOutput.description })
19422              ] }),
19423              /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "workflows-workflow-menu__output-content", children: abilityOutput.success ? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("pre", { children: JSON.stringify(
19424                abilityOutput.data,
19425                null,
19426                2
19427              ) }) : /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("div", { className: "workflows-workflow-menu__output-error", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)("p", { children: abilityOutput.error }) }) })
19428            ] }) : /* @__PURE__ */ (0, import_jsx_runtime72.jsxs)(
19429              autocomplete_exports.Root,
19430              {
19431                items: abilities,
19432                filteredItems: items,
19433                mode: "list",
19434                value: search,
19435                onValueChange: setSearch,
19436                open: true,
19437                inline: true,
19438                autoHighlight: true,
19439                children: [
19440                  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19441                    autocomplete_exports.Input,
19442                    {
19443                      ref: inputRef,
19444                      placeholder: inputLabel,
19445                      "aria-label": inputLabel,
19446                      className: "workflows-workflow-menu__input",
19447                      render: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19448                        Input3,
19449                        {
19450                          prefix: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(InputLayout2.Slot, { padding: "minimal", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19451                            Icon,
19452                            {
19453                              icon: search_default,
19454                              style: (0, import_i18n6.isRTL)() ? void 0 : {
19455                                transform: "scaleX(-1)"
19456                              }
19457                            }
19458                          ) })
19459                        }
19460                      )
19461                    }
19462                  ),
19463                  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(autocomplete_exports.Status, { className: "workflows-workflow-menu__executing", children: isExecuting ? (0, import_i18n6.__)("Executing ability…") : null }),
19464                  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(autocomplete_exports.Empty, { className: "workflows-workflow-menu__empty", children: showEmpty ? (0, import_i18n6.__)("No results found.") : null }),
19465                  /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19466                    autocomplete_exports.List,
19467                    {
19468                      className: "workflows-workflow-menu__list",
19469                      "aria-label": (0, import_i18n6.__)("Workflow suggestions"),
19470                      children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(autocomplete_exports.ListBody, { className: "workflows-workflow-menu__list-body", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(autocomplete_exports.Collection, { children: (item) => /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19471                        autocomplete_exports.Item,
19472                        {
19473                          value: item,
19474                          className: "workflows-workflow-menu__item",
19475                          onClick: () => handleExecuteAbility(item),
19476                          children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(autocomplete_exports.ItemLabel, { className: "workflows-workflow-menu__item-label", children: /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
19477                            import_components.TextHighlight,
19478                            {
19479                              text: item.label,
19480                              highlight: search
19481                            }
19482                          ) })
19483                        },
19484                        item.name
19485                      ) }) })
19486                    }
19487                  )
19488                ]
19489              }
19490            )
19491          }
19492        )
19493      }
19494    );
19495  }
19496  
19497  // packages/workflow/build-module/index.mjs
19498  var root = document.createElement("div");
19499  document.body.appendChild(root);
19500  (0, import_element53.createRoot)(root).render((0, import_element53.createElement)(WorkflowMenu));
19501  /*! Bundled license information:
19502  
19503  use-sync-external-store/cjs/use-sync-external-store-shim.development.js:
19504    (**
19505     * @license React
19506     * use-sync-external-store-shim.development.js
19507     *
19508     * Copyright (c) Meta Platforms, Inc. and affiliates.
19509     *
19510     * This source code is licensed under the MIT license found in the
19511     * LICENSE file in the root directory of this source tree.
19512     *)
19513  
19514  use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js:
19515    (**
19516     * @license React
19517     * use-sync-external-store-shim/with-selector.development.js
19518     *
19519     * Copyright (c) Meta Platforms, Inc. and affiliates.
19520     *
19521     * This source code is licensed under the MIT license found in the
19522     * LICENSE file in the root directory of this source tree.
19523     *)
19524  */


Generated : Tue Nov 3 08:20:36 2026 Cross-referenced by PHPXref